@font-face{font-family:Playfair;src:url('assets/playfair.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f7f4ef;color:#342f2d;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #743f51;outline-offset:6px}p{margin:0 0 1.2rem}h1,h2,h3{font-weight:400;line-height:1.1;margin:0}h1,h2,.brand,.signature,.footer-brand{font-family:Playfair,Georgia,serif}h1{font-size:clamp(54px,5.7vw,88px);letter-spacing:-3px}h2{font-size:clamp(37px,4vw,58px);letter-spacing:-1.5px}h3{font-family:Playfair,Georgia,serif;font-size:26px;line-height:1.25}em{font-weight:400;color:#9b556c}section{scroll-margin-top:24px}.wrap{width:min(1200px,calc(100% - 100px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 4%;background:#f7f4eff5;border-bottom:1px solid #ded7d0;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;font-size:26px;line-height:1.1;white-space:nowrap}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:1.9px;margin-top:9px}.header nav{display:flex;align-items:center;gap:28px;font-size:13px}.header nav a:hover,.text-link:hover{color:#9b556c}.nav-contact{border:1px solid #9b556c;padding:10px 21px;border-radius:30px}.nav-contact span{margin-left:14px}.menu-toggle{border:1px solid #9b556c;border-radius:20px;background:none;padding:6px 14px;color:inherit}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:65px;align-items:center;padding-block:72px 85px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;color:#795c61;margin-bottom:26px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#9b556c}.lead{max-width:475px;font-size:17px;color:#68605a;line-height:1.8;margin:29px 0}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:15px 25px;border:1px solid #805064;border-radius:35px;background:#805064;color:white;font-size:13px;transition:background .2s,transform .2s}.button:hover{background:#653a4b;transform:translateY(-2px)}.button span{font-size:19px}.text-link{font-size:13px;border-bottom:1px solid #b9aaa1;padding:7px 0}.text-link span{margin-left:14px}.hero-note{display:flex;align-items:center;gap:17px;margin-top:36px;font-size:11px;color:#6c605a;line-height:1.6}.hero-note p{margin:0}.fine-line{height:1px;width:42px;background:#ba9a99}.hero-visual{position:relative;padding-bottom:36px}.portrait-frame{border-radius:230px 230px 7px 7px;overflow:hidden;background:#dfd4c7;aspect-ratio:4/4.7}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center}.portrait-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-family:Playfair,Georgia,serif;font-size:19px}.portrait-caption small{font:8px Arial;letter-spacing:1.5px}.seal{position:absolute;bottom:90px;left:-35px;background:#fffcf6;box-shadow:0 10px 35px #342f2d14;padding:13px 22px 13px 13px;border-radius:6px;display:flex;align-items:center;gap:12px}.seal p{margin:0;font-size:12px}.seal small{display:block;color:#81716b;font-size:10px}.values{border-block:1px solid #ded7d0;background:#eee9e1}.values .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:20px;color:#70625b;font:italic 18px Playfair,Georgia,serif}.values span+span:before{content:'·';margin-right:50px;color:#a97b85}.section{padding-block:100px}.section-heading{max-width:630px}.section-heading>p:last-child{max-width:550px;color:#70665f;margin-top:25px}.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:52px}.themes article{border-top:1px solid #cdbeb2;padding-top:20px}.number{font:italic 20px Playfair,Georgia,serif;color:#a26479}.themes h3{margin:24px 0 16px}.themes p{font-size:15px;color:#70665f;max-width:330px}.approach{background:#ece8df;padding-block:75px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.sea-photo{position:relative;max-height:560px;aspect-ratio:4/5;overflow:hidden;border-radius:6px 6px 180px 6px}.sea-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.75)}.sea-photo span{position:absolute;left:35px;bottom:50px;color:#fff;font:italic 32px/1.4 Playfair,Georgia,serif}.approach-copy h2{margin-bottom:30px}.approach-copy>p:not(.eyebrow){font-size:15px;color:#625c55}.approach-copy .text-link{display:inline-block;margin-top:10px}.steps{list-style:none;padding:0;margin:45px 0 35px;display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.steps li{display:flex;gap:16px;border-top:1px solid #cdbeb2;padding-top:25px}.steps li>span{color:#9b556c;font-size:12px;padding-top:6px}.steps p{font-size:14px;color:#70665f;margin-top:15px}.about{background:#e9dcd7;padding-block:90px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.signature{margin-top:45px;font-style:italic;font-size:25px;color:#805064}.about-copy>p{font-size:15px}.about-copy .large{font:24px/1.5 Playfair,Georgia,serif;margin-bottom:25px}.credential{display:flex;gap:18px;align-items:center;border-top:1px solid #c6aaa9;padding-top:25px;margin-top:28px;font-size:13px}.credential small{display:block;margin-top:5px;font-size:11px;text-decoration:underline;text-underline-offset:4px}.testimonials h2{margin-bottom:48px}.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.quotes figure{margin:0;background:#eee9e1;border-radius:5px;padding:24px 28px;display:flex;flex-direction:column}.quote-mark{font:58px/1 Playfair,Georgia,serif;color:#b78591}.quotes blockquote{font:19px/1.7 Playfair,Georgia,serif;margin:0 0 28px}.quotes figcaption{margin-top:auto;font-size:12px}.quotes small{display:block;color:#80746b;font-size:10px;margin-top:3px}.faq-section{border-block:1px solid #ded7d0;padding-block:85px}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.faq-grid h2{margin-bottom:25px}.faq-grid>div>p:last-child{color:#70665f;font-size:14px}.faqs details{border-bottom:1px solid #cfc3b9;padding:21px 0}.faqs details:first-child{border-top:1px solid #cfc3b9}.faqs summary{cursor:pointer;font-size:15px;list-style:none;display:flex;gap:20px;justify-content:space-between}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';font-size:21px;color:#9b556c;line-height:1}.faqs details[open] summary:after{content:'−'}.faqs details p{font-size:14px;color:#70665f;margin:15px 25px 0 0}.contact{padding-block:95px;text-align:center}.contact .eyebrow{justify-content:center}.contact h2{font-size:clamp(52px,5.7vw,80px)}.contact>p:not(.eyebrow){color:#70665f;margin:25px auto;max-width:430px;font-size:16px}.contact .actions{justify-content:center;margin:30px 0 22px}.secondary{color:#805064;background:transparent}.secondary:hover{color:#fff}.email{font-size:12px;color:#70665f;overflow-wrap:anywhere}.social{display:flex;justify-content:center;gap:25px;font-size:12px;margin-top:35px}.social a:hover{text-decoration:underline}.footer{border-top:1px solid #ded7d0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:28px;font-size:10px;color:#70665f}.footer p{margin:0}.footer-brand{font-size:21px}.skip{position:fixed;left:15px;top:-100px;z-index:100;background:#fff;padding:10px 20px}.skip:focus{top:10px}
@media(min-width:1500px){.hero{padding-block:90px}.portrait-frame{max-height:640px}}
@media(max-width:1050px){.header nav{gap:14px;font-size:12px}.brand{font-size:22px}.brand small{font-size:8px}.wrap{width:calc(100% - 60px)}.hero{gap:35px}.hero .actions{gap:15px}.approach-grid,.about-grid,.faq-grid{gap:45px}.values span+span:before{margin-right:20px}.portrait-caption small{display:none}.seal{left:-15px;padding:10px}.seal img{width:48px;height:48px}.footer{flex-wrap:wrap}}
@media(max-width:760px){html{scroll-padding-top:95px}.header{padding:16px 22px;flex-wrap:wrap;gap:15px}.brand{font-size:22px}.brand img{width:34px;height:34px}.brand small{letter-spacing:1px;font-size:7px}.header nav{width:100%;flex-wrap:wrap;justify-content:center;gap:15px;padding:10px 0}.js .header nav{display:none}.js .header nav.is-open{display:flex}.wrap{width:calc(100% - 44px)}.hero{grid-template-columns:1fr;padding-block:45px 35px;gap:35px}h1{font-size:59px;letter-spacing:-2px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:22px}.lead{font-size:16px;margin-block:24px}.button{padding:14px 20px;font-size:12px;gap:17px}.hero-note{margin-top:26px}.hero-visual{max-width:480px;width:100%;margin:auto;padding:0 10px 30px}.portrait-frame{aspect-ratio:1/1.07;border-radius:200px 200px 5px 5px}.seal{bottom:77px;left:0}.portrait-caption{font-size:18px}.portrait-caption small{display:block;font-size:7px}.values .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;font-size:15px}.values span+span:before{display:none}.section{padding-block:65px}h2{font-size:39px}.themes,.steps,.quotes{grid-template-columns:1fr;gap:22px}.themes{margin-top:32px}.themes h3{margin:15px 0 10px;font-size:25px}.themes p{max-width:none}.approach{padding-block:50px}.approach-grid,.about-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.sea-photo{aspect-ratio:5/4;max-height:390px;border-bottom-right-radius:110px}.sea-photo span{font-size:28px;left:25px;bottom:30px}.approach-copy h2{margin-bottom:22px}.steps{margin-top:32px}.steps li{padding-top:20px}.steps h3{font-size:24px}.about{padding-block:60px}.signature{margin-top:25px}.about-copy .large{font-size:23px}.quotes figure{padding:24px}.quotes blockquote{font-size:20px;margin-bottom:20px}.faq-section{padding-block:60px}.contact{padding-block:65px}.contact .actions{gap:12px}.contact .button{width:100%;max-width:320px}.footer{display:grid;grid-template-columns:1fr;gap:10px;padding-block:25px}.footer-brand{font-size:23px}.contact h2{font-size:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
