:root{--cream: #f4efe5;--paper: #fbf8f2;--ink: #1f1d1a;--ink-soft: #5a554e;--forest: #2c3a2b;--forest-2: #384a36;--sage: #7d8f6c;--sage-soft: #dde4d3;--blush: #f1d6e1;--blush-2: #e9bccf;--berry: #a3305c;--line: rgba(31, 29, 26, .14);--serif: "Instrument Serif", "Times New Roman", serif;--sans: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--ease: cubic-bezier(.7, 0, .2, 1);--ease-out: cubic-bezier(.2, .8, .2, 1);--gutter: clamp(16px, 4vw, 40px)}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--cream);overflow-x:clip;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1;margin:0 0 .4em;letter-spacing:-.015em}h2{font-size:clamp(2.6rem,6vw,4.8rem)}h3{font-size:clamp(1.7rem,3vw,2.2rem)}em{font-style:italic}p{margin:0 0 1em}.icon{flex-shrink:0}.wrap{width:min(1240px,100% - var(--gutter) * 2);margin-inline:auto}.section{padding:clamp(80px,12vw,160px) 0;position:relative}.label{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin-bottom:1.4rem}.label:before{content:"";width:28px;height:1px;background:currentColor}.muted{color:var(--ink-soft)}.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--ink-soft);max-width:52ch}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:200;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px}:focus-visible{outline:2px solid var(--berry);outline-offset:4px}.btn{--bg: var(--ink);--fg: var(--cream);position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;background:var(--bg);color:var(--fg);text-decoration:none;font-weight:600;font-size:.98rem;overflow:hidden;border:1px solid var(--bg);isolation:isolate;transition:color .4s var(--ease),border-color .4s}.btn:before{content:"";position:absolute;inset:0;background:var(--berry);transform:translateY(101%);border-radius:50% 50% 0 0;transition:transform .5s var(--ease),border-radius .5s var(--ease);z-index:-1}.btn:hover:before{transform:none;border-radius:0}.btn:hover{color:#fff;border-color:var(--berry)}.btn .icon{transition:transform .4s var(--ease)}.btn:hover .icon-arrow{transform:rotate(-45deg)}.btn-line{--bg: transparent;--fg: var(--ink);border-color:var(--ink)}.btn-light{--bg: var(--cream);--fg: var(--forest)}.btn-line-light{--bg: transparent;--fg: var(--cream);border-color:#f4efe580}.tlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.site-header{position:sticky;top:0;z-index:120;transition:background .4s,box-shadow .4s}.site-header.scrolled{background:#f4efe5e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}.logo{text-decoration:none;display:flex;align-items:baseline;gap:10px;transition:color .4s}.logo-name{font-family:var(--serif);font-size:1.7rem;line-height:1}.logo-sub{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sage);font-weight:600}.nav-desktop{display:flex;align-items:center;gap:34px}.nav-desktop a:not(.btn){text-decoration:none;font-weight:500;font-size:.95rem;position:relative}.nav-desktop a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.nav-desktop a:not(.btn):hover:after{transform:scaleX(1);transform-origin:left}.nav-desktop .btn{padding:12px 20px}.menu-btn{display:none}.menu{position:fixed;inset:0;z-index:110;background:var(--forest);color:var(--cream);display:flex;flex-direction:column;padding:110px var(--gutter) 28px;clip-path:circle(0px at var(--cx, calc(100% - 50px) ) var(--cy, 42px));transition:clip-path .75s var(--ease),visibility 0s linear .75s;visibility:hidden;overflow-y:auto}.menu.open{clip-path:circle(150vmax at var(--cx, calc(100% - 50px) ) var(--cy, 42px));visibility:visible;transition:clip-path .75s var(--ease),visibility 0s}.menu-thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.menu-thread path{fill:none;stroke:var(--sage);stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.7;stroke-dasharray:3000;stroke-dashoffset:3000;transition:stroke-dashoffset 2s var(--ease-out) .2s}.menu.open .menu-thread path{stroke-dashoffset:0}.menu-list{list-style:none;margin:0;padding:0;position:relative}.menu-list li{overflow:hidden;border-bottom:1px solid rgba(244,239,229,.14)}.menu-list a{display:flex;align-items:baseline;gap:16px;padding:12px 0;text-decoration:none;font-family:var(--serif);font-size:clamp(2.3rem,10.5vw,3.4rem);line-height:1.05;transform:translateY(105%);transition:transform .7s var(--ease-out)}.menu-list a small{font-family:var(--sans);font-size:.72rem;letter-spacing:.15em;color:var(--blush-2);min-width:22px}.menu-list a em{color:var(--blush-2)}.menu.open .menu-list a{transform:none}.menu.open .menu-list li:nth-child(1) a{transition-delay:.25s}.menu.open .menu-list li:nth-child(2) a{transition-delay:.31s}.menu.open .menu-list li:nth-child(3) a{transition-delay:.37s}.menu.open .menu-list li:nth-child(4) a{transition-delay:.43s}.menu.open .menu-list li:nth-child(5) a{transition-delay:.49s}.menu-foot{margin-top:auto;padding-top:32px;position:relative;opacity:0;transform:translateY(16px);transition:opacity .4s,transform .6s var(--ease-out)}.menu.open .menu-foot{opacity:1;transform:none;transition-delay:.55s}.menu-foot p{font-size:.85rem;color:#f4efe5a6;margin-bottom:6px}.menu-foot .menu-phone{font-family:var(--serif);font-size:2.3rem;text-decoration:none;display:block;margin-bottom:18px}.menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-actions .btn{justify-content:center;padding:14px 10px}@media(max-width:900px){.nav-desktop{display:none}.header-inner{height:76px}.logo{flex-direction:column;align-items:flex-start;gap:4px}.logo-name{font-size:1.6rem;white-space:nowrap}.logo-sub{font-size:.6rem}.menu-btn{display:inline-flex;align-items:center;gap:12px;height:46px;padding:0 6px 0 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 .9rem var(--sans);cursor:pointer;transition:background .4s,color .4s,border-color .4s}.menu-btn .bars{position:relative;width:34px;height:34px;border-radius:50%;background:var(--ink);transition:background .4s}.menu-btn .bars span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--cream);border-radius:2px;transition:transform .5s var(--ease),top .5s var(--ease),background .4s}.menu-btn .bars span:first-child{top:13px}.menu-btn .bars span:last-child{top:19px}.menu-open .menu-btn{background:transparent;color:var(--cream);border-color:#f4efe54d}.menu-open .menu-btn .bars{background:var(--cream)}.menu-open .menu-btn .bars span{background:var(--forest);top:16px}.menu-open .menu-btn .bars span:first-child{transform:rotate(45deg)}.menu-open .menu-btn .bars span:last-child{transform:rotate(-45deg)}.site-header.menu-open{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.menu-open .logo{color:var(--cream)}}@media(min-width:901px){.menu{display:none}}main{position:relative}.thread{position:absolute;top:0;left:0;width:100%;pointer-events:none;z-index:1;overflow:visible}.thread path{fill:none;stroke:var(--sage);stroke-width:1.4;stroke-linecap:round;opacity:.7}main>section{position:relative}main>section>*{position:relative;z-index:2}main>section.solid{z-index:2}.js .reveal{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}.js .reveal.in{opacity:1;transform:none}.js .d1{transition-delay:.08s}.js .d2{transition-delay:.16s}.js .d3{transition-delay:.24s}.lines>span{display:block}.js .lines>span{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.js .lines>span>span{display:block;transform:translateY(110%);transition:transform 1.1s var(--ease-out)}.js .lines.in>span>span{transform:none}.js .lines.in>span:nth-child(2)>span{transition-delay:.1s}.js .lines.in>span:nth-child(3)>span{transition-delay:.2s}.mark{background:linear-gradient(var(--blush-2),var(--blush-2)) no-repeat 0 88% / 0% .3em;transition:background-size 1.2s var(--ease-out) .4s}.mark.in{background-size:100% .3em}.index-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.index-row a{position:relative;display:grid;grid-template-columns:70px 1.15fr 1fr 60px;align-items:center;gap:28px;padding:40px 12px;border-bottom:1px solid var(--line);text-decoration:none;isolation:isolate}.index-row a:before{content:"";position:absolute;inset:0;background:var(--blush);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease);z-index:-1}.index-row a:hover:before{transform:scaleY(1);transform-origin:top}.index-num{font-size:.85rem;letter-spacing:.15em;color:var(--sage);font-weight:600}.index-title{font-family:var(--serif);font-size:clamp(2.3rem,5vw,4rem);line-height:1;display:flex;align-items:center;gap:20px;transition:transform .6s var(--ease)}.index-row a:hover .index-title{transform:translate(12px)}.index-ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--berry);border:1px solid var(--line)}.index-desc{color:var(--ink-soft);margin:0}.index-arrow{width:56px;height:56px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;transition:background .4s,color .4s,transform .6s var(--ease)}.index-row a:hover .index-arrow{background:var(--ink);color:var(--cream);transform:rotate(-45deg)}@media(max-width:820px){.index-row a{grid-template-columns:1fr 46px;gap:14px 16px;padding:30px 0}.index-row a:hover .index-title{transform:none}.index-num{grid-column:1 / -1}.index-title{grid-column:1;gap:14px}.index-ico{width:46px;height:46px}.index-arrow{grid-column:2;grid-row:2;width:46px;height:46px}.index-desc{grid-column:1 / -1}}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(40px,7vw,100px);align-items:start}.faq-side{position:sticky;top:120px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1.2}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{transition:transform .5s var(--ease);color:var(--berry)}.faq-list details[open] summary .icon{transform:rotate(135deg)}.faq-list details p{color:var(--ink-soft);max-width:60ch;padding-bottom:14px}@media(max-width:820px){.faq-grid{grid-template-columns:1fr}.faq-side{position:static}}.contact{background:var(--blush);overflow:clip}.contact .label{color:var(--berry)}.contact-top{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap}.contact h2{max-width:12ch;margin:0}.contact-top p{max-width:38ch;margin:0;color:var(--ink-soft)}.contact-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(32px,5vw,72px);align-items:start;margin-top:clamp(40px,6vw,72px)}.contact-card{background:var(--paper);border-radius:28px;padding:clamp(24px,4vw,52px);box-shadow:0 40px 80px -50px #5a1e3c73}.contact-aside{position:sticky;top:110px}.aside-h{font-family:var(--serif);font-style:italic;font-size:1.6rem;margin:0 0 6px}.contact-phone{display:block;font-family:var(--serif);font-size:clamp(3rem,5.4vw,5rem);line-height:1;text-decoration:none;letter-spacing:-.02em;margin:0 0 24px;white-space:nowrap;transition:color .4s}.contact-phone:hover{color:var(--berry)}.contact-phone span{display:inline-block;transition:transform .5s var(--ease)}.contact-phone:hover span:nth-child(odd){transform:translateY(-4px)}.contact-phone:hover span:nth-child(2n){transform:translateY(4px)}.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.aside-points{list-style:none;padding:28px 0 0;margin:32px 0 0;border-top:1px solid rgba(31,29,26,.18);display:grid;gap:12px;color:var(--ink-soft)}.aside-points li{display:flex;align-items:center;gap:10px}.aside-points .icon{color:var(--berry)}@media(max-width:960px){.contact-grid{grid-template-columns:1fr}.contact-aside{position:static;order:-1}.contact-phone{font-size:clamp(2.8rem,13vw,4.4rem)}.contact-card{border-radius:22px;margin-inline:calc(var(--gutter) * -.5)}}.site-footer{background:var(--forest);color:var(--cream);padding:80px 0 32px;position:relative;z-index:2}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--blush-2)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.footer-grid li a{display:inline-flex;align-items:center;gap:10px}.footer-h{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blush-2);font-weight:600;margin-bottom:18px}.footer-brand{font-family:var(--serif);font-size:clamp(2.6rem,6vw,4rem);line-height:1;margin-bottom:14px}.footer-brand em{color:var(--blush-2)}.site-footer .muted{color:#f4efe599;max-width:36ch}.copyright{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;color:#f4efe580;margin-top:64px;padding-top:22px;border-top:1px solid rgba(244,239,229,.12)}@media(max-width:760px){.footer-grid{grid-template-columns:1fr}}.dock{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;display:none;grid-template-columns:1fr 1fr;gap:6px;padding:6px;border-radius:999px;background:#1f1d1aeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:translateY(150%);transition:transform .6s var(--ease);box-shadow:0 18px 40px -16px #00000080}.dock.show{transform:none}.dock a{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:999px;color:var(--cream);text-decoration:none;font-weight:600;font-size:.95rem}.dock a:first-child{background:var(--cream);color:var(--ink)}@media(max-width:900px){.dock{display:grid}.site-footer{padding-bottom:100px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}html{scroll-behavior:auto}}
