@font-face{font-family:League Spartan;src:url(/assets/league-spartan-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:light;--paper: #f4ebd8;--paper-bright: #fff9ec;--ink: #172b2b;--muted: #52615d;--rail: #0d5c63;--rail-dark: #083e43;--coral: #b84937;--gold: #c58b22;--success: #2e6b46;--danger: #9e332a;--line: #a99f88;--display: "League Spartan", "Arial Narrow", sans-serif;--body: "Avenir Next", Avenir, "Segoe UI", sans-serif;font-family:var(--body);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);font-size:16px;line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");z-index:20;mix-blend-mode:multiply}button,input,select{font:inherit}button,a,input,select,summary,label{-webkit-tap-highlight-color:transparent}button,.button,select,input[type=range],summary{min-height:44px}button{color:inherit}a{color:var(--rail-dark);text-underline-offset:.2em}img{display:block;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--coral);outline-offset:3px}::selection{background:var(--gold);color:var(--ink)}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 16px;background:var(--ink);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{height:72px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(23,43,43,.3);background:#f4ebd8f0;position:relative;z-index:10}.brand{display:inline-flex;gap:10px;align-items:center;color:var(--ink);font:700 1.05rem var(--display);letter-spacing:.04em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.brand-mark{width:34px;height:34px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:2px;padding:5px;border:2px solid currentColor;border-radius:50% 50% 4px 4px}.brand-mark i{display:block;background:currentColor;height:9px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:13px}.site-header nav,footer nav{display:flex;align-items:center;gap:clamp(16px,3vw,40px)}.site-header nav a,footer nav a{color:var(--ink);font-weight:650;text-decoration:none}.site-header nav a:hover,footer nav a:hover{text-decoration:underline}.network-status{border:1px solid var(--rail);color:var(--rail-dark);border-radius:99px;padding:5px 12px;font-size:.8125rem;font-weight:700;white-space:nowrap}.network-status:before{content:"●";margin-right:6px;color:var(--success)}.offline .network-status:before{color:var(--gold)}main{overflow:clip}.hero{min-height:min(760px,calc(100vh - 72px));display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(32px,5vw,80px);padding:clamp(56px,8vw,112px) clamp(20px,5vw,72px);max-width:1600px;margin:auto}.hero-copy{max-width:670px}.eyebrow{margin:0 0 16px;color:var(--rail-dark);font:700 .8125rem var(--display);text-transform:uppercase;letter-spacing:.16em}.eyebrow span{display:inline-block;color:var(--paper-bright);background:var(--rail-dark);padding:4px 8px;margin-right:8px;letter-spacing:.09em}h1,h2,h3{font-family:var(--display);line-height:.98;margin-top:0}h1{margin-bottom:24px;max-width:760px;font-size:clamp(3.2rem,6.8vw,6.6rem);letter-spacing:-.045em;text-transform:uppercase}h1 em{color:var(--coral);font-style:normal}h2{margin-bottom:16px;font-size:clamp(2.25rem,4.5vw,4.4rem);letter-spacing:-.035em;text-transform:uppercase}h3{margin-bottom:10px;font-size:clamp(1.35rem,2.5vw,2rem);letter-spacing:-.02em}p{margin:0 0 16px}.lede{max-width:62ch;color:#344744;font-size:clamp(1.08rem,1.7vw,1.35rem)}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.button,.file-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--rail-dark);padding:11px 20px;font:700 .9rem var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover,.file-button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.button:active,.file-button:active{transform:translate(0);box-shadow:1px 1px 0 var(--ink)}.button.primary,.file-button{color:#fff;background:var(--rail-dark)}.button.secondary{color:var(--rail-dark);background:transparent}.button.wide{width:100%}.button:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}.privacy-note{max-width:220px;display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.privacy-note svg{width:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8}.hero-art{margin:0;position:relative;box-shadow:14px 14px 0 var(--rail-dark);border:3px solid var(--ink);background:var(--rail-dark);transform:rotate(1deg)}.hero-art:before,.hero-art:after{content:"";position:absolute;z-index:1;width:26px;height:26px;border:solid var(--paper-bright)}.hero-art:before{left:12px;top:12px;border-width:2px 0 0 2px}.hero-art:after{right:12px;bottom:42px;border-width:0 2px 2px 0}.hero-art img{width:100%;aspect-ratio:3/2;object-fit:cover}.hero-art figcaption{padding:8px 12px;background:var(--rail-dark);color:#fff;font-size:.8rem;letter-spacing:.05em}.studio{padding:clamp(56px,8vw,104px) clamp(20px,5vw,72px);background:var(--ink);color:var(--paper-bright)}.studio>*{max-width:1380px;margin-left:auto;margin-right:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px}.section-heading h2{margin:0}.studio .eyebrow{color:#e0bd70}.text-button{border:0;border-bottom:1px solid currentColor;padding:8px 0;background:none;color:inherit;font-weight:700;cursor:pointer}.route{display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin-top:0;margin-bottom:44px;list-style:none;position:relative}.route:before{content:"";position:absolute;left:5%;right:5%;top:17px;height:3px;background:#657371}.route li{position:relative;display:grid;justify-items:center;gap:8px;color:#aeb9b4;font:700 .78rem var(--display);letter-spacing:.12em;text-transform:uppercase}.route li span{z-index:1;width:36px;height:36px;display:grid;place-items:center;background:var(--ink);border:2px solid #82908b;border-radius:50%}.route li.active{color:#fff}.route li.active span{color:var(--ink);background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px var(--ink)}.route li.complete{color:#e3eadf}.route li.complete span{color:#fff;background:var(--success);border-color:#a3c8ad}.route li.complete span:after{content:"✓";font-size:.85rem}.route li.complete span{font-size:0}.status{margin-bottom:24px;padding:0;min-height:0}.status:not(:empty){padding:11px 16px;border-left:5px solid currentColor;background:#ffffff14}.status.loading{color:#f1ce83}.status.success{color:#afd3b8}.status.warning{color:#f1ce83}.status.error{color:#ffb6ab}.load-panel{min-height:260px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;padding:clamp(28px,5vw,56px);border:2px dashed #8d9b96;background:#203a38;transition:border-color .18s ease,background .18s ease}.load-panel.dragging{border-color:#f0c468;background:#294943}.ticket-number{color:var(--gold);font:700 clamp(3rem,7vw,6rem)/1 var(--display)}.load-panel p{max-width:62ch;color:#ced6d1}.load-panel input[type=file],.import-button+input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.load-panel .drop-note{grid-column:3;margin:-24px 0 0;text-align:center;font-size:.78rem}.saved-state{border-style:solid}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px}.source-column,.pace-column,.proof-panel,.print-panel{border-top:4px solid var(--gold);background:var(--paper-bright);color:var(--ink);padding:clamp(20px,3vw,36px)}.panel-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}.panel-heading h3{margin:0}.step-tag{flex:0 0 auto;color:var(--coral);font:700 .75rem var(--display);letter-spacing:.1em;text-transform:uppercase}.video-stage{position:relative;background:#071111;overflow:hidden}.video-stage video{width:100%;max-height:480px;display:block}.crop-box{position:absolute;inset:0;border:3px solid #f0b846;box-shadow:0 0 0 9999px #030f0f9e;pointer-events:none}.crop-box:before,.crop-box:after,.crop-box span:before,.crop-box span:after{content:"";position:absolute;width:18px;height:18px;border-color:#fff}.crop-box:before{left:-3px;top:-3px;border-left:4px solid;border-top:4px solid}.crop-box:after{right:-3px;top:-3px;border-right:4px solid;border-top:4px solid}.crop-box span:before{left:-3px;bottom:-3px;border-left:4px solid;border-bottom:4px solid}.crop-box span:after{right:-3px;bottom:-3px;border-right:4px solid;border-bottom:4px solid}.meta-line{margin:12px 0;color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.preset-row button{padding:8px 14px;border:1px solid var(--rail);background:transparent;color:var(--rail-dark);cursor:pointer}.preset-row button:hover{background:#e0ebe4}.crop-details{margin-top:12px}summary{display:flex;align-items:center;cursor:pointer;font-weight:700}summary:before{content:"+";width:26px;font:700 1.2rem var(--display)}details[open] summary:before{content:"−"}.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:12px 0}.range-grid label,.proof-controls label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px;color:var(--muted);font-size:.85rem;font-weight:650}.range-grid input,.proof-controls input{grid-column:1 / -1;width:100%;accent-color:var(--rail)}output{color:var(--ink);font-variant-numeric:tabular-nums}.timeline-fields{margin-bottom:24px}fieldset{min-width:0;margin:0 0 24px;padding:0;border:0}legend{margin-bottom:10px;font-weight:700}.frame-options{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.frame-options label{min-width:0;cursor:pointer}.frame-options input{position:absolute;opacity:0}.frame-options span{min-height:62px;display:grid;place-items:center;padding:7px 3px;border:2px solid #85928e;font:700 1.2rem var(--display)}.frame-options small{display:block;color:var(--muted);font:600 .58rem var(--body);text-transform:uppercase}.frame-options input:checked+span{color:#fff;background:var(--rail-dark);border-color:var(--rail-dark)}.frame-options input:checked+span small{color:#d9e8e3}.frame-options input:focus-visible+span{outline:3px solid var(--coral);outline-offset:3px}.frame-options .locked span:after{content:"◆";font-size:.55rem;color:var(--coral)}.pace-note{min-height:72px;display:flex;flex-direction:column;justify-content:center;margin:12px 0 20px;padding:12px 16px;background:#eee4cd;border-left:4px solid var(--gold)}.pace-note span{color:var(--muted);font-size:.82rem}.pace-column .button+.button{margin-top:10px}.progress-wrap{margin-top:18px}.progress-wrap label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.85rem}progress{width:100%;height:12px;accent-color:var(--coral)}.proof-panel,.print-panel{margin-top:24px}.proof-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:24px}.proof-head p{color:var(--muted)}.proof-controls{display:flex;align-items:end;gap:16px}.proof-controls select{grid-column:1 / -1;padding:6px 34px 6px 10px;border:1px solid var(--line);background:#fff;color:var(--ink)}.light-table{padding:clamp(16px,4vw,40px);background-color:#eeddb9;background-image:linear-gradient(rgba(81,69,46,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(81,69,46,.08) 1px,transparent 1px);background-size:24px 24px;border:1px solid #c5b183}.proof-canvas{position:relative;max-width:860px;min-height:300px;margin:auto;background:#fff;box-shadow:0 10px 30px #18242133;overflow:hidden}.proof-canvas img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.proof-canvas .base-frame{position:relative}.proof-canvas .onion-frame{mix-blend-mode:multiply;filter:sepia(1) saturate(4) hue-rotate(315deg)}.proof-canvas .next{filter:sepia(1) saturate(3) hue-rotate(120deg)}.frame-caption{max-width:860px;display:flex;justify-content:center;align-items:center;gap:20px;margin:16px auto 0;font-variant-numeric:tabular-nums}.frame-caption button{width:44px;border:1px solid var(--ink);background:var(--paper-bright);cursor:pointer}.frame-caption button:disabled{opacity:.35;cursor:default}.filmstrip{display:flex;gap:10px;padding:14px 2px 8px;overflow-x:auto;scroll-snap-type:x proximity}.frame-thumb{position:relative;flex:0 0 100px;min-height:76px;padding:0;border:3px solid transparent;background:#d8cfbc;cursor:pointer;scroll-snap-align:center}.frame-thumb[aria-selected=true]{border-color:var(--coral)}.frame-thumb img{width:100%;height:72px;object-fit:cover}.frame-thumb span{position:absolute;right:3px;bottom:3px;min-width:24px;padding:1px 3px;background:var(--paper-bright);color:var(--ink);font:700 .72rem var(--display)}.print-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.print-settings fieldset{display:grid;gap:8px;border-left:2px solid var(--gold);padding-left:16px}.print-settings label{min-height:44px;display:flex;align-items:center;gap:10px}.print-settings input{width:19px;height:19px;accent-color:var(--rail)}.print-callout{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:20px;background:#eee4cd}.print-callout>span{color:var(--coral);font-size:1.5rem}.print-callout p{margin:0}.action-row{display:flex;flex-wrap:wrap;gap:10px}.how{padding:clamp(72px,10vw,132px) clamp(20px,6vw,88px);max-width:1500px;margin:auto}.how>h2{max-width:850px}.how ol{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,5vw,72px);padding:0;margin-top:56px;list-style:none;counter-reset:steps}.how li{padding-top:18px;border-top:4px solid var(--ink)}.how li>span{color:var(--coral);font:700 2.8rem var(--display)}.how li p{color:var(--muted);max-width:34ch}.unlock{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,8vw,120px);align-items:center;padding:clamp(64px,9vw,120px) clamp(20px,6vw,88px);color:var(--paper-bright);background:var(--rail-dark)}.unlock>div:first-child{max-width:760px;justify-self:end}.unlock .eyebrow{color:#ebc675}.license-card{max-width:460px;padding:28px;border:2px solid #b8c6c0;background:var(--paper-bright);color:var(--ink);box-shadow:10px 10px #061f22}.license-state{padding-bottom:12px;border-bottom:1px solid var(--line);font-weight:800}.license-state:before{content:"◇";color:var(--coral);margin-right:8px}.license-state.unlocked:before{content:"◆";color:var(--success)}.license-card details{margin-top:16px}.license-card small{display:block;margin-top:18px;color:var(--muted);line-height:1.4}.input-action{display:grid;grid-template-columns:1fr auto}.input-action input{width:100%;min-width:0;padding:8px;border:1px solid var(--line)}.input-action button{padding:8px 12px;border:0;color:#fff;background:var(--rail-dark);font-weight:700}#licenseMessage{min-height:24px;margin:4px 0;color:var(--danger);font-size:.85rem}footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:24px;padding:40px clamp(20px,5vw,72px);border-top:1px solid var(--line)}footer p{color:var(--muted)}footer nav{align-items:flex-end;flex-direction:column;gap:8px}footer .disclosure{grid-column:1 / -1;margin:0;font-size:.75rem}.toast{position:fixed;z-index:50;right:20px;bottom:20px;display:flex;align-items:center;gap:16px;padding:12px 16px;color:#fff;background:var(--ink);box-shadow:5px 5px 0 var(--coral)}.toast button{border:1px solid white;color:#fff;background:transparent;padding:6px 10px}#printRoot{display:none}@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy,.hero-art{max-width:760px}.workspace,.unlock{grid-template-columns:1fr}.unlock>div:first-child{justify-self:start}.proof-head{align-items:start;flex-direction:column}}@media(max-width:620px){.site-header{height:64px;padding:0 16px}.network-status{max-width:118px;overflow:hidden;text-overflow:ellipsis}.hero{padding:48px 18px 64px;gap:44px}h1{font-size:clamp(2.8rem,15vw,4.2rem)}.hero-actions{align-items:stretch;flex-direction:column}.privacy-note{max-width:none}.hero-art{margin-right:10px;box-shadow:9px 9px 0 var(--rail-dark)}.studio{padding:56px 16px}.section-heading{align-items:start;flex-direction:column}.route{margin-left:-5px;margin-right:-5px}.route li{font-size:.58rem;letter-spacing:.03em}.route li span{width:30px;height:30px}.route:before{top:14px}.load-panel{min-height:340px;grid-template-columns:1fr;text-align:center;gap:16px}.ticket-number{display:none}.load-panel .drop-note{grid-column:auto;margin:-12px 0 0}.source-column,.pace-column,.proof-panel,.print-panel{padding:20px 14px}.panel-heading{align-items:start;flex-direction:column;gap:6px}.range-grid{grid-template-columns:1fr}.proof-controls{width:100%;align-items:stretch;flex-direction:column}.proof-controls label{width:100%}.proof-canvas{min-height:180px}.print-settings,.how ol{grid-template-columns:1fr}.print-settings{gap:4px}.action-row{display:grid}.how,.unlock{padding:72px 20px}.license-card{padding:22px 18px}footer{grid-template-columns:1fr}footer nav{align-items:start}footer .disclosure{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{@page{size:auto;margin:0}body{background:#fff}body:before,body>:not(#app),#app>:not(#printRoot),#app>header,#app>main,#app>footer,.toast{display:none!important}#printRoot{display:block!important;color:#111;background:#fff;font-family:Arial,sans-serif}.print-page{width:210mm;height:297mm;position:relative;overflow:hidden;break-after:page;page-break-after:always;background:#fff}#printRoot[data-size=letter] .print-page{width:8.5in;height:11in}.contact-page{padding:15mm}.contact-heading{border-bottom:.5mm solid #111;margin-bottom:8mm}.contact-heading p{margin:0 0 2mm;font-size:9pt;text-transform:uppercase;letter-spacing:.08em}.contact-heading h2{margin:0 0 3mm;font-size:24pt;text-transform:capitalize}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm}.contact-grid figure{position:relative;margin:0;border:.25mm solid #777}.contact-grid img{width:100%;height:27mm;object-fit:cover;filter:grayscale(1)}.contact-grid figcaption{position:absolute;right:1mm;bottom:1mm;padding:0 1mm;background:#fff;font:700 7pt Arial}.trace-page{padding:16mm}.binding-margin{position:absolute;z-index:2;left:0;top:0;bottom:0;width:22mm;border-right:.4mm dashed #555;background:repeating-linear-gradient(45deg,transparent,transparent 3mm,#eee 3mm,#eee 4mm)}#printRoot[data-binding=right] .binding-margin{left:auto;right:0;border-left:.4mm dashed #555;border-right:0}.binding-margin span{position:absolute;top:50%;left:-29mm;width:80mm;text-align:center;transform:rotate(-90deg);font:700 7pt Arial;letter-spacing:.16em}#printRoot[data-binding=right] .binding-margin span{left:-28mm;transform:rotate(90deg)}.print-crop-marks{position:absolute;inset:16mm;border:.25mm solid #999}.print-frame-stack{position:absolute;inset:28mm 22mm 38mm 34mm;display:grid;place-items:center;overflow:hidden}#printRoot[data-binding=right] .print-frame-stack{inset:28mm 34mm 38mm 22mm}.print-frame-stack img{grid-area:1 / 1;max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1) contrast(.65) brightness(1.4)}.print-frame-stack .print-onion{mix-blend-mode:multiply;filter:grayscale(1) contrast(.7) brightness(1.25)}.print-page-number{position:absolute;right:16mm;bottom:12mm;display:flex;align-items:baseline;gap:3mm}#printRoot[data-binding=right] .print-page-number{right:auto;left:16mm}.print-page-number span{font:700 7pt Arial;letter-spacing:.12em}.print-page-number strong{font:700 28pt Arial}.print-page-number small{font:8pt Arial}}
