
/* =========================================================
   The Realtor v1.33 · Premium Responsive Final
   Public site polish only. CRM/admin untouched.
   ========================================================= */

:root{
  --pr33-paper:#fffdf9;
  --pr33-bg:#f4efe7;
  --pr33-ink:#211c17;
  --pr33-muted:#746b61;
  --pr33-gold:#bd8847;
  --pr33-gold-deep:#8d6233;
  --pr33-line:rgba(151,126,96,.23);
  --pr33-shadow:0 24px 70px rgba(64,48,31,.10);
}

/* Global finish */
body.pr31-body{
  background:
    radial-gradient(circle at 10% 0%,rgba(196,151,91,.06),transparent 28rem),
    var(--pr33-bg);
}
.pr31-shell{width:min(calc(100% - 44px),1760px)}
.pr31-content{width:min(calc(100% - 64px),1540px)}
.pr31-section{padding-top:96px}
.pr31-section-head{margin-bottom:36px}
.pr31-section-head h2{letter-spacing:-.035em}
.pr31-editorial-card,
.pr31-object-card,
.pr31-story,
.pr31-benefit-card,
.pr31-service-large,
.pr31-object-main-card,
.pr31-inquiry-card,
.pr31-contact-form,
.pr31-page-note{
  border-color:var(--pr33-line);
}
.pr31-editorial-card,
.pr31-object-card,
.pr31-story,
.pr31-benefit-card,
.pr31-service-large{
  box-shadow:0 12px 36px rgba(64,48,31,.035);
}

/* Header */
.pr31-header{
  min-height:92px;
  padding:0 8px;
}
.pr31-brand{gap:15px}
.pr31-mark{
  font-size:34px;
  color:var(--pr33-gold);
}
.pr31-brand-copy strong{
  font:600 16px/1.05 Georgia,'Times New Roman',serif;
  letter-spacing:-.01em;
}
.pr31-brand-copy small{
  margin-top:2px;
  font-size:9px;
  letter-spacing:.03em;
}
.pr31-nav{gap:36px}
.pr31-nav a{
  font-size:11px;
  letter-spacing:.02em;
}
.pr31-header-actions .pr31-btn{
  min-height:43px;
  padding:0 19px;
}

/* Hero: raise portrait and improve composition */
.pr31-hero{
  min-height:700px;
  border-radius:34px;
  box-shadow:var(--pr33-shadow);
  background-position:center center !important;
}
.pr31-hero:before{
  background:
    linear-gradient(90deg,
      rgba(250,247,242,.995) 0%,
      rgba(250,247,242,.97) 23%,
      rgba(250,247,242,.80) 40%,
      rgba(250,247,242,.34) 56%,
      rgba(250,247,242,.07) 73%),
    linear-gradient(0deg,rgba(35,26,17,.05),transparent 50%) !important;
}
.pr31-hero-copy{
  width:min(690px,45vw);
  padding:100px 0 172px clamp(58px,5.3vw,96px);
}
.pr31-hero h1{
  margin-top:17px;
  font-size:clamp(58px,4.65vw,80px);
  line-height:.94;
}
.pr31-hero-subtitle{
  margin-top:10px;
  font-size:25px;
}
.pr31-hero-copy p{
  max-width:560px;
  margin-top:23px;
  font-size:13px;
  line-height:1.75;
}
.pr31-hero-actions{margin-top:29px}

/* Key fix requested: portrait substantially higher */
.pr31-portrait{
  top:22px !important;
  bottom:auto !important;
  right:5.3% !important;
  width:clamp(345px,25.5vw,430px) !important;
  height:clamp(548px,37vw,615px) !important;
  border-radius:240px 240px 30px 30px !important;
  border:1px solid rgba(255,255,255,.96);
  box-shadow:
    0 34px 76px rgba(44,34,25,.19),
    0 4px 14px rgba(44,34,25,.07);
}
.pr31-portrait img{
  object-position:50% 0% !important;
}
.pr31-portrait-caption{
  display:none !important;
}

/* Value bar gets more breathing room and no longer fights portrait */
.pr31-values{
  left:5.1%;
  right:5.1%;
  bottom:20px !important;
  border-radius:19px;
  box-shadow:0 17px 42px rgba(56,42,28,.11);
}
.pr31-value{
  min-height:78px;
  padding:18px 20px 16px;
}
.pr31-value strong{font-size:10.5px}
.pr31-value p{font-size:8.6px}

/* Premium cards */
.pr31-approach-grid{gap:20px}
.pr31-editorial-card{padding:42px}
.pr31-editorial-card h3{font-size:42px}
.pr31-service-panel{
  padding:42px;
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 8%,rgba(190,139,77,.20),transparent 34%),
    linear-gradient(145deg,#2c2722,#3a3128);
}
.pr31-service{border-radius:20px}
.pr31-service-grid{gap:12px}

