/* ════════════════════════════════════════════════════════
   SORS Investment — Main Stylesheet
   Child of Astra | Version 1.0.0
   ════════════════════════════════════════════════════════ */

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Montserrat', sans-serif;
  background: #FAFAF8;
  color: #201E1E;
  overflow-x: hidden;
}
::selection { background: #F2C030; color: #201E1E; }

/* ── Astra overrides: hide default header, reset content padding ── */
.ast-container, .ast-separate-header, .site-header,
.ast-above-header-bar, .ast-below-header-bar { display: none !important; }
#content { padding-top: 0 !important; margin-top: 0 !important; }
.ast-article-single, .entry-content { max-width: 100% !important; padding: 0 !important; }
.site-main { margin: 0 !important; }

/* ── CSS Variables ── */
:root {
  --gold:   #F2C030;
  --dark:   #201E1E;
  --cream:  #FAFAF8;
  --white:  #ffffff;
  --muted:  rgba(32,30,30,0.55);
  --border: rgba(32,30,30,0.1);
  --ease:   cubic-bezier(0.16,1,0.3,1);
}

/* ── Animations ── */
@keyframes heroFadeUp   { from{opacity:0;transform:translateY(40px);}to{opacity:1;transform:translateY(0);} }
@keyframes heroFadeIn   { from{opacity:0;}to{opacity:1;} }
@keyframes heroLineGrow { from{width:0;}to{width:72px;} }
@keyframes marqueeLTR   { from{transform:translateX(0);}to{transform:translateX(-50%);} }
@keyframes pulseGold    { 0%,100%{box-shadow:0 0 0 0 rgba(242,192,48,.4);}50%{box-shadow:0 0 0 14px rgba(242,192,48,0);} }
@keyframes rotorSpin    { to{transform:rotate(360deg);} }
@keyframes fadeSlideUp  { from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);} }

.rotor-spin { animation: rotorSpin 18s linear infinite; }

