:root{--bg:#0c0d0d;--panel:#131414;--paper:#e8e4dc;--ink:#161716;--muted:#999a95;--line:rgba(232,228,220,.2);--accent:#b8c59a;--warm:#d1a36f;--sans:'Noto Sans JP',sans-serif;--serif:'Noto Serif JP',serif;--latin:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);font-weight:300;line-height:1.8;letter-spacing:.04em}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(12,13,13,.82);backdrop-filter:blur(12px)}a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:10px;font-weight:500;font-size:14px;letter-spacing:.1em}.brand small{font-size:9px;color:var(--muted);border:1px solid #555;padding:1px 4px}.brand-mark{width:15px;height:15px;border:1px solid var(--accent);border-radius:50%;position:relative}.brand-mark:after{content:"";position:absolute;width:5px;height:5px;background:var(--accent);border-radius:50%;right:-3px;bottom:-2px}.nav{display:flex;gap:30px;font-size:12px;color:#c8c8c3}.nav a,.text-link{transition:color .2s}.nav a:hover,.text-link:hover{color:var(--accent)}.header-cta{justify-self:end;font-size:12px;border-bottom:1px solid;padding:8px 0}.header-cta span{margin-left:15px}.menu-button{display:none}.section-pad{padding-left:6vw;padding-right:6vw}.hero{min-height:100vh;padding-top:140px;padding-bottom:70px;position:relative;overflow:hidden}.hero-kicker{display:flex;justify-content:space-between;font:500 10px var(--latin);letter-spacing:.16em;color:#93948f}.hero-heading{position:relative;z-index:2;margin:6vh 0 7vh}.hero h1{font:400 clamp(54px,8.5vw,138px)/1.12 var(--serif);letter-spacing:-.05em;margin:0;max-width:1200px}.hero h1 em,.about h2 em{font-style:normal;color:var(--accent)}.hero-heading>p{margin:35px 0 0 52%;max-width:400px;color:#b8b8b3;font-size:15px}.hero-bottom{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);gap:7vw;align-items:end}.hero-image-wrap{height:32vh;min-height:250px;position:relative;overflow:hidden}.hero-image-wrap img,.project-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04);transition:transform 1s cubic-bezier(.2,.7,.2,1)}.hero-image-wrap:hover img,.project-image:hover img{transform:scale(1.025)}.sample-tag,.project-image>span{position:absolute;bottom:0;left:0;background:rgba(12,13,13,.85);font:500 9px var(--latin);letter-spacing:.13em;padding:8px 12px}.hero-note{border-top:1px solid var(--line);padding-top:20px}.eyebrow{font:500 9px var(--latin);letter-spacing:.17em;color:var(--accent)}.hero-note p{font-size:13px;color:#b8b8b3;margin:28px 0}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;font-size:12px}.scroll-cue{position:absolute;right:1.8vw;bottom:70px;display:flex;align-items:center;gap:12px;font:500 9px var(--latin);letter-spacing:.18em;writing-mode:vertical-rl}.scroll-cue i{height:55px;width:1px;background:linear-gradient(var(--paper),transparent)}.intro{background:var(--paper);color:var(--ink);padding-top:130px;padding-bottom:150px}.section-label{display:grid;grid-template-columns:60px 1fr;align-items:center;border-bottom:1px solid rgba(20,21,20,.22);padding-bottom:18px;font-size:12px}.section-label span{font:500 10px var(--latin)}.section-label p{margin:0}.section-label.light{border-color:var(--line)}.intro-copy{display:grid;grid-template-columns:1.25fr .55fr;gap:12vw;margin:100px 8vw 120px}.display-copy{font:400 clamp(36px,5.4vw,76px)/1.4 var(--serif);letter-spacing:-.04em;margin:0}.display-copy span{color:#687453}.body-copy{align-self:end;color:#5f615b;font-size:14px}.service-list{border-top:1px solid rgba(20,21,20,.22)}.service-row{display:grid;grid-template-columns:70px minmax(220px,.7fr) 1fr 40px;gap:25px;align-items:center;border-bottom:1px solid rgba(20,21,20,.22);padding:35px 0}.service-row .num{font:500 10px var(--latin);color:#777}.service-row h3{font:400 24px var(--serif);margin:0}.service-row p{font-size:13px;color:#666;margin:0;max-width:520px}.plus{justify-self:end;font-size:24px;font-weight:200}.scope-note{display:grid;grid-template-columns:170px 1fr;gap:30px;margin:45px 0 0 auto;max-width:720px;font-size:12px;color:#666}.scope-note span{color:#212}.works{padding-top:130px;padding-bottom:170px}.works-head{display:grid;grid-template-columns:1fr 340px;gap:12vw;margin:90px 7vw 110px}.works h2,.flow h2{font:400 clamp(38px,5.5vw,74px)/1.3 var(--serif);letter-spacing:-.045em;margin:0}.works-head p,.flow-head>p{font-size:12px;color:var(--muted);align-self:end}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12vh 4vw}.project-large{grid-row:span 2}.project-large .project-image{height:70vh}.project:not(.project-large) .project-image{height:38vh}.project-offset{margin-top:10vh}.project-image{position:relative;overflow:hidden}.project-meta{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding:20px 0}.project-meta p,.project-meta>span{font:500 9px var(--latin);letter-spacing:.14em;color:var(--muted);margin:0}.project-meta h3{font:400 19px var(--serif);margin:7px 0}.project-meta>span{align-self:end;text-align:right}.about{background:#d8d1c5;color:var(--ink);padding-top:130px;padding-bottom:160px}.about-grid{display:grid;grid-template-columns:1.15fr .55fr;gap:12vw;margin:100px 8vw 0}.about-title>span{font:500 9px var(--latin);letter-spacing:.18em;color:#666}.about h2{font:400 clamp(43px,6vw,82px)/1.4 var(--serif);letter-spacing:-.05em;margin:25px 0}.about-body{padding-top:60px}.about-body .lead{font:400 19px/2 var(--serif);color:#252622}.about-body>p:not(.lead){font-size:13px;color:#5c5d58}.profile-card{border-top:1px solid rgba(20,21,20,.25);margin-top:50px;padding-top:24px;display:flex;gap:18px;align-items:center}.profile-initial{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--paper);font:400 20px var(--serif)}.profile-card small{display:block;font:500 8px var(--latin);letter-spacing:.14em;color:#777}.profile-card strong{display:block;font:500 14px var(--sans);margin-top:4px}.profile-card p{font-size:10px;margin:2px 0;color:#666}.flow{padding-top:130px;padding-bottom:150px}.flow-head{display:grid;grid-template-columns:1fr 350px;gap:10vw;margin:90px 7vw 110px}.steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:100px 1fr;padding:30px 0;border-bottom:1px solid var(--line)}.steps li>span{font:500 10px var(--latin);color:var(--accent)}.steps li div{display:grid;grid-template-columns:.6fr 1fr;gap:8vw}.steps h3{font:400 21px var(--serif);margin:0}.steps p{font-size:12px;color:var(--muted);margin:0;max-width:480px}.price-note{text-align:right;font-size:10px;color:#777;margin-top:22px}.contact{background:var(--accent);color:var(--ink);padding-top:110px;padding-bottom:90px;min-height:78vh}.contact-en{font:500 10px var(--latin);letter-spacing:.17em;border-bottom:1px solid rgba(20,21,20,.25);padding-bottom:20px}.contact-main{display:grid;grid-template-columns:1fr 210px;align-items:center;gap:8vw;margin:10vh 6vw}.contact h2{font:400 clamp(40px,6.8vw,94px)/1.35 var(--serif);letter-spacing:-.055em;margin:0}.circle-cta{width:190px;height:190px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:center;gap:12px;align-items:center;font-family:var(--sans);cursor:pointer;transition:transform .3s,background .3s}.circle-cta:hover{transform:scale(1.04);background:#292b29}.circle-cta b{font-size:23px;font-weight:300}.contact-note{text-align:right;font-size:11px;border-top:1px solid rgba(20,21,20,.25);padding-top:20px}footer{padding:40px 4vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font:500 8px var(--latin);letter-spacing:.14em;color:#777}footer p:nth-child(2){text-align:center}footer p:last-child{text-align:right}dialog{width:min(600px,calc(100% - 30px));background:#e8e4dc;color:#161716;border:0;padding:50px;box-shadow:0 30px 100px #000}dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(6px)}dialog h2{font:400 32px var(--serif);margin:18px 0 8px}dialog>p{font-size:12px;color:#666}.dialog-close{position:absolute;right:18px;top:12px;background:none;border:0;font-size:28px;font-weight:200;cursor:pointer}form{display:grid;gap:16px;margin-top:30px}label{font-size:11px;display:grid;gap:6px}input,textarea{font:400 13px var(--sans);border:0;border-bottom:1px solid #888;background:transparent;padding:10px 0;outline:none}textarea{height:80px;resize:vertical}form button{border:0;background:#171817;color:white;padding:16px;margin-top:8px;font:500 12px var(--sans);display:flex;justify-content:space-between;cursor:pointer}.form-status{color:#576446!important}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:68px;grid-template-columns:1fr auto;padding:0 20px}.nav,.header-cta{display:none}.menu-button{display:block;background:none;border:0;width:32px;height:32px;padding:8px}.menu-button span{display:block;height:1px;background:#ddd;margin:5px 0}.nav.open{display:flex;position:absolute;top:68px;left:0;right:0;background:#111;flex-direction:column;padding:28px 22px;gap:20px;border-bottom:1px solid #333}.section-pad{padding-left:22px;padding-right:22px}.hero{padding-top:110px;padding-bottom:60px}.hero-kicker span:last-child{display:none}.hero-heading{margin:7vh 0 5vh}.hero h1{font-size:clamp(42px,12vw,56px);line-height:1.28}.hero-heading>p{margin:24px 0 0 15%;font-size:13px}.hero-bottom{grid-template-columns:1fr}.hero-image-wrap{height:36vh}.hero-note{margin-left:16%}.scroll-cue{display:none}.intro,.works,.about,.flow{padding-top:90px;padding-bottom:100px}.intro-copy,.works-head,.about-grid,.flow-head{grid-template-columns:1fr;margin:65px 0 75px;gap:35px}.display-copy{font-size:40px}.body-copy{margin-left:18%}.service-row{grid-template-columns:35px 1fr 20px;gap:12px;padding:26px 0}.service-row h3{font-size:19px}.service-row p{grid-column:2/4}.scope-note{grid-template-columns:1fr;gap:8px;margin-top:35px}.works h2,.flow h2{font-size:42px}.project-grid{grid-template-columns:1fr;gap:70px}.project-large{grid-row:auto}.project-large .project-image,.project:not(.project-large) .project-image{height:43vh}.project-offset{margin-top:0}.project-meta{display:block}.project-meta>span{display:block;text-align:left;margin-top:10px}.about h2{font-size:47px}.about-body{padding-top:0}.steps li{grid-template-columns:50px 1fr}.steps li div{grid-template-columns:1fr;gap:8px}.price-note{text-align:left}.contact{min-height:auto;padding-top:70px;padding-bottom:60px}.contact-main{grid-template-columns:1fr;margin:60px 0;gap:45px}.contact h2{font-size:43px}.circle-cta{width:145px;height:145px;justify-self:end}.contact-note{text-align:left}footer{grid-template-columns:1fr;gap:18px;text-align:left}footer p:nth-child(2),footer p:last-child{text-align:left}dialog{padding:40px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-image-wrap img,.project-image img{transition:none}}

/* Quiet glass details: limited to navigation and consultation touchpoints. */
.site-header{border-bottom-color:rgba(255,255,255,.11);background:rgba(12,13,13,.76);box-shadow:0 10px 35px rgba(0,0,0,.16);backdrop-filter:blur(16px) saturate(.8);-webkit-backdrop-filter:blur(16px) saturate(.8)}
.nav{gap:5px;padding:5px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.025)}
.nav a{padding:5px 12px;border-radius:999px;transition:color .2s,background-color .2s}
.nav a:hover{color:var(--paper);background:rgba(255,255,255,.06)}
.header-cta{padding:8px 13px 8px 15px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:background-color .2s,border-color .2s}
.header-cta:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.28)}
.hero-note{padding:20px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.025);box-shadow:0 18px 45px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.circle-cta{border:1px solid rgba(255,255,255,.14);background:rgba(22,23,22,.94);box-shadow:0 18px 45px rgba(30,38,22,.18),inset 0 1px 0 rgba(255,255,255,.09);transition:transform .3s,background .3s,border-color .3s}
.circle-cta:hover{transform:translateY(-3px);background:#252725;border-color:rgba(255,255,255,.24)}
dialog{background:rgba(232,228,220,.96);border:1px solid rgba(255,255,255,.55);box-shadow:0 30px 100px rgba(0,0,0,.76);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}

@media(max-width:800px){.nav.open{border-width:0 0 1px;border-radius:0;background:rgba(12,13,13,.94);box-shadow:0 18px 40px rgba(0,0,0,.3);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav.open a{padding:8px 0;border-radius:0}.hero-note{padding:18px}}

/* Price guide and questions */
.price-link{margin:70px 0 0 auto;max-width:720px;display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-top:1px solid rgba(20,21,20,.25);border-bottom:1px solid rgba(20,21,20,.25);font:400 18px var(--serif)}
.price-link small{display:block;margin-bottom:5px;font:500 8px var(--latin);letter-spacing:.17em;color:#777}.price-link b{font-size:23px;font-weight:300;transition:transform .2s}.price-link:hover b{transform:translateX(5px)}
.faq{background:var(--paper);color:var(--ink);padding-top:130px;padding-bottom:150px}.faq-grid{display:grid;grid-template-columns:.65fr 1fr;gap:10vw;margin:90px 7vw 0}.faq-intro{position:sticky;top:140px;align-self:start}.faq-intro h2{font:400 clamp(35px,4.5vw,62px)/1.45 var(--serif);letter-spacing:-.045em;margin:20px 0 35px}.faq-intro .eyebrow{color:#687453}.faq-intro p{font-size:12px;color:#666;max-width:330px}.faq-list{border-top:1px solid rgba(20,21,20,.25)}.faq-list details{border-bottom:1px solid rgba(20,21,20,.25)}.faq-list summary{list-style:none;display:grid;grid-template-columns:45px 1fr 22px;align-items:center;gap:12px;padding:27px 0;cursor:pointer;font:400 16px var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:500 9px var(--latin);color:#777}.faq-list summary i{position:relative;width:14px;height:14px}.faq-list summary i:before,.faq-list summary i:after{content:"";position:absolute;top:7px;left:0;width:14px;height:1px;background:#333;transition:transform .25s}.faq-list summary i:after{transform:rotate(90deg)}.faq-list details[open] summary i:after{transform:rotate(0)}.faq-list details>p{margin:0;padding:0 36px 28px 57px;font-size:12px;line-height:2.1;color:#62645f}
.price-page{background:var(--bg)}.price-page .nav a[aria-current="page"]{background:rgba(255,255,255,.08);color:var(--paper)}.back-link{display:inline-block;font-size:10px;color:var(--muted);margin-bottom:9vh}.price-hero{padding-top:150px;padding-bottom:100px;min-height:78vh}.price-hero-grid{display:grid;grid-template-columns:1.2fr .55fr;gap:10vw;align-items:end}.price-hero h1{font:400 clamp(66px,9vw,140px)/1.1 var(--serif);letter-spacing:-.06em;margin:25px 0 0}.price-hero-grid>p{font-size:14px;color:#b8b8b3;margin:0 0 12px}.undecided-note{margin:11vh 0 0 auto;width:min(720px,65%);display:grid;grid-template-columns:220px 1fr;gap:35px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.undecided-note strong{font:400 15px var(--serif);color:var(--accent)}.undecided-note p{font-size:11px;color:var(--muted);margin:0}.price-options{padding-top:50px;padding-bottom:150px}.price-option{display:grid;grid-template-columns:.72fr 1fr;gap:10vw;padding:70px 7vw;border-top:1px solid var(--line)}.price-option:last-child{border-bottom:1px solid var(--line)}.price-option-title>span{font:500 9px var(--latin);letter-spacing:.17em;color:var(--accent)}.price-option-title h2{font:400 clamp(28px,3.8vw,50px)/1.4 var(--serif);letter-spacing:-.04em;margin:18px 0 34px}.price-state{display:inline-block;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.025);padding:8px 14px;font-size:10px;color:#c8c8c3}.price-option-body h3{font:400 16px var(--serif);margin:3px 0 20px}.price-option-body ul{list-style:none;padding:0;margin:0 0 28px;border-top:1px solid var(--line)}.price-option-body li{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.price-option-body li:before{content:"—";color:var(--accent);margin-right:14px}.price-option-body>p{font-size:11px;color:var(--muted);max-width:640px}.estimate{background:#181a19;padding-top:120px;padding-bottom:130px}.estimate-grid{display:grid;grid-template-columns:.75fr 1fr;gap:12vw;margin:80px 7vw}.estimate h2{font:400 clamp(34px,4.5vw,60px)/1.5 var(--serif);letter-spacing:-.04em;margin:0}.estimate ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.estimate li{display:grid;grid-template-columns:45px 1fr;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.estimate li span{font:500 9px var(--latin);color:var(--accent)}.estimate-grid p{font-size:11px;color:var(--muted);margin-top:25px}.extra-cost{margin-left:auto;width:min(800px,70%);padding:25px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.025)}.extra-cost h3{font:400 16px var(--serif);margin:0 0 12px}.extra-cost p{font-size:11px;color:var(--muted);margin:0}.price-cta{background:var(--accent);color:var(--ink);padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1fr 210px;gap:8vw;align-items:end}.price-cta .eyebrow{color:#536042}.price-cta h2{font:400 clamp(38px,5.4vw,72px)/1.4 var(--serif);letter-spacing:-.05em;margin:20px 0 0}.price-cta>a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid rgba(20,21,20,.3);border-bottom:1px solid rgba(20,21,20,.3);font-size:12px}
@media(max-width:800px){.price-link{margin-top:45px}.faq{padding-top:90px;padding-bottom:100px}.faq-grid{grid-template-columns:1fr;margin:60px 0 0;gap:45px}.faq-intro{position:static}.faq-intro h2{font-size:40px}.faq-list summary{grid-template-columns:32px 1fr 18px;font-size:14px}.faq-list details>p{padding-left:44px}.price-page .site-header{grid-template-columns:1fr auto}.price-hero{padding-top:110px;padding-bottom:75px}.back-link{margin-bottom:55px}.price-hero-grid,.price-option,.estimate-grid,.price-cta{grid-template-columns:1fr}.price-hero h1{font-size:58px}.price-hero-grid{gap:35px}.undecided-note{width:100%;grid-template-columns:1fr;gap:10px;margin-top:70px}.price-options{padding-top:20px;padding-bottom:90px}.price-option{padding:55px 0;gap:30px}.price-option-title h2{font-size:34px}.estimate{padding-top:90px;padding-bottom:90px}.estimate-grid{margin:55px 0;gap:45px}.extra-cost{width:100%}.price-cta{padding-top:80px;padding-bottom:80px;gap:50px}.price-cta h2{font-size:40px}}

/* Internal pricing review — values remain proposals until approved. */
.review-price{font:400 clamp(27px,3vw,42px) var(--serif);letter-spacing:-.035em;margin:0 0 18px;color:var(--paper)}.review-price small{display:block;margin-top:5px;font:500 9px var(--latin);letter-spacing:.13em;color:var(--muted)}
.price-review{padding-top:120px;padding-bottom:140px;background:#111312}.review-grid{display:grid;grid-template-columns:.65fr 1fr;gap:12vw;margin:80px 7vw}.review-grid h2{font:400 clamp(34px,4.4vw,60px)/1.5 var(--serif);letter-spacing:-.04em;margin:0 0 25px}.review-grid>div:first-child>p{font-size:11px;color:var(--muted);max-width:420px}.math-list{display:grid;gap:55px}.math-list>div{border-top:1px solid var(--line);padding-top:20px}.math-list strong{display:block;font:400 17px var(--serif);margin-bottom:15px}.math-list p{display:flex;justify-content:space-between;gap:25px;margin:0;padding:8px 0;font-size:11px;color:var(--muted)}.math-list p b{font-weight:400;color:var(--paper)}.math-list .math-total{border-top:1px solid var(--line);margin-top:8px;padding-top:13px;color:var(--paper)}.math-list .math-total b{font:400 20px var(--serif);color:var(--accent)}.math-list .math-caption{display:block;line-height:2;color:#7f817c}.capacity-note{width:min(850px,72%);margin-left:auto;padding:28px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.025);display:grid;grid-template-columns:160px 1fr;gap:35px}.capacity-note strong{font:400 16px var(--serif);color:var(--accent)}.capacity-note p{font-size:11px;color:var(--muted);margin:0}
@media(max-width:800px){.review-price{font-size:31px}.price-review{padding-top:85px;padding-bottom:95px}.review-grid{grid-template-columns:1fr;margin:55px 0;gap:50px}.review-grid h2{font-size:38px}.capacity-note{width:100%;grid-template-columns:1fr;gap:12px;padding:22px}}

/* Contact delivery states and basic bot trap. */
form button:disabled{cursor:wait;opacity:.58}.form-status{min-height:1.8em}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.consent{display:grid;grid-template-columns:16px 1fr;align-items:start;gap:10px;line-height:1.65}.consent input{width:15px;height:15px;margin:2px 0 0;accent-color:#687453}.consent a{text-decoration:underline;text-underline-offset:3px}
.legal-page{background:var(--paper);color:var(--ink)}.legal-page .site-header{position:relative}.legal-main{max-width:920px;margin:0 auto;padding-top:100px;padding-bottom:120px}.legal-main h1{font:400 clamp(42px,7vw,82px)/1.25 var(--serif);letter-spacing:-.05em;margin:25px 0 45px}.legal-lead{font:400 17px/2 var(--serif);max-width:720px}.legal-main section{padding:34px 0;border-top:1px solid rgba(20,21,20,.2)}.legal-main section h2{font:400 20px var(--serif);margin:0 0 12px}.legal-main section p,.legal-date{font-size:12px;color:#5f615b;max-width:760px}.legal-date{border-top:1px solid rgba(20,21,20,.2);padding-top:30px}.error-page{min-height:100vh;display:grid;place-items:center;padding:30px}.error-page main{max-width:760px}.error-page h1{font:400 clamp(42px,7vw,86px)/1.3 var(--serif);letter-spacing:-.05em}.error-page p{color:var(--muted);font-size:13px}.error-page .back-link{margin:45px 0 0;border-bottom:1px solid var(--line);padding-bottom:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input:focus,textarea:focus{border-bottom-color:#536042}
@media(max-width:800px){.legal-main{padding-top:70px;padding-bottom:80px}.legal-page .header-cta{display:block}.legal-main h1{font-size:44px}.legal-main section{padding:27px 0}}

/* Expandable service details. */
.service-row{display:block;padding:0}.service-row summary{display:grid;grid-template-columns:70px minmax(220px,.7fr) 1fr 40px;gap:25px;align-items:center;padding:35px 0;cursor:pointer;list-style:none}.service-row summary::-webkit-details-marker{display:none}.service-row summary p{font-size:13px;color:#666;margin:0;max-width:520px}.service-row .plus{justify-self:end;font-size:24px;font-weight:200;transition:transform .25s}.service-row[open] .plus{transform:rotate(45deg)}.service-details{margin:0 40px 0 70px;padding:2px 0 35px;display:grid;grid-template-columns:minmax(180px,.7fr) 1fr;gap:10px 25px}.service-details strong{font:500 11px var(--sans);letter-spacing:.08em}.service-details ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 25px}.service-details li{font-size:11px;color:#50524d}.service-details li:before{content:"—";margin-right:8px;color:#687453}.service-details>p{grid-column:2;font-size:11px;color:#666;margin:12px 0 0;max-width:620px}

/* Keep the desktop FAQ introduction anchored while answers expand. */
@media(min-width:801px){.faq{overflow-anchor:none}.faq-grid{align-items:start}.faq-intro{position:sticky;top:110px;align-self:start;height:max-content;opacity:1!important;transform:none!important;transition:none!important}}

@media(max-width:800px){.service-row summary{grid-template-columns:30px minmax(0,1fr) 24px;gap:10px;padding:25px 0;align-items:start}.service-row h3{font-size:19px;line-height:1.5}.service-row summary p{grid-column:2/4;font-size:12px;line-height:1.8}.service-row .plus{grid-column:3;grid-row:1}.service-details{margin:0 0 0 40px;padding:0 0 28px;grid-template-columns:1fr;gap:14px}.service-details ul{grid-template-columns:1fr;gap:7px}.service-details>p{grid-column:1;margin-top:2px}}
