:root{--bg:#eaeded;--ink:#212827;--accent:#b94328;--surface:#cbd6cc;--border:color-mix(in srgb,var(--ink) 22%,transparent);--gridline:color-mix(in srgb,var(--bg) 13%,transparent);--display:Arial,sans-serif;--body:Arial,sans-serif}h1,h2{font-family:var(--display)}h3{margin-bottom:15px}section>h2+p{margin-top:26px}main>section+section{border-top:1px solid var(--border)}.art{min-width:0}.art svg{width:100%}.choice-image{max-width:640px;width:100%;max-height:450px;object-fit:contain;margin:25px 0}.stage-inner .art{max-width:850px;margin:auto;width:100%}.stage-inner>p{max-width:45ch;margin:22px auto}.stage>h2{position:relative;z-index:1}legend{font-size:19px;margin-bottom:18px}details{border-color:var(--border)}summary{font-size:20px}fieldset[disabled] input{opacity:.65}input[type=checkbox]{padding:0}header .brand{font-family:var(--body)}.auth main{min-height:calc(100svh - 170px)}.auth-help summary{font-size:16px}.stage-inner{min-height:0}.stage{padding-bottom:70px}.action{max-width:100%;font-size:16px}.status{min-height:1.8em}.note{margin-top:20px}footer{border-color:var(--border)}@media(min-width:900px) and (min-height:900px) and (prefers-reduced-motion:no-preference){.motion-ready .stage{min-height:190vh}.motion-ready .stage-inner{position:sticky;top:20px;min-height:90vh}}@media(max-width:899px),(max-height:899px){.stage-inner{position:static!important;min-height:0!important}.stage{min-height:0!important}.auth-shell{grid-template-columns:minmax(0,1fr)}}.latch-hero{padding-top:0}.latch-grid{background-color:var(--ink);background-image:linear-gradient(var(--gridline) 1px,transparent 1px),linear-gradient(90deg,var(--gridline) 1px,transparent 1px);background-size:60px 60px}.latch-grid .art{max-width:820px;margin:auto}.latch-grid svg{height:450px}.latch-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8vw;padding:55px 0}.latch-head h1{font-size:clamp(52px,5.3vw,85px)}.job-lines{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;margin-top:40px}.job-lines strong{font-size:30px}.tool-browser{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr);gap:6vw;margin-top:40px}.tool-browser article{display:grid;grid-template-columns:46px minmax(0,.7fr) minmax(0,1fr);gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--border)}.tool-browser img{width:32px;height:32px}.tool-browser h3{font-size:24px}.drawer-plan{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.8fr) minmax(0,.6fr);margin:40px 0;border:2px solid var(--ink);gap:12px;padding:15px}.drawer-plan span{padding:80px 10px;text-align:center;background:var(--surface)}.drawer-plan .clear-space{background:transparent}.reset-lines{padding:0;list-style:none;font-size:clamp(25px,4vw,48px);margin:35px 0}.reset-lines li{padding:15px 0;border-bottom:1px solid var(--border)}.latch-final{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4vw;margin-top:40px}.auth header{border-bottom:1px solid var(--border)}.auth-shell{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8vw}.auth-art{background-color:var(--ink);background-image:linear-gradient(var(--gridline) 1px,transparent 1px),linear-gradient(90deg,var(--gridline) 1px,transparent 1px);background-size:40px 40px}.auth-copy{border-top:6px solid var(--accent);padding-top:30px}@media(max-width:899px){.latch-head,.job-lines,.tool-browser,.drawer-plan,.latch-final{grid-template-columns:minmax(0,1fr)}.tool-browser article{grid-template-columns:35px minmax(0,1fr)}.tool-browser article p{grid-column:2}.drawer-plan span{padding:35px 10px}.latch-grid svg{height:auto}}
@media(max-width:899px){.auth .auth-shell{grid-template-columns:minmax(0,1fr);gap:32px}.auth .auth-copy{width:100%;max-width:520px;grid-column:1}.auth .auth-art{grid-column:1;max-width:100%;width:100%;margin:0}.auth .auth-art svg{height:auto;max-height:270px}.auth .auth-copy h1{overflow-wrap:normal}.auth .password-field input{min-width:0}}

/* Final composition follows the per-brand design agreement. */
 :root{--bg:#fff;--ink:#1a1a1a;--accent:#be552f;--surface:#f4f4f1;--display:Arial,sans-serif;--body:Arial,sans-serif}.latch header{border-bottom:1px solid #ddd;max-width:1210px;margin:auto;padding:18px 0}.latch header nav{gap:0}.latch header nav a{padding:4px 14px;border:1px solid #333;font:14px/1.2 "Courier New",monospace;text-transform:uppercase}.latch-hero{padding:0!important;border:0}.latch-grid{height:400px;background-color:#1a1a1a;background-image:linear-gradient(#6665 1px,transparent 1px),linear-gradient(90deg,#6665 1px,transparent 1px);background-size:48px 48px;display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100% - 1210px)/2),6vw);color:#fff}.latch-grid:before{content:"LATCH";font:clamp(48px,7vw,92px)/1 Arial,sans-serif;letter-spacing:-.04em}.latch-grid .art{height:100%;width:470px;display:block}.latch-grid .art svg{height:100%;max-height:400px;width:100%;object-fit:contain}.latch-head{max-width:1210px;padding:55px 0 70px;margin:auto;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:7vw}.latch-head h1{font:400 clamp(50px,5.2vw,76px)/1.12 var(--display);letter-spacing:-.035em}.latch-head .lead{font-size:19px;line-height:1.5;max-width:35ch;padding-top:12px}.latch .action{font:700 14px/1.2 "Courier New",monospace;text-transform:uppercase;padding:17px 36px;min-height:50px}.latch main>section:not(.latch-hero){max-width:1210px;margin:auto;padding:75px 0;border-color:#deded9}.latch main>section:not(.latch-hero)>h2{font-size:48px;letter-spacing:-.03em}.latch #sort{display:grid;grid-template-columns:1fr 1.1fr;gap:7vw}.latch #sort .job-lines{margin:0}.latch #tools{display:block}.latch #tools>h2{grid-column:1/-1;margin-bottom:45px}.latch #tools .tool-browser{margin:0;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:7vw}.latch #tools .controls{margin:0}.latch #tools .controls label+input{margin-top:8px}.latch #tool-search{margin-bottom:20px}.latch #order{background:#f7f7f3;padding:70px 50px}.latch #order h2{margin-bottom:50px}.latch #reset{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.latch #reset .reset-lines{margin:0}.latch #choose{display:grid;grid-template-columns:1fr 1.1fr;gap:0 8vw}.latch #choose>h2{grid-row:1/4}.latch #choose .controls,.latch #choose .actions,.latch #choose .status{grid-column:2}.latch #help{display:grid;grid-template-columns:1fr 1.1fr;gap:0 8vw}.latch #help h2{grid-row:1/3}.latch #take{background:#1a1a1a;color:#fff;padding:70px 45px}.latch #take h2{font-size:clamp(50px,6vw,85px)!important;max-width:12ch}.latch #take p{margin-top:30px}.latch #take .action{background:#fff;color:#1a1a1a}.latch footer{max-width:1210px;margin:auto;border:0;padding-inline:0}.latch.auth .auth-copy{border:0;padding:0}.latch.auth .auth-art{background:#1a1a1a;border:1px solid #222}.latch.auth .auth-shell{max-width:1210px;margin:auto;padding:70px 0;gap:90px;grid-template-columns:1.2fr .8fr}.latch.auth .auth-copy h1{font-size:54px}.latch.auth .auth-help{font-family:"Courier New",monospace}@media(max-width:1280px){.latch header,.latch main>section:not(.latch-hero),.latch-head,.latch footer,.latch.auth .auth-shell{margin-inline:6vw;padding-inline:0}}@media(max-width:899px){.latch-grid{height:330px;padding:0 6vw}.latch-grid:before{font-size:48px}.latch-grid .art{width:65%;height:330px}.latch-head{display:block;padding-top:35px}.latch-head h1{font-size:52px}.latch-head>div{margin-top:28px}.latch #sort,.latch #tools,.latch #reset,.latch #choose,.latch #help{display:block}.latch main>section:not(.latch-hero)>h2{font-size:40px;margin-bottom:32px}.latch #tools .tool-rows{margin-top:35px}.latch #order,.latch #take{padding:45px 24px!important}.latch.auth .auth-shell{padding-top:28px}.latch.auth .auth-copy h1{font-size:44px}}
@media(max-width:899px){.auth .auth-shell{grid-template-columns:minmax(0,1fr)}.auth .auth-copy,.auth .auth-art{grid-column:1;grid-row:auto}.auth .auth-copy{width:100%;max-width:520px}.auth .auth-copy h1{overflow-wrap:normal}}

@media (max-width:899px) {
  .latch.auth .auth-shell { grid-template-columns:minmax(0,1fr); gap:32px; }
  .latch.auth .auth-art, .latch.auth .auth-copy { grid-column:1; grid-row:auto; width:100%; min-width:0; }
  .latch.auth .auth-copy { max-width:520px; }
}

.latch #tools aside { max-width:340px; }
.latch #tools [data-empty] { padding-top:24px; }
.latch #take a:focus-visible { outline-color:var(--bg); }
@media(max-width:899px){.latch #tools .tool-browser { grid-template-columns:minmax(0,1fr);gap:28px; }.latch #tools aside { max-width:none; }}

.latch #order { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:0 7vw; background:transparent; padding:80px 0; align-items:center; }
.latch #order h2 { grid-column:2; grid-row:1; margin:0 0 24px; }
.latch #order .drawer-plan { grid-column:1; grid-row:1 / 3; margin:0; padding:24px; background:#f4f4f1; min-height:330px; align-items:center; grid-template-columns:minmax(0,.65fr) minmax(0,1.3fr) minmax(0,.65fr); }
.latch #order .drawer-plan span { padding:65px 10px; font-size:16px; }
.latch #order p { grid-column:2; grid-row:2; align-self:start; }
@media(max-width:899px){.latch #order{display:block;padding:45px 0!important}.latch #order .drawer-plan{grid-template-columns:minmax(0,1fr);min-height:0;padding:16px;margin:28px 0}.latch #order .drawer-plan span{padding:22px 10px}.latch #order h2{margin-bottom:24px}}

/* Allow room for enlarged text on medium screens. */
@media(min-width:900px) and (max-width:1199px){.latch-head,.latch .job-lines,.latch .latch-final,.latch .tool-browser{grid-template-columns:minmax(0,1fr)}.latch .tool-browser article{grid-template-columns:46px minmax(0,1fr);gap:20px}.latch .tool-browser article p{grid-column:2}.latch #order{display:block}.latch #order h2{max-width:none;margin-top:35px}.latch #order .drawer-plan{grid-template-columns:minmax(0,1fr);min-height:0}.latch #order .drawer-plan span{padding:30px 10px}}
@media(max-width:1199px){.latch.auth .auth-shell{grid-template-columns:minmax(0,1fr);gap:36px}.latch.auth .auth-copy,.latch.auth .auth-art{grid-column:1;grid-row:auto;width:100%;min-width:0}.latch.auth .auth-copy{max-width:650px;padding:0;margin:auto}.latch.auth .auth-art{max-width:650px;margin:0 auto;transform:none}.latch.auth .auth-art svg{max-height:400px}.latch.auth .auth-copy h1{max-width:none}}

/* Recovery: tool geometry, document specimen, and a deliberate closing grid. */
.latch #order { display:block; padding:70px 40px; background:#1d211e; color:#f3f3ec; }
.latch .order-head { display:flex; justify-content:space-between; gap:40px; align-items:flex-start; margin-bottom:48px; }
.latch #order .order-head h2 { font:400 clamp(38px,3.3vw,48px)/1.12 var(--display); max-width:12ch; margin:0; }
.latch #order .order-head p { max-width:30ch; }
.latch .drawer-workspace { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:48px; align-items:center; }
.latch #order .drawer-plan { display:block; grid-column:auto; grid-row:auto; background:transparent; border:0; min-height:0; padding:0; }
.latch .drawer-plan svg { width:100%; }
.latch .drawer-plan figcaption { font:14px/1.6 var(--body); margin-top:20px; color:#f3f3ec; }
.latch .drawer-key article { border-top:1px solid #f3f3ec40; padding:22px 0; display:grid; grid-template-columns:24px minmax(0,1fr); gap:10px 16px; }
.latch .drawer-key h3 { font-size:21px; margin:0; }
.latch .drawer-key p { font-size:15px; grid-column:2; }
.latch .key-mark { width:18px; height:18px; border:1px solid #a7aca3; margin-top:2px; }
.latch .paper-mark { background:#f3f3ec; }
.latch .work-mark { background:#383f37; }
.latch .parts-mark { background:#c88765; }
.latch #reset { display:block; padding:75px 0; }
.latch #reset>h2 { margin-bottom:44px; }
.latch .reset-panel { display:block; }
.latch .reset-lines { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; margin:0; }
.latch .reset-lines li { display:flex; align-items:flex-start; gap:24px; padding:30px 0; border-top:1px solid #deded9; border-bottom:0; }
.latch .reset-lines img { flex:none; width:32px; height:32px; }
.latch .reset-lines strong { display:block; font:400 30px/1.2 var(--display); letter-spacing:-.025em; margin-bottom:14px; }
.latch .reset-lines p { font-size:16px; }
.latch .reset-panel>.text-link { margin-top:12px; font-size:16px; }
.latch #choose { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:80px; align-items:center; }
.latch .sheet-selection { min-width:0; }
.latch #choose .sheet-selection h2 { font:400 clamp(38px,3.3vw,48px)/1.12 var(--display); margin-bottom:32px; }
.latch #choose .controls,.latch #choose .actions,.latch #choose .status { grid-column:auto; }
.latch .sheet-specimen { margin:0; padding:32px 40px 26px; border:1px solid #deded9; background:#f4f4f1; position:relative; }
.latch .sheet-binding { position:absolute; top:0; left:0; right:0; height:6px; background:#262b27; }
.latch .sheet-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-bottom:28px; border-bottom:1px solid #262b272c; }
.latch .sheet-heading strong { font-size:19px; }
.latch .sheet-heading span { font-size:14px; }
.latch .sheet-specimen h3 { font:400 38px/1.1 var(--display); margin:30px 0 20px; }
.latch .sheet-specimen ul { margin:0; list-style:none; padding:0; }
.latch .sheet-specimen li { display:grid; grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); gap:20px; padding:14px 0; border-bottom:1px solid #262b272c; font-size:16px; }
.latch .sheet-notes { display:flex; flex-direction:column; gap:24px; margin-top:30px; }
.latch .sheet-notes span { font-size:14px; }
.latch .sheet-notes i { display:block; height:1px; background:#262b272c; }
.latch .sheet-specimen figcaption { font-size:14px; margin-top:30px; }
.latch #help { padding-top:65px; padding-bottom:65px; }
.latch #take { padding:60px 40px; }
.latch .latch-final { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:50px; margin:0; align-items:end; }
.latch #take h2 { font-size:clamp(46px,5.2vw,76px)!important; max-width:none; }
.latch .latch-final .action { margin-top:24px; }
.latch .latch-final p { margin:0!important; font-size:17px; }
.latch .latch-index { margin-top:65px; padding-top:35px; border-top:1px solid #ffffff40; display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap:35px; }
.latch .latch-index>div { display:flex; flex-direction:column; }
.latch .latch-index .brand { display:flex; align-items:center; text-decoration:none; align-self:start; }
.latch .latch-index .brand img { background:#f3f3ec; }
.latch .latch-index strong { font-size:15px; margin-bottom:16px; }
.latch .latch-index a:not(.brand) { display:inline-flex; min-height:44px; align-items:center; font-size:14px; text-decoration:none; }
.latch .latch-index a:hover { text-decoration:underline; }
@media(max-width:1280px) { .latch #order,.latch #take { padding-inline:40px; } .latch #choose { gap:48px; } }
@media(max-width:1199px) { .latch .drawer-workspace { grid-template-columns:minmax(0,1fr); gap:25px; } .latch .drawer-key { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; } .latch #choose { grid-template-columns:minmax(0,1fr); gap:40px; } .latch .sheet-specimen { max-width:600px; width:100%; justify-self:center; } .latch .latch-final { grid-template-columns:minmax(0,1fr); gap:28px; } .latch .reset-lines { gap:0 28px; } }
@media(max-width:899px) { .latch #order { padding:40px 26px!important; } .latch .order-head { display:block; margin-bottom:25px; } .latch .order-head p { margin-top:24px; } .latch .drawer-key { grid-template-columns:minmax(0,1fr); gap:0; } .latch .drawer-key article { padding:22px 0; } .latch #order .drawer-plan { margin:0; } .latch .reset-lines { grid-template-columns:minmax(0,1fr); } .latch .reset-lines strong { font-size:26px; } .latch .reset-lines li { gap:18px; padding:24px 0; } .latch .sheet-specimen { padding:28px; } .latch .sheet-specimen li { grid-template-columns:minmax(0,1fr); gap:5px; } .latch #take { padding:40px 26px!important; } .latch .latch-index { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; } .latch .latch-index .brand { grid-column:1/-1; } .latch .latch-final .action { white-space:normal; text-align:center; } }