/* ── Scroll Reveal ── */
.reveal,.reveal-left,.reveal-right,.reveal-scale {
  opacity:0; transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.reveal       { transform:translateY(44px); }
.reveal-left  { transform:translateX(-48px); }
.reveal-right { transform:translateX(48px); }
.reveal-scale { transform:scale(.94); }
.reveal.visible,.reveal-left.visible,.reveal-right.visible,.reveal-scale.visible { opacity:1;transform:none; }

/* ── Utility ── */
.sec-label { font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:16px; }
.sors-container { max-width:1200px;margin:0 auto; }

/* ── Buttons ── */
.btn-dark {
  display:inline-block;background:var(--dark);color:#fff;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;padding:17px 38px;
  border:none;cursor:pointer;position:relative;overflow:hidden;
  text-decoration:none;transition:transform .22s,box-shadow .3s;
}
.btn-dark::after{content:'';position:absolute;inset:0;background:rgba(242,192,48,.18);transform:translateX(-100%);transition:transform .4s var(--ease);}
.btn-dark:hover::after{transform:translateX(0);}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(32,30,30,.22);color:#fff;}
.btn-gold {
  display:inline-block;background:var(--gold);color:var(--dark);
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;padding:17px 38px;
  border:none;cursor:pointer;text-decoration:none;
  transition:transform .22s,box-shadow .3s;
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(242,192,48,.38);color:var(--dark);}
.btn-outline {
  display:inline-block;background:transparent;color:var(--dark);
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;padding:16px 37px;
  border:1.5px solid rgba(32,30,30,.25);cursor:pointer;text-decoration:none;
  transition:border-color .3s,color .3s,transform .22s;
}
.btn-outline:hover{border-color:var(--gold);transform:translateY(-2px);}

/* ════════════ NAVBAR ════════════════════════════════════ */
#sors-navbar {
  position:fixed;top:0;left:0;right:0;z-index:9999;
  padding:28px 64px;
  display:flex;align-items:center;justify-content:space-between;
  transition:all .45s var(--ease);
  font-family:'Montserrat',sans-serif;
}
#sors-navbar.scrolled {
  padding:16px 64px;
  background:rgba(250,250,248,.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(32,30,30,.08);
  box-shadow:0 2px 32px rgba(32,30,30,.06);
}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-logo-text{font-weight:900;font-size:18px;letter-spacing:.09em;color:var(--dark);line-height:1;}
.nav-logo-sub{font-size:8px;letter-spacing:.24em;color:rgba(32,30,30,.4);text-transform:uppercase;}
.nav-links{display:flex;align-items:center;gap:36px;}
.nav-link{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(32,30,30,.6);text-decoration:none;position:relative;transition:color .25s;}
.nav-link::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1.5px;background:var(--gold);transition:width .3s var(--ease);}
.nav-link:hover{color:var(--dark);}
.nav-link:hover::after{width:100%;}
.nav-btn-dark{display:inline-block;background:var(--dark);color:#fff;font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:12px 24px;border:none;cursor:pointer;text-decoration:none;transition:transform .22s,box-shadow .3s;}
.nav-btn-dark:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(32,30,30,.22);color:#fff;}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;z-index:10000;position:relative;}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--dark);transition:all .3s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cream);z-index:9998;flex-direction:column;justify-content:center;align-items:center;gap:32px;}
.nav-mobile-menu.open{display:flex;animation:fadeSlideUp .35s var(--ease);}
.nav-mobile-menu a{font-size:22px;font-weight:800;color:var(--dark);text-decoration:none;letter-spacing:.06em;}
.nav-mobile-menu a:hover{color:var(--gold);}

/* ════════════ HERO ═════════════════════════════════════ */
#sors-hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;}
.hero-left{background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:160px 64px 100px;position:relative;z-index:2;}
.hero-right{position:relative;overflow:hidden;}
.hero-right img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.hero-right-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(250,250,248,.35) 0%,transparent 50%);}
.hero-gold-tag{position:absolute;bottom:48px;left:-1px;background:var(--gold);padding:20px 28px;display:flex;flex-direction:column;gap:4px;z-index:3;}
.hero-gold-tag-num{font-size:28px;font-weight:900;color:var(--dark);line-height:1;}
.hero-gold-tag-lbl{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(32,30,30,.65);}
.hero-accent-line{width:0;height:3px;background:var(--gold);margin-bottom:28px;animation:heroLineGrow 1.2s var(--ease) .3s forwards;}
.hero-label{opacity:0;animation:heroFadeUp .8s var(--ease) .35s forwards;}
.hero-h1{font-size:clamp(36px,4.5vw,62px);font-weight:900;line-height:1.08;letter-spacing:-.025em;color:var(--dark);margin-bottom:28px;opacity:0;animation:heroFadeUp .95s var(--ease) .5s forwards;}
.hero-sub{font-size:15px;font-weight:400;line-height:1.9;color:var(--muted);max-width:480px;margin-bottom:48px;opacity:0;animation:heroFadeUp .9s var(--ease) .68s forwards;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:heroFadeUp .8s var(--ease) .85s forwards;}
.hero-stats{display:flex;gap:40px;margin-top:72px;padding-top:40px;border-top:1px solid var(--border);opacity:0;animation:heroFadeIn 1s ease 1.2s forwards;}
.hero-stat-num{font-size:30px;font-weight:900;color:var(--dark);line-height:1;}
.hero-stat-accent{color:var(--gold);}
.hero-stat-lbl{font-size:11px;color:rgba(32,30,30,.45);margin-top:6px;letter-spacing:.06em;}

/* ════════════ MARQUEE ══════════════════════════════════ */
#sors-strip{overflow:hidden;background:var(--dark);}
.marquee-wrapper{padding:18px 0;}
.marquee-track{display:flex;width:max-content;animation:marqueeLTR 30s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
.marquee-item{display:flex;align-items:center;gap:28px;padding:0 40px;white-space:nowrap;}
.marquee-item span{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);}
.marquee-item span.gold{color:var(--gold);}
.marquee-dot{width:5px;height:5px;border-radius:50%;background:rgba(242,192,48,.45);flex-shrink:0;}

/* ════════════ POSITIONING ═══════════════════════════════ */
#sors-positioning{background:#fff;padding:100px 64px;border-bottom:1px solid rgba(32,30,30,.07);}
.positioning-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center;}
.positioning-tagline{font-size:clamp(26px,3.2vw,44px);font-weight:300;line-height:1.45;color:var(--dark);}
.positioning-tagline strong{font-weight:900;}
.positioning-tagline em{color:var(--gold);font-style:normal;font-weight:800;}
.step-row{display:flex;align-items:flex-start;gap:20px;padding:20px 0;border-bottom:1px solid rgba(32,30,30,.07);transition:background .3s;}
.step-row:last-child{border-bottom:none;}
.step-num{font-size:11px;font-weight:900;color:var(--gold);letter-spacing:.1em;min-width:28px;padding-top:3px;}
.step-title{font-size:15px;font-weight:800;margin-bottom:4px;}
.step-desc{font-size:13px;color:var(--muted);line-height:1.75;}

