/* ClearCrest V4.4 — Authority + Interaction release */
:root{
  --v44-olive:#526846;
  --v44-olive-deep:#34452f;
  --v44-sage:#e6ecdf;
  --v44-sage-strong:#d7e1cf;
  --v44-gold:#b98a4d;
  --v44-cream:#fbf8f1;
}

/* Slightly warmer olive depth without changing the overall brand system. */
.dark-section{background:linear-gradient(135deg,#3c4e36 0%,#506544 60%,#657955 100%)!important}

/* ---------- Mobile conversion dock ---------- */
.mobile-action-dock{display:none}
@media (max-width:640px){
  body{padding-bottom:86px!important}
  .mobile-call{display:none!important}
  .mobile-action-dock{
    position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:90;
    display:grid;grid-template-columns:.92fr 1.08fr;gap:8px;padding:7px;
    background:rgba(251,248,241,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(23,34,29,.12);border-radius:999px;
    box-shadow:0 16px 46px rgba(35,48,31,.20)
  }
  .mobile-action-dock a{min-height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:900;line-height:1.1}
  .dock-quote{background:var(--olive);color:#fff;gap:8px;font-size:.92rem}
  .dock-call{background:var(--accent);color:#fff;flex-direction:column;gap:2px;padding:6px 10px}
  .dock-call span{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;opacity:.88}
  .dock-call strong{font-size:.92rem;white-space:nowrap}
}

/* ---------- Homepage project planner ---------- */
.planner-section{background:linear-gradient(135deg,#eef3e8 0%,#dde7d6 58%,#f4eee2 100%);overflow:hidden}
.planner-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:start}
.planner-copy{position:sticky;top:132px}
.planner-copy h2{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(3rem,5vw,5rem);line-height:.96;letter-spacing:-.05em;margin:0 0 20px;max-width:10ch}
.planner-copy>p{max-width:520px;color:var(--muted);font-size:1.02rem}
.planner-proof{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.planner-proof li{padding:8px 11px;border:1px solid rgba(51,66,47,.16);border-radius:999px;background:rgba(255,255,255,.58);font-size:.72rem;font-weight:850}
.project-planner{background:rgba(255,255,255,.82);border:1px solid rgba(51,66,47,.13);border-radius:30px;padding:28px;box-shadow:0 24px 70px rgba(51,66,47,.11);backdrop-filter:blur(8px)}
.planner-step+.planner-step{margin-top:26px;padding-top:26px;border-top:1px solid rgba(23,34,29,.10)}
.planner-step-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.planner-step-head>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--olive);color:#fff;font-size:.65rem;font-weight:900}
.planner-step-head strong{font-size:1rem}
.planner-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.planner-options-goal{grid-template-columns:repeat(2,minmax(0,1fr))}
.planner-options button{appearance:none;text-align:left;border:1px solid rgba(23,34,29,.13);border-radius:17px;background:#fff;padding:16px;min-height:104px;color:var(--ink);cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}
.planner-options button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(46,57,42,.08)}
.planner-options button[aria-pressed="true"]{background:var(--olive-dark);border-color:var(--olive-dark);color:#fff;box-shadow:0 12px 28px rgba(51,66,47,.18)}
.planner-options b{display:block;font-size:.9rem;margin-bottom:7px}
.planner-options small{display:block;font-size:.7rem;line-height:1.45;color:var(--muted)}
.planner-options button[aria-pressed="true"] small{color:#dbe4d7}
.planner-result{margin-top:28px;padding:24px;border-radius:22px;background:linear-gradient(135deg,var(--olive-dark),#526847);color:#fff;position:relative;overflow:hidden}
.planner-result:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-80px;top:-100px;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.025)}
.planner-kicker{display:block;color:var(--accent2);font-size:.65rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;position:relative;z-index:1}
.planner-result h3{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:2rem;line-height:1;letter-spacing:-.04em;margin:0 0 10px;max-width:14ch;position:relative;z-index:1}
.planner-result p{color:#e1e8dd;max-width:570px;margin:0;position:relative;z-index:1}
.planner-result-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px;position:relative;z-index:1}
.planner-result-actions .btn{background:#fff;color:var(--olive-dark);border-color:#fff;min-height:44px}
.planner-quote{font-size:.84rem;font-weight:900;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px}

/* ---------- Interactive window style explorer ---------- */
.window-explorer-section{background:#fff}
.window-explorer{border:1px solid var(--line);border-radius:30px;background:var(--paper);overflow:hidden;box-shadow:0 18px 52px rgba(46,57,42,.07)}
.window-explorer-tabs{display:flex;gap:6px;padding:10px;border-bottom:1px solid var(--line);background:#fff;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.window-explorer-tabs::-webkit-scrollbar{display:none}
.window-explorer-tabs button{flex:0 0 auto;scroll-snap-align:start;border:1px solid transparent;background:transparent;color:var(--ink);font-weight:850;font-size:.8rem;padding:10px 15px;border-radius:999px;cursor:pointer;white-space:nowrap}
.window-explorer-tabs button[aria-selected="true"]{background:var(--olive);color:#fff}
.window-explorer-stage{display:grid;grid-template-columns:.9fr 1.1fr;min-height:460px}
.window-demo{position:relative;min-height:460px;background:linear-gradient(160deg,#d9e4df 0%,#edf1eb 46%,#d9cbb6 100%);display:grid;place-items:center;overflow:hidden}
.window-demo:before{content:"";position:absolute;inset:auto -12% -38% -12%;height:62%;background:linear-gradient(180deg,#d2d7c7,#96a084);clip-path:polygon(0 68%,18% 47%,37% 63%,54% 34%,72% 56%,100% 28%,100% 100%,0 100%);opacity:.78}
.demo-frame{width:min(63%,320px);aspect-ratio:.78;border:14px solid #f6f1e7;background:linear-gradient(180deg,rgba(196,219,225,.82),rgba(222,232,226,.86));box-shadow:0 24px 55px rgba(40,55,44,.18);position:relative;z-index:2}
.demo-frame:before,.demo-frame:after,.demo-frame i:before,.demo-frame i:after{content:"";position:absolute;background:#f6f1e7}
.demo-frame:before{width:10px;top:0;bottom:0;left:50%;transform:translateX(-50%)}
.demo-frame:after{height:10px;left:0;right:0;top:52%;transform:translateY(-50%)}
.demo-open-line{position:absolute;z-index:3;width:130px;height:2px;background:rgba(51,66,47,.55);transform:rotate(-36deg);transform-origin:left center;margin-left:-12px}
.window-demo.style-flush .demo-frame{border-width:10px;box-shadow:inset 0 0 0 2px rgba(51,66,47,.1),0 24px 55px rgba(40,55,44,.18)}
.window-demo.style-sash .demo-frame:before{display:none}.window-demo.style-sash .demo-frame:after{top:50%;height:14px}.window-demo.style-sash .demo-open-line{display:none}
.window-demo.style-tilt .demo-frame{transform:perspective(500px) rotateX(-4deg)}.window-demo.style-tilt .demo-open-line{width:150px;transform:rotate(6deg);top:30%;left:46%}
.window-demo.style-bay .demo-frame{transform:perspective(600px) rotateY(-10deg);width:min(67%,350px)}.window-demo.style-bay:after{content:"";position:absolute;z-index:1;width:min(55%,300px);aspect-ratio:.78;border:12px solid rgba(246,241,231,.8);right:8%;background:rgba(202,220,223,.45);transform:perspective(600px) rotateY(16deg)}
.window-demo.style-fixed .demo-open-line{display:none}.window-demo.style-fixed .demo-frame:before{left:50%}.window-demo.style-fixed .demo-frame:after{display:none}
.window-explorer-copy{padding:46px;align-self:center}
.window-explorer-copy h3{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(2.8rem,4vw,4.2rem);line-height:.95;letter-spacing:-.045em;margin:0 0 16px}
.window-explorer-copy>p{color:var(--muted);font-size:1rem;max-width:600px}
.window-explorer-copy dl{margin:30px 0}
.window-explorer-copy dl>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:14px 0;border-top:1px solid var(--line)}
.window-explorer-copy dl>div:last-child{border-bottom:1px solid var(--line)}
.window-explorer-copy dt{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#8b6738}
.window-explorer-copy dd{margin:0;color:var(--muted);font-size:.9rem}

/* ---------- London/property context ---------- */
.context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.context-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;min-height:250px}
.context-grid article>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sage);font-size:.68rem;font-weight:900;color:var(--olive-dark)}
.context-grid h3{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.8rem;line-height:1.05;letter-spacing:-.035em;margin:24px 0 10px}
.context-grid p{color:var(--muted);font-size:.9rem;margin:0}
.survey-split{align-items:center}
.survey-board{min-height:520px;border-radius:30px;background:linear-gradient(145deg,#34452f,#526846);color:#fff;padding:32px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.survey-board:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-120px;bottom:-110px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.02)}
.survey-label{font-size:.68rem;letter-spacing:.17em;font-weight:900;color:var(--accent2)}
.survey-window{width:58%;aspect-ratio:.82;margin:46px auto 34px;border:11px solid #f5efe4;position:relative;background:linear-gradient(180deg,#b9d1d1,#dce6db)}
.survey-window:before,.survey-window:after{content:"";position:absolute;background:#f5efe4}.survey-window:before{width:8px;top:0;bottom:0;left:50%;transform:translateX(-50%)}.survey-window:after{height:8px;left:0;right:0;top:50%;transform:translateY(-50%)}
.survey-notes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;position:relative;z-index:1}
.survey-notes b{padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;text-align:center;font-size:.63rem;letter-spacing:.08em}
.survey-board>p{text-align:center;color:#dbe4d7;font-size:.82rem;position:relative;z-index:1}
.window-area-cta{padding:28px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.window-area-cta .container{display:flex;align-items:center;justify-content:space-between;gap:30px}
.window-area-cta strong{display:block;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.65rem;letter-spacing:-.03em}
.window-area-cta p{margin:4px 0 0;color:var(--muted);font-size:.86rem}
.area-guide-note{margin-top:-26px;margin-bottom:24px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55);display:flex;gap:12px;align-items:center}
.area-guide-note span{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#8b6738;white-space:nowrap}.area-guide-note p{margin:0;color:var(--muted);font-size:.78rem}

/* Better focus visibility for all new controls */
.project-planner button:focus-visible,.window-explorer-tabs button:focus-visible,.mobile-action-dock a:focus-visible{outline:3px solid var(--accent2);outline-offset:3px}

@media (max-width:980px){
  .planner-grid{grid-template-columns:1fr;gap:34px}.planner-copy{position:static}.planner-copy h2{max-width:13ch}
  .window-explorer-stage{grid-template-columns:1fr}.window-demo{min-height:390px}.window-explorer-copy{padding:32px}
  .context-grid{grid-template-columns:1fr 1fr}.context-grid article:last-child{grid-column:1/-1}
  .window-area-cta .container{align-items:flex-start}
}
@media (max-width:640px){
  .planner-section{padding-top:58px!important}.planner-copy h2{font-size:clamp(2.7rem,12vw,3.35rem)!important;max-width:none}.project-planner{padding:16px;border-radius:22px}.planner-options,.planner-options-goal{grid-template-columns:1fr}.planner-options button{min-height:82px;padding:14px}.planner-result{padding:20px}.planner-result h3{font-size:1.8rem}.planner-result-actions{display:grid;grid-template-columns:1fr;gap:12px}.planner-quote{text-align:center;border:0}
  .window-explorer{border-radius:22px}.window-explorer-tabs{padding:8px}.window-explorer-tabs button{padding:9px 13px}.window-demo{min-height:320px}.demo-frame{width:min(58%,240px);border-width:10px}.window-explorer-copy{padding:24px 20px 28px}.window-explorer-copy h3{font-size:2.6rem}.window-explorer-copy dl>div{grid-template-columns:1fr;gap:5px}.window-explorer-copy dd{font-size:.86rem}
  .context-grid{grid-template-columns:1fr}.context-grid article:last-child{grid-column:auto}.context-grid article{min-height:auto;padding:22px}.context-grid h3{font-size:1.65rem}
  .survey-board{min-height:420px;padding:24px}.survey-window{width:62%;margin:36px auto 28px}.survey-notes{grid-template-columns:1fr 1fr}
  .window-area-cta .container{display:grid;grid-template-columns:1fr}.window-area-cta .btn{width:100%}.area-guide-note{display:block;margin-top:-14px}.area-guide-note span{display:block;margin-bottom:4px}
}

@media (prefers-reduced-motion:reduce){
  .planner-options button,.window-explorer-tabs button{transition:none!important}
}