.pr31-object-grid,
.pr31-listing-grid{gap:18px}
.pr31-object-card{
  border-radius:26px;
  overflow:hidden;
}
.pr31-object-photo{height:315px}
.pr31-object-body{padding:22px 23px 24px}
.pr31-object-body h3{font-size:23px}
.pr31-object-meta{margin-top:19px}

.pr31-story-grid{gap:18px}
.pr31-story{border-radius:25px}
.pr31-story-media{height:240px}
.pr31-story-body{padding:23px}

/* Contacts */
.pr31-contact{
  margin-top:96px;
  border-radius:32px;
}
.pr31-contact-copy{padding:58px}
.pr31-contact-form{padding:46px}
.pr31-form input,
.pr31-form textarea{
  min-height:46px;
  border-radius:13px;
}
.pr31-form textarea{min-height:132px}

/* Inner pages */
.pr31-page-hero{padding:82px 0 60px}
.pr31-page-hero h1{font-size:clamp(50px,4.5vw,76px)}
.pr31-page-note{
  border-radius:23px;
  padding:27px;
  background:rgba(255,253,249,.72);
  backdrop-filter:blur(10px);
}
.pr31-about-layout{gap:22px}
.pr31-about-portrait{
  min-height:610px;
  border-radius:250px 250px 30px 30px;
}
.pr31-about-portrait img{
  object-position:50% 0% !important;
}
.pr31-about-text{padding:54px;border-radius:30px}
.pr31-service-list{gap:18px}
.pr31-service-large{padding:36px;border-radius:26px}

/* Object detail */
.pr31-object-head{margin-top:8px;margin-bottom:30px}
.pr31-gallery{
  grid-template-rows:290px 290px;
  border-radius:30px;
  gap:11px;
}
.pr31-gallery.single{height:590px}
.pr31-object-layout{gap:22px;margin-top:22px}
.pr31-object-main-card,
.pr31-inquiry-card{border-radius:27px}
.pr31-object-main-card{padding:36px}
.pr31-inquiry-card{padding:31px}

/* Premium footer */
.pr31-footer{
  margin-top:44px;
  padding:34px 0 42px;
}
.pr31-footer-row{min-height:70px}

/* Mobile premium navigation */
.pr33-mobile-nav{
  display:none;
}

/* Tablet */
@media(max-width:1100px){
  .pr31-shell{width:min(calc(100% - 26px),1760px)}
  .pr31-content{width:min(calc(100% - 32px),1540px)}

  .pr31-header{min-height:82px}
  .pr31-nav{gap:20px}
  .pr31-hero{min-height:720px}
  .pr31-hero-copy{
    width:53%;
    padding-left:48px;
    padding-top:92px;
  }
  .pr31-hero h1{font-size:58px}
  .pr31-portrait{
    top:26px !important;
    right:2.8% !important;
    width:360px !important;
    height:535px !important;
  }
  .pr31-values{grid-template-columns:repeat(2,1fr)}
  .pr31-value{min-height:62px}
}

