@charset "UTF-8";@font-face{font-family:YakuHanJP;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jp/YakuHanJP-Regular.woff2) format("woff2")}@font-face{font-family:YakuHanJP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jp/YakuHanJP-Bold.woff2) format("woff2")}@font-face{font-family:YakuHanMP;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jp/YakuHanMP-Regular.woff2) format("woff2")}@font-face{font-family:YakuHanMP;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jp/YakuHanMP-Medium.woff2) format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jp/NotoSansJP-400.subset.woff2) format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jp/NotoSansJP-700.subset.woff2) format("woff2")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jp/ZenOldMincho-600.subset.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/latin/SpaceGrotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+2010-203B,U+2212,U+2500-25FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/latin/SpaceMono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+2010-203B,U+2212}:root{--font-sans: "YakuHanJP", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Original Yu Gothic", "Yu Gothic", YuGothic, Meiryo, sans-serif;--font-mincho: "YakuHanMP", "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "MS PMincho", serif;--font-latin: "Space Grotesk", var(--font-sans);--font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-micro: .6875rem;--fs-small: .8125rem;--fs-body: clamp(.9375rem, .905rem + .16vw, 1.0625rem);--fs-lead: clamp(1.0625rem, 1rem + .32vw, 1.3125rem);--fs-h3: clamp(1.1875rem, 1.09rem + .48vw, 1.5rem);--fs-h2: clamp(1.75rem, 1.35rem + 1.9vw, 3rem);--fs-h1: clamp(2.375rem, 1.35rem + 4.6vw, 5rem);--fs-num: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);--lh-body: 1.8;--lh-lead: 1.9;--lh-title: 1.42;--lh-display: 1.16;--tr-body: .02em;--tr-title: .03em;--tr-mono: .14em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--sp-9: 6rem;--sp-10: 8rem;--sp-11: 10rem;--page: 1240px;--gutter: clamp(1.25rem, 4.2vw, 4rem);--rule: 1px;--r-xs: 2px;--r-sm: 6px;--r-md: 12px;--r-lg: 20px;--ease: cubic-bezier(0, 1, .64, 1);--ease-expo: cubic-bezier(.16, 1, .3, 1);--t-fast: .16s;--t: .32s;--t-slow: .76s;--paper: #f6f2ea;--paper-2: #efe9de;--surface: #fdfbf7;--ink: #1f1c18;--ink-2: #4a453d;--ink-3: #7c7468;--line: #ddd5c7;--line-2: #c9bfad;--brand: #143a5e;--brand-2: #2b6690;--brand-tint: #e7eef5;--cta: #b0421a;--cta-2: #d15a2c;--gold: #9a7b3f;--shadow-1: 0 1px 2px rgb(64 54 40 / 7%), 0 2px 6px rgb(64 54 40 / 5%);--shadow-2: 0 2px 4px rgb(64 54 40 / 6%), 0 18px 42px rgb(64 54 40 / 10%);--shadow-cta: 0 10px 24px rgb(176 66 26 / 22%);--grain: .035;color-scheme:light}:root[data-theme=dark]{--paper: #0d1014;--paper-2: #11161c;--surface: #141a21;--ink: #ece6dc;--ink-2: #b3ab9e;--ink-3: #8a8377;--line: #262e38;--line-2: #38424f;--brand: #86bce0;--brand-2: #a9d3ef;--brand-tint: #16222e;--cta: #e0713f;--cta-2: #f08a56;--gold: #c8a35c;--shadow-1: 0 1px 2px rgb(0 6 12 / 40%), 0 2px 8px rgb(0 6 12 / 30%);--shadow-2: 0 2px 6px rgb(0 6 12 / 45%), 0 22px 48px rgb(0 6 12 / 45%);--shadow-cta: 0 10px 26px rgb(224 113 63 / 24%);--grain: .05;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--tr-body);font-feature-settings:"palt" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color var(--t) var(--ease),color var(--t) var(--ease)}body:before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:var(--grain);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");mix-blend-mode:multiply}:root[data-theme=dark] body:before{mix-blend-mode:screen}h1,h2,h3,h4{margin:0;font-weight:600;line-height:var(--lh-title);letter-spacing:var(--tr-title);text-wrap:balance;word-break:auto-phrase}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:.28em;text-decoration-thickness:from-font;transition:color var(--t-fast) var(--ease),text-decoration-color var(--t-fast) var(--ease)}a:hover{text-decoration-color:currentColor}img,svg{display:block;max-width:100%}b,strong{font-weight:700}:focus-visible{outline:2px solid var(--cta);outline-offset:3px;border-radius:var(--r-xs)}::selection{background:color-mix(in srgb,var(--cta) 26%,transparent)}.mono{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--ink-3)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:.75rem;left:.75rem;z-index:10000;padding:.65rem 1.1rem;background:var(--ink);color:var(--paper);border-radius:var(--r-sm);font-size:var(--fs-small);transform:translateY(-160%);transition:transform var(--t) var(--ease)}.skip:focus-visible{transform:translateY(0)}.progress{position:fixed;inset:0 0 auto;height:2px;z-index:900;background:transparent;pointer-events:none}.progress__bar{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(var(--progress, 0));background:linear-gradient(90deg,var(--brand),var(--cta))}.head{position:fixed;inset:0 0 auto;z-index:800;padding:clamp(.75rem,1.6vw,1.25rem) 0;transition:padding var(--t) var(--ease),background-color var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t) var(--ease);border-bottom:var(--rule) solid transparent}.head[data-stuck=true]{padding:.55rem 0;background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom-color:var(--line);box-shadow:var(--shadow-1)}.head__inner{max-width:var(--page);margin-inline:auto;padding-inline:var(--gutter);display:flex;align-items:center;gap:var(--sp-5)}.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);flex:0 0 auto}.brand__mark{color:var(--brand);transition:transform var(--t-slow) var(--ease-expo),color var(--t) var(--ease)}.brand:hover .brand__mark{transform:rotate(-8deg) scale(1.04);color:var(--cta)}.brand__type{display:grid;line-height:1.25}.brand__type b{font-family:var(--font-latin);font-size:.9375rem;font-weight:600;letter-spacing:.09em}.brand__type i{font-style:normal;font-size:.625rem;letter-spacing:.16em;color:var(--ink-3)}.nav{display:none;margin-inline:auto;gap:clamp(.9rem,2vw,1.9rem);font-size:var(--fs-small)}.nav a{position:relative;text-decoration:none;color:var(--ink-2);padding-block:.35rem}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--cta);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--t) var(--ease)}.nav a:hover,.nav a[aria-current=true]{color:var(--ink)}.nav a:hover:after,.nav a[aria-current=true]:after{transform:scaleX(1)}.head__actions{display:flex;align-items:center;gap:.6rem;margin-left:auto}.iconbtn{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:var(--rule) solid var(--line);border-radius:50%;background:transparent;color:var(--ink-2);cursor:pointer;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.iconbtn:hover{color:var(--ink);border-color:var(--line-2);background:var(--surface);transform:translateY(-1px)}:root[data-theme=light] .ico-moon{display:none}:root[data-theme=dark] .ico-sun{display:none}.head .head__cta{display:none}.rail{display:none;position:fixed;right:clamp(.5rem,calc((100vw - var(--page)) / 2 - 5.5rem),2.5rem);top:50%;transform:translateY(-50%);z-index:700}.rail ol{display:grid;gap:.9rem}.rail a{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;text-decoration:none;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.1em;color:var(--ink-3);opacity:.55;transition:opacity var(--t) var(--ease),color var(--t) var(--ease)}.rail a i{font-style:normal;font-family:var(--font-sans);letter-spacing:.06em;opacity:0;transform:translate(6px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease)}.rail a:after{content:"";width:1.5rem;height:1px;background:currentColor;transition:width var(--t) var(--ease)}.rail a:hover,.rail a[aria-current=true]{opacity:1;color:var(--ink)}.rail a:hover i,.rail a[aria-current=true] i{opacity:1;transform:translate(0)}.rail a[aria-current=true]:after{width:2.75rem;background:var(--cta)}.btn{--btn-bg: transparent;--btn-fg: var(--ink);--btn-line: var(--line-2);display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.72rem 1.3rem;border:var(--rule) solid var(--btn-line);border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-family:inherit;font-size:var(--fs-small);font-weight:700;letter-spacing:.04em;text-decoration:none;cursor:pointer;transition:transform var(--t-fast) var(--ease),box-shadow var(--t) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.btn svg{transition:transform var(--t) var(--ease-expo)}.btn:hover svg{transform:translate(3px)}.btn--cta{--btn-bg: var(--cta);--btn-fg: #fffaf6;--btn-line: var(--cta);box-shadow:var(--shadow-cta)}:root[data-theme=dark] .btn--cta{--btn-fg: #14100e}.btn--cta:hover{--btn-bg: var(--cta-2);--btn-line: var(--cta-2);transform:translateY(-2px)}.btn--ghost:hover{--btn-bg: var(--surface);--btn-line: var(--ink-3);transform:translateY(-2px)}.btn--lg{padding:.95rem 1.7rem;font-size:var(--fs-body)}.btn--block{width:100%}.hero{padding-top:clamp(6.5rem,14vh,9.5rem);padding-bottom:var(--sp-7);position:relative;overflow:clip}.hero:before{content:"";position:absolute;inset:-20% -10% auto;height:90vh;background:radial-gradient(60% 60% at 22% 18%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 70%),radial-gradient(50% 50% at 88% 8%,color-mix(in srgb,var(--cta) 10%,transparent),transparent 72%);pointer-events:none;z-index:-1}.hero__grid{max-width:var(--page);margin-inline:auto;padding-inline:var(--gutter);display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tr-mono);color:var(--ink-3);text-transform:uppercase}.eyebrow__dot{width:6px;height:6px;border-radius:50%;background:var(--cta);box-shadow:0 0 0 4px color-mix(in srgb,var(--cta) 18%,transparent);animation:pulse 3.2s var(--ease) infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--cta) 18%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--cta) 0%,transparent)}}.hero__title{margin:clamp(1.1rem,2.4vw,1.8rem) 0 0;font-family:var(--font-mincho);font-size:var(--fs-h1);font-weight:600;line-height:var(--lh-display);letter-spacing:.01em}.hero__title .line{display:block;overflow:hidden}.hero__title .line>span{display:block}.hero__lead{margin-top:clamp(1.3rem,2.6vw,1.9rem);max-width:34em;font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--ink-2)}.hero__lead b{color:var(--ink);box-shadow:inset 0 -.42em color-mix(in srgb,var(--cta) 16%,transparent)}.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:clamp(1.6rem,3vw,2.4rem)}.hero__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,2vw,1.75rem);margin:clamp(2.2rem,5vw,3.5rem) 0 0;padding-top:var(--sp-5);border-top:var(--rule) solid var(--line)}.hero__facts dt{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;color:var(--ink-3)}.hero__facts dd{margin:.35rem 0 0;font-size:var(--fs-small);color:var(--ink-2)}.hero__facts b{font-family:var(--font-latin);font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:500;letter-spacing:0;color:var(--ink);margin-right:.28rem;font-variant-numeric:tabular-nums}.hero__art{margin:0;position:relative;justify-self:center;width:min(100%,34rem)}.hero__art img{width:100%;height:auto;border-radius:var(--r-lg);border:var(--rule) solid var(--line);background:var(--surface);box-shadow:var(--shadow-2)}.hero__art figcaption{display:flex;align-items:center;gap:.6rem;margin-top:.9rem;font-size:var(--fs-micro);letter-spacing:.08em;color:var(--ink-3)}.ticker{margin-top:clamp(3rem,7vw,5rem);padding-block:.85rem;border-block:var(--rule) solid var(--line);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ticker__track{display:flex;gap:2.5rem;width:max-content;animation:ticker 46s linear infinite}.ticker__track span{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.ticker__track span:before{content:"◇";margin-right:2.5rem;color:var(--line-2)}@keyframes ticker{to{transform:translate(-50%)}}.section{position:relative;padding-block:clamp(4.5rem,11vw,8.5rem)}.section--tint{background:var(--paper-2);border-block:var(--rule) solid var(--line)}.section>*{max-width:var(--page);margin-inline:auto;padding-inline:var(--gutter)}.section__head{margin-bottom:clamp(2.4rem,5.5vw,4rem)}.section__index{display:block;margin-bottom:var(--sp-4)}.section__index:before{content:"";display:inline-block;width:1.6rem;height:1px;margin-right:.7rem;vertical-align:middle;background:var(--cta)}.section__title{font-family:var(--font-mincho);font-size:var(--fs-h2);max-width:20em}.section__lead{margin-top:var(--sp-5);max-width:42em;font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--ink-2)}.section__lead b{color:var(--ink)}.laws{display:grid;gap:var(--rule);background:var(--line);border:var(--rule) solid var(--line);border-radius:var(--r-md);overflow:hidden}.law{position:relative;padding:clamp(1.75rem,4vw,2.75rem);background:var(--surface);transition:background-color var(--t) var(--ease)}.law:hover{background:color-mix(in srgb,var(--brand-tint) 60%,var(--surface))}.law__no{font-size:.75rem;color:var(--cta)}.law__title{margin-top:var(--sp-4);font-family:var(--font-mincho);font-size:var(--fs-h3)}.law__en{margin-top:.35rem;font-size:.625rem;color:var(--ink-3)}.law__body{margin-top:var(--sp-4);color:var(--ink-2)}.law__meta{margin-top:var(--sp-5);padding-top:var(--sp-3);border-top:var(--rule) solid var(--line);font-size:.625rem;letter-spacing:.06em;text-transform:none}.works{display:grid;gap:clamp(1.25rem,3vw,2rem)}.work{background:var(--surface);border:var(--rule) solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--t) var(--ease-expo),box-shadow var(--t) var(--ease),border-color var(--t) var(--ease)}.work:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:var(--shadow-2)}.work__link{display:block;text-decoration:none;color:inherit;height:100%}.work__shot{margin:0;aspect-ratio:16 / 10;overflow:hidden;background:var(--paper-2);border-bottom:var(--rule) solid var(--line)}.work__shot img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease-expo)}.work:hover .work__shot img{transform:scale(1.03)}.work__body{padding:clamp(1.35rem,3vw,2rem)}.work__tag{font-size:.625rem;color:var(--brand)}.work__title{margin-top:.75rem;font-family:var(--font-mincho);font-size:var(--fs-h3)}.work__desc{margin-top:var(--sp-4);color:var(--ink-2);font-size:var(--fs-small);line-height:1.85}.work__spec{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:var(--sp-5);text-transform:none;letter-spacing:.06em}.work__spec li{padding:.3rem .65rem;border:var(--rule) solid var(--line);border-radius:999px;font-size:.625rem;color:var(--ink-3)}.work__go{display:inline-flex;align-items:center;gap:.45rem;margin-top:var(--sp-5);font-size:var(--fs-small);font-weight:700;color:var(--cta)}.work__go span{transition:transform var(--t) var(--ease-expo)}.work:hover .work__go span{transform:translate(5px)}.metrics{display:grid;gap:clamp(1.25rem,3vw,2rem)}.metric{padding-top:var(--sp-5);border-top:2px solid var(--ink)}.metric__value{font-family:var(--font-latin);font-size:var(--fs-num);line-height:1;font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.metric__value i{font-style:normal;font-size:.34em;margin-left:.35rem;letter-spacing:.08em;color:var(--ink-3);font-family:var(--font-sans)}.metric__label{margin-top:var(--sp-4);font-size:var(--fs-body);font-weight:700}.metric__note{margin-top:var(--sp-2);font-size:var(--fs-small);line-height:1.85;color:var(--ink-3)}.quote{margin:clamp(3rem,7vw,5rem) auto 0;padding:clamp(1.75rem,4vw,3rem);background:var(--surface);border:var(--rule) solid var(--line);border-left:3px solid var(--cta);border-radius:var(--r-md);max-width:calc(var(--page) - 2 * var(--gutter))}.quote blockquote{margin:0}.quote p{font-family:var(--font-mincho);font-size:var(--fs-lead);font-weight:600;line-height:1.95}.quote figcaption{margin-top:var(--sp-5);font-size:var(--fs-small);color:var(--ink-3)}.steps{display:grid;gap:0;counter-reset:step}.step{display:grid;gap:var(--sp-2);padding-block:clamp(1.5rem,3.4vw,2.25rem);border-top:var(--rule) solid var(--line);transition:padding-left var(--t) var(--ease-expo)}.step:last-child{border-bottom:var(--rule) solid var(--line)}.step:hover{padding-left:.75rem}.step__no{color:var(--cta)}.step__title{font-family:var(--font-mincho);font-size:var(--fs-h3)}.step__body{color:var(--ink-2);max-width:46em}.tablewrap{overflow-x:auto;border:var(--rule) solid var(--line);border-radius:var(--r-md);background:var(--surface);-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:var(--fs-small);min-width:34rem}.table th,.table td{text-align:left;padding:1rem clamp(.9rem,2vw,1.5rem);border-bottom:var(--rule) solid var(--line);vertical-align:top}.table thead th{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--ink-3);font-weight:400;white-space:nowrap}.table tbody th{font-weight:700;white-space:nowrap}.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color var(--t-fast) var(--ease)}.table tbody tr:hover{background:var(--brand-tint)}.table td.mono{white-space:nowrap}.stack__note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem;margin-top:var(--sp-6);max-width:48em;font-size:var(--fs-small);color:var(--ink-3);line-height:1.9}.stack__note .mono{padding:.2rem .5rem;margin-top:.35em;border:var(--rule) solid var(--line-2);border-radius:var(--r-xs);color:var(--ink-2)}.faq{display:grid;gap:0;border-top:var(--rule) solid var(--line)}.qa{border-bottom:var(--rule) solid var(--line)}.qa summary{display:flex;align-items:flex-start;gap:1rem;padding-block:clamp(1.1rem,2.6vw,1.6rem);cursor:pointer;list-style:none;font-size:var(--fs-body);font-weight:700;transition:color var(--t-fast) var(--ease)}.qa summary::-webkit-details-marker{display:none}.qa summary:after{content:"";flex:0 0 auto;width:.75rem;height:.75rem;margin-left:auto;margin-top:.55em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--t) var(--ease-expo);color:var(--ink-3)}.qa[open] summary:after{transform:rotate(-135deg)}.qa summary:hover{color:var(--cta)}.qa__body{padding-bottom:clamp(1.1rem,2.6vw,1.75rem);padding-right:clamp(0,4vw,3rem);max-width:46em;color:var(--ink-2);animation:qa-in var(--t) var(--ease) both}@keyframes qa-in{0%{opacity:0;transform:translateY(-6px)}}.contact__grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:start}.contact__list{display:grid;gap:.6rem;margin-top:var(--sp-6);font-size:var(--fs-small);color:var(--ink-2)}.contact__list li{display:flex;gap:.7rem}.contact__list li:before{content:"";flex:0 0 auto;width:.45rem;height:.45rem;margin-top:.72em;border-radius:50%;background:var(--cta)}.form{display:grid;gap:var(--sp-5);padding:clamp(1.5rem,3.6vw,2.5rem);background:var(--surface);border:var(--rule) solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.field{display:grid;gap:.5rem}.field label{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-small);font-weight:700}.req{padding:.1rem .4rem;border-radius:var(--r-xs);background:color-mix(in srgb,var(--cta) 14%,transparent);color:var(--cta);font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.08em}.field input,.field textarea,.field select{width:100%;padding:.8rem .95rem;font:inherit;font-size:var(--fs-small);color:var(--ink);background:var(--paper);border:var(--rule) solid var(--line-2);border-radius:var(--r-sm);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.field textarea{resize:vertical;min-height:6.5rem;line-height:1.8}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.field input[aria-invalid=true]{border-color:var(--cta);box-shadow:0 0 0 3px color-mix(in srgb,var(--cta) 16%,transparent)}.field ::placeholder{color:var(--ink-3);opacity:.75}.select{position:relative;display:grid}.select select{appearance:none;padding-right:2.4rem;cursor:pointer}.select svg{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ink-3)}.err{font-size:.75rem;color:var(--cta)}.form__status{min-height:1.5em;font-size:var(--fs-small);color:var(--brand)}.form__status[data-state=ok]:before{content:"✓ "}.form__note{font-size:.6875rem;line-height:1.8;color:var(--ink-3)}.foot{padding-block:clamp(3rem,7vw,5rem) var(--sp-6);background:var(--ink);color:var(--paper)}:root[data-theme=dark] .foot{background:#080b0e;border-top:var(--rule) solid var(--line)}.foot__inner{max-width:var(--page);margin-inline:auto;padding-inline:var(--gutter);display:grid;gap:clamp(2rem,5vw,3.5rem)}.foot__logo{font-family:var(--font-latin);font-size:1.25rem;font-weight:500;letter-spacing:.14em}.foot__tag{margin-top:.4rem;font-size:var(--fs-small);opacity:.55}.foot__nav{display:grid;gap:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.foot__nav h2{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tr-mono);text-transform:uppercase;opacity:.5;font-weight:400}.foot__nav ul{display:grid;gap:.55rem;margin-top:var(--sp-4);font-size:var(--fs-small)}.foot__nav a{text-decoration:none;opacity:.82;transition:opacity var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.foot__nav a:hover{opacity:1;color:var(--cta-2)}.foot__legal{max-width:var(--page);margin:clamp(2.5rem,6vw,4rem) auto 0;padding:var(--sp-5) var(--gutter) 0;border-top:var(--rule) solid rgb(255 255 255 / 12%);font-size:.6875rem;line-height:1.9;opacity:.55}.foot__legal .mono{color:inherit;margin-right:.75rem}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity var(--t-slow) var(--ease-expo),transform var(--t-slow) var(--ease-expo);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.js .reveal.is-in{opacity:1;transform:none}.js .hero__title .line>span{transform:translateY(105%);transition:transform .9s var(--ease-expo);transition-delay:var(--reveal-delay, 0ms)}.js .hero__title .line.is-in>span{transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .reveal,.js .hero__title .line>span{opacity:1;transform:none}.ticker__track{animation:none}}@media (min-width: 40em){.hero__facts{gap:var(--sp-6)}.laws{grid-template-columns:repeat(2,1fr)}.law:last-child{grid-column:1 / -1}.metrics,.works{grid-template-columns:repeat(2,1fr)}.work--feature{grid-column:1 / -1}.step{grid-template-columns:8rem 1fr;align-items:baseline}.step__no{grid-row:1 / 3}.head .head__cta{display:inline-flex}}@media (min-width: 60em){.nav{display:flex}.laws{grid-template-columns:repeat(3,1fr)}.law:last-child{grid-column:auto}.metrics{grid-template-columns:repeat(4,1fr)}.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.contact__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.foot__inner{grid-template-columns:minmax(0,.9fr) minmax(0,2fr)}.step{grid-template-columns:10rem minmax(0,1fr)}.work--feature .work__link{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center}.work--feature .work__shot{height:100%;aspect-ratio:auto;border-bottom:0;border-right:var(--rule) solid var(--line)}.work--feature .work__body{padding:clamp(2rem,3.6vw,3rem)}.work--feature .work__title{font-size:clamp(1.5rem,2.4vw,2rem)}.work--feature .work__desc{font-size:var(--fs-body)}}@media (min-width: 80em){.rail{display:block}.hero{padding-top:clamp(8rem,16vh,11rem)}}
