/* Bright-Side v15: presentation only. Existing copy and semantic structure remain intact. */
.experience-on{--section:clamp(72px,9vw,116px);--shadow-soft:0 8px 28px #10234b0c,0 1px 2px #10234b08;--shadow-lift:0 24px 60px #10234b20;background:#fff}
html{scroll-padding-top:130px}
.experience-on main [id]{scroll-margin-top:130px}
.experience-on [data-reveal],.experience-on .hero-fade{opacity:1;transform:none;animation:none}
.experience-on .hero h1 .w>span{transform:none;animation:none}
.experience-on .hero-media .hero-photo{animation:none;transform:scale(1.045);will-change:auto}
.experience-on .hero-sweep::after{animation:sweep 3.5s var(--ease-soft) 1 both;animation-delay:1s}
.experience-on .hero-kicker .dot{animation:none;background:#aac3ff;box-shadow:0 0 0 4px #aac3ff1a}
.experience-on .hero{background:radial-gradient(ellipse at 65% 5%,#274b95 0,transparent 55%),linear-gradient(130deg,#09162f,#132c5d);perspective:1400px}
.experience-on .hero-media{transform:translate3d(0,var(--hero-scroll,0px),0);will-change:auto}
.experience-on .hero h1{letter-spacing:-.045em;text-shadow:0 4px 32px #07132630}
.experience-on .hero h1 .outline{color:#bed0ff;-webkit-text-stroke:0}
.experience-on .hero-kicker{font-size:.875rem;letter-spacing:.025em;text-transform:none;line-height:1.55}
.experience-on .hero-inner{padding-block:70px 95px}
.experience-on .hero .lede{line-height:1.8}
.experience-on .scroll-cue{color:#fff9}
@media(min-width:1100px){
 .experience-on #home{min-height:780px;min-height:max(780px,94svh);overflow:hidden}
 .experience-on #home .hero-media{inset:calc(var(--nav-h) + var(--topbar-h) + 34px) 3.5% 62px 49%;border:1px solid #ffffff4a;border-radius:28px;overflow:hidden;box-shadow:18px 30px 70px #02091e70,0 0 0 10px #ffffff06;transform:translate3d(0,var(--hero-scroll,0px),0) rotateY(-8deg) rotateX(2deg);transform-origin:50% 50%}
 .experience-on #home .hero-photo{object-position:center 45%}
 .experience-on #home .hero-scrim{background:linear-gradient(90deg,#09162f44 0,transparent 55%);pointer-events:none}
 .experience-on #home .hero-inner.center{display:block;text-align:left;padding-block:65px 100px}
 .experience-on #home .hero-inner>h1{max-width:51%;font-size:clamp(3.8rem,5.25vw,5.2rem);line-height:1.05}
 .experience-on #home .hero-inner>.lede{max-width:44%;font-size:1.08rem}
 .experience-on #home .hero-kicker{max-width:46%;padding:9px 14px;margin-bottom:28px}
 .experience-on #home .hero-actions{max-width:47%;justify-content:flex-start;gap:12px}
 .experience-on #home .hero-actions .btn{padding:16px 23px;font-size:.875rem}
 .experience-on #home .scroll-cue{left:calc(50% + 24%);bottom:14px}
}
/* A floating navigation surface with a continuous hover path into dropdowns. */
.experience-on .site-header{background:#fffffff5;border-bottom-color:#dbe3f180;box-shadow:0 8px 30px #06183208}
.experience-on .site-header.scrolled{box-shadow:0 12px 35px #071b3d18}
.experience-on .nav>a[aria-current="page"]{background:#e8efff;color:#1d3a8f}
.experience-on .nav-drop.has-current>button{color:#2547a1}
.experience-on .drop-menu{top:calc(100% + 9px);border-radius:18px;padding:12px;box-shadow:0 22px 55px #091b4530;transition:opacity 180ms,transform 240ms var(--ease-out),visibility 180ms}
.experience-on .nav-drop::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:15px}
.experience-on .drop-menu a{min-height:44px;display:flex;align-items:center;font-size:.875rem;white-space:normal;line-height:1.45}
.experience-on .drop-menu-tall{min-width:280px;scrollbar-width:thin;overscroll-behavior:contain}
.experience-on .nav-socials a,.experience-on .footer-socials a{min-width:32px;min-height:44px;justify-content:center}
.experience-on .btn{position:relative;isolation:isolate;white-space:normal;text-align:center;justify-content:center;min-height:48px;line-height:1.4;box-shadow:0 5px 0 #203b951f,0 12px 25px #203b951c;transition:transform 200ms var(--ease-out),background 180ms,color 180ms,box-shadow 200ms}
.experience-on .btn:hover{transform:translateY(-3px);box-shadow:0 7px 0 #203b9519,0 18px 32px #203b9529}
.experience-on .btn:active{transform:translateY(1px) scale(.985);box-shadow:0 1px 0 #203b9520}
.experience-on .btn-ghost{box-shadow:inset 0 0 0 1px #ffffff90;background:#ffffff08}
.experience-on .btn-navy{background:linear-gradient(135deg,#203d83,#0b1c45)}
.experience-on .btn-white{box-shadow:0 5px 0 #bbc8ec80,0 15px 30px #020a2140}
.experience-on :is(.chip,.house-picks button,.house-navigation button,.house-pins,.map-actions button){min-height:44px;transition:background 180ms,box-shadow 180ms,transform 180ms}
.experience-on :is(.chip,.house-picks button,.house-navigation button,.house-pins):active{transform:scale(.97)}
.experience-on :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #4169e1;outline-offset:4px}
.experience-on :is(.hero,.services-dark,.cta-band,.site-footer) :is(a,button):focus-visible{outline-color:#bcd0ff}
/* Dimensional surfaces; pointer motion only changes transforms. */
.experience-on :is(.svc-card,.review-card,.area-card,.work-tile,.portfolio-card){border-radius:22px;box-shadow:0 10px 30px #142c5011,0 1px 2px #142c5010;transition:transform 300ms var(--ease-out),box-shadow 300ms,border-color 200ms}
.experience-on :is(.svc-card,.review-card,.area-card){border-color:#dfe6f2;background:linear-gradient(150deg,#fff,#f8faff)}
.experience-on :is(.svc-card,.review-card,.area-card):hover{border-color:#9bb4ed;box-shadow:0 25px 48px #10244b24}
.experience-on .svc-card{padding:34px 30px;gap:17px}
.experience-on .svc-card p{font-size:1rem;line-height:1.75}
.experience-on .svc-icon{width:60px;height:60px;border-radius:17px;box-shadow:0 5px 0 #cfdbf4,0 12px 20px #29477916;background:linear-gradient(140deg,#eff4ff,#dae6ff);transform:perspective(600px) rotateY(-12deg) rotateX(8deg)}
.experience-on .svc-card:hover .svc-icon{transform:perspective(600px) rotateY(5deg) rotateX(-4deg) translateY(-4px);box-shadow:0 6px 0 #294aaf,0 14px 20px #29477926}
.experience-on .svc-more{font-size:.875rem}
.experience-on .services-dark{position:relative;background:radial-gradient(ellipse at 100% 0,#264882,transparent 55%),#0b1c3e;overflow:hidden}
.experience-on .services-dark .svc-card{background:linear-gradient(145deg,#ffffff10,#ffffff05);border:1px solid #ffffff30;box-shadow:0 14px 35px #020c2029;color:#d8e2f7}
.experience-on .services-dark .svc-card :is(h3,.svc-more){color:#fff}
.experience-on .services-dark .svc-card:hover{background:linear-gradient(145deg,#ffffff1c,#ffffff09);border-color:#98b5ff80;color:#e4edff}
.experience-on .services-dark .svc-icon{background:linear-gradient(145deg,#4d71ce,#274a95);color:#fff;box-shadow:0 5px 0 #142c61,0 15px 25px #020d202e}
.experience-on .services-dark .chip{background:#ffffff08;border-color:#ffffff35;color:#e5edff;padding:12px 18px;font-size:.875rem}
.experience-on .services-dark .chip:hover{background:#ffffff17}
.experience-on .work-band{gap:18px;perspective:1200px}
.experience-on .work-tile{border:1px solid #ffffff90;box-shadow:0 12px 28px #0b1c451c}
.experience-on .work-tile img,.experience-on .portfolio-card img{transition:transform 750ms var(--ease-out);transform:scale(1.015)}
.experience-on .work-tile:hover img,.experience-on .portfolio-card:hover img{transform:scale(1.06)}
.experience-on .wt-label{font-size:.875rem;bottom:18px;left:18px;background:#0b1c45cc;backdrop-filter:blur(10px);border:1px solid #ffffff40;box-shadow:0 5px 18px #07152a20}
.experience-on .split-photo{border-radius:25px;border:7px solid #fff;box-shadow:12px 14px 0 #e7eefb,0 22px 40px #17356614}
.experience-on .stats-inner{padding:30px 24px;border:1px solid #dfe7f5;border-radius:24px;background:linear-gradient(135deg,#fff,#f6f9ff);box-shadow:0 18px 50px #1835600d}
.experience-on .stat-number{font-variant-numeric:tabular-nums;letter-spacing:-.055em;text-shadow:0 3px 0 #dce6fb}
.experience-on .stat-label{font-size:.875rem}
.experience-on .step{border-radius:20px;box-shadow:0 12px 30px #1735660c}
.experience-on :is(.house-wrap,.map-wrap){border-radius:26px;box-shadow:0 25px 70px #0b1c451a,0 2px 4px #0b1c4508}
.experience-on .house-picks button[aria-pressed="true"]{background:#244791;color:white;box-shadow:0 5px 14px #24479128}
.experience-on .map-actions button,.experience-on .map-legend,.experience-on .map-details{font-size:.875rem}
.experience-on .map-credit{font-size:.75rem}
.experience-on .map-caption small,.experience-on .map-hint{font-size:.75rem}
.experience-on .map-pin span{font-size:.75rem}
.experience-on .map-pin-home small,.experience-on .map-cottage span{font-size:.65rem}
/* Forms and reading surfaces retain their native behaviour and content. */
.experience-on .form-card{border:1px solid #d8e3f5;box-shadow:0 22px 60px #17356614;border-radius:25px}
.experience-on .field label{font-size:.875rem}
.experience-on .field :is(input,textarea,select){min-width:0;width:100%;min-height:50px;background:#f7faff;border-color:#ccd9ee}
.experience-on .field :is(input,textarea,select):focus{background:#fff;box-shadow:0 0 0 4px #4169e115;border-color:#4169e1}
.experience-on .service-picker label{min-height:50px;transition:background 180ms,border-color 180ms,box-shadow 180ms}
.experience-on .service-picker label:has(input:checked){background:#edf3ff;border-color:#4169e1;box-shadow:0 0 0 1px #4169e1}
.experience-on input[type="checkbox"]{accent-color:#4169e1;width:18px;height:18px;flex:none}
.experience-on .faq details{border-radius:16px;background:#fff;box-shadow:0 7px 22px #18356009;border:1px solid #dce5f3;overflow:hidden}
.experience-on .faq details[open]{border-color:#9ab3ec;box-shadow:0 12px 28px #18356010}
.experience-on .faq summary{min-height:60px;font-size:1rem;padding:20px 24px}
.experience-on .faq details>div{padding:4px 24px 24px}
.experience-on .cta-band{background:radial-gradient(ellipse at 90% 5%,#3458a5,transparent 60%),#0b1c45}
.experience-on .cta-contact a{border:1px solid #ffffff30;box-shadow:0 10px 20px #0310271f;min-height:66px}
.experience-on .footer-links a{display:inline-flex;align-items:center;min-height:38px}
.experience-on .marquee-wrap:hover .marquee,.experience-on .marquee-wrap:focus-within .marquee{animation-play-state:paused}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .experience-on [data-depth-card]{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px))}
 .experience-on [data-depth-card]:hover{--lift:-7px}
}
@media(max-width:1080px){
 .experience-on .nav{max-height:calc(100dvh - 110px);padding:12px 18px 24px;overscroll-behavior:contain;border-radius:0 0 22px 22px}
 .experience-on .nav-drop::after{display:none}
 .experience-on .nav-drop .drop-menu{box-shadow:none;border-left:2px solid #d7e2f8;border-radius:0;margin:3px 16px 8px;padding:2px 0 2px 8px}
 .experience-on .drop-menu-tall{max-height:none;min-width:0}
 .experience-on .nav>a,.experience-on .nav-drop>button{min-height:50px;border-radius:12px}
 .experience-on .hero-inner{padding-block:65px 85px}
}
@media(max-width:640px){
 .experience-on{--gutter:20px;--section:72px}
 .experience-on .header-inner{gap:9px}
 .experience-on .header-right .btn{padding:11px 16px;font-size:.75rem;min-height:44px}
 .experience-on .hero:not(.compact){min-height:760px;min-height:100svh}
 .experience-on .hero h1{font-size:clamp(2.4rem,10.6vw,4rem);letter-spacing:-.04em;overflow-wrap:break-word}
 .experience-on .hero-inner{padding-block:50px 90px}
 .experience-on .hero-kicker{font-size:.8rem;max-width:100%;padding:9px 13px;letter-spacing:0}
 .experience-on .hero-scrim{background:linear-gradient(180deg,#0b1c4566,#0b1c45cc)}
 .experience-on .hero .lede{font-size:1rem;line-height:1.7}
 .experience-on .hero-actions{gap:11px;margin-top:26px}
 .experience-on .hero-actions .btn{width:100%;font-size:.875rem;min-height:50px}
 .experience-on .svc-card,.experience-on .form-card{padding:26px 22px}
 .experience-on .split-photo{border-width:4px;box-shadow:7px 9px 0 #e7eefb,0 18px 30px #17356612}
 .experience-on .stats-inner{padding:26px 18px}
 .experience-on .work-band{grid-auto-rows:240px;gap:16px}
 .experience-on .house-navigation{gap:7px}.experience-on .house-navigation button{font-size:.875rem}
 .experience-on .map-actions button{font-size:.8rem}
 .experience-on .map-legend{gap:9px;font-size:.75rem}
 .experience-on .map-caption strong{font-size:1.1rem}
 .experience-on .map-hint{font-size:.7rem}
 .experience-on .promo-card{max-height:calc(100dvh - 32px);overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .experience-on .hero-media,.experience-on .hero-media .hero-photo,.experience-on [data-depth-card],.experience-on .svc-icon,.experience-on .svc-card:hover .svc-icon{transform:none!important}
 .experience-on .hero-sweep::after,.experience-on .marquee,.experience-on .scroll-wheel{animation:none!important}
 .experience-on .marquee-wrap{overflow-x:auto}.experience-on .marquee{width:max-content}
 .experience-on :is(.btn,.svc-card,.review-card,.area-card,.work-tile,.portfolio-card):hover{transform:none}
 .experience-on *, .experience-on *::before,.experience-on *::after{scroll-behavior:auto;transition-duration:.01ms!important}
}
