html,body,#root{min-height:100%}:root{--paper:#f9f9f7;--white:#fff;--ink:#0f0f0f;--ink-2:#3a3a3a;--muted:#555;--light:#595959;--line:#e8e8e4;--blue:#1a3a5c;--blue-light:#e6f1fb;--teal:#0f6e56;--teal-light:#e1f5ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-shell{overflow-x:clip}.container{width:min(1152px,100% - 40px);margin:0 auto}.nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f9f9f7eb;border-bottom:1px solid #0000;transition:all .3s;position:fixed;inset:0 0 auto}.nav-scrolled{border-color:var(--line);box-shadow:0 1px 0 var(--line)}.nav-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{flex-direction:column;gap:4px;line-height:1;display:flex}.brand strong{letter-spacing:.04em;font:700 17px system-ui,-apple-system,Segoe UI,sans-serif}.brand span,.footer small{color:var(--light);letter-spacing:.18em;text-transform:uppercase;font-size:10px}.nav-links,.nav-actions{align-items:center;gap:28px;display:flex}.nav-links a{color:var(--muted);font-size:13px;transition:color .2s}.nav-links a:hover{color:var(--ink)}.nav-actions{gap:12px}.btn{cursor:pointer;letter-spacing:.04em;border:0;border-radius:6px;justify-content:center;align-items:center;padding:11px 22px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--blue)}.btn-outline{border:1px solid var(--ink);background:0 0}.btn-outline:hover{background:var(--ink);color:#fff}.btn-accent{background:var(--blue);color:#fff;padding:13px 28px}.btn-accent:hover{background:#2a5280}.btn-light{color:var(--ink);background:#fff}.menu-button{background:0 0;border:0;padding:8px;display:none}.menu-button i{background:var(--ink);width:20px;height:1.5px;margin:4px 0;transition:all .25s;display:block}.menu-button.is-open i:first-child{transform:translateY(5.5px)rotate(45deg)}.menu-button.is-open i:nth-child(2){opacity:0}.menu-button.is-open i:last-child{transform:translateY(-5.5px)rotate(-45deg)}.mobile-menu{display:none}.hero{grid-template-columns:1fr 1fr;min-height:100vh;padding-top:64px;display:grid}.hero-copy{flex-direction:column;justify-content:center;width:auto;padding:80px max(40px,50vw - 576px);display:flex}.chip{letter-spacing:.07em;text-transform:uppercase;border-radius:4px;width:max-content;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}.chip-blue{background:var(--blue-light);color:#185fa5}.chip-teal{background:var(--teal-light);color:var(--teal)}.chip-gray{background:var(--line);color:var(--ink-2)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:system-ui,-apple-system,Segoe UI,sans-serif}h1{letter-spacing:-.02em;margin:20px 0;font-size:clamp(36px,4.5vw,56px);line-height:1.1}.hero h1 em,h2 em{color:var(--blue);font-style:normal}.hero-copy>p{max-width:380px;color:var(--muted);margin-bottom:36px;font-size:15px;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.credential{color:var(--muted);align-items:center;gap:16px;margin-top:48px;font-size:13px;line-height:1.4;display:flex}.credential b{color:var(--ink)}.avatars{display:flex}.avatars i{border:2px solid var(--paper);background:#c9d9e8;border-radius:50%;width:32px;height:32px;margin-left:-8px}.avatars i:first-child{margin-left:0}.avatars i:nth-child(2){background:#b8c9d9}.avatars i:nth-child(3){background:#a7b9ca}.hero-photo,.portrait{color:#8a8880;background:#d4d0c8;justify-content:center;align-items:center;display:flex;position:relative}.placeholder-person,.portrait{flex-direction:column;align-items:center;gap:8px;font-size:13px;display:flex}.placeholder-person span,.portrait>span{opacity:.35;font-size:52px}.availability{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:12px;font-weight:500;display:flex;position:absolute;bottom:32px;right:32px}.availability i{background:var(--teal);border-radius:50%;width:8px;height:8px}.hero-photo{overflow:hidden}.hero-portrait{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.section{padding:96px 0}.section-white{background:#fff}.section-muted{background:var(--paper)}.section-label{align-items:center;gap:12px;margin-bottom:48px;display:flex}.section-label:before{content:"";background:var(--ink);width:24px;height:1px}.section-label span{color:var(--ink-2);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:500}.about-grid,.contact-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.portrait{aspect-ratio:4/5;border-radius:10px;max-width:420px;overflow:hidden}.about-portrait{object-fit:cover;width:100%;height:100%;display:block}.about-copy h2,.contact-grid h2{margin-bottom:20px;font-size:clamp(28px,3vw,40px);line-height:1.15}.about-copy p,.contact-grid>div>p{max-width:470px;color:var(--muted);font-size:15px;line-height:1.75}.text-link,.service-card>a{color:var(--blue);letter-spacing:.03em;font-size:12px;font-weight:500}.text-link span,.service-card>a span{margin-left:6px;font-size:17px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:48px;display:flex}.section-heading h2,.process-title,.faq-title{font-size:clamp(28px,3vw,40px);line-height:1.15}.section-heading p,.section-heading>span{max-width:270px;color:var(--muted);font-size:13px;line-height:1.6}.service-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.service-card,.testimonial,.price-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:32px;transition:all .2s}.service-card:hover,.price-card:hover{border-color:var(--blue);box-shadow:0 6px 24px #1a3a5c14}.service-icon{border-radius:8px;place-items:center;width:40px;height:40px;margin-bottom:20px;font:600 12px system-ui,-apple-system,Segoe UI,sans-serif;display:grid}.service-icon.blue{color:#185fa5;background:var(--blue-light)}.service-icon.teal{color:var(--teal);background:var(--teal-light)}.service-icon.gray{color:var(--ink-2);background:var(--line)}.service-card h3,.process-step h3{margin-bottom:10px;font-size:16px}.service-card p,.process-step p{min-height:68px;color:var(--muted);font-size:13px;line-height:1.7}.process-title{margin-bottom:64px}.process-grid{grid-template-columns:repeat(3,1fr);gap:48px;display:grid}.process-step>strong{color:var(--line);font:700 48px/1 system-ui,-apple-system,Segoe UI,sans-serif}.process-step hr{border:0;border-top:1px solid var(--line);margin:12px 0 20px}.testimonial-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.section-heading.inline{align-items:end}.section-heading.inline h2{margin:0}.testimonial p{min-height:112px;color:var(--ink-2);font-size:14px;line-height:1.75}.testimonial footer{border-top:1px solid var(--line);align-items:center;gap:12px;padding-top:16px;display:flex}.testimonial footer i{background:#c9d9e8;border-radius:50%;width:34px;height:34px}.testimonial footer b,.testimonial footer small{display:block}.testimonial footer b{font-size:13px;font-weight:500}.testimonial footer small{color:var(--light);margin-top:4px;font-size:11px}.narrow{width:min(768px,100% - 40px);margin:auto}.faq-title{margin-bottom:32px}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:20px 0;display:flex}.faq-item button span{font-size:15px;font-weight:500}.faq-item button b{color:var(--light);font-size:22px;font-weight:300;transition:all .25s}.faq-item.open button b{transform:rotate(45deg)}.faq-item.open .faq-answer{max-height:220px}.faq-answer p{color:var(--muted);padding:0 35px 20px 0;font-size:14px;line-height:1.75}.price-card{flex-direction:column;display:flex}.price-card>strong{margin:20px 0 4px;font:700 40px/1 system-ui,-apple-system,Segoe UI,sans-serif}.price-card>small{color:var(--light);font-size:12px}.price-card ul{color:var(--ink-2);flex-direction:column;flex:1;gap:12px;margin:32px 0;padding:0;font-size:13px;line-height:1.5;list-style:none;display:flex}.price-card li:first-letter{color:var(--teal)}.price-card.featured{border-color:var(--ink);background:var(--ink);color:#fff}.featured .chip{color:#ffffffb3;background:#ffffff1f}.featured>small,.featured li{color:#ffffff8c}.featured li:first-letter{color:#9fe1cb}.contact-grid{align-items:start}.contact-details{flex-direction:column;gap:20px;margin-top:36px;display:flex}.contact-details span{color:var(--ink-2);grid-template-columns:32px 1fr;column-gap:12px;font-size:14px;display:grid}.contact-details b,.contact-details a,.contact-details small{grid-column:2}.contact-details b{color:var(--light);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:500}.contact-details a{color:var(--ink);margin-top:3px}.contact-details small{color:var(--light);margin-top:3px}.contact-grid form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-grid label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:11px;font-weight:500;display:flex}.contact-grid input,.contact-grid select,.contact-grid textarea{border:1px solid var(--line);width:100%;color:var(--ink);letter-spacing:0;text-transform:none;background:#fff;border-radius:6px;outline:none;padding:12px 14px;font-size:14px;transition:all .2s}.contact-grid input,.contact-grid select{height:44px}.contact-grid textarea{resize:vertical}.contact-grid input:focus,.contact-grid select:focus,.contact-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1a3a5c14}.consent{align-items:flex-start;line-height:1.5;color:var(--light)!important;letter-spacing:0!important;text-transform:none!important;flex-direction:row!important;font-size:12px!important}.consent input{width:auto;accent-color:var(--blue);margin-top:2px}.contact-grid form>button{width:100%;margin-top:4px}.footer{background:var(--ink);color:#ffffff80;padding:64px 0 24px}.footer-grid{border-bottom:1px solid #ffffff14;grid-template-columns:repeat(3,1fr);gap:48px;padding-bottom:48px;display:grid}.footer strong{color:#fff;font:700 16px system-ui,-apple-system,Segoe UI,sans-serif;display:block}.footer small{color:#ffffff4d;margin:4px 0 20px;display:block}.footer p,.footer a{color:#ffffff73;font-size:13px;line-height:1.7;display:block}.footer b{color:#ffffff4d;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px;font-size:11px;display:block}.footer-grid .btn{color:#fff;display:inline-flex}.footer-bottom{color:#ffffff40;padding-top:24px;font-size:12px}@media (width<=800px){.nav-links,.nav-actions{display:none}.menu-button{display:block}.mobile-menu{flex-direction:column;gap:16px;max-height:0;padding:0 20px;transition:all .35s;display:flex;overflow:hidden}.mobile-menu.is-open{border-top:1px solid var(--line);max-height:360px;padding:20px}.mobile-menu a{font-size:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:72px 20px 64px}.hero-photo{min-height:420px}.section{padding:72px 0}.about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.service-grid,.testimonial-grid,.pricing-grid,.process-grid{grid-template-columns:1fr 1fr}.section-heading{flex-direction:column;align-items:start}.section-heading p{max-width:100%}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media (width<=520px){.hero-actions .btn{width:100%}.availability{max-width:calc(100% - 32px);bottom:16px;right:16px}.service-grid,.testimonial-grid,.pricing-grid,.process-grid,.form-row,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.section-heading h2,.process-title{margin-bottom:0}.credential{margin-top:36px}}[hidden]{display:none!important}:focus-visible{outline-offset:3px;outline:3px solid #0f6e56}main,section[id]{scroll-margin-top:72px}.skip-link{z-index:100;color:var(--ink);border:2px solid var(--blue);background:#fff;border-radius:6px;padding:12px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.nav-links a,.mobile-menu a{align-items:center;min-height:44px;display:inline-flex}.menu-button{min-width:44px;min-height:44px}.mobile-menu.is-open{max-height:none}.faq-answer{max-height:none;transition:none;overflow:visible}.contact-grid form>p{color:var(--muted);font-size:14px;line-height:1.6}.footer,.footer small,.footer b,.footer p,.footer a,.footer-bottom{color:#bcbcbc}.footer-grid .btn{color:#fff}.featured .chip,.featured>small,.featured li{color:#e0e0e0}.booking-section{background:var(--blue-light)}.booking-heading{justify-content:space-between;margin-bottom:48px;display:flex}.booking-heading h2{margin:0 0 20px;font-size:clamp(28px,3vw,40px);line-height:1.15}.booking-heading h2 em{color:var(--blue);font-style:normal}.booking-heading p{max-width:560px;color:var(--muted);margin:0;font-size:15px;line-height:1.75}.booking-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.booking-card{background:#ffffffb8;border:1px solid #1a3a5c29;border-radius:10px;flex-direction:column;align-items:flex-start;min-height:310px;padding:32px;display:flex;position:relative}.booking-card-primary{border-color:var(--blue);background:var(--blue);color:#fff}.booking-index{color:var(--blue);opacity:.18;font:700 24px/1 system-ui,-apple-system,Segoe UI,sans-serif;position:absolute;top:28px;right:30px}.booking-card-primary .booking-index{color:#fff}.booking-card .chip{margin-bottom:36px}.booking-card-primary .chip{color:#dceeff;background:#ffffff24}.booking-card h3{margin:0 0 12px;font-size:20px}.booking-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.booking-card-primary p{color:#ffffffc7}.booking-card .btn{width:100%;margin-top:auto}.booking-card-primary .btn-accent{color:var(--blue);background:#fff}.booking-card-primary .btn-accent:hover{background:var(--teal-light);color:var(--teal)}.booking-card .btn span,.booking-links .text-link span{margin-left:8px;font-size:16px}.booking-links{flex-wrap:wrap;gap:20px;margin-top:auto;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
