@import url('./assets/fonts.css');
:root{--wine:#4a1828;--cream:#f5eee8;--rose:#d0b7a1;--ink:#4a1828;--muted:#6b5558;--line:#d9c9c2;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:400 15px/1.75 var(--sans)}::selection{background:#d0b7a1;color:#34101b}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #b1844e;outline-offset:5px}img{max-width:100%;display:block}p{margin:0 0 1.4rem}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;text-wrap:balance}h2{font-size:clamp(42px,4.5vw,68px);letter-spacing:-.025em}h3{font-size:30px;letter-spacing:-.015em}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--cream);padding:12px}.skip:focus{top:10px}
.header{position:sticky;top:0;z-index:50;height:88px;padding:0 max(5.8vw,calc((100vw - 1440px)/2));display:flex;align-items:center;gap:40px;background:var(--wine);color:var(--cream);transition:box-shadow .25s}.header.is-scrolled{box-shadow:0 6px 20px #240e181a}.brand{display:flex;align-items:center;gap:15px;margin-right:auto}.brand img{width:42px;height:38px}.brand>span{font:32px/1 var(--serif)}.header nav{display:flex;align-items:center;gap:32px;font-size:13px}.header nav a{position:relative;padding:10px 0}.header nav a::after,.text-link::after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.languages{display:flex;gap:6px;align-items:center;font-size:12px}.languages button{background:none;border:0;color:inherit;font-size:12px;padding:10px 4px;opacity:.72}.languages button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none}
.hero{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:7%;padding:12px max(7.5vw,calc((100vw - 1380px)/2)) 42px}.hero-copy{padding:32px 0}.hero h1{font-size:clamp(60px,6.65vw,96px);line-height:.98;letter-spacing:-.035em;max-width:650px}.hero h1>span{display:block}.hero h1>span+span{margin-top:8px}.hero-description{max-width:410px;margin:30px 0 27px;line-height:1.75;font-size:15px;color:#eaded8}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 28px;min-height:52px;background:var(--wine);color:var(--cream);border:1px solid var(--wine);font-size:14px;transition:background .2s,color .2s,transform .2s}.button.light{background:var(--cream);border-color:var(--cream);color:var(--wine)}.hero .button::after{content:'→';font-size:20px;line-height:1}.button:active{transform:translateY(1px)}.hero-image{position:relative;width:100%;max-width:430px;justify-self:end}.hero-image video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#ece1d3}.image-caption{padding:10px 0 0;text-align:center;font-size:12px;color:#eaded8}.video-toggle{position:absolute;bottom:47px;right:12px;border:1px solid #f5eee870;color:var(--cream);background:#35111fdf;padding:7px 13px;font-size:12px;min-height:36px}.video-toggle[hidden]{display:none}
.section{padding:96px max(7.5vw,calc((100vw - 1380px)/2))}.services{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;row-gap:30px}.section-heading h2{margin-bottom:25px}.section-heading>p{color:var(--muted);max-width:420px}.service-grid{display:grid;gap:26px}.service-grid article{min-width:0;transition:transform .3s var(--ease)}.service-grid h3{font-size:30px;margin-bottom:6px}.service-grid p{margin:0;color:var(--muted);line-height:1.7;font-size:14px;max-width:480px}.service-footnote{grid-column:2;font-size:13px;color:var(--muted);margin:0;padding-top:22px;border-top:1px solid var(--line)}
.approach{display:grid;grid-template-columns:1.2fr 1fr;gap:5%;align-items:center;background:#eee3d9;padding:60px max(4.7vw,calc((100vw - 1480px)/2))}.approach-photo{overflow:hidden;min-width:0;background:#e2d2c0}.photo-reveal-layer{width:100%;height:100%}.approach-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;transition:transform 1.1s var(--ease)}.approach-copy{padding:15px 5% 15px 0}.approach-copy h2{font-size:clamp(40px,4vw,60px);margin-bottom:25px}.approach-copy>p{color:var(--muted);max-width:480px}.approach-points{margin-top:28px}.approach-points p{margin:0 0 16px}.approach-points strong{display:block;font:500 25px/1.15 var(--serif)}.approach-points span{display:block;margin-top:5px;font-size:13px;color:var(--muted);max-width:440px}.text-link{display:inline-block;position:relative;font-size:13px;padding:8px 0;border-bottom:1px solid var(--ink)}
.process{background:var(--wine);color:var(--cream)}.process-copy>h2{max-width:650px}.process-intro{max-width:560px;margin:22px 0 40px;color:#e1cfc7}.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process-list article{border-top:1px solid #bb939466;padding-top:20px;min-width:0}.number{display:block;font-size:12px;letter-spacing:.08em;margin-bottom:16px;color:var(--rose)}.process-list h3{font-size:31px;margin-bottom:12px}.process-list p{font-size:14px;color:#e1cfc7;margin:0}.experience{display:grid;grid-template-columns:1fr 1fr;gap:25px 10%;border-bottom:1px solid var(--line)}.experience h2{font-size:clamp(38px,3.8vw,56px)}.experience>p{color:var(--muted);margin:0;max-width:550px}.experience-detail{grid-column:2;display:flex;align-items:center;gap:18px;font-size:12px;color:var(--muted)}.experience-detail img{width:40px;height:auto}.start .section-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end}.start .section-heading h2{margin:0}.start .section-heading p{margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:48px}.steps article{border-top:1px solid var(--line);padding-top:20px;min-width:0}.steps .number{color:var(--muted)}.steps h3{margin-bottom:15px}.steps p{font-size:14px;color:var(--muted);margin:0}
.faq{background:#eee3d9;display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.faq-heading h2{margin-bottom:25px}.faq-heading>p{color:var(--muted);font-size:14px}.faq-list details{border-bottom:1px solid #ccbbb0}.faq-list details:first-child{border-top:1px solid #ccbbb0}.faq-list summary{position:relative;list-style:none;padding:24px 35px 24px 0;font-size:15px;cursor:pointer;font-weight:500;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:2px;top:20px;font:27px var(--serif)}.faq-list details[open] summary::after{content:'−'}.faq-list details>p{color:var(--muted);font-size:14px;padding-right:24px;line-height:1.85}
.contact{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.contact-intro h2{font-size:clamp(54px,5.5vw,80px);margin-bottom:25px}.contact-intro>p{color:#e1cfc7;max-width:390px}.contact-aside{border-top:1px solid #ffffff30;margin-top:36px;padding-top:24px;color:#dfc7bd;font-size:13px}.contact-aside span{display:block}.form-note{font-size:12px;color:#dfc7bd}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{min-width:0;margin-bottom:22px}.field label{display:block;font-size:13px;margin-bottom:8px}.field input,.field textarea{width:100%;border:1px solid #b48c96;background:#ffffff05;color:var(--cream);padding:12px;font-size:16px;min-height:48px;border-radius:0;caret-color:#e6c5a3;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#d3b9bd;opacity:1}.field small{display:block;font-size:11px;line-height:1.7;margin-top:7px;color:#dfc7bd}.social-fields{border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;padding:17px 0;margin:0 0 24px}.social-fields summary{font-size:13px;cursor:pointer}.social-fields p{font-size:13px;color:#dfc7bd;margin:18px 0}.check{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;font-size:13px;margin-bottom:20px}.check input{width:18px;height:18px;accent-color:#d0b7a1;margin:3px 0 0}.check>span{flex:1}.privacy-note{font-size:11px;color:#dfc7bd}.privacy-note a{text-decoration:underline;text-underline-offset:4px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.field-error{display:block;color:#ffd6ba;font-size:12px;margin-top:6px}.check .field-error{flex-basis:100%}[aria-invalid=true]{border-color:#ffd6ba!important}#form-status{font-size:14px;line-height:1.7;margin:18px 0 0}#form-status:empty{display:none}button:disabled{opacity:.65;cursor:wait}
footer{background:#38121f;color:var(--cream);padding:35px max(5.8vw,calc((100vw - 1440px)/2));display:flex;align-items:center;flex-wrap:wrap;gap:20px 26px;font-size:12px}.footer-brand{font:34px var(--serif)}footer p{margin:0 auto 0 0}footer>span{color:#dfc7bd;font-size:11px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
@media(hover:hover) and (pointer:fine){.header nav a:hover::after{transform:scaleX(1)}.button.light:hover{background:#e3cebb;border-color:#e3cebb}.button:hover{transform:translateY(-2px)}.approach-photo:hover img{transform:scale(1.025)}.service-grid article:hover{transform:translateX(5px)}.text-link:hover{color:#79505b}footer a:hover{text-decoration:underline;text-underline-offset:5px}}
@media(min-width:1100px) and (max-height:850px){.hero-image{max-width:340px}.hero{padding-top:4px;padding-bottom:30px}.hero h1{font-size:clamp(64px,6.5vw,88px)}}
@media(min-width:1650px){.hero-image{max-width:450px}.hero{gap:9%}}
@media(max-width:1050px){.header{padding:0 5%;gap:22px}.header nav{gap:18px;font-size:12px}.hero{padding:12px 6% 36px;gap:6%;grid-template-columns:1fr .85fr}.hero h1{font-size:clamp(55px,7.2vw,76px)}.hero-image{max-width:340px}.section{padding:75px 6%}.approach{padding:48px 5%;gap:5%;grid-template-columns:1.1fr 1fr}.approach-copy{padding:0}.approach-copy h2{font-size:43px}.approach-points span{font-size:12px}.process-list,.steps{gap:26px}.contact{gap:6%}}
@media(max-width:760px){html{scroll-padding-top:88px}.header{height:76px;padding:0 6%;gap:16px}.brand{gap:10px}.brand img{width:32px;height:30px}.brand>span{font-size:27px}.menu-toggle{display:block;background:none;border:0;color:var(--cream);font-size:13px;padding:10px 0}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--wine);padding:18px 6% 25px;border-top:1px solid #ffffff30}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:3px}.header nav a{font-size:16px;padding:12px 0}.languages{gap:3px}.hero{display:flex;flex-direction:column;gap:28px;padding:18px 7% 32px}.hero-copy{width:100%;padding:25px 0 0}.hero h1{font-size:clamp(51px,11.5vw,76px);max-width:550px;line-height:1.01}.hero-description{font-size:14px;max-width:430px;margin:22px 0}.hero-image{align-self:center;max-width:370px;width:100%}.image-caption{font-size:11px}.section{padding:65px 7%}h2{font-size:44px}.services{display:block}.service-grid{margin-top:35px;gap:26px}.service-grid h3{font-size:30px}.service-grid p{font-size:14px}.service-footnote{margin-top:26px}.approach{display:flex;flex-direction:column;padding:30px 0 60px;gap:32px}.approach-photo{width:100%}.approach-copy{padding:0 7%;width:100%}.approach-copy h2{font-size:44px}.approach-points span{font-size:14px}.process-list{grid-template-columns:1fr;gap:28px}.process-list article{display:grid;grid-template-columns:25px 1fr;gap:18px}.process-list .number{padding-top:6px}.process-list h3{font-size:30px}.experience{display:block}.experience h2{font-size:43px;margin-bottom:25px}.experience-detail{margin-top:24px}.start .section-heading{display:block}.start .section-heading h2{margin-bottom:24px}.steps{grid-template-columns:1fr;gap:26px;margin-top:35px}.steps article{display:grid;grid-template-columns:25px 1fr;column-gap:18px}.steps .number{grid-row:1/3;padding-top:5px}.steps p{grid-column:2}.faq{display:block}.faq-list{margin-top:30px}.faq-list summary{font-size:15px}.contact{display:block}.contact-intro{margin-bottom:40px}.contact-intro h2{font-size:56px}.form-grid{grid-template-columns:1fr;gap:0}.contact .button{width:100%}footer{padding:32px 7%;gap:18px 22px}footer p{order:2;flex-basis:100%}footer>span{order:3;flex-basis:100%}.footer-brand{margin-right:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.consent-panel{position:fixed;z-index:1000;bottom:20px;left:20px;width:min(540px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;background:#f5eee8;color:#35111f;border:1px solid #b99d92;padding:24px;box-shadow:0 8px 40px #20081130}.consent-panel[hidden],.consent-close[hidden]{display:none}.consent-panel h2{font:500 30px/1.15 var(--serif);margin:0 0 12px}.consent-panel p{font-size:13px;line-height:1.65;margin:0 0 12px}.consent-policy{font-size:12px;text-decoration:underline;text-underline-offset:3px}.consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.consent-actions button{font:inherit;font-size:12px;min-height:44px;padding:10px 14px;border:1px solid #4a1828;background:transparent;color:#4a1828}.consent-actions button:hover{background:#e4d5cc}.consent-preferences{font:inherit;font-size:12px;border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px 0;cursor:pointer}.consent-panel button:focus-visible,.consent-preferences:focus-visible{outline:2px solid #b07939;outline-offset:4px}@media(max-width:500px){.consent-panel{bottom:12px;left:12px;width:calc(100% - 24px);padding:20px}.consent-actions button[data-consent]{flex:1}}
