@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/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(/_astro/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(/_astro/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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-italic.BicUS2cM.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:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-italic.BfTTTDIL.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:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-italic.Py8at3oI.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-vietnamese-wght-normal.CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-ext-wght-normal.Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-wght-normal.CaVRRdDk.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{--night:#14110e;--soot:#1f1b17;--stone:#d8cbb4;--sand:#eee5d4;--paper:#f8f3ea;--ochre:#a8631f;--glow:#f0b45c;--rust:#9c4a1f;--text:#241e18;--text-2:#5a5045;--line:#241e1829;--line-light:#ffffff29;--display:"Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--sans:"Hanken Grotesk Variable", "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:6px;--ease:cubic-bezier(.2, .7, .2, 1);--wrap:1240px;--pad:clamp(20px, 5vw, 60px);--header:82px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px);-webkit-text-size-adjust:100%}body{font:400 clamp(16.5px, .9vw + 12px, 18px)/1.7 var(--sans);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}img,svg,picture{max-width:100%;display:block}img{height:auto}a{color:var(--ochre);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--night)}:focus-visible{outline:3px solid var(--glow);outline-offset:3px}::selection{background:var(--glow);color:var(--night)}p{margin:0 0 1.1em}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;font-variation-settings:"SOFT" 30, "WONK" 0;margin:0 0 .45em;font-weight:560;line-height:1.04}h1{font-size:clamp(2.9rem,8.2vw,6.6rem)}h2{font-size:clamp(2.1rem,5vw,3.8rem)}h3{font-size:clamp(1.45rem,2.4vw,1.9rem);line-height:1.12}em,.it{color:var(--ochre);font-style:italic;font-weight:450}.eyebrow{font:700 .76rem/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ochre);align-items:center;gap:14px;margin:0 0 1.1rem;display:flex}.eyebrow:before{content:"";background:currentColor;flex:none;width:34px;height:3px}.lede{color:var(--text-2);max-width:36em;font-size:clamp(1.1rem,1.5vw,1.3rem)}.wrap{width:100%;max-width:calc(var(--wrap) + var(--pad) * 2);padding-inline:var(--pad);margin-inline:auto}.narrow{max-width:800px}.skip{background:var(--night);color:#fff;z-index:100;padding:10px 16px;position:absolute;top:8px;left:-999px}.skip:focus{left:12px}section{position:relative}.sec{padding-block:clamp(68px,10vw,132px)}.sec-tight{padding-block:clamp(46px,7vw,92px)}.center{text-align:center}.center .eyebrow{justify-content:center}.center .eyebrow:before{display:none}.center .lede{margin-inline:auto}.dark{background:var(--night);color:#e9e1d3}.dark h1,.dark h2,.dark h3{color:#fff}.dark .lede,.dark p{color:#cfc5b4}.dark .eyebrow,.dark em,.dark .it,.dark a:not(.btn){color:var(--glow)}.dark a:not(.btn):hover{color:#fff}.sandy{background:var(--sand)}.ochre-band{color:#fff;background:linear-gradient(135deg,#a8631f,#7d4412)}.ochre-band h2,.ochre-band p{color:#fff}.ochre-band .card p,.ochre-band .card h3{color:var(--text)}.ochre-band .card .hint{color:var(--text-2)}.ochre-band .card a{color:var(--ochre)}.course{background:linear-gradient(90deg, transparent 0 4%, var(--stone) 4% 18%, transparent 18% 20%, var(--stone) 20% 41%, transparent 41% 43%, var(--stone) 43% 58%, transparent 58% 60%, var(--stone) 60% 83%, transparent 83% 85%, var(--stone) 85% 96%, transparent 96%);opacity:.55;border-radius:3px;max-width:220px;height:14px;margin-bottom:1.4rem}.dark .course{opacity:.25}.btn{--bg:var(--ochre);--fg:#fff;font:700 .95rem/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;background:var(--bg);color:var(--fg);border:2px solid var(--bg);cursor:pointer;transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .25s, color .25s;border-radius:2px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:18px 30px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";transition:transform .7s var(--ease);background:linear-gradient(110deg,#0000 30%,#ffffff4d 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn:hover{color:var(--fg);transform:translateY(-2px);box-shadow:0 18px 30px -14px #a8631fcc}.btn:hover:after{transform:translate(120%)}.btn.ghost{--bg:transparent;--fg:var(--text);border-color:var(--text)}.btn.ghost:hover{--bg:var(--text);--fg:#fff;background:var(--text);box-shadow:none}.dark .btn.ghost,.btn.ghost.light{--fg:#fff;border-color:#ffffffa6}.dark .btn.ghost:hover,.btn.ghost.light:hover{--fg:var(--night);color:var(--night);background:#fff}.btn.glow{--bg:var(--glow);--fg:var(--night)}.btn.dk{--bg:var(--night);--fg:#fff}.btns{flex-wrap:wrap;gap:14px;margin-top:2rem;display:flex}.link-arrow{letter-spacing:.02em;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex}.link-arrow:after{content:"→";transition:transform .3s var(--ease)}.link-arrow:hover:after{transform:translate(5px)}.site-header{z-index:50;height:var(--header);color:#fff;align-items:center;transition:background .35s,box-shadow .35s;display:flex;position:fixed;inset:0 0 auto}.site-header.solid,.site-header.open{-webkit-backdrop-filter:saturate(1.2)blur(14px);box-shadow:0 1px 0 var(--line-light);background:#14110ef2}.site-header .wrap{justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{color:#fff;align-items:center;gap:14px;text-decoration:none;display:flex}.brand img{object-fit:contain;width:58px;height:58px}.brand span{font:600 1.15rem/1.05 var(--display);letter-spacing:.01em;white-space:nowrap}@media (width<=420px){.brand img{width:48px;height:48px}.brand span{font-size:1rem}.brand{gap:10px}}.brand small{font:700 .62rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--glow);margin-top:4px;display:block}.nav{align-items:center;gap:clamp(18px,2.4vw,36px);display:flex}.nav a{color:#fff;letter-spacing:.04em;text-transform:uppercase;padding:6px 0;font-size:.93rem;font-weight:600;text-decoration:none;position:relative}.nav a:not(.btn):after{content:"";background:var(--glow);transform-origin:0;height:2px;transition:transform .4s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav a:not(.btn):hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.nav .tel{font-variant-numeric:tabular-nums}.nav .btn{color:#fff;min-height:46px;padding:14px 22px}.menu-btn{cursor:pointer;background:0 0;border:0;width:48px;height:48px;display:none;position:relative}.menu-btn span,.menu-btn span:before,.menu-btn span:after{content:"";height:2px;transition:transform .35s var(--ease), background .2s;background:#fff;position:absolute;left:13px;right:13px}.menu-btn span{top:23px}.menu-btn span:before{top:-7px;left:0;right:0}.menu-btn span:after{top:7px;left:0;right:0}.menu-btn[aria-expanded=true] span{background:0 0}.menu-btn[aria-expanded=true] span:before{transform:translateY(7px)rotate(45deg)}.menu-btn[aria-expanded=true] span:after{transform:translateY(-7px)rotate(-45deg)}@media (width<=980px){.menu-btn{display:block}.site-header{background:#14110ef2}.nav{inset:var(--header) 0 auto 0;padding:8px var(--pad) 28px;background:var(--night);opacity:0;visibility:hidden;transition:opacity .3s, transform .4s var(--ease), visibility .3s;max-height:calc(100dvh - var(--header));flex-direction:column;align-items:stretch;gap:0;position:fixed;overflow-y:auto;transform:translateY(-14px)}.site-header.open .nav{opacity:1;visibility:visible;transform:none}.nav a:not(.btn){font-family:var(--display);text-transform:none;letter-spacing:0;border-bottom:1px solid var(--line-light);padding:14px 0;font-size:1.8rem;font-weight:560}.nav a:not(.btn):after{display:none}.nav .btn{margin-top:18px;padding:18px}}.hero{min-height:min(100svh,940px);padding:calc(var(--header) + 40px) 0 clamp(46px, 8vw, 100px);isolation:isolate;align-items:end;display:grid;position:relative;overflow:clip}.hero-bg{z-index:-2;position:absolute;inset:0}.hero-bg picture{height:100%;display:block}.hero-bg img{object-fit:cover;object-position:70% 50%;width:100%;height:100%;animation:settle 3.5s var(--ease) .1s forwards;transform:scale(1.12)}@keyframes settle{to{transform:scale(1.02)}}.hero:before{content:"";z-index:-1;background:linear-gradient(#14110e1f 30%,#14110e8c 62%,#14110ef0 100%),linear-gradient(90deg,#14110eb3 0%,#14110e00 62%);position:absolute;inset:0}.hero:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(100deg,#0000,#f0b45c29,#0000);width:40%;animation:9s ease-in-out 1.6s infinite sweep;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-14deg)}@keyframes sweep{0%{left:-60%}55%,to{left:130%}}.hero h1{color:#fff;max-width:9em;margin-bottom:.25em}.hero .lede{color:#e3d9c8}.hero .rise{opacity:0;animation:rise 1.1s var(--ease) forwards}.hero .rise:first-child{animation-delay:.2s}.hero .rise:nth-child(2){animation-delay:.35s}.hero .rise:nth-child(3){animation-delay:.5s}.hero .rise:nth-child(4){animation-delay:.65s}.hero .rise:nth-child(5){animation-delay:.8s}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.hero-meta{border-top:1px solid var(--line-light);color:#d6ccba;flex-wrap:wrap;gap:8px 30px;margin-top:2.4rem;padding-top:1.4rem;font-size:.92rem;display:flex}.hero-meta a{color:#fff;font-weight:600;text-decoration:none}.hero-meta b{color:var(--glow);letter-spacing:.1em;text-transform:uppercase;margin-right:6px;font-size:.74rem;font-weight:700}.page-hero{padding:calc(var(--header) + clamp(40px, 8vw, 100px)) 0 clamp(60px, 9vw, 110px);isolation:isolate;position:relative;overflow:clip}.page-hero h1{max-width:12em;font-size:clamp(2.6rem,6.4vw,5rem)}.page-hero .bg{z-index:-2;position:absolute;inset:0}.page-hero .bg picture{height:100%;display:block}.page-hero .bg img{object-fit:cover;width:100%;height:100%}.page-hero .shade{z-index:-1;background:linear-gradient(#14110ec7,#14110e9e 50%,#14110eeb);position:absolute;inset:0}.crumbs{color:#bfb4a1;margin-bottom:1.4rem;font-size:.9rem}.crumbs a{color:#e3d9c8}.js .reveal{opacity:0;transition:opacity .95s var(--ease), transform .95s var(--ease);transition-delay:calc(var(--d,0) * .11s);transform:translateY(30px)}.js .reveal.in{opacity:1;transform:none}.js .reveal-img:after{content:"";background:var(--soot);transform-origin:top;transition:transform 1.1s var(--ease);transition-delay:calc(var(--d,0) * 90ms);z-index:2;pointer-events:none;position:absolute;inset:0}.js .reveal-img.in:after{transform:scaleY(0)}.js .reveal-img img{transition:transform 1.6s var(--ease);transform:scale(1.1)}.js .reveal-img.in img{transform:scale(1)}.split{align-items:center;gap:clamp(32px,6vw,92px);display:grid}@media (width>=900px){.split{grid-template-columns:1fr 1fr}.split.flip>:first-child{order:2}.split.wide-l{grid-template-columns:1.15fr .85fr}.split.wide-r{grid-template-columns:.85fr 1.15fr}}.photo{background:var(--soot);position:relative;overflow:hidden}.photo picture{height:100%;display:block}.photo img{object-fit:cover;width:100%;height:100%}.photo.tall{aspect-ratio:4/5}.photo.wide{aspect-ratio:16/11}.photo.sq{aspect-ratio:1}.photo.pano{aspect-ratio:21/9}.photo.port{aspect-ratio:3/4}.cards{gap:24px;display:grid}@media (width>=760px){.cards.two{grid-template-columns:1fr 1fr}.cards.three{grid-template-columns:repeat(3,1fr)}}.card{color:var(--text);border:1px solid var(--line);transition:transform .5s var(--ease), box-shadow .5s var(--ease);background:#fff;flex-direction:column;display:flex}.card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -32px #241e188c}.card .body{flex-direction:column;flex:1;padding:clamp(24px,3vw,36px);display:flex}.card .photo{transition:none}.card .photo img{transition:transform 1.2s var(--ease)}.card:hover .photo img{transform:scale(1.05)}.card h3{margin-bottom:.3em}.card .kicker{font:700 .72rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ochre);margin-bottom:.9rem}.card .btns{margin-top:auto;padding-top:1.2rem}.dark .card{border-color:var(--line-light);color:#e9e1d3;background:#ffffff0d}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px 40px;margin-top:2rem;display:grid}.stat{border-top:3px solid var(--ochre);padding-top:14px}.stat b{font:560 clamp(2.8rem, 5vw, 4rem)/1 var(--display);color:var(--text);letter-spacing:-.03em;display:block}.stat>span{color:var(--text-2);font-size:.92rem;display:block}.dark .stat{border-color:var(--glow)}.dark .stat b{color:#fff}.dark .stat>span{color:#cfc5b4}.project{border-top:1px solid var(--line);align-items:center;gap:clamp(22px,4vw,56px);padding-block:clamp(28px,5vw,56px);display:grid}.project:last-of-type{border-bottom:1px solid var(--line)}@media (width>=860px){.project{grid-template-columns:1.2fr 1fr}.project:nth-child(2n) .photo{order:2}}.filters{flex-wrap:wrap;gap:8px;margin:1.6rem 0 2rem;display:flex}.filters button{font:700 .8rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--text);color:var(--text);cursor:pointer;background:0 0;padding:12px 18px;transition:background .2s,color .2s}.filters button[aria-pressed=true]{background:var(--text);color:#fff}.gallery{columns:1;column-gap:14px}@media (width>=560px){.gallery{columns:2}}@media (width>=960px){.gallery{columns:3}}.gallery figure{break-inside:avoid;cursor:zoom-in;background:var(--soot);margin:0 0 14px;position:relative;overflow:hidden}.gallery figure[hidden]{display:none}.gallery img{width:100%;transition:transform .9s var(--ease), opacity .4s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{color:#fff;opacity:0;transition:opacity .4s, transform .4s var(--ease);background:linear-gradient(#0000,#14110ed9);padding:40px 16px 14px;font-size:.88rem;position:absolute;inset:auto 0 0;transform:translateY(8px)}.gallery figure:hover figcaption,.gallery figure:focus-within figcaption{opacity:1;transform:none}.gallery button{all:unset;cursor:zoom-in;width:100%;display:block}.gallery button:focus-visible{outline:3px solid var(--glow);outline-offset:-3px}dialog.lightbox{background:0 0;border:0;max-width:96vw;max-height:94vh;padding:0}dialog.lightbox::backdrop{background:#0e0c0aeb}dialog.lightbox img{object-fit:contain;max-width:96vw;max-height:86vh;margin:auto}dialog.lightbox p{color:#e3d9c8;text-align:center;margin:12px 0 0;font-size:.95rem}dialog.lightbox .x{color:#fff;cursor:pointer;background:#ffffff1f;border:0;width:48px;height:48px;font-size:1.8rem;position:fixed;top:14px;right:18px}.quotes{gap:24px;display:grid}@media (width>=860px){.quotes{grid-template-columns:1fr 1fr}}.quote{border:1px solid var(--line-light);background:#ffffff0d;margin:0;padding:clamp(28px,3.4vw,46px)}.quote:before{content:"“";font:560 5.4rem/.8 var(--display);color:var(--glow);margin-bottom:8px;display:block}.quote p{font-family:var(--display);color:#fff;font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.45}.quote footer{color:#bfb4a1;font-size:.92rem}.quote footer b{color:var(--glow);display:block}.faq{border-top:1px solid var(--line)}.dark .faq,.dark .faq details{border-color:var(--line-light)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font:560 clamp(1.2rem, 2vw, 1.5rem)/1.25 var(--display);padding:22px 48px 22px 0;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:300 2rem/1 var(--sans);color:var(--ochre);transition:transform .4s var(--ease);position:absolute;top:50%;right:6px;translate:0 -50%}.faq details[open] summary:after{transform:rotate(45deg)}.faq .ans{max-width:46em;animation:rise .6s var(--ease);padding:0 48px 24px 0}.faq .ans p:last-child{margin:0}.ticks{gap:12px;margin:0 0 1.4em;padding:0;list-style:none;display:grid}.ticks li{padding-left:34px;position:relative}.ticks li:before{content:"";background:var(--ochre);width:20px;height:6px;box-shadow:8px -7px 0 -1px var(--ochre);border-radius:1px;position:absolute;top:.62em;left:0;transform:scale(.8)}.facts{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px 40px;margin:2rem 0 0;padding:0;list-style:none;display:grid}.facts li{border-left:3px solid var(--glow);padding-left:16px}.facts b{font:700 .72rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--glow);margin-bottom:4px;display:block}.steps{counter-reset:s;gap:22px;display:grid}@media (width>=860px){.steps{grid-template-columns:repeat(4,1fr)}}.step{counter-increment:s;border:1px solid var(--line-light);background:#ffffff0a;padding:30px 26px}.step:before{content:"0" counter(s);font:560 3.2rem/1 var(--display);color:var(--glow);margin-bottom:14px;display:block}.step p:last-child{margin:0}.book-box{border:1px solid var(--line);background:#fff;min-height:360px;padding:clamp(14px,2.4vw,30px);box-shadow:0 30px 60px -38px #241e1899}.book-box [data-fd-book]:empty:before{content:"Loading the booking form…";color:var(--text-2);padding:24px;display:block}.form,.form .row2{gap:18px;display:grid}@media (width>=640px){.form .row2{grid-template-columns:1fr 1fr}}.form label{letter-spacing:.02em;gap:8px;font-size:.92rem;font-weight:700;display:grid}.form input,.form textarea,.form select{font:inherit;color:var(--text);border:1.5px solid var(--line);background:#fff;border-radius:2px;width:100%;min-height:54px;padding:15px 16px;font-weight:400;transition:border-color .2s,box-shadow .2s}.form textarea{resize:vertical;min-height:140px}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--ochre);outline:none;box-shadow:0 0 0 4px #a8631f33}.form .hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form .err{color:#a3281e;font-weight:600}.form .ok{background:var(--sand);border:1px solid var(--line);color:var(--text);padding:22px 24px}.hint{color:var(--text-2);font-size:.9rem}.notice{color:var(--text-2);border-left:3px solid var(--ochre);max-width:46em;margin-top:1.6rem;padding-left:14px;font-size:.9rem}.dark .notice{color:#bfb4a1;border-color:var(--glow)}.site-footer{background:var(--night);color:#cfc5b4;padding:clamp(56px,8vw,96px) 0 28px}.site-footer a{color:#fff}.site-footer .foot{gap:40px;display:grid}@media (width>=900px){.site-footer .foot{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}.site-footer .brand img{width:84px;height:84px}.site-footer h2{font:700 .76rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--glow);margin-bottom:16px}.site-footer ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.fine{border-top:1px solid var(--line-light);color:#968b79;flex-wrap:wrap;justify-content:space-between;gap:8px 26px;margin-top:clamp(36px,6vw,64px);padding-top:22px;font-size:.85rem;display:flex}.fine a{color:#cfc5b4}.sticky-cta{z-index:40;gap:10px;display:none;position:fixed;bottom:14px;left:14px;right:14px}.sticky-cta .btn{flex:1;padding:16px 10px;box-shadow:0 20px 40px -14px #000000b3}@media (width<=760px){.sticky-cta{transition:transform .5s var(--ease);display:flex;transform:translateY(150%)}.sticky-cta.show{transform:none}}.climb{z-index:45;pointer-events:none;height:4px;position:fixed;top:0;left:0;right:0}.climb i{height:4px;width:var(--p,0%);background:linear-gradient(90deg, var(--rust), var(--glow));position:absolute;top:0;left:0}.climb svg{top:4px;left:var(--p,0%);width:34px;height:34px;color:var(--glow);filter:drop-shadow(0 2px 3px #00000080);transition:left .15s linear;position:absolute;translate:-70%}@media (width<=980px){.climb svg{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation:none!important}.js .reveal{opacity:1;transform:none}.js .reveal-img:after{display:none}.js .reveal-img img{transform:none}.hero .rise{opacity:1}.hero-bg img{transform:none}}@view-transition{navigation:auto}@media print{.site-header,.site-footer,.sticky-cta,.climb{display:none}}
