:root{--ink:#123447;--teal:#087b82;--teal-dark:#075b61;--aqua:#dff5f3;--mint:#f2faf8;--cream:#fbf7ef;--white:#fff;--line:rgba(18,52,71,.13);--serif:Georgia,"Times New Roman",serif;--sans:Avenir,"Avenir Next",Montserrat,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--cream);line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}.site-header{height:86px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:rgba(251,247,239,.88);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1}.brand-mark{width:46px;height:46px;border:1.5px solid var(--teal);border-radius:50%;display:grid;place-items:center;font:700 27px var(--serif);color:var(--teal)}.brand strong{display:block;font-size:20px;letter-spacing:.08em}.brand small{display:block;margin-top:6px;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.site-header nav{display:flex;align-items:center;gap:32px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:600}.nav-phone{padding:10px 18px;border:1px solid var(--teal);border-radius:99px;color:var(--teal)}.nav-toggle{display:none;border:0;background:none}.hero{min-height:calc(100vh - 86px);padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:6vw;overflow:hidden;background:linear-gradient(120deg,var(--cream) 0 58%,#c9eeeb 58%)}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--teal);display:block;margin-bottom:20px}.hero h1,.intro h2,.section-heading h2,.contact h2{font:600 clamp(48px,6vw,88px)/1.02 var(--serif);letter-spacing:-.045em;margin:0}.hero h1 em,.intro h2 em,.section-heading h2 em,.contact h2 em{color:var(--teal);font-weight:600}.hero-copy>p{max-width:650px;font-size:clamp(18px,1.6vw,22px);margin:30px 0;color:#385567}.hero-actions{display:flex;gap:28px;align-items:center}.button{border:0;border-radius:3px;background:var(--teal);color:#fff;text-decoration:none;padding:15px 24px;font-weight:700;cursor:pointer;transition:.2s}.button:hover{background:var(--teal-dark);transform:translateY(-2px)}.text-link{text-decoration:none;font-weight:700}.text-link span{color:var(--teal);margin-left:6px}.trust-list{list-style:none;padding:0;margin:42px 0 0;display:flex;flex-wrap:wrap;gap:12px 27px;font-size:13px;font-weight:600}.trust-list li:before{content:"✓";color:var(--teal);margin-right:8px}.hero-visual{position:relative;min-height:500px;display:grid;place-items:center}.sun{position:absolute;width:380px;height:380px;background:#f4c978;border-radius:50%}.home-card{position:relative;width:min(390px,80%);aspect-ratio:1;background:rgba(255,255,255,.9);box-shadow:0 30px 60px rgba(18,52,71,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(3deg)}.home-card svg{width:62%;fill:none;stroke:var(--teal);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.home-card svg .heart{fill:#fff}.home-card span{font:600 20px var(--serif);color:var(--teal);margin-top:8px}.availability{position:absolute;bottom:15px;left:0;background:#fff;padding:14px 20px;display:flex;gap:12px;align-items:center;box-shadow:0 15px 30px rgba(18,52,71,.12)}.availability>span{width:10px;height:10px;background:#4aae89;border-radius:50%;box-shadow:0 0 0 5px #dff4ec}.availability strong,.availability small{display:block}.availability small{color:#68808d}.leaf{position:absolute;font:120px var(--serif);color:var(--teal);transform:rotate(50deg)}.leaf-one{top:0;right:0}.leaf-two{bottom:0;right:10%;transform:rotate(220deg)}.intro{padding:120px clamp(24px,8vw,130px);display:grid;grid-template-columns:80px 1fr 1fr;gap:5vw;align-items:start}.section-number{font-size:12px;letter-spacing:.15em;color:var(--teal);border-top:1px solid var(--teal);padding-top:8px}.intro h2,.section-heading h2,.contact h2{font-size:clamp(40px,5vw,68px)}.intro-text{font-size:18px;color:#476171}.intro-text p:first-child{margin-top:8px}.services{background:var(--white);padding:120px clamp(24px,8vw,130px)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px}.section-heading>p{max-width:440px;font-size:18px;color:#526b78}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-card{min-height:300px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.25s}.service-card:hover{background:var(--mint);transform:translateY(-3px)}.service-icon{font:36px var(--serif);color:var(--teal)}.service-index{position:absolute;right:25px;top:28px;font-size:11px;color:#8ca0aa}.service-card h3{font:600 23px/1.2 var(--serif);margin:64px 0 15px}.service-card p{font-size:14px;color:#607783;margin:0}.promise{padding:130px 24px;text-align:center;background:var(--aqua);position:relative;overflow:hidden}.promise:before,.promise:after{content:"";position:absolute;border:1px solid rgba(8,123,130,.18);border-radius:50%;width:500px;height:500px;left:-300px;top:-230px}.promise:after{left:auto;top:auto;right:-320px;bottom:-300px}.promise blockquote{font:600 clamp(32px,5vw,62px)/1.18 var(--serif);max-width:980px;margin:0 auto 25px}.script-line{color:var(--teal);font-style:italic}.contact{background:var(--teal-dark);color:#fff;padding:120px clamp(24px,8vw,130px);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.eyebrow.light{color:#a9dfdc}.contact h2 em{color:#9edbd7}.contact-info>p{color:#c6dcdd;font-size:18px;max-width:500px}.contact-links{margin-top:50px;display:grid;gap:22px}.contact-links a,.contact-links div{text-decoration:none;font-size:18px}.contact-links span{display:block;color:#8fc5c7;font-size:11px;text-transform:uppercase;letter-spacing:.15em}.contact-form{background:#fff;color:var(--ink);padding:clamp(25px,4vw,55px);box-shadow:0 25px 60px rgba(0,0,0,.18)}.contact-form label{display:block;font-size:13px;font-weight:700;margin-bottom:22px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #b8c7ca;background:transparent;padding:10px 3px;outline:none;border-radius:0;color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--teal)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}.privacy-check{display:flex!important;gap:10px;font-weight:400!important;line-height:1.4}.privacy-check input{width:18px!important;margin:2px 0!important;flex:0 0 auto}.privacy-check a{color:var(--teal)}.hp{position:absolute!important;left:-10000px}.submit-button{width:100%;display:flex;justify-content:space-between}.form-status{font-size:14px;margin:15px 0 0}.form-status.success{color:#167052}.form-status.error{color:#a12c2c}footer{padding:50px clamp(24px,8vw,130px);display:grid;grid-template-columns:1fr auto;gap:15px;background:#092e34;color:#fff;align-items:center}.footer-brand strong{font:600 28px var(--serif);display:block}.footer-brand span{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#8fc5c7}footer>p{grid-column:2}.footer-links{display:flex;gap:20px}.footer-links button{border:0;background:none;color:#d8e7e7;padding:0;cursor:pointer}.footer-links a{color:#d8e7e7;text-decoration:none}footer small{text-align:right;color:#789ba0}dialog{width:min(700px,calc(100% - 32px));border:0;padding:45px;color:var(--ink);box-shadow:0 30px 80px #0005;max-height:85vh}dialog::backdrop{background:#092e34cc}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:32px;cursor:pointer}dialog h2{font:600 40px var(--serif)}dialog h3{margin-top:28px}dialog mark{background:#fff1b8}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header nav{position:fixed;top:86px;left:0;right:0;background:var(--cream);padding:30px;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.nav-toggle{display:grid;gap:7px}.nav-toggle span{display:block;width:25px;height:2px;background:var(--ink)}.hero{grid-template-columns:1fr;background:linear-gradient(160deg,var(--cream) 0 63%,#c9eeeb 63%)}.hero-visual{min-height:430px}.intro{grid-template-columns:45px 1fr}.intro-text{grid-column:2}.section-heading{display:block}.section-heading>p{margin-top:25px}.service-grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr}.contact-info{margin-bottom:20px}}
@media(max-width:560px){.site-header{height:74px;padding:0 18px}.brand-mark{width:39px;height:39px}.brand small{font-size:8px}.site-header nav{top:74px}.hero{padding:55px 22px}.hero h1{font-size:48px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-visual{min-height:350px}.sun{width:280px;height:280px}.availability{left:5px}.intro,.services,.contact{padding:80px 22px}.intro{grid-template-columns:1fr}.section-number{width:40px}.intro-text{grid-column:1}.service-grid{grid-template-columns:1fr}.service-card{min-height:240px}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:30px 20px}footer{grid-template-columns:1fr}footer>p,footer small{grid-column:1;text-align:left}.footer-links{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
html,body{overflow-x:hidden}
@media(max-width:560px){.hero-copy,.hero-visual{min-width:0}.trust-list{gap:10px 16px;font-size:12px}.home-card{width:78%}}

/* Modern soft-surface refresh */
:root{--radius-sm:14px;--radius-md:24px;--radius-lg:38px;--shadow-soft:0 22px 55px rgba(18,52,71,.10);--shadow-card:0 12px 35px rgba(18,52,71,.08)}
body{background:#fbfaf6}
.site-header{height:78px;top:12px;margin:0 clamp(12px,2vw,28px);padding:0 clamp(18px,4vw,44px);border:1px solid rgba(8,123,130,.12);border-radius:22px;background:rgba(255,255,255,.84);box-shadow:0 8px 30px rgba(18,52,71,.08)}
.brand-mark{border:0;color:#fff;background:linear-gradient(145deg,#12969a,#087078);box-shadow:0 7px 18px rgba(8,123,130,.22)}
.nav-phone{border:0;color:#fff;background:var(--teal);padding:11px 19px;box-shadow:0 7px 18px rgba(8,123,130,.2)}
.hero{min-height:calc(100vh - 90px);margin-top:-78px;padding-top:clamp(145px,14vw,190px);background:radial-gradient(circle at 73% 40%,rgba(255,255,255,.92) 0 15%,transparent 15.2%),linear-gradient(125deg,#fbfaf6 0 56%,#d4f1ee 56%);border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.hero h1 em,.intro h2 em,.section-heading h2 em,.contact h2 em{display:inline-block}
.button{border-radius:999px;padding:16px 26px;box-shadow:0 9px 24px rgba(8,123,130,.2)}
.text-link{padding:12px 0}
.trust-list li{background:rgba(255,255,255,.62);border:1px solid rgba(8,123,130,.1);padding:7px 12px;border-radius:999px}
.home-card{border-radius:var(--radius-lg);transform:rotate(2deg);box-shadow:0 35px 75px rgba(18,52,71,.17);border:1px solid rgba(255,255,255,.9);overflow:hidden}
.home-card:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.7),transparent 55%);pointer-events:none}
.availability{border-radius:18px;box-shadow:var(--shadow-soft)}
.sun{background:linear-gradient(145deg,#f7d58c,#efbd65);box-shadow:0 25px 60px rgba(212,157,64,.2)}
.intro{margin:22px clamp(12px,2vw,28px);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card)}
.services{margin:22px clamp(12px,2vw,28px);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,#f8fcfb)}
.service-grid{gap:16px;border:0}
.service-card{min-height:290px;border:1px solid rgba(8,123,130,.1);border-radius:var(--radius-md);background:#fff;box-shadow:0 5px 20px rgba(18,52,71,.04);overflow:hidden}
.service-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-70px;bottom:-75px;background:#dff5f3;transition:.3s}
.service-card:hover{background:#fff;transform:translateY(-7px);box-shadow:var(--shadow-card);border-color:rgba(8,123,130,.2)}
.service-card:hover:after{transform:scale(1.35)}
.service-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--aqua)}
.promise{margin:22px clamp(12px,2vw,28px);border-radius:var(--radius-lg);background:linear-gradient(135deg,#dff5f3,#bfe8e5)}
.contact{margin:22px clamp(12px,2vw,28px);border-radius:var(--radius-lg);background:linear-gradient(135deg,#075b61,#073f47);overflow:hidden;position:relative}
.contact:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.1);border-radius:50%;left:-250px;bottom:-260px}
.contact-info,.contact-form{position:relative;z-index:1}
.contact-form{border-radius:var(--radius-lg);box-shadow:0 30px 70px rgba(0,0,0,.2)}
.contact-form input,.contact-form select,.contact-form textarea{padding:12px 4px}
.privacy-check input{accent-color:var(--teal)}
footer{margin:0 clamp(12px,2vw,28px) 22px;border-radius:var(--radius-lg);padding-top:55px;padding-bottom:55px}
dialog{border-radius:var(--radius-md)}

@media(max-width:900px){.site-header{top:8px}.site-header nav{top:96px;left:12px;right:12px;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border:1px solid var(--line)}.hero{margin-top:-78px;padding-top:145px;background:linear-gradient(155deg,#fbfaf6 0 64%,#d4f1ee 64%)}.intro{grid-template-columns:60px 1fr}.service-grid{gap:12px}}
@media(max-width:560px){.site-header{height:66px;margin-inline:8px;border-radius:18px}.brand-mark{width:38px;height:38px}.site-header nav{top:84px;left:8px;right:8px}.hero{margin-top:-66px;padding-top:120px;border-radius:0 0 28px 28px}.intro,.services,.promise,.contact,footer{margin-left:8px;margin-right:8px;border-radius:28px}.intro{grid-template-columns:1fr}.service-grid{gap:12px}.service-card{min-height:225px;border-radius:20px}.contact-form{border-radius:24px}.trust-list li{padding:5px 9px}}
