@import"https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&family=Newsreader:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";:root{--paper: #F2EBDD;--paper-2: #ECE4D2;--paper-3: #E2D9C3;--ink: #1A1714;--graphite: #423B33;--pencil: #8A7E70;--rule: #D4C9B0;--rule-strong: #B8AB8E;--amber: #C8852E;--amber-deep: #A66C20;--terracotta: #B85A3A;--olive: #6B6B3E;--indigo: #2D3960;--plum: #5B2A3A;--fg-1: var(--ink);--fg-2: var(--graphite);--fg-3: var(--pencil);--fg-accent: var(--amber);--fg-on-accent: var(--paper);--bg-1: var(--paper);--bg-2: var(--paper-2);--bg-3: var(--paper-3);--border-1: var(--rule);--border-2: var(--rule-strong);--border-strong: var(--ink);--success: #4A6B3F;--warn: #A37018;--error: #8B2E2E;--font-display: "Inter Tight", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Newsreader", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-10: 10px;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-17: 17px;--fs-20: 20px;--fs-24: 24px;--fs-32: 32px;--fs-40: 40px;--fs-56: 56px;--fs-72: 72px;--fs-96: 96px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--sp-9: 96px;--sp-10: 128px;--r-0: 0;--r-1: 2px;--r-2: 4px;--r-3: 8px;--r-pill: 999px;--shadow-popover: 0 4px 16px rgba(26,23,20,.08), 0 1px 2px rgba(26,23,20,.06);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--ease-out: cubic-bezier(.2, .7, .2, 1);--w-prose: 680px;--w-content: 1080px;--w-canvas: 1240px}html,body{background:var(--bg-1);color:var(--fg-1);font-family:var(--font-body);font-size:var(--fs-16);line-height:1.6;font-variant-numeric:tabular-nums oldstyle-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,.h1{font-family:var(--font-serif);font-size:var(--fs-72);font-weight:500;line-height:1.02;letter-spacing:-.02em;color:var(--fg-1);margin:0;text-wrap:balance}h1 em,.h1 em{font-style:italic;font-weight:500;color:var(--graphite)}h2,.h2{font-family:var(--font-serif);font-size:var(--fs-40);font-weight:500;line-height:1.12;letter-spacing:-.015em;color:var(--fg-1);margin:0;text-wrap:balance}h3,.h3{font-family:var(--font-display);font-size:var(--fs-24);font-weight:500;line-height:1.25;letter-spacing:-.01em;color:var(--fg-1);margin:0}h4,.h4{font-family:var(--font-display);font-size:var(--fs-20);font-weight:500;line-height:1.3;color:var(--fg-1);margin:0}p,.body{font-family:var(--font-body);font-size:var(--fs-17);line-height:1.65;color:var(--fg-1);margin:0;text-wrap:pretty}.body-sm{font-size:var(--fs-15);line-height:1.55;color:var(--fg-2)}.label,.eyebrow{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:400;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}.index-num{font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.1em;color:var(--fg-3)}code,.code,kbd{font-family:var(--font-mono);font-size:.9em;background:var(--bg-3);padding:1px 6px;border-radius:var(--r-1);color:var(--fg-1)}a{color:var(--fg-1);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:2px;transition:color var(--dur-base) var(--ease-out)}a:hover{color:var(--amber)}hr,.rule{border:0;height:1px;background:var(--border-1);margin:var(--sp-6) 0}::selection{background:var(--amber);color:var(--paper)}.dot-bullet{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--amber);vertical-align:middle;margin:0 var(--sp-2)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);background-image:radial-gradient(circle at 20% 0%,rgba(200,133,46,.04) 0,transparent 40%),radial-gradient(circle at 80% 60%,rgba(45,57,96,.03) 0,transparent 50%);background-attachment:fixed;min-height:100vh}img,svg{display:block;max-width:100%}button{font:inherit;cursor:pointer}.container-wide{width:100%;max-width:1240px;margin:0 auto;padding:0 32px}@media (max-width: 720px){.container-wide{padding:0 20px}}.reveal{opacity:0;transform:translateY(12px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal.visible{opacity:1;transform:none}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--paper) 90%,transparent);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid transparent;transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}.site-header.scrolled{border-color:var(--rule)}.site-header .inner{max-width:1240px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:inline-flex;flex-direction:column;gap:2px;background:none;padding:0;line-height:1}.wordmark .top{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--graphite)}.wordmark .name{font-family:var(--font-serif);font-size:18px;font-style:italic;font-weight:500;color:var(--ink);letter-spacing:-.005em}.site-nav{display:flex;align-items:center;gap:28px}.site-nav a{background:none;padding:0;display:inline-flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--graphite)}.site-nav a .num{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--graphite)}.site-nav a.active{color:var(--ink)}.site-nav a.active .num,.site-nav a:hover,.site-nav a:hover .num{color:var(--amber)}.menu-btn{display:none;background:none;border:0;padding:8px;color:var(--ink)}@media (max-width: 720px){.menu-btn{display:inline-flex}.site-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);padding:8px 32px 24px;display:none}.site-nav.open{display:flex}.site-nav a{padding:14px 0;width:100%;border-bottom:1px solid var(--rule)}.site-nav a:last-child{border-bottom:0}}.hero{padding:120px 0 96px;border-bottom:1px solid var(--rule)}.hero .grid{display:grid;grid-template-columns:220px 1fr;gap:64px;align-items:start}.hero .marker{display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);padding-top:20px;border-top:1px solid var(--ink)}.hero .marker .yr{color:var(--graphite);opacity:.78}.hero h1{font-family:var(--font-serif);font-size:clamp(48px,7.5vw,96px);font-weight:500;line-height:1.02;letter-spacing:-.025em;color:var(--ink);margin:0 0 28px;text-wrap:balance}.hero h1 em{font-style:italic;font-weight:500;color:var(--amber)}.hero .lede{font-family:var(--font-serif);font-size:clamp(20px,2.2vw,26px);line-height:1.45;font-weight:400;color:var(--graphite);max-width:640px;margin:0 0 40px;text-wrap:pretty}.hero .meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:20px;font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:56px}.hero .meta-row .lab{color:var(--graphite);margin-right:8px}.hero .meta-row .dot{color:var(--graphite)}.scroll-cue{display:inline-flex;align-items:center;gap:16px;background:none;padding:0;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.scroll-cue .ar{font-family:var(--font-serif);font-size:16px;transition:transform .3s var(--ease-out)}.scroll-cue:hover{color:var(--amber)}.scroll-cue:hover .ar{transform:translateY(4px)}@media (max-width: 720px){.hero{padding:56px 0 64px}.hero .grid{grid-template-columns:1fr;gap:32px}.hero .meta-row{gap:12px;margin-bottom:32px}}.section-head{display:grid;grid-template-columns:220px 1fr;gap:64px;align-items:start;padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid var(--rule)}.section-head .index{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding-top:14px;border-top:1px solid var(--ink)}.section-head .h{font-family:var(--font-serif);font-size:clamp(34px,4.5vw,56px);font-weight:500;line-height:1.05;letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0}.section-head .h em{font-style:italic;font-weight:500;color:var(--graphite)}@media (max-width: 720px){.section-head{grid-template-columns:1fr;gap:20px;padding-bottom:32px;margin-bottom:32px}}section.about .grid,section.skills .grid,section.contact .grid{display:grid;grid-template-columns:220px 1fr;gap:64px;align-items:start}@media (max-width: 720px){section.about .grid,section.skills .grid,section.contact .grid{grid-template-columns:1fr;gap:24px}}.mark{position:relative;display:block;background:currentColor;flex-shrink:0}.mark.circle{border-radius:50%}.mark.half{border-radius:999px 999px 0 0;height:40px!important;align-self:center}.mark.arc{background:transparent;border:10px solid currentColor;border-bottom-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(45deg)}.mark.stack{background:transparent;display:flex!important;flex-direction:column;justify-content:space-between;gap:6px}.mark.stack .mark-dot{display:block;flex:1;background:currentColor;border-radius:8px;width:100%}.mark.stack .mark-dot:first-child{opacity:.55}.work{padding:96px 0;border-bottom:1px solid var(--rule)}.project-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.project-row{display:grid;grid-template-columns:56px 110px 1fr 220px 32px;align-items:center;gap:28px;padding:32px 0;border-bottom:1px solid var(--rule);background:none;color:var(--ink);transition:padding .35s var(--ease-out),background .25s var(--ease-out)}.project-row:hover{padding-left:12px;padding-right:12px;background:color-mix(in oklab,var(--paper-2) 60%,transparent)}.project-row .idx{font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.08em;color:var(--graphite);align-self:start;padding-top:6px}.project-row .mark-cell{display:flex;align-items:center;justify-content:center;height:80px}.project-row .info{display:block}.project-row .title{display:block;font-family:var(--font-serif);font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.2;letter-spacing:-.015em;color:var(--ink);margin:0 0 6px;text-wrap:balance}.project-row .title em{font-style:italic;font-weight:500;color:var(--graphite)}.project-row .desc{display:block;font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--graphite);max-width:60ch;margin:0}.project-row .meta-cell{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-align:right}.project-row .meta-cell .yr{color:var(--graphite)}.project-row .meta-cell .tags{color:var(--graphite);text-transform:none;letter-spacing:.04em;font-weight:400}.project-row .arrow{font-family:var(--font-serif);font-size:22px;color:var(--pencil);transition:transform .3s var(--ease-out),color .3s var(--ease-out);text-align:right}.project-row:hover .arrow{color:var(--amber);transform:translate(6px)}@media (max-width: 920px){.project-row{grid-template-columns:40px 70px 1fr 24px;gap:18px;padding:24px 0}.project-row .meta-cell{display:none}.project-row .mark-cell{height:56px}.project-row .mark{width:56px!important;height:56px!important}}@media (max-width: 520px){.project-row{grid-template-columns:32px 1fr 20px;gap:14px}.project-row .mark-cell{display:none}}.about{padding:96px 0;border-bottom:1px solid var(--rule)}.about .body{max-width:680px}.about .body p{font-family:var(--font-body);font-size:18px;line-height:1.7;color:var(--ink);margin:0 0 22px;text-wrap:pretty}.about .body p em{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:1.1em;color:var(--ink)}.about .stat-list{margin-top:40px;border-top:1px solid var(--ink)}.about .stat-list .row{display:grid;grid-template-columns:140px 1fr;gap:32px;padding:14px 0;border-bottom:1px solid var(--rule);font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.06em}.about .stat-list .row .label{color:var(--graphite);text-transform:uppercase}.about .stat-list .row .value{color:var(--ink);text-transform:none;letter-spacing:.02em;font-weight:400}.skills{padding:96px 0;border-bottom:1px solid var(--rule)}.skills .col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 56px}.skills .col h4{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-deep);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--rule)}.skills .col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.skills .col li{font-family:var(--font-body);font-size:16px;color:var(--ink)}@media (max-width: 720px){.skills .col-grid{grid-template-columns:1fr 1fr;gap:32px 24px}}@media (max-width: 480px){.skills .col-grid{grid-template-columns:1fr}}.contact{padding:96px 0 120px}.contact .body{max-width:680px}.contact .body>p{font-family:var(--font-serif);font-size:clamp(20px,2.2vw,24px);line-height:1.45;color:var(--graphite);margin:0 0 40px;text-wrap:pretty}.contact .links{border-top:1px solid var(--ink)}.contact .links a{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--rule);background:none;color:var(--ink);transition:padding .3s var(--ease-out),color .3s var(--ease-out)}.contact .links a:hover{padding-left:12px;color:var(--amber)}.contact .links a .left{display:flex;align-items:baseline;gap:14px;font-family:var(--font-display);font-size:clamp(18px,2vw,22px);font-weight:500}.contact .links a .left .lab{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);min-width:80px}.contact .links a:hover .left .lab{color:var(--amber)}.contact .links a .right{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}.contact .links a .ar{margin-left:6px}.site-footer{border-top:1px solid var(--rule);padding:32px 0;background:color-mix(in oklab,var(--paper-2) 60%,var(--paper))}.site-footer .inner{max-width:1240px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.site-footer .sig{display:inline-flex;align-items:baseline;gap:16px}.site-footer .sig .name{font-family:var(--font-serif);font-style:italic;font-size:14px;text-transform:none;letter-spacing:-.005em;color:var(--ink)}.site-footer .right{display:inline-flex;gap:24px}.site-footer a{background:none;padding:0;color:var(--ink)}.site-footer a:hover{color:var(--amber)}@media (max-width: 520px){.site-footer .inner{flex-direction:column;align-items:flex-start;gap:12px}.site-footer .right{gap:18px}}.case-study{padding-bottom:96px}.case-back{padding-top:24px;padding-bottom:8px}.back-link{display:inline-flex;align-items:center;gap:10px;background:none;padding:0;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.back-link .ar{font-family:var(--font-serif);font-size:16px;transition:transform .25s var(--ease-out)}.back-link:hover{color:var(--amber)}.back-link:hover .ar{transform:translate(-4px)}.case-hero{padding:56px 0 80px;border-bottom:1px solid var(--rule);margin-bottom:80px}.case-hero .grid{display:grid;grid-template-columns:220px 1fr;gap:64px;align-items:start}.case-hero .marker{display:flex;flex-direction:column;gap:10px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);padding-top:18px;border-top:1px solid var(--ink)}.case-hero .marker .num{color:var(--ink);font-weight:600}.case-hero .marker .yr{color:var(--graphite);opacity:.78}.case-hero .eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:18px}.case-title{font-family:var(--font-serif);font-size:clamp(44px,6.5vw,88px);font-weight:500;line-height:1.04;letter-spacing:-.025em;color:var(--ink);margin:0 0 36px;text-wrap:balance}.case-title em{font-style:italic;font-weight:500;color:var(--graphite)}.case-hero .mark-row{margin:24px 0 40px;padding:28px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;align-items:center}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px}.meta-row-item{display:flex;flex-direction:column;gap:4px}.meta-row-item .lab{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}.meta-row-item .val{font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--ink)}.meta-row-item .val a{color:var(--ink)}.meta-row-item .val a:hover{color:var(--amber)}@media (max-width: 720px){.case-hero{padding:40px 0 56px;margin-bottom:56px}.case-hero .grid{grid-template-columns:1fr;gap:28px}.meta-grid{grid-template-columns:1fr;gap:14px}}.disclaimer{display:grid;grid-template-columns:220px 1fr;gap:64px;margin-bottom:80px;padding:20px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}.disclaimer .lab{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-deep)}.disclaimer span:nth-child(2){font-family:var(--font-serif);font-style:italic;font-size:16px;line-height:1.55;color:var(--graphite);max-width:60ch}@media (max-width: 720px){.disclaimer{grid-template-columns:1fr;gap:10px}}.case-section{display:grid;grid-template-columns:220px 1fr;gap:64px;max-width:1240px;margin:0 auto 80px;padding:0 32px;align-items:start}.case-section-head{position:sticky;top:100px}.case-section-head .idx{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding-top:14px;border-top:1px solid var(--ink);margin-bottom:14px}.case-section-head .title{font-family:var(--font-serif);font-size:clamp(28px,3vw,36px);font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin:0;text-wrap:balance}.case-section-body{max-width:720px}.case-section-body p{font-family:var(--font-body);font-size:17px;line-height:1.7;color:var(--ink);margin:0 0 18px;text-wrap:pretty}.case-section-body p:last-child{margin-bottom:0}@media (max-width: 720px){.case-section{grid-template-columns:1fr;gap:18px;margin-bottom:56px}.case-section-head{position:static}}.bullet-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.bullet-list li{display:grid;grid-template-columns:18px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--rule);font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--ink)}.bullet-list li:before{content:"—";font-family:var(--font-mono);color:var(--amber);line-height:1.55}.architecture{margin-top:32px;padding:24px;background:color-mix(in oklab,var(--paper-2) 70%,var(--paper));border:1px solid var(--rule);border-radius:var(--r-2)}.architecture .lab{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:12px}.architecture p{font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--ink);margin:0 0 10px}.architecture p:last-child{margin-bottom:0}.feature-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 32px}.feature-list li{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink)}.feature-list .bullet{color:var(--amber);font-weight:700}@media (max-width: 720px){.feature-list{grid-template-columns:1fr;gap:0}}.stack-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 48px}.stack-col h4{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-deep);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--rule)}.stack-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.stack-col li{font-family:var(--font-body);font-size:15px;color:var(--ink)}@media (max-width: 720px){.stack-grid{grid-template-columns:1fr}}.learned-list{list-style:none;margin:0;padding:0}.learned-list li{display:grid;grid-template-columns:48px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--rule)}.learned-list li:first-child{border-top:1px solid var(--rule)}.learned-list .num{font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--amber-deep);padding-top:4px}.learned-list li>span:last-child{font-family:var(--font-serif);font-size:18px;line-height:1.5;color:var(--ink);text-wrap:pretty}.status-line{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin-bottom:28px;font-family:var(--font-body);font-size:15px;color:var(--ink)}.status-line .lab{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}.case-figure-wrap{margin:0 auto 80px}.case-figure{margin:0;display:flex;flex-direction:column;gap:14px}.case-figure .frame{position:relative;width:100%;background:repeating-linear-gradient(135deg,var(--paper-2) 0,var(--paper-2) 10px,var(--paper-3) 10px,var(--paper-3) 20px);border:1px solid var(--rule-strong);border-radius:var(--r-2);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--graphite)}.case-figure .placeholder-mark{display:flex;gap:8px;margin-bottom:14px}.case-figure .placeholder-mark span{display:block;width:16px;height:16px;border-radius:50%;background:var(--ink);opacity:.18}.case-figure .placeholder-mark span:nth-child(2){background:var(--amber);opacity:.5}.case-figure .placeholder-label{position:absolute;bottom:14px;left:14px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--paper);padding:6px 10px;border:1px solid var(--rule-strong);border-radius:var(--r-1)}.case-figure figcaption{font-family:var(--font-mono);font-size:13px;letter-spacing:.02em;color:var(--graphite);max-width:60ch}.figure-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media (max-width: 720px){.figure-grid{grid-template-columns:1fr}}.case-cta{margin-top:80px}.cta-card{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding:40px;background:color-mix(in oklab,var(--paper-2) 80%,var(--paper));border:1px solid var(--rule-strong);border-radius:var(--r-3)}.cta-card .eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:10px}.cta-card h3{font-family:var(--font-serif);font-size:clamp(22px,2.6vw,30px);font-weight:500;line-height:1.2;letter-spacing:-.015em;color:var(--ink);margin:0;text-wrap:balance}.cta-card .actions{display:inline-flex;gap:12px}.cta-card .btn{display:inline-flex;align-items:center;gap:8px;background:transparent;padding:12px 22px;border:1px solid var(--ink);border-radius:var(--r-pill);font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);transition:background .25s var(--ease-out),color .25s var(--ease-out)}.cta-card .btn:hover,.cta-card .btn-primary{background:var(--ink);color:var(--paper)}.cta-card .btn-primary:hover{background:var(--amber);border-color:var(--amber);color:var(--paper)}@media (max-width: 720px){.cta-card{grid-template-columns:1fr;padding:28px}.cta-card .actions{flex-wrap:wrap}}.frame-img{width:100%;height:100%;object-fit:cover;display:block;transform:translate(var(--pan-x, 0px),var(--pan-y, 0px)) scale(var(--frame-scale, var(--img-zoom, 1)));transition:transform .5s ease-out}@media (hover: hover) and (pointer: fine){.case-figure .frame:has(.frame-img){cursor:zoom-in}.case-figure .frame:not(.frame--pan):hover .frame-img{transform:translate(0) scale(calc(var(--img-zoom, 1) * var(--img-hover-scale, 1.08)))}}