/* ════════════ REALITY ══════════════════════════════════ */
#sors-reality{background:var(--cream);padding:100px 64px;}
.reality-inner{max-width:1200px;margin:0 auto;}
.reality-top{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.reality-photo-grid{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto auto;gap:12px;}
.reality-photo-main{grid-row:1/3;height:480px;overflow:hidden;position:relative;}
.reality-photo-main img,.reality-photo-sm img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.reality-photo-main:hover img,.reality-photo-sm:hover img{transform:scale(1.04);}
.reality-photo-sm{height:230px;overflow:hidden;}
.photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(32,30,30,.7));padding:28px 20px 16px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);}
.reality-h2{font-size:clamp(28px,3.5vw,46px);font-weight:900;line-height:1.1;letter-spacing:-.02em;margin-bottom:24px;}
.reality-body{font-size:15px;color:var(--muted);line-height:1.88;margin-bottom:36px;}
.shift-callout{background:var(--dark);padding:36px 32px;position:relative;}
.shift-callout-bar{position:absolute;top:0;left:0;width:100%;height:3px;background:var(--gold);}
.shift-callout p{font-size:15px;color:rgba(255,255,255,.75);line-height:1.75;}
.shift-callout strong{color:var(--gold);font-weight:800;}

/* ════════════ PILLARS ══════════════════════════════════ */
#sors-pillars{background:#fff;padding:100px 64px;}
.pillars-header{max-width:1200px;margin:0 auto 72px;display:flex;justify-content:space-between;align-items:flex-end;}
.pillars-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pillar-card{position:relative;overflow:hidden;border:1px solid var(--border);transition:border-color .4s,box-shadow .4s,transform .4s var(--ease);}
.pillar-card:hover{border-color:var(--gold);box-shadow:0 20px 60px rgba(32,30,30,.1);transform:translateY(-8px);}
.pillar-photo{height:220px;overflow:hidden;}
.pillar-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.pillar-card:hover .pillar-photo img{transform:scale(1.06);}
.pillar-body-wrap{padding:36px 32px 32px;}
.pillar-num{font-size:11px;font-weight:900;color:var(--gold);letter-spacing:.14em;margin-bottom:8px;display:block;}
.pillar-title{font-size:20px;font-weight:800;line-height:1.25;margin-bottom:4px;}
.pillar-sub{font-size:13px;font-weight:600;color:rgba(32,30,30,.5);margin-bottom:16px;}
.pillar-desc{font-size:13px;color:var(--muted);line-height:1.82;margin-bottom:24px;}
.pillar-handle{display:flex;align-items:center;gap:10px;margin-bottom:9px;}
.handle-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0;}
.pillar-outcome-bar{border-top:1px solid rgba(32,30,30,.08);padding-top:18px;margin-top:10px;}
.outcome-lbl{font-size:9px;color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px;font-weight:700;}
.outcome-text{font-size:12px;color:rgba(32,30,30,.65);line-height:1.65;font-style:italic;}
.pillar-gold-accent{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);}
.pillar-card:hover .pillar-gold-accent{transform:scaleX(1);}

/* ════════════ LISTINGS PREVIEW (Homepage) ═══════════════ */
#sors-listings-preview{background:var(--cream);padding:100px 64px;}
.listings-preview-header{max-width:1200px;margin:0 auto 56px;display:flex;justify-content:space-between;align-items:flex-end;}
.listings-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.listing-card{background:#fff;border:1px solid var(--border);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s;}
.listing-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(32,30,30,.1);}
.listing-thumb{position:relative;height:220px;overflow:hidden;}
.listing-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.listing-card:hover .listing-thumb img{transform:scale(1.05);}
.listing-badge{position:absolute;top:16px;left:16px;background:var(--gold);color:var(--dark);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;}
.listing-body{padding:24px 24px 28px;}
.listing-price{font-size:20px;font-weight:900;color:var(--dark);margin-bottom:6px;}
.listing-title{font-size:15px;font-weight:700;margin-bottom:8px;line-height:1.3;}
.listing-meta{display:flex;gap:16px;margin-bottom:8px;flex-wrap:wrap;}
.listing-meta span{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;}
.listing-location{font-size:12px;color:var(--muted);}
.listing-link{display:inline-block;margin-top:16px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dark);text-decoration:none;border-bottom:1.5px solid var(--gold);padding-bottom:3px;transition:color .25s;}
.listing-link:hover{color:var(--gold);}

