:root{--navy:#102a43;--navy-deep:#071b2c;--blue:#287a93;--aqua:#8bc9c3;--cream:#f7f4ec;--paper:#fffefa;--ink:#173044;--muted:#5d6c76;--line:#d9e1df;--shadow:0 24px 70px rgba(10,35,53,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.08}h1{font-size:clamp(3rem,7vw,6.8rem);letter-spacing:-.055em;margin-bottom:1.5rem}h1 em{color:var(--blue);font-weight:600}h2{font-size:clamp(2.25rem,4.2vw,4.4rem);letter-spacing:-.04em;margin-bottom:1.5rem}h3{font-size:1.55rem;margin-bottom:.75rem}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.narrow{max-width:900px}.section{padding:110px 0}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:12px 18px;z-index:99}.skip-link:focus{top:15px}.site-header{position:absolute;z-index:10;width:100%;padding:25px 0;color:#fff}.nav-wrap,.footer-inner{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:.68rem;letter-spacing:.08em}.nav-links{display:flex;align-items:center;gap:30px}.nav-links>a:not(.button){text-decoration:none;font-size:.92rem}.nav-links>a:not(.button):hover{color:var(--aqua)}.menu-button{display:none}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:3px;background:var(--blue);color:#fff;text-decoration:none;padding:15px 23px;font:700 .88rem "DM Sans",sans-serif;letter-spacing:.02em;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#1e667d}.button-small{padding:11px 17px}.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--navy-deep),var(--navy) 64%,#17465c);color:#fff;padding:170px 0 105px;min-height:760px}.hero:before{content:"";position:absolute;inset:auto -20% -45% 20%;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(73,166,170,.22),transparent 68%)}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:70px}.hero-copy,.hero-visual{position:relative;z-index:1}.eyebrow{color:var(--blue);font-weight:700;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px}.hero .eyebrow{color:var(--aqua)}.hero-lead{max-width:670px;color:#d5e1e6;font-size:1.18rem;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:28px;margin:32px 0}.text-link{font-weight:700;text-decoration:none}.trust-list{display:flex;flex-wrap:wrap;gap:12px 30px;padding:24px 0 0;margin:0;border-top:1px solid rgba(255,255,255,.15);list-style:none;color:#c9d8de;font-size:.88rem}.trust-list li:before{content:"✓";color:var(--aqua);margin-right:8px}.hero-visual{min-height:475px;display:grid;place-items:center}.home-card{width:min(390px,90%);background:rgba(255,255,255,.96);color:var(--ink);border-radius:10px;box-shadow:var(--shadow);transform:rotate(2deg);overflow:hidden}.home-card-top{display:flex;gap:7px;padding:14px 18px;background:#e8efef}.home-card-top span{width:8px;height:8px;border-radius:50%;background:#aec3c4}.home-card-body{padding:45px 40px}.home-card-body p{margin:0;color:var(--blue)}.home-card-body strong{font:600 1.75rem "Playfair Display",serif}.room-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:35px}.room-grid span{height:63px;border:1px solid #c8d8d7;background:linear-gradient(135deg,#eaf4f1,#fff)}.signal{position:absolute;border:1px solid rgba(139,201,195,.38);border-radius:50%}.signal-one{width:390px;height:390px}.signal-two{width:530px;height:530px}.status-pill{position:absolute;bottom:40px;left:0;background:#fff;color:var(--ink);padding:13px 17px;border-radius:30px;box-shadow:var(--shadow);font-size:.78rem;font-weight:700}.status-pill i{display:inline-block;width:8px;height:8px;background:#4ead83;border-radius:50%;margin-right:8px}.intro{padding:120px 0;text-align:center;background:var(--cream)}.intro p:last-child{max-width:780px;margin:0 auto;color:var(--muted);font-size:1.08rem}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end;margin-bottom:55px}.section-heading>p{color:var(--muted);margin-bottom:24px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{position:relative;min-height:285px;padding:35px;border:1px solid var(--line);background:#fff}.service-card.featured{grid-row:span 2;min-height:586px;background:var(--navy);color:#fff;padding:42px}.service-card.featured h3{font-size:2.25rem}.service-card p{color:var(--muted)}.service-card.featured p{color:#c9d8de}.service-card ul{padding-left:18px;margin-top:30px;color:#dbe5e8}.service-card li{margin-bottom:12px}.service-number{display:block;color:var(--blue);font-size:.72rem;font-weight:700;letter-spacing:.15em;margin-bottom:55px}.featured .service-number{color:var(--aqua)}.builders{background:var(--navy);color:#fff}.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.builders p{color:#c9d8de}.eyebrow.light{color:var(--aqua)}.button-light{background:var(--aqua);color:var(--navy-deep);margin-top:15px}.plan-list{border-top:1px solid rgba(255,255,255,.2)}.plan-list>div{display:grid;grid-template-columns:40px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.2)}.plan-list span{color:var(--aqua);font-size:.76rem;font-weight:700}.plan-list p{margin:0}.plan-list strong{display:block;color:#fff;font:600 1.25rem "Playfair Display",serif}.philosophy{background:var(--cream)}.philosophy-grid{display:grid;grid-template-columns:140px 1fr;gap:25px}.quote-mark{font:700 10rem/1 "Playfair Display",serif;color:var(--aqua)}blockquote{margin:0;max-width:850px}blockquote p{font:600 clamp(2rem,4vw,4rem)/1.2 "Playfair Display",serif;letter-spacing:-.035em}blockquote footer{color:var(--blue);font-weight:700}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-copy>p{color:var(--muted)}.service-area{border-left:3px solid var(--aqua);padding-left:20px;margin-top:40px}.service-area span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.service-area strong{font:600 1.4rem "Playfair Display",serif}.service-area p{font-size:.86rem;margin:5px 0 0;color:var(--muted)}.contact-form{padding:40px;background:#f1f5f3}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:block;font-size:.78rem;font-weight:700;margin-bottom:18px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #cbd7d4;border-radius:2px;background:#fff;color:var(--ink);font:inherit}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(40,122,147,.2);border-color:var(--blue)}.form-note{color:var(--muted);font-size:.72rem;margin:14px 0 0}.form-status{font-size:.85rem;font-weight:700;margin:12px 0 0}.footer{background:var(--navy-deep);color:#c9d8de;padding:40px 0;font-size:.8rem}.brand-footer{color:#fff}.footer p{margin:0}.footer .brand-mark{width:36px;height:36px}
@media(max-width:900px){.hero-grid,.section-heading,.builder-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:25px}.hero-visual{min-height:360px}.section-heading,.builder-grid,.contact-grid{gap:40px}.service-grid{grid-template-columns:1fr 1fr}.service-card.featured{grid-row:auto;grid-column:span 2;min-height:auto}.section{padding:80px 0}}
@media(max-width:680px){.shell{width:min(100% - 28px,1180px)}.site-header{position:absolute}.menu-button{display:block;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:9px 13px;border-radius:3px}.nav-links{display:none;position:absolute;top:78px;left:14px;right:14px;flex-direction:column;align-items:stretch;gap:0;background:#fff;color:var(--ink);padding:14px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a{padding:12px}.hero{padding:135px 0 75px;min-height:auto}.hero-actions{align-items:flex-start;flex-direction:column}.trust-list{flex-direction:column;gap:8px}.hero-visual{min-height:300px}.signal-two{width:370px;height:370px}.signal-one{width:280px;height:280px}.home-card-body{padding:35px 25px}.status-pill{bottom:8px}.intro{padding:80px 0}.service-grid{grid-template-columns:1fr}.service-card.featured{grid-column:auto}.philosophy-grid{grid-template-columns:1fr;gap:0}.quote-mark{height:90px}.form-row{grid-template-columns:1fr}.contact-form{padding:24px}.footer-inner{align-items:flex-start;flex-direction:column;gap:20px}}

.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-form button:disabled{cursor:wait;opacity:.7;transform:none}.form-status.is-success{color:#26734d}.form-status.is-error{color:#a12d2d}

.hero-photo{position:relative;margin:0;width:min(560px,100%);overflow:hidden;border-radius:10px;box-shadow:var(--shadow);transform:rotate(1deg);border:1px solid rgba(255,255,255,.2)}.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.hero-photo figcaption{position:absolute;left:18px;bottom:18px;margin:0;padding:11px 15px;border-radius:30px;background:rgba(255,255,255,.94);color:var(--ink);font-size:.76rem;font-weight:700;box-shadow:var(--shadow)}.hero-photo figcaption i{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#4ead83}.lifestyle-feature{background:#fff}.lifestyle-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.lifestyle-photo{margin:0;overflow:hidden;border-radius:8px;box-shadow:var(--shadow)}.lifestyle-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.lifestyle-copy>p:not(.eyebrow){color:var(--muted)}.lifestyle-copy .button{margin-top:15px}

@media(max-width:900px){.lifestyle-grid{grid-template-columns:1fr;gap:40px}.hero-photo{width:min(680px,100%);transform:none}}

@media(max-width:680px){.hero-photo figcaption{left:10px;right:10px;bottom:10px;text-align:center}.lifestyle-grid{gap:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.brand-avatar{display:block;width:58px;height:58px;overflow:hidden;flex:0 0 auto;border:2px solid rgba(255,255,255,.75);border-radius:50%;background:#fff;box-shadow:0 6px 22px rgba(0,0,0,.16)}.brand-avatar img{display:block;width:100%;height:100%;object-fit:cover}.brand-name{font-size:1.04rem}.contact.section{padding:85px 0}.contact-grid{align-items:start}.contact-form{align-self:start}.contact-brand-row{display:flex;align-items:center;gap:26px;margin-top:28px}.contact-brand-lockup{display:block;width:112px;height:auto;flex:0 0 auto;margin:0;mix-blend-mode:multiply}.contact-brand-row .service-area{margin-top:0}.brand-avatar-small{width:42px;height:42px}
@media(max-width:680px){.brand-avatar{width:50px;height:50px}.brand-name{font-size:.96rem}.contact.section{padding:65px 0}.contact-brand-row{gap:18px;margin-top:24px}.contact-brand-lockup{width:88px}.contact-brand-row .service-area{padding-left:16px}.brand-avatar-small{width:40px;height:40px}}
.reviews{background:#eef4f2}.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.rating-summary{text-align:right}.stars{color:#d49b31;font-size:1.15rem;letter-spacing:.12em}.rating-summary strong{display:block;font:700 3.4rem/1 "Playfair Display",serif;color:var(--navy)}.rating-summary span{color:var(--muted);font-size:.82rem}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-card{display:flex;min-height:275px;flex-direction:column;margin:0;padding:34px;background:#fff;border:1px solid var(--line)}.review-card blockquote{font:600 1.45rem/1.45 "Playfair Display",serif;margin:25px 0 35px;color:var(--navy)}.review-card figcaption{display:flex;flex-direction:column;margin-top:auto}.review-card figcaption strong{font-size:.9rem}.review-card figcaption span{color:var(--muted);font-size:.76rem}.stars.small{font-size:.85rem}.google-link{display:inline-block;margin-top:30px;color:var(--blue);font-weight:700;text-decoration:none}.google-link:hover{text-decoration:underline}
@media(max-width:900px){.review-grid{grid-template-columns:1fr}.review-card{min-height:auto}}
@media(max-width:680px){.reviews-heading{align-items:flex-start;flex-direction:column}.rating-summary{text-align:left}}
.review-carousel{max-width:820px;margin-inline:auto}.review-track{position:relative}.review-card[data-review-slide]{min-height:330px;padding:52px 58px}.review-card[data-review-slide] blockquote{font-size:clamp(1.7rem,3.3vw,2.65rem);line-height:1.3}.review-card[hidden]{display:none}.carousel-controls{display:flex;align-items:center;gap:14px;margin-top:18px}.carousel-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b9cac6;background:#fff;color:var(--navy);font-size:1.2rem;cursor:pointer;transition:background .2s,color .2s}.carousel-arrow:hover{background:var(--navy);color:#fff}.carousel-arrow:focus-visible,.carousel-dot:focus-visible{outline:3px solid rgba(40,122,147,.3);outline-offset:2px}.carousel-dots{display:flex;gap:8px}.carousel-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#b9cac6;cursor:pointer}.carousel-dot.is-active{background:var(--blue)}.carousel-count{margin-left:auto;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.12em}
@media(max-width:680px){.review-card[data-review-slide]{min-height:300px;padding:34px 28px}.review-card[data-review-slide] blockquote{font-size:1.65rem}.carousel-controls{justify-content:space-between}.carousel-count{margin-left:0}}

/* Compact section rhythm */
.section{padding:84px 0}
.intro{padding:90px 0}
.section-heading{margin-bottom:42px}
.reviews-heading{margin-bottom:36px}
.contact.section{padding:72px 0}
@media(max-width:900px){.section{padding:68px 0}.intro{padding:72px 0}.section-heading{margin-bottom:36px}}
@media(max-width:680px){.section{padding:60px 0}.intro{padding:64px 0}.section-heading{margin-bottom:32px}.reviews-heading{margin-bottom:30px}.contact.section{padding:56px 0}}

/* Review carousel motion */
.review-card.is-active{animation:review-reveal .55s ease both}
@keyframes review-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.review-card.is-active{animation:none}}
