@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-ext-wght-normal-C8S-KRRz.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f4efe7;--paper-2:#ece5d9;--card:#fbf8f3;--ink:#1c1915;--ink-2:#4a433b;--muted:#6b6155;--line:#ddd3c4;--oak:#b07a45;--oak-2:#8c5a2e;--brand:#e5242b;--brand-ink:#c41a21;--dark:#191612;--dark-2:#25211c;--serif:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--sans:"Manrope Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--r-sm:10px;--r:18px;--r-lg:28px;--wrap:1240px;--gutter:clamp(16px, 4vw, 40px);--header-h:72px;--ease:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--shadow:0 1px 2px #1c19150f, 0 8px 24px -8px #1c191524;--shadow-lg:0 2px 4px #1c19150d, 0 24px 60px -20px #1c191559;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 clamp(15.5px, 1vw + 11px, 17px)/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}img,picture,svg{max-width:100%;display:block}img{height:auto}picture img{object-fit:cover;width:100%;height:100%}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:420;line-height:1.05}h2{font-size:clamp(2rem,3.6vw + .6rem,3.6rem)}h2 em,h1 em{color:var(--oak-2);font-style:italic;font-weight:340}p{text-wrap:pretty;margin:0}::selection{background:var(--oak);color:#fff}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:8px;padding:10px 16px;transition:top .2s;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.eyebrow{font:600 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.6em;margin-bottom:1.1rem;display:inline-flex}.eyebrow:before{content:"";background:var(--oak);width:22px;height:1.5px}.eyebrow .dot,.hero .eyebrow:before{display:none}.hero .eyebrow .dot{background:var(--brand);border-radius:50%;width:8px;height:8px;display:inline-block;position:relative}.hero .eyebrow .dot:after{content:"";background:#e5242b38;border-radius:50%;animation:2.4s ease-out 3 pulse;position:absolute;inset:-5px}@keyframes pulse{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.4)}}.btn{--bg:var(--ink);--fg:#fff;background:var(--bg);color:var(--fg);white-space:nowrap;transition:transform .35s var(--ease), background-color .25s, box-shadow .35s var(--ease), color .25s;isolation:isolate;border-radius:999px;justify-content:center;align-items:center;gap:.55em;padding:.85em 1.35em;font-size:.95rem;font-weight:650;line-height:1.1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn svg{transition:transform .35s var(--ease)}.btn:hover svg{transform:translate(3px)}.btn:active{transform:scale(.97)}.btn--primary{--bg:var(--brand);box-shadow:0 6px 18px -6px #e5242b8c}.btn--primary:hover{--bg:var(--brand-ink);box-shadow:0 10px 26px -8px #e5242b99}.btn--ghost{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}.btn--sm{padding:.65em 1.1em;font-size:.88rem}.btn--lg{padding:1.05em 1.7em;font-size:1rem}.btn--block{width:100%}.header{z-index:50;height:var(--header-h);transition:transform .45s var(--ease), background-color .3s, box-shadow .3s;position:fixed;inset:0 0 auto}.header.is-scrolled{-webkit-backdrop-filter:saturate(1.4)blur(14px);background:#f4efe7d1;box-shadow:0 1px #1c191512}.header.is-hidden{transform:translateY(-100%)}.header__inner{align-items:center;gap:24px;height:100%;display:flex}.brand{align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:flex}.brand__mark{width:40px;height:auto;transition:transform .5s var(--ease)}.brand:hover .brand__mark{transform:translateY(-2px)rotate(-4deg)}.brand__text{font:750 1.08rem/1 var(--sans);letter-spacing:-.01em;gap:3px;display:grid}.brand__text small{color:var(--muted);letter-spacing:.02em;font-size:.68rem;font-weight:550}.nav{gap:4px;display:flex}.nav a{color:var(--ink-2);border-radius:999px;padding:8px 12px;font-size:.93rem;font-weight:560;text-decoration:none;transition:color .2s,background-color .2s;position:relative}.nav a:hover{color:var(--ink);background:#1c19150d}.nav a.is-active{color:var(--ink)}.nav a.is-active:after{content:"";background:var(--brand);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:2px;left:50%}.header__actions{align-items:center;gap:10px;display:flex}.search-trigger{height:40px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);background:#ffffff8c;border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:.88rem;font-weight:550;transition:box-shadow .2s,background-color .2s;display:flex}.search-trigger:hover{box-shadow:inset 0 0 0 1px var(--muted);background:#fff}.search-trigger__kbd,kbd{font:600 .7rem/1 var(--sans);background:var(--paper-2);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:4px 6px}.menu-btn{border-radius:50%;width:44px;height:44px;display:none;position:relative}.menu-btn span{background:var(--ink);height:2px;transition:transform .4s var(--ease), top .4s var(--ease);border-radius:2px;position:absolute;left:13px;right:13px}.menu-btn span:first-child{top:18px}.menu-btn span:last-child{top:25px}.menu-btn[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}.mobile-menu{z-index:45;background:var(--paper);padding:calc(var(--header-h) + 24px) var(--gutter) 32px;opacity:0;flex-direction:column;justify-content:space-between;transition:opacity .3s;display:flex;position:fixed;inset:0}.mobile-menu.is-open{opacity:1}.mobile-menu nav{display:grid}.mobile-menu nav a{font:420 clamp(2rem, 9vw, 2.8rem)/1.25 var(--serif);border-bottom:1px solid var(--line);opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transition-delay:calc(var(--d) * 45ms + 60ms);padding:6px 0;text-decoration:none;transform:translateY(16px)}.mobile-menu.is-open nav a{opacity:1;transform:none}@media (width<=1080px){.nav{display:none}.menu-btn{display:block}}@media (width<=640px){:root{--header-h:64px}.search-trigger{justify-content:center;width:44px;height:44px;padding:0}.search-trigger__label,.search-trigger__kbd,.header__cta,.brand__text small{display:none}.brand__mark{width:34px}}.hero{min-height:min(100svh,940px);padding-top:calc(var(--header-h) + clamp(24px, 5vw, 56px));grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(32px,5vw,80px);padding-bottom:clamp(40px,6vw,72px);display:grid}.hero__title{letter-spacing:-.035em;margin-bottom:1.6rem;font-size:clamp(3rem,6.4vw + .4rem,6.6rem);line-height:.98}.hero__title .line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.hero__title .line>span{display:inline-block}.hero__lead{color:var(--ink-2);max-width:34ch;margin-bottom:2rem;font-size:clamp(1.05rem,.5vw + .95rem,1.22rem)}.hero__ctas{flex-wrap:wrap;gap:12px;margin-bottom:2.4rem;display:flex}.hero__trust{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:10px 28px;margin:0;padding:1.4rem 0 0;font-size:.9rem;list-style:none;display:flex}.hero__trust strong{color:var(--ink);font-weight:750}.hero__in{animation:rise 1s var(--ease) both;animation-delay:calc(var(--d) * 90ms + 80ms)}.hero__title .hero__in{animation-name:rise-line;animation-duration:1.1s}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes rise-line{0%{transform:translateY(105%)}}.hero__media{position:relative}.hero__frame{aspect-ratio:4/5;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:frame-in 1.4s var(--ease) .15s both;background:#d9d2c6;position:relative;overflow:hidden}.hero__img img{animation:img-in 1.8s var(--ease) .15s both}@keyframes frame-in{0%{clip-path:inset(12% 10% round 40px)}to{clip-path:inset(0 round var(--r-lg))}}@keyframes img-in{0%{transform:scale(1.18)}}.hero__float{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow-lg);animation:float-in 1s var(--ease) both;margin:0;position:absolute}.hero__float--img{aspect-ratio:3/4;width:clamp(110px,13vw,170px);padding:6px;animation-delay:.75s;bottom:12%;left:clamp(-56px,-4vw,-16px)}.hero__float--img picture{border-radius:12px;height:100%;overflow:hidden}.hero__float--quote{max-width:240px;padding:16px 18px;animation-delay:.95s;top:9%;right:clamp(-28px,-2vw,-8px)}.hero__float--quote blockquote{font:italic 400 1.05rem/1.3 var(--serif);margin:0 0 8px}.hero__float--quote figcaption{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.stars{color:#e7a83a;letter-spacing:1px;font-size:.78rem}@keyframes float-in{0%{opacity:0;transform:translateY(24px)scale(.96)}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.hero__float--img{animation:float-in 1s var(--ease) .75s both, drift-a linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}.hero__float--quote{animation:float-in 1s var(--ease) .95s both, drift-b linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}@keyframes drift-a{to{translate:0 -70px}}@keyframes drift-b{to{translate:0 50px}}}}@media (width<=960px){.hero{grid-template-columns:1fr;min-height:auto}.hero__media{width:100%;max-width:560px;margin-inline:auto}.hero__frame{aspect-ratio:4/4.4}.hero__float--img{left:-8px}.hero__float--quote{right:-8px}}@media (width<=520px){.hero__float--img{display:none}.hero__float--quote{max-width:none;inset:auto 12px -22px}.hero__media{margin-bottom:22px}.hero__ctas .btn{flex:auto}}.marquee{border-block:1px solid var(--line);background:var(--paper);padding:clamp(14px,2vw,22px) 0;overflow:hidden}.marquee__track{align-items:center;gap:clamp(20px,3vw,40px);width:max-content;animation:38s linear infinite marquee;display:flex}.marquee span{font:400 clamp(1.8rem, 4vw, 3.4rem)/1 var(--serif);letter-spacing:-.02em;white-space:nowrap}.marquee span:nth-of-type(2n){color:#0000;-webkit-text-stroke:1px var(--ink-2);font-style:italic}.marquee i{background:url(/logo-mark.svg) 50%/contain no-repeat;flex:none;width:14px;height:14px}@keyframes marquee{to{transform:translate(-50%)}}.marquee:hover .marquee__track,.marquee.is-off .marquee__track{animation-play-state:paused}.section{padding-block:clamp(72px,10vw,140px)}.section--tint{background:var(--paper-2)}.section__head{max-width:760px;margin-bottom:clamp(36px,5vw,64px)}.section__head h2{margin-bottom:1.2rem}.section__head--row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px 64px;max-width:none;display:flex}.section__head--row h2{margin-bottom:0}.section__head--row .section__lead{max-width:40ch}.section__lead{color:var(--ink-2);max-width:56ch;font-size:1.06rem}.section__lead a{color:var(--brand-ink);text-underline-offset:3px}.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(28px)}.js .reveal.is-in{opacity:1;transform:none}.services{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(220px,22vw,290px);gap:clamp(12px,1.4vw,18px);margin:0;padding:0;list-style:none;display:grid}.service--lg{grid-area:span 2/span 2}.service a{border-radius:var(--r);color:#fff;background:var(--dark);isolation:isolate;height:100%;text-decoration:none;display:block;position:relative;overflow:hidden}.service__img{z-index:-1;position:absolute;inset:0}.service__img img{transition:transform 1.1s var(--ease)}.service a:after{content:"";z-index:-1;background:linear-gradient(#14110e00 35%,#14110ec7 100%);transition:opacity .5s;position:absolute;inset:0}.service a:hover .service__img img{transform:scale(1.06)}.service__body{gap:4px;padding:clamp(16px,2vw,26px);display:grid;position:absolute;bottom:0;left:0;right:0}.service__num{font:600 .72rem/1 var(--sans);letter-spacing:.14em;opacity:.7}.service__name{font:420 clamp(1.4rem, 1.4vw + .8rem, 2rem)/1.1 var(--serif)}.service--lg .service__name{font-size:clamp(1.9rem,2.4vw + .8rem,3rem)}.service__desc{opacity:.85;max-width:36ch;font-size:.9rem}.service__arrow{width:40px;height:40px;transition:transform .5s var(--ease), background-color .3s;background:#1c191561;border-radius:50%;place-items:center;font-size:1.1rem;display:grid;position:absolute;top:16px;right:16px;transform:rotate(-45deg)}.service a:hover .service__arrow{background:var(--brand);transform:rotate(0)}@media (width<=960px){.services{grid-template-columns:repeat(2,1fr);grid-auto-rows:230px}}@media (width<=560px){.services{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:10px}.service--lg{grid-row:span 1}.service__desc{display:none}.service__arrow{width:32px;height:32px;top:10px;right:10px}}.chips{scrollbar-width:none;margin:0 calc(-1 * var(--gutter)) clamp(24px, 3vw, 36px);padding:4px var(--gutter);scroll-snap-type:x proximity;gap:8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{scroll-snap-align:start;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);transition:background-color .25s, color .25s, box-shadow .25s, transform .25s var(--ease);border-radius:999px;flex:none;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;display:inline-flex}.chip span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;transition:color .25s}.chip:hover{box-shadow:inset 0 0 0 1px var(--ink-2)}.chip:active{transform:scale(.96)}.chip.is-active{background:var(--ink);color:#fff;box-shadow:none}.chip.is-active span{color:#fff9}.works{grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,22px);margin:0;padding:0;list-style:none;display:grid}.work{view-transition-class:work}.work[hidden]{display:none}.work__btn{aspect-ratio:4/5;border-radius:var(--r);text-align:left;background:var(--dark);isolation:isolate;width:100%;display:block;position:relative;overflow:hidden}.work__img{z-index:-1;position:absolute;inset:0}.work__img img{transition:transform 1s var(--ease), filter .6s}.work__btn:after{content:"";z-index:-1;background:linear-gradient(#14110e00 50%,#14110eb8);position:absolute;inset:0}.work__btn:hover .work__img img{transform:scale(1.05)}.work__meta{color:#fff;transition:transform .5s var(--ease);gap:4px;padding:18px 20px;display:grid;position:absolute;bottom:0;left:0;right:0}.work__cat{font:600 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.75}.work__title{font:420 1.35rem/1.15 var(--serif)}.work__count{color:var(--ink);transition:transform .4s var(--ease);background:#ffffffeb;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex;position:absolute;top:14px;right:14px}.work__btn:hover .work__count{transform:scale(1.06)}.works__more{text-align:center;color:var(--muted);margin-top:36px}.works__more a{color:var(--ink);text-underline-offset:4px;font-weight:650}@media (width>=1100px){.works .work:nth-child(6n+1) .work__btn,.works .work:nth-child(6n+5) .work__btn{aspect-ratio:4/5}}@media (width<=960px){.works{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.work__title{font-size:1.1rem}.work__meta{padding:14px}}::view-transition-group(*){animation-duration:.45s;animation-timing-function:var(--ease)}.process{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(40px,6vw,96px);display:grid}.process__head{top:calc(var(--header-h) + 40px);position:sticky}.process__head h2{margin-bottom:1.2rem}.process__head .section__lead{margin-bottom:2rem}.steps{counter-reset:s;margin:0;padding:0;list-style:none;position:relative}.steps:before{content:"";background:var(--line);width:1.5px;position:absolute;top:28px;bottom:28px;left:27px}.steps:after{content:"";background:var(--oak);transform-origin:top;width:1.5px;transform:scaleY(var(--progress,0));transition:transform .2s linear;position:absolute;top:28px;bottom:28px;left:27px}.step{grid-template-columns:56px 1fr;gap:24px;padding-block:26px;display:grid;position:relative}.step+.step{border-top:1px dashed #0000}.step__num{z-index:1;background:var(--card);width:56px;height:56px;box-shadow:inset 0 0 0 1.5px var(--line);font:500 1.05rem/1 var(--serif);border-radius:50%;place-items:center;transition:background-color .5s,color .5s,box-shadow .5s;display:grid;position:relative}.step.is-in .step__num{background:var(--ink);color:#fff;box-shadow:none}.step h3{margin:10px 0 8px;font-size:clamp(1.4rem,1vw + 1rem,1.85rem)}.step p{color:var(--ink-2);max-width:46ch}@media (width<=860px){.process{grid-template-columns:1fr}.process__head{position:static}}.stats{background:var(--dark);color:#f1ebe2;padding-block:clamp(56px,7vw,96px);position:relative;overflow:hidden}.stats:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 46px,#ffffff06 46px 48px);position:absolute;inset:0}.stats__grid{grid-template-columns:repeat(4,1fr);gap:32px;display:grid;position:relative}.stat{border-left:1px solid #ffffff1f;gap:8px;padding-left:22px;display:grid}.stat__num{font:380 clamp(2.6rem, 4vw + .5rem, 4.4rem)/1 var(--serif);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#fff}.stat__label{color:#f1ebe2a6;font-size:.95rem}@media (width<=760px){.stats__grid{grid-template-columns:1fr 1fr;gap:36px 20px}}.rating{align-items:center;gap:14px;font-weight:650;line-height:1.3;display:flex}.rating small{color:var(--muted);font-weight:500}.rating__big{font:400 3.4rem/1 var(--serif);color:var(--brand);letter-spacing:-.03em}.reviews{grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px);display:grid}.review{border-radius:var(--r);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease), box-shadow .5s var(--ease), opacity .9s var(--ease);flex-direction:column;justify-content:space-between;gap:28px;margin:0;padding:clamp(22px,2.4vw,32px);display:flex}.review:hover{box-shadow:inset 0 0 0 1px var(--line), var(--shadow);transform:translateY(-4px)}.review blockquote{font:400 1.18rem/1.45 var(--serif);margin:0;position:relative}.review blockquote:before{content:"“";font:400 3.6rem/.6 var(--serif);color:var(--oak);height:26px;margin-bottom:12px;display:block}.review figcaption{align-items:center;gap:12px;font-size:.92rem;display:flex}.review figcaption strong{font-weight:700;display:block}.review figcaption small{color:var(--muted)}.avatar{background:var(--paper-2);width:42px;height:42px;color:var(--oak-2);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:750;display:grid}.reviews__more{margin-top:28px}.reviews__more a{text-underline-offset:4px;font-weight:650}@media (width<=960px){.reviews{scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding:4px var(--gutter) 8px;scroll-padding-inline:var(--gutter);display:flex;overflow-x:auto}.reviews::-webkit-scrollbar{display:none}.review{scroll-snap-align:start;flex:0 0 min(82vw,380px)}}.faq{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(32px,6vw,96px);display:grid}.faq__head h2{margin-bottom:1.2rem}.faq__list{gap:10px;display:grid}.qa{border-radius:var(--r);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s, opacity .9s var(--ease), transform .9s var(--ease);overflow:hidden}.qa[open]{box-shadow:inset 0 0 0 1px var(--ink-2)}.qa summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-size:1.04rem;font-weight:650;list-style:none;display:flex}.qa summary::-webkit-details-marker{display:none}.qa summary:after{content:"";background:var(--paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%231c1915' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 16px no-repeat;width:30px;height:30px;transition:transform .4s var(--ease), background-color .3s;border-radius:50%;flex:none}.qa[open] summary:after{background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");transform:rotate(135deg)}.qa__a{color:var(--ink-2);max-width:62ch;padding:0 22px 22px}.qa.is-flash{animation:flash 1.6s var(--ease)}@keyframes flash{20%{box-shadow:inset 0 0 0 2px var(--brand)}}@supports (interpolate-size:allow-keywords){.qa{interpolate-size:allow-keywords}.qa::details-content{block-size:0;transition:block-size .45s var(--ease), content-visibility .45s allow-discrete;overflow:hidden}.qa[open]::details-content{block-size:auto}}@media (width<=860px){.faq{grid-template-columns:1fr}}.contact{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.contact__intro h2{margin-bottom:1.2rem}.contact__intro .section__lead{margin-bottom:2rem}.contact__cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ccard{border-radius:var(--r);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:transform .4s var(--ease), box-shadow .3s;align-items:center;gap:16px;padding:14px 18px 14px 14px;text-decoration:none;display:flex}.ccard:hover{box-shadow:inset 0 0 0 1px var(--ink-2);transform:translate(4px)}.ccard>span:nth-child(2){flex:1;display:grid}.ccard strong{font-weight:700}.ccard small{color:var(--muted);font-size:.86rem}.ccard__icon{background:var(--paper-2);width:48px;height:48px;color:var(--ink);border-radius:14px;flex:none;place-items:center;transition:background-color .3s,color .3s;display:grid}.ccard:hover .ccard__icon{background:var(--brand);color:#fff}.ccard__go{color:var(--muted)}.qform{border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-lg), inset 0 0 0 1px var(--line);gap:18px;padding:clamp(22px,3vw,36px);display:grid}.qform__types{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.qform__types legend{margin-bottom:12px;padding:0;font-weight:700}.qform__types label{position:relative}.qform__types input{opacity:0;cursor:pointer;position:absolute;inset:0}.qform__types span{box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);transition:background-color .2s, color .2s, box-shadow .2s, transform .25s var(--ease);background:var(--paper);border-radius:999px;padding:9px 14px;font-size:.9rem;font-weight:600;display:inline-block}.qform__types input:hover+span{box-shadow:inset 0 0 0 1px var(--ink-2)}.qform__types input:checked+span{background:var(--ink);color:#fff;box-shadow:none}.qform__types input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.qform__types input:active+span{transform:scale(.95)}.qform__row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{color:var(--ink-2);gap:6px;font-size:.85rem;font-weight:650;display:grid}.field input,.field textarea{font:500 1rem/1.4 var(--sans);color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);resize:vertical;border:0;border-radius:12px;width:100%;padding:13px 14px;transition:box-shadow .2s,background-color .2s}.field input:focus,.field textarea:focus{box-shadow:inset 0 0 0 1.5px var(--ink);background:#fff;outline:none}.field ::placeholder{color:#a99e90}.qform__hint{color:var(--muted);text-align:center;font-size:.82rem}.map{border-radius:var(--r-lg);background:var(--paper-2);height:clamp(300px,36vw,440px);box-shadow:inset 0 0 0 1px var(--line);grid-column:1/-1;position:relative;overflow:hidden}.map iframe{filter:grayscale(.35)sepia(.12)contrast(1.02);border:0;width:100%;height:100%}.map__badge{background:var(--card);box-shadow:var(--shadow);transition:transform .3s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:10px 16px 10px 12px;font-size:.92rem;font-weight:700;text-decoration:none;display:flex;position:absolute;top:16px;right:16px}.map__badge:hover{transform:translateY(-2px)}.map__badge span{color:var(--brand-ink)}@media (width<=900px){.contact{grid-template-columns:1fr}}@media (width<=480px){.qform__row{grid-template-columns:1fr}.map__badge{inset:auto 12px 64px auto}}.footer{background:var(--dark);color:#f1ebe2b3;padding:clamp(56px,7vw,88px) 0 28px;font-size:.95rem}.footer__grid{border-bottom:1px solid #ffffff1a;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:48px;display:grid}.footer__brand p{max-width:36ch}.footer__brand img{margin-bottom:18px}.footer__name{font:420 1.9rem/1 var(--serif);color:#fff;margin-bottom:10px}.footer__nav,.footer__contact{align-content:start;gap:10px;display:grid}.footer a{text-decoration:none;transition:color .2s}.footer a:hover{color:#fff}.footer__bottom{justify-content:space-between;padding-top:24px;font-size:.85rem;display:flex}@media (width<=760px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}.fab{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:40;background:var(--ink);color:#fff;height:56px;box-shadow:var(--shadow-lg);opacity:0;transition:transform .5s var(--ease), opacity .4s, background-color .25s;border-radius:999px;align-items:center;gap:10px;padding:0 20px 0 16px;font-weight:700;text-decoration:none;display:flex;position:fixed;transform:translateY(120%)scale(.9)}.fab.is-visible{opacity:1;transform:none}.fab:hover{background:var(--brand)}@media (width<=520px){.fab span{display:none}.fab{justify-content:center;width:56px;padding:0}}dialog{max-width:none;max-height:none;color:inherit;background:0 0;border:0;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(6px);background:#14110e80}body:has(dialog[open]){overflow:hidden}.search{width:min(100% - 24px,640px);margin:min(12vh,120px) auto auto}.search[open]{animation:pop .35s var(--ease)}.search[open]::backdrop{animation:.3s fade}@keyframes pop{0%{opacity:0;transform:translateY(-10px)scale(.98)}}@keyframes fade{0%{opacity:0}}.search__box{background:var(--card);box-shadow:var(--shadow-lg), inset 0 0 0 1px var(--line);border-radius:20px;overflow:hidden}.search__bar{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:6px 10px 6px 18px;display:flex}.search__bar input{min-width:0;font:500 1.1rem/1 var(--sans);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:16px 0}.search__bar input::-webkit-search-cancel-button{display:none}.search__close{font:600 .75rem/1 var(--sans);background:var(--paper-2);color:var(--muted);border-radius:8px;padding:7px 9px}.search__results{overscroll-behavior:contain;max-height:min(60vh,460px);padding:8px;overflow-y:auto}.search__group{font:650 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:14px 12px 8px}.search__item{text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:14px;width:100%;padding:10px 12px;display:flex}.search__item[aria-selected=true]{background:var(--paper-2)}.search__item[aria-selected=true] .search__go{opacity:1;transform:none}.search__thumb{background:var(--paper-2);width:48px;height:48px;color:var(--ink-2);border-radius:10px;flex:none;place-items:center;display:grid;overflow:hidden}.search__thumb img{object-fit:cover;width:100%;height:100%}.search__text{flex:1;gap:2px;min-width:0;display:grid}.search__text strong{white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.search__text small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.search__text mark{color:inherit;background:#b07a4538;border-radius:3px;padding:0 1px}.search__go{opacity:0;transition:.2s var(--ease);color:var(--muted);transform:translate(-4px)}.search__empty{text-align:center;color:var(--muted);padding:36px 16px}.search__empty a{color:var(--brand-ink);font-weight:650}.search__foot{border-top:1px solid var(--line);color:var(--muted);gap:18px;padding:10px 16px;font-size:.78rem;display:flex}.search__foot kbd{margin-right:4px}@media (width<=640px){.search{margin-top:12px}.search__foot{display:none}}.lb{color:#f1ebe2;background:#12100d;grid-template-rows:auto 1fr auto;width:100%;height:100dvh;display:none;position:fixed;inset:0}.lb[open]{animation:.35s fade;display:grid}.lb::backdrop{background:#12100d}.lb__top{align-items:center;gap:16px;padding:14px clamp(14px,3vw,28px);display:flex}.lb__info{flex:1;min-width:0}.lb__cat{font:600 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.6}.lb__title{white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:clamp(1.15rem,1.5vw + .7rem,1.6rem);overflow:hidden}.lb__counter{font-variant-numeric:tabular-nums;opacity:.7;font-size:.9rem}.lb__close,.lb__nav{width:46px;height:46px;transition:background-color .2s, transform .3s var(--ease);background:#ffffff14;border-radius:50%;flex:none;place-items:center;display:grid}.lb__close:hover,.lb__nav:hover{background:#ffffff2e}.lb__stage{align-items:center;min-height:0;display:flex;position:relative}.lb__track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain;flex:1;height:100%;display:flex;overflow-x:auto}.lb__track::-webkit-scrollbar{display:none}.lb__slide{scroll-snap-align:center;padding-block:4px;flex:0 0 100%;height:100%;padding:0 clamp(8px,6vw,90px)}.lb__slide picture{width:100%;height:100%;display:block}.lb__slide img{object-fit:contain;width:100%;height:100%;background:0 0!important}.lb__nav{z-index:2;position:absolute;top:50%;translate:0 -50%}.lb__nav--prev{left:clamp(8px,2vw,24px)}.lb__nav--next{right:clamp(8px,2vw,24px)}.lb__nav:disabled{opacity:.25;cursor:default}.lb__bottom{padding:14px clamp(14px, 3vw, 28px) max(14px, env(safe-area-inset-bottom));align-items:center;gap:20px;display:flex}.lb__desc{opacity:.75;flex:260px;max-width:52ch;font-size:.92rem}.lb__thumbs{scrollbar-width:none;flex:0 auto;gap:6px;max-width:50vw;display:flex;overflow-x:auto}.lb__thumbs button{opacity:.45;width:52px;height:52px;transition:opacity .25s, transform .3s var(--ease);outline-offset:2px;border-radius:8px;flex:none;overflow:hidden}.lb__thumbs button[aria-current=true]{opacity:1;outline:2px solid #fff}.lb__thumbs button:hover{opacity:.9}.lb__thumbs img{object-fit:cover;width:100%;height:100%}@media (width<=720px){.lb__nav{display:none}.lb__slide{padding:0 8px}.lb__bottom{flex-wrap:wrap;gap:12px}.lb__desc{flex-basis:100%;order:-1}.lb__thumbs{flex:1;max-width:none}}.toast{z-index:60;background:var(--ink);color:#fff;width:fit-content;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .3s, transform .4s var(--ease);border-radius:14px;margin-inline:auto;padding:14px 20px;font-size:.92rem;font-weight:600;position:fixed;bottom:24px;left:16px;right:16px;transform:translateY(16px)}.toast.is-on{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal{opacity:1;transform:none}.marquee__track{animation:none}}