/* ════════════ WHY SORS ═════════════════════════════════ */
#sors-why{background:var(--cream);padding:100px 64px;}
.why-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;}
.why-photo-stack{position:relative;}
.why-photo-main{width:100%;height:560px;overflow:hidden;}
.why-photo-main img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.why-photo-main:hover img{transform:scale(1.04);}
.why-photo-inset{position:absolute;bottom:-36px;right:-36px;width:220px;height:200px;overflow:hidden;border:5px solid var(--cream);box-shadow:0 16px 48px rgba(32,30,30,.16);}
.why-photo-inset img{width:100%;height:100%;object-fit:cover;display:block;}
.why-stat-badge{position:absolute;top:36px;left:-24px;background:var(--gold);padding:20px 24px;box-shadow:0 12px 40px rgba(242,192,48,.3);}
.why-stat-num{font-size:32px;font-weight:900;color:var(--dark);line-height:1;}
.why-stat-lbl{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(32,30,30,.6);margin-top:5px;}
.why-right{padding-left:20px;padding-bottom:48px;}
.why-h2{font-size:clamp(28px,3.5vw,44px);font-weight:900;line-height:1.1;letter-spacing:-.02em;margin-bottom:40px;margin-top:8px;}
.why-point{display:flex;align-items:flex-start;gap:20px;padding:22px 0;border-bottom:1px solid rgba(32,30,30,.08);transition:padding-left .3s;}
.why-point:hover{padding-left:8px;}
.why-point-icon{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:rgba(242,192,48,.12);border:1px solid rgba(242,192,48,.3);display:flex;align-items:center;justify-content:center;}
.why-point-title{font-size:14px;font-weight:800;margin-bottom:4px;}
.why-point-desc{font-size:13px;color:var(--muted);line-height:1.72;}
.why-closing{margin-top:36px;padding:28px 24px;background:var(--dark);font-size:14px;font-weight:600;color:rgba(255,255,255,.82);line-height:1.72;}
.why-closing span{color:var(--gold);}

/* ════════════ PROCESS ══════════════════════════════════ */
#sors-process{background:#fff;padding:100px 64px;}
.process-inner{max-width:1200px;margin:0 auto;}
.process-photo-banner{width:100%;height:340px;overflow:hidden;margin-bottom:72px;position:relative;}
.process-photo-banner img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.55);}
.process-banner-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;}
.process-banner-text h2{font-size:clamp(28px,4vw,52px);font-weight:900;color:#fff;letter-spacing:-.02em;line-height:1.1;}
.process-banner-text h2 span{color:var(--gold);}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.process-line{position:absolute;top:42px;left:12.5%;right:12.5%;height:1px;background:rgba(32,30,30,.1);}
.process-line-gold{position:absolute;top:42px;left:12.5%;width:0;height:1px;background:var(--gold);transition:width 2s ease .5s;}
.process-line-gold.active{width:75%;}
.process-step{padding:0 24px;transition:transform .35s var(--ease);}
.process-step:hover{transform:translateY(-5px);}
.process-circle{width:84px;height:84px;border-radius:50%;border:1.5px solid rgba(32,30,30,.15);background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:28px;position:relative;z-index:1;transition:border-color .4s,background .4s;}
.process-step:hover .process-circle{border-color:var(--gold);background:rgba(242,192,48,.06);animation:pulseGold 2s ease-in-out infinite;}
.process-circle-num{font-size:15px;font-weight:900;color:var(--dark);}
.process-step:hover .process-circle-num{color:var(--gold);}
.process-title{font-size:16px;font-weight:800;margin-bottom:10px;}
.process-body{font-size:13px;color:rgba(32,30,30,.5);line-height:1.82;}
.process-close{text-align:center;margin-top:64px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(32,30,30,.35);font-weight:600;}

/* ════════════ TRUST ════════════════════════════════════ */
#sors-trust{background:var(--cream);padding:100px 64px;}
.trust-inner{max-width:1200px;margin:0 auto;}
.trust-header{text-align:center;margin-bottom:72px;}
.trust-h2{font-size:clamp(30px,4vw,52px);font-weight:900;letter-spacing:-.02em;line-height:1.1;margin-bottom:20px;}
.trust-sub{font-size:16px;color:var(--muted);line-height:1.82;max-width:600px;margin:0 auto;}
.trust-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;}
.trust-photo-col{position:relative;overflow:hidden;min-height:500px;}
.trust-photo-col img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.trust-photo-col:hover img{transform:scale(1.04);}
.trust-photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(32,30,30,.82) 0%,rgba(32,30,30,.15) 55%,transparent 100%);}
.trust-photo-content{position:absolute;bottom:0;left:0;right:0;padding:36px 32px;}
.trust-photo-headline{font-size:24px;font-weight:900;color:#fff;line-height:1.2;margin-bottom:12px;}
.trust-photo-headline span{color:var(--gold);}
.trust-pillar{border:1px solid var(--border);padding:32px 28px;background:#fff;transition:border-color .3s,box-shadow .3s,transform .35s;display:flex;flex-direction:column;gap:12px;}
.trust-pillar:hover{border-color:var(--gold);box-shadow:0 12px 40px rgba(32,30,30,.07);transform:translateY(-4px);}
.trust-pillar-icon{width:44px;height:44px;background:rgba(242,192,48,.1);border:1px solid rgba(242,192,48,.25);display:flex;align-items:center;justify-content:center;}
.trust-pillar-title{font-size:16px;font-weight:800;}
.trust-pillar-desc{font-size:13px;color:var(--muted);line-height:1.75;}
.concern-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.7);}
.concern-item:last-child{border-bottom:none;}
.concern-check{width:20px;height:20px;border-radius:50%;flex-shrink:0;background:rgba(242,192,48,.2);border:1px solid rgba(242,192,48,.5);display:flex;align-items:center;justify-content:center;}
.concern-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);}