/* Mobile */
@media(max-width:820px){
  body.pr31-body{
    padding-bottom:78px;
  }
  .pr31-shell{width:100%}
  .pr31-content{width:calc(100% - 24px)}

  .pr31-header{
    min-height:70px;
    padding:0 14px;
  }
  .pr31-brand-copy strong{font-size:14px}
  .pr31-nav{display:none}
  .pr31-phone{display:none}
  .pr31-header-actions .pr31-btn{
    min-height:39px;
    padding:0 13px;
    font-size:9px;
  }

  .pr31-hero{
    min-height:1010px;
    border-radius:0 0 28px 28px;
    background-position:64% center !important;
  }
  .pr31-hero:before{
    background:
      linear-gradient(180deg,
        rgba(250,247,242,.995) 0%,
        rgba(250,247,242,.97) 28%,
        rgba(250,247,242,.64) 47%,
        rgba(250,247,242,.17) 66%,
        rgba(250,247,242,.02) 100%) !important;
  }
  .pr31-hero-copy{
    width:auto;
    padding:52px 20px 20px;
    text-align:left;
  }
  .pr31-hero h1{
    max-width:430px;
    font-size:48px;
    line-height:.96;
  }
  .pr31-hero-subtitle{font-size:21px}
  .pr31-hero-copy p{
    max-width:480px;
    font-size:12px;
    line-height:1.65;
  }
  .pr31-hero-actions{
    gap:8px;
  }
  .pr31-hero-actions .pr31-btn,
  .pr31-hero-actions .pr31-btn-outline{
    min-height:43px;
    padding:0 15px;
  }

  .pr31-portrait{
    top:355px !important;
    right:50% !important;
    transform:translateX(50%) !important;
    width:min(78vw,326px) !important;
    height:455px !important;
    border-radius:190px 190px 24px 24px !important;
  }
  .pr31-portrait img{
    object-position:50% 0% !important;
  }

  .pr31-values{
    left:12px;
    right:12px;
    bottom:13px !important;
    grid-template-columns:repeat(2,1fr) !important;
  }
  .pr31-value{
    min-height:74px;
    padding:11px 12px;
  }
  .pr31-value:nth-child(odd){border-right:1px solid #e7ddd1}
  .pr31-value:nth-child(even){border-right:0}
  .pr31-value:nth-child(-n+2){border-bottom:1px solid #e7ddd1}
  .pr31-value p{
    margin-left:0;
    margin-top:7px;
    font-size:8px;
  }

  .pr31-section{padding-top:62px}
  .pr31-section-head{
    gap:17px;
    margin-bottom:23px;
  }
  .pr31-section-head h2{font-size:38px}
  .pr31-section-head>p{font-size:11px}

  .pr31-approach-grid,
  .pr31-contact,
  .pr31-about-layout,
  .pr31-object-layout,
  .pr31-page-hero-inner{
    grid-template-columns:1fr;
  }

  .pr31-editorial-card,
  .pr31-service-panel{
    padding:27px;
    border-radius:23px;
  }
  .pr31-editorial-card h3{font-size:34px}
  .pr31-service-panel h3{font-size:32px}
  .pr31-service-grid{grid-template-columns:1fr}
  .pr31-service{min-height:auto}

  .pr31-object-grid,
  .pr31-listing-grid,
  .pr31-story-grid,
  .pr31-service-list,
  .pr31-benefit-grid{
    grid-template-columns:1fr;
  }
  .pr31-object-photo{height:min(72vw,330px)}
  .pr31-story-media{height:min(62vw,285px)}

  .pr31-contact{
    margin-top:62px;
    border-radius:25px;
  }
  .pr31-contact-copy,
  .pr31-contact-form{
    padding:28px;
  }
  .pr31-contact-copy h2{font-size:37px}

  .pr31-page-hero{
    padding:52px 0 34px;
  }
  .pr31-page-hero h1{
    font-size:46px;
  }
  .pr31-about-portrait{
    min-height:0;
    height:480px;
    border-radius:210px 210px 25px 25px;
  }
  .pr31-about-text{
    padding:29px;
    border-radius:24px;
  }

  .pr31-object-head{grid-template-columns:1fr;gap:14px}
  .pr31-object-head h1{font-size:43px}
  .pr31-gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:330px 155px;
    border-radius:24px;
  }
  .pr31-gallery .main{
    grid-column:1/3;
    grid-row:auto;
  }
  .pr31-gallery.single{height:430px}
  .pr31-object-main-card,
  .pr31-inquiry-card{
    padding:26px;
    border-radius:23px;
  }

  .pr31-footer{
    margin-top:28px;
    padding-bottom:28px;
  }

  /* Fixed mobile nav so all sections are reachable with one thumb */
  .pr33-mobile-nav{
    position:fixed;
    z-index:3000;
    left:10px;
    right:10px;
    bottom:9px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    min-height:58px;
    padding:5px;
    border:1px solid rgba(137,112,83,.20);
    border-radius:18px;
    background:rgba(255,253,249,.92);
    backdrop-filter:blur(18px);
    box-shadow:0 12px 36px rgba(44,34,25,.17);
  }
  .pr33-mobile-nav a{
    display:grid;
    place-items:center;
    padding:7px 4px;
    border-radius:13px;
    text-decoration:none;
    color:#5d554d;
    font-size:9px;
    font-weight:700;
  }
  .pr33-mobile-nav a:active{
    background:#f2e8da;
    color:#8d6233;
  }
}

@media(max-width:480px){
  .pr31-header-actions .pr31-btn span{display:none}
  .pr31-hero{min-height:985px}
  .pr31-hero-copy{padding-top:40px}
  .pr31-hero h1{font-size:43px}
  .pr31-hero-subtitle{font-size:20px}
  .pr31-portrait{
    top:340px !important;
    width:min(80vw,300px) !important;
    height:420px !important;
  }
  .pr31-values{
    grid-template-columns:1fr 1fr !important;
  }
  .pr31-value strong{font-size:9px}
  .pr31-section-head h2{font-size:35px}
  .pr31-page-hero h1{font-size:42px}
  .pr31-object-photo{height:260px}
}