/* ════════════ FINAL CTA ════════════════════════════════ */
#sors-cta{background:var(--dark);padding:0;display:grid;grid-template-columns:1fr 1fr;min-height:540px;}
.cta-photo{position:relative;overflow:hidden;}
.cta-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.cta-photo:hover img{transform:scale(1.04);}
.cta-photo-overlay{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(32,30,30,.5));}
.cta-content{padding:90px 72px;display:flex;flex-direction:column;justify-content:center;}
.cta-h2{font-size:clamp(30px,3.5vw,52px);font-weight:900;line-height:1.1;letter-spacing:-.02em;color:#fff;margin-bottom:24px;margin-top:8px;}
.cta-h2 span{color:var(--gold);}
.cta-sub{font-size:15px;color:rgba(255,255,255,.55);line-height:1.85;margin-bottom:48px;max-width:440px;}
.cta-btns{display:flex;gap:14px;flex-wrap:wrap;}

/* ════════════ FOOTER ═══════════════════════════════════ */
#sors-footer{background:#181616;border-top:1px solid rgba(255,255,255,.05);}
.footer-main{max-width:1200px;margin:0 auto;padding:80px 64px 48px;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:60px;}
.footer-logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:20px;}
.footer-logo-text{font-weight:900;font-size:20px;letter-spacing:.09em;color:#fff;}
.footer-tagline{font-size:13px;color:rgba(255,255,255,.35);line-height:1.8;max-width:260px;margin-bottom:28px;}
.footer-socials{display:flex;gap:12px;}
.footer-social{width:38px;height:38px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:border-color .3s,background .3s;text-decoration:none;}
.footer-social:hover{border-color:var(--gold);background:rgba(242,192,48,.08);}
.footer-social svg{width:16px;height:16px;stroke:rgba(255,255,255,.4);transition:stroke .3s;}
.footer-social:hover svg{stroke:var(--gold);}
.footer-col-title{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:block;}
.footer-links{display:flex;flex-direction:column;gap:12px;}
.footer-links a{font-size:13px;color:rgba(255,255,255,.4);text-decoration:none;transition:color .25s;}
.footer-links a:hover{color:#fff;}
.footer-contact-item{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start;}
.footer-contact-icon svg{width:14px;height:14px;stroke:var(--gold);flex-shrink:0;margin-top:2px;}
.footer-contact-text{font-size:13px;color:rgba(255,255,255,.4);line-height:1.6;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding:24px 64px;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;}
.footer-copy{font-size:11px;color:rgba(255,255,255,.22);}
.footer-bottom-links{display:flex;gap:24px;}
.footer-bottom-links a{font-size:11px;color:rgba(255,255,255,.22);text-decoration:none;transition:color .25s;}
.footer-bottom-links a:hover{color:rgba(255,255,255,.6);}

/* ════════════ INNER PAGE HERO ══════════════════════════ */
.page-hero{position:relative;height:420px;overflow:hidden;display:flex;align-items:flex-end;margin-top:0;}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.4);}
.page-hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;width:100%;padding:0 64px 64px;}
.page-hero-content h1{font-size:clamp(36px,5vw,64px);font-weight:900;color:#fff;letter-spacing:-.02em;line-height:1.05;}
.page-hero-content h1 span{color:var(--gold);}
.page-hero-breadcrumb{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:16px;}

/* ════════════ ABOUT PAGE ═══════════════════════════════ */
.about-intro{background:#fff;padding:100px 64px;}
.about-intro-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-text h2{font-size:clamp(28px,3.5vw,46px);font-weight:900;letter-spacing:-.02em;line-height:1.1;margin-bottom:24px;}
.about-text p{font-size:15px;color:var(--muted);line-height:1.88;margin-bottom:20px;}
.about-photo{height:520px;overflow:hidden;}
.about-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.about-photo:hover img{transform:scale(1.04);}
.about-philosophy{background:var(--cream);padding:100px 64px;}
.philosophy-inner{max-width:1200px;margin:0 auto;text-align:center;}
.philosophy-inner h2{font-size:clamp(28px,3.5vw,46px);font-weight:900;margin-bottom:16px;}
.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:64px;}
.philosophy-card{padding:40px 32px;border:1px solid var(--border);background:#fff;transition:border-color .3s,transform .35s var(--ease);}
.philosophy-card:hover{border-color:var(--gold);transform:translateY(-6px);}
.philosophy-card-num{font-size:36px;font-weight:900;color:var(--gold);margin-bottom:16px;line-height:1;}
.philosophy-card-title{font-size:18px;font-weight:800;margin-bottom:12px;}
.philosophy-card-desc{font-size:13px;color:var(--muted);line-height:1.8;}
.about-commitment{background:var(--dark);padding:80px 64px;text-align:center;}
.about-commitment h2{font-size:clamp(28px,3.5vw,44px);font-weight:900;color:#fff;margin-bottom:20px;}
.about-commitment p{font-size:15px;color:rgba(255,255,255,.55);line-height:1.88;max-width:640px;margin:0 auto 40px;}
.commitment-points{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:40px;}
.commitment-point{font-size:13px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:10px;}
.commitment-point::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;}

/* ════════════ SERVICES PAGE ════════════════════════════ */
.services-section{padding:100px 64px;}
.services-section:nth-child(even){background:var(--cream);}
.services-section:nth-child(odd){background:#fff;}
.service-block{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.service-block.reverse{direction:rtl;}
.service-block.reverse > *{direction:ltr;}
.service-photo{height:480px;overflow:hidden;}
.service-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.service-photo:hover img{transform:scale(1.04);}
.service-text h2{font-size:clamp(26px,3vw,40px);font-weight:900;line-height:1.15;margin-bottom:20px;letter-spacing:-.02em;}
.service-text p{font-size:15px;color:var(--muted);line-height:1.88;margin-bottom:24px;}
.service-list{list-style:none;margin-bottom:32px;}
.service-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px;color:rgba(32,30,30,.7);}
.service-list li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;}
.service-solves{background:var(--dark);padding:24px 28px;}
.service-solves-lbl{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.service-solves p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.7;}

/* ════════════ CONSTRUCTION PAGE ════════════════════════ */
.construction-intro{background:#fff;padding:80px 64px;}
.construction-intro-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.construction-who{background:var(--cream);padding:80px 64px;}
.construction-who-inner{max-width:1200px;margin:0 auto;}
.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;}
.who-card{border:1px solid var(--border);padding:32px 24px;text-align:center;background:#fff;transition:border-color .3s,transform .35s var(--ease);}
.who-card:hover{border-color:var(--gold);transform:translateY(-5px);}
.who-card-icon{font-size:32px;margin-bottom:16px;}
.who-card-title{font-size:15px;font-weight:800;}
.construction-approach{background:#fff;padding:80px 64px;}
.approach-grid{max-width:1200px;margin:32px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.approach-card{background:var(--cream);padding:36px 32px;border-left:3px solid var(--gold);}
.approach-card-title{font-size:17px;font-weight:800;margin-bottom:10px;}
.approach-card-desc{font-size:13px;color:var(--muted);line-height:1.8;}
.construction-deliver{background:var(--cream);padding:80px 64px;}
.deliver-grid{max-width:1200px;margin:48px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.deliver-item{background:#fff;padding:36px;border:1px solid var(--border);display:flex;gap:20px;align-items:flex-start;transition:border-color .3s,transform .35s var(--ease);}
.deliver-item:hover{border-color:var(--gold);transform:translateY(-4px);}
.deliver-num{font-size:28px;font-weight:900;color:var(--gold);line-height:1;flex-shrink:0;}
.deliver-title{font-size:16px;font-weight:800;margin-bottom:8px;}
.deliver-desc{font-size:13px;color:var(--muted);line-height:1.75;}

/* ════════════ PROCESS PAGE ════════════════════════════ */
.process-page-section{background:#fff;padding:100px 64px;}
.process-page-inner{max-width:1200px;margin:0 auto;}
.process-page-steps{margin-top:64px;}
.process-page-step{display:grid;grid-template-columns:100px 1fr;gap:40px;align-items:start;padding:48px 0;border-bottom:1px solid var(--border);}
.process-page-step:last-child{border-bottom:none;}
.process-page-num{font-size:64px;font-weight:900;color:rgba(32,30,30,.07);line-height:1;}
.process-page-title{font-size:22px;font-weight:900;margin-bottom:12px;}
.process-page-desc{font-size:15px;color:var(--muted);line-height:1.88;}
.process-closing-bar{background:var(--dark);padding:60px 64px;text-align:center;}
.process-closing-bar p{font-size:18px;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:.05em;}
.process-closing-bar span{color:var(--gold);}

/* ════════════ PROJECTS PAGE ════════════════════════════ */
.projects-section{background:var(--cream);padding:100px 64px;}
.projects-grid{max-width:1200px;margin:48px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.project-card{background:#fff;overflow:hidden;border:1px solid var(--border);transition:transform .4s var(--ease),box-shadow .4s;}
.project-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(32,30,30,.1);}
.project-photo{height:280px;overflow:hidden;}
.project-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.project-card:hover .project-photo img{transform:scale(1.05);}
.project-body{padding:32px;}
.project-tag{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.project-title{font-size:20px;font-weight:800;margin-bottom:12px;}
.project-desc{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:16px;}
.project-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;border-top:1px solid var(--border);padding-top:16px;}
.project-row-label{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.project-row-value{font-size:13px;font-weight:600;color:var(--dark);}
.projects-empty{text-align:center;padding:80px;color:var(--muted);font-size:15px;}

/* ════════════ INSIGHTS PAGE ════════════════════════════ */
.insights-section{background:#fff;padding:100px 64px;}
.insights-grid{max-width:1200px;margin:48px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.insight-card{border:1px solid var(--border);overflow:hidden;background:#fff;transition:transform .4s var(--ease),box-shadow .4s;}
.insight-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(32,30,30,.08);}
.insight-photo{height:200px;overflow:hidden;}
.insight-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);}
.insight-card:hover .insight-photo img{transform:scale(1.05);}
.insight-body{padding:28px;}
.insight-cat{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.insight-title{font-size:17px;font-weight:800;line-height:1.35;margin-bottom:12px;}
.insight-excerpt{font-size:13px;color:var(--muted);line-height:1.75;}
.insight-meta{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);font-size:11px;color:var(--muted);}
.insight-read-more{color:var(--dark);font-weight:700;text-decoration:none;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:2px;transition:color .25s;}
.insight-read-more:hover{color:var(--gold);}
.no-posts{text-align:center;padding:80px;color:var(--muted);font-size:15px;}

/* ════════════ CONTACT PAGE ════════════════════════════ */
.contact-section{background:var(--cream);padding:100px 64px;}
.contact-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start;}
.contact-info h2{font-size:clamp(28px,3.5vw,44px);font-weight:900;line-height:1.1;margin-bottom:20px;}
.contact-info p{font-size:15px;color:var(--muted);line-height:1.88;margin-bottom:40px;}
.contact-detail{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px;}
.contact-detail-icon{width:44px;height:44px;background:rgba(242,192,48,.1);border:1px solid rgba(242,192,48,.25);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.contact-detail-icon svg{width:18px;height:18px;stroke:var(--gold);}
.contact-detail-label{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.contact-detail-value{font-size:14px;font-weight:600;color:var(--dark);}
.contact-form-wrap{background:#fff;padding:48px;border:1px solid var(--border);}
.contact-form-wrap h3{font-size:20px;font-weight:800;margin-bottom:8px;}
.contact-form-wrap p{font-size:13px;color:var(--muted);margin-bottom:32px;}
/* WPForms overrides */
.wpforms-form .wpforms-field-label{font-size:10px !important;font-weight:700 !important;letter-spacing:.16em !important;text-transform:uppercase !important;color:var(--muted) !important;margin-bottom:8px !important;}
.wpforms-form input,.wpforms-form select,.wpforms-form textarea{border:1px solid var(--border) !important;border-radius:0 !important;font-family:'Montserrat',sans-serif !important;font-size:13px !important;padding:14px 16px !important;background:#fff !important;transition:border-color .3s !important;width:100% !important;}
.wpforms-form input:focus,.wpforms-form select:focus,.wpforms-form textarea:focus{border-color:var(--gold) !important;outline:none !important;box-shadow:none !important;}
.wpforms-form .wpforms-submit{background:var(--dark) !important;color:#fff !important;font-family:'Montserrat',sans-serif !important;font-weight:700 !important;font-size:11px !important;letter-spacing:.16em !important;text-transform:uppercase !important;padding:17px 38px !important;border-radius:0 !important;border:none !important;cursor:pointer !important;transition:transform .22s,box-shadow .3s !important;}
.wpforms-form .wpforms-submit:hover{transform:translateY(-2px) !important;box-shadow:0 14px 40px rgba(32,30,30,.22) !important;}

/* ════════════ LISTINGS PAGE ════════════════════════════ */
.listings-page{background:var(--cream);padding:80px 64px;}
.listings-page-inner{max-width:1200px;margin:0 auto;}
.listings-filters{display:flex;gap:12px;margin-bottom:48px;flex-wrap:wrap;}
.filter-btn{padding:10px 20px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:border-color .3s,background .3s,color .3s;font-family:'Montserrat',sans-serif;}
.filter-btn:hover,.filter-btn.active{border-color:var(--gold);background:var(--gold);color:var(--dark);}
.listings-full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

/* ════════════ RESPONSIVE ═══════════════════════════════ */
@media(max-width:1024px){
  #sors-navbar,#sors-navbar.scrolled{padding:18px 28px;}
  .nav-links .nav-link,.nav-btn-dark{display:none;}
  .nav-hamburger{display:flex;}
  #sors-hero{grid-template-columns:1fr;min-height:auto;}
  .hero-right{height:50vw;min-height:300px;}
  .hero-left{padding:120px 36px 64px;}
  .positioning-inner{grid-template-columns:1fr;gap:52px;}
  #sors-positioning,#sors-reality,#sors-pillars,#sors-why,#sors-process,#sors-trust,#sors-listings-preview{padding:72px 28px;}
  .reality-top{grid-template-columns:1fr;}
  .pillars-grid{grid-template-columns:1fr;}
  .listings-grid{grid-template-columns:1fr 1fr;}
  .why-inner{grid-template-columns:1fr;}
  .why-photo-inset{display:none;}
  .trust-grid{grid-template-columns:1fr 1fr;}
  .trust-photo-col{grid-column:1/-1;min-height:320px;}
  #sors-cta{grid-template-columns:1fr;}
  .cta-photo{height:40vw;min-height:260px;}
  .cta-content{padding:64px 28px;}
  .footer-main{grid-template-columns:1fr 1fr;gap:40px;padding:60px 28px 40px;}
  .footer-bottom{padding:20px 28px;flex-direction:column;gap:12px;text-align:center;}
  .about-intro-inner,.service-block,.contact-inner,.construction-intro-inner{grid-template-columns:1fr;}
  .service-block.reverse{direction:ltr;}
  .philosophy-grid{grid-template-columns:1fr 1fr;}
  .who-grid{grid-template-columns:1fr 1fr;}
  .projects-grid{grid-template-columns:1fr;}
  .insights-grid{grid-template-columns:1fr 1fr;}
  .listings-full-grid{grid-template-columns:1fr 1fr;}
  .process-grid{grid-template-columns:1fr 1fr;gap:36px;}
  .page-hero-content{padding:0 28px 48px;}
  .listings-page,.projects-section,.insights-section,.about-intro,.about-philosophy,.about-commitment,.services-section,.construction-intro,.construction-who,.construction-approach,.construction-deliver,.process-page-section,.contact-section{padding:72px 28px;}
  .process-closing-bar{padding:40px 28px;}
  .deliver-grid{grid-template-columns:1fr;}
  .approach-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .hero-btns,.cta-btns{flex-direction:column;}
  .pillars-grid,.trust-grid,.philosophy-grid,.insights-grid,.listings-full-grid,.listings-grid{grid-template-columns:1fr;}
  .trust-photo-col{min-height:260px;}
  .who-grid{grid-template-columns:1fr 1fr;}
  .listings-preview-header,.pillars-header{flex-direction:column;gap:16px;align-items:flex-start;}
  .footer-main{grid-template-columns:1fr;}
  .footer-bottom-links{flex-direction:column;gap:8px;}
  .contact-form-wrap{padding:24px 16px;}
  .process-page-step{grid-template-columns:60px 1fr;gap:20px;}
  .process-page-num{font-size:44px;}
  .commitment-points{flex-direction:column;align-items:center;gap:16px;}
}

/* ════════════ MISSING UTILITY CLASSES ══════════════════ */
.trust-concerns { margin-top:16px; }
.ere-sors-wrapper { width:100%; }
.pillars-grid-process { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:768px){ .pillars-grid-process { grid-template-columns:1fr; } }
