@font-face{font-family:Inter;src:url('../fonts/inter-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-latin-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-latin-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif-4-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif-4-latin-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('../fonts/ibm-plex-mono-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('../fonts/ibm-plex-mono-latin-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

:root{
    color-scheme:only light;
    --paper:#F7F8F6;--white:#FFFFFF;--zebra:#E8EDF1;--rule:#D3DCE3;
    --ink:#141C22;--muted:#5B6B77;--slate:#1C2F3D;--slate-hover:#2A4457;
    --green:#092718;--gold:#D8AD62;--bronze:#7A5C2E;--link:#1B4A6B;--link-hover:#22577A;
    --success:#1F5C3E;--success-ground:#EAF0E9;--alert:#8C2F22;--alert-ground:#F8EFEC;
    --notice-ground:#F4F0E6;--control-border:#7B8992;--transparent:transparent;
    --company:#B5322A;--company-light:#E8705C;
    --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;
    --space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-18:4.5rem;
    --radius:2px;--radius-round:999px;--gutter:clamp(1.25rem,3vw,2.5rem);--measure:1280px;--mobile-header:3.5rem;
    --sans:Inter,-apple-system,'Segoe UI',system-ui,sans-serif;
    --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
    --mono:'IBM Plex Mono',Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--space-6)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--link-hover)}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
button{color:inherit}
button,input,select,textarea,a,summary{-webkit-tap-highlight-color:var(--transparent)}
:focus-visible{outline:2px solid var(--link-hover);outline-offset:3px}
h1,h2,h3,p,ul,ol,figure{margin:0}
h1,h2,h3{overflow-wrap:anywhere}
h1,h2{font-family:var(--serif);font-weight:600;color:var(--slate);text-wrap:balance}
h1{font-size:clamp(1.75rem,3.2vw,2.25rem);line-height:1.16;letter-spacing:-.012em}
h2{font-size:clamp(1.5rem,2.3vw,1.875rem);line-height:1.25}
h3{font-size:1.125rem;line-height:1.35;font-weight:600;color:var(--slate)}
p,li{overflow-wrap:anywhere}
strong,b{font-weight:600}
address{font-style:normal}
ul,ol{padding-left:var(--space-6)}
hr{border:0;border-top:1px solid var(--rule);margin:var(--space-8) 0}
.wrap{width:min(100% - var(--gutter)*2,var(--measure));margin-inline:auto}
.site-main{padding-top:var(--space-8);padding-bottom:var(--space-16);min-height:50vh}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;top:var(--space-2);left:var(--gutter);padding:var(--space-3) var(--space-4);background:var(--white);color:var(--slate);z-index:100;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.devbar{padding:var(--space-1) var(--gutter);text-align:center;background:var(--alert);color:var(--white);font-size:.8125rem;line-height:1.6;letter-spacing:.02em}
.utility-bar{background:var(--slate);color:var(--paper);font-size:.875rem}
.utility-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-1) var(--space-6);padding-block:var(--space-1)}
.utility-inner a{color:var(--paper);text-decoration:none}
.utility-inner a:hover{text-decoration:underline}
.utility-inner span,.utility-email{display:none}
.site-header{position:relative;background:var(--white);border-bottom:1px solid var(--rule)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--mobile-header)}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);width:fit-content;max-width:100%;text-decoration:none;color:var(--slate)}
.brand-emblem{flex:none;width:34px;height:34px}
.brand-emblem img{width:100%;height:100%}
.wordmark{display:flex;flex-direction:column;min-width:0}
.wordmark-name{font:700 1.1875rem/1.15 var(--serif);font-variant:small-caps;letter-spacing:.045em;color:var(--company);border-bottom:1px solid var(--gold);padding-bottom:var(--space-1)}
.wordmark-company{display:none;font-size:.75rem;line-height:1.3;font-weight:700;letter-spacing:.18em;color:var(--company);text-transform:uppercase;padding-top:var(--space-1)}
.company-name{color:var(--company)}
.browse-sizes{margin-top:var(--space-5);text-align:center;font-weight:700}
.browse-sizes a{font-weight:700}
.rosette-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--space-5);margin-top:var(--space-5)}
.rosette-item{margin:0;text-align:center;scroll-margin-top:5rem}
.rosette-item img{width:100%;height:140px;object-fit:contain;border:1px solid var(--rule);border-radius:var(--radius);background:var(--white);padding:var(--space-2)}
.rosette-item figcaption{margin-top:var(--space-2);font-weight:700}
.rosette-item:target img{outline:3px solid var(--company);outline-offset:2px}
.product-spec-table a{color:var(--link);font-weight:600}
.header-search{display:flex;align-items:stretch;min-width:0}
.header-search input{width:100%;min-width:0;border:1px solid var(--control-border);border-right:0;border-radius:var(--radius) 0 0 var(--radius);background:var(--paper);padding:var(--space-3);font-size:1rem;color:var(--ink)}
.header-search button{flex:none;min-height:48px;padding:var(--space-2) var(--space-4);border:1px solid var(--slate);border-radius:0 var(--radius) var(--radius) 0;background:var(--slate);color:var(--white);font-size:1rem;font-weight:600}
.header-search button:hover{background:var(--slate-hover)}
.desktop-search,.masthead>.header-quote,.primary-nav{display:none}
.header-quote{justify-self:stretch}
.nav-menu{flex:none}
.menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:48px;padding:var(--space-2);font-size:1rem;font-weight:600;list-style:none;color:var(--slate)}
.menu-toggle::-webkit-details-marker,.products-menu>summary::-webkit-details-marker{display:none}
.menu-symbol{width:20px;height:10px;border-block:2px solid var(--slate)}
.mobile-menu-panel{position:absolute;top:100%;inset-inline:0;z-index:20;padding:var(--space-5);max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;background:var(--white);border-block:1px solid var(--rule)}
.mobile-menu-panel .header-search{margin-bottom:var(--space-4)}
.mobile-menu-action{padding:var(--space-3) var(--space-4)}
.mobile-menu-action .button{width:100%}
.nav-items{display:flex;flex-direction:column;padding-bottom:var(--space-3)}
.nav-items>a,.products-menu>summary{min-height:48px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:1rem;font-weight:500;text-decoration:none;color:var(--slate);list-style:none;border-radius:var(--radius)}
.nav-items>a:hover,.products-menu>summary:hover,.products-menu[open]>summary{background:var(--paper);color:var(--green)}
.chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:auto}
.products-menu[open]>summary .chevron{transform:rotate(225deg)}
.products-panel{background:var(--white);border:1px solid var(--rule);border-top:2px solid var(--gold);padding:var(--space-5)}
.products-links{display:grid;list-style:none;padding:0;margin:var(--space-3) 0 var(--space-4)}
.products-links a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;min-height:48px;border-bottom:1px solid var(--rule);text-decoration:none;line-height:1.4;color:var(--slate)}
.products-links a:hover{color:var(--green);text-decoration:underline}
.products-links a span{color:var(--bronze)}
.panel-spec-link{display:block;padding-top:var(--space-2);font-size:1rem}
.button,button.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);border:1px solid var(--slate);border-radius:var(--radius);background:var(--slate);color:var(--white);font-size:1rem;line-height:1.4;font-weight:600;text-decoration:none;text-align:center}
.button:hover{background:var(--slate-hover);border-color:var(--slate-hover);color:var(--white)}
.button-secondary{background:var(--transparent);color:var(--slate)}
.button-secondary:hover{background:var(--zebra);color:var(--slate);border-color:var(--slate)}
.button-row,.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-6)}
.eyebrow{font-size:.8125rem;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;font-weight:600;color:var(--green)}
.lead{font-size:1.0625rem;line-height:1.6;color:var(--muted);max-width:68ch}
.muted{color:var(--muted)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.9375em}
.breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:.875rem;color:var(--muted);margin-bottom:var(--space-6);line-height:1.6}
.breadcrumb a{color:var(--link)}
.breadcrumb>span{min-width:0;overflow-wrap:anywhere}
.page-heading{display:grid;gap:var(--space-4);margin-bottom:var(--space-8);max-width:68ch}
.page-heading .eyebrow{margin-bottom:0}
.content-stack>*+*{margin-top:var(--space-5)}
.section{margin-top:var(--space-16)}
.section-heading{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}
.section-heading .eyebrow{margin-bottom:var(--space-2)}
.section-heading>p{max-width:60ch}
.hero{display:grid;gap:var(--space-8);align-items:center}
.hero-copy h1{font-size:clamp(1.875rem,3.05vw,2.75rem);line-height:1.12;max-width:26ch;margin-block:0 var(--space-5)}
.hero-copy .lead{color:var(--ink);max-width:62ch}
.hero-media{background:var(--green);border-radius:var(--radius);overflow:hidden;align-self:center}
.hero-media img{width:100%;aspect-ratio:16/9;object-fit:cover}
.hero-media figcaption{padding:var(--space-3) var(--space-4);color:var(--paper);font-size:.875rem}
.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:stretch}
.product-tile{display:flex;flex-direction:column;min-width:0;height:100%;border:1px solid var(--rule);border-radius:var(--radius);background:var(--white);color:var(--slate);text-decoration:none;overflow:hidden}
.product-tile:hover{border-color:var(--bronze);color:var(--slate)}
.product-tile:focus-visible{outline-offset:4px;border-color:var(--bronze)}
.tile-media{aspect-ratio:4/3;flex:none;width:100%;overflow:hidden;background:var(--paper)}
.tile-media picture{width:100%;height:100%}
.tile-media img{width:100%;height:100%;object-fit:contain}
.plate-image{position:relative;width:100%;aspect-ratio:4/3;background:var(--paper)}
.plate-image img{position:absolute;inset:0;width:100%;height:100%;padding-top:var(--space-8);object-fit:contain}
.plate-image-unlabelled img{padding-top:0}
.plate-label{position:absolute;top:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--rule);background:var(--white);color:var(--slate);font:500 .8125rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.04em}
.plate-citation{color:var(--muted);font-size:.875rem;line-height:1.5}
.product-plate{border:1px solid var(--rule);background:var(--white);border-radius:var(--radius);overflow:hidden}
.product-plate .plate-citation{padding:var(--space-3) var(--space-4);border-top:1px solid var(--rule)}
.tile-art{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%;margin:0;padding:var(--space-5) var(--space-4);background:var(--paper);color:var(--slate);font:600 clamp(1rem,1.75vw,1.375rem)/1.2 var(--serif);text-align:center;text-wrap:balance}
.tile-art::after{content:'';position:absolute;left:var(--space-4);right:var(--space-4);height:1px;background:var(--gold)}
.tile-art::after{bottom:var(--space-4)}
.tile-body{display:flex;flex-direction:column;flex:1;gap:var(--space-3);padding:var(--space-4)}
.tile-title{font:600 1.125rem/1.25 var(--serif);color:var(--slate);text-wrap:balance}
.tile-meta{font-size:1rem;line-height:1.5;color:var(--muted);margin-top:auto}
.tile-meta.mono{font-size:.875rem}
.tile-arrow{color:var(--bronze);font-size:1.25rem;line-height:1}
.tag{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;max-width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--rule);border-radius:var(--radius);font:500 .8125rem/1.5 var(--sans);background:var(--paper);color:var(--green)}
.tag::before{content:'';width:6px;height:6px;flex:none;border-radius:var(--radius-round);background:currentColor}
.audience-grid{display:grid;gap:var(--space-4)}
.card{display:block;min-width:0;background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--space-6);color:var(--ink)}
.card h2,.card h3{margin-bottom:var(--space-3)}
.card p{max-width:68ch}
.card p+p{margin-top:var(--space-4)}
.audience-grid .card{border-top:2px solid var(--green)}
.audience-grid .card p{color:var(--muted)}
.process-grid{display:grid;gap:var(--space-6);list-style:none;padding:0}
.process-step{min-width:0;border-top:1px solid var(--rule);padding-top:var(--space-4)}
.process-number{display:block;font:500 2rem/1.25 var(--mono);color:var(--bronze);margin-bottom:var(--space-3)}
.process-step p{font-size:1rem}
.specs-band{margin-top:var(--space-16);background:var(--slate);color:var(--paper);border-top:2px solid var(--gold);padding:var(--space-8);display:grid;gap:var(--space-5)}
.specs-band h2,.specs-band .eyebrow{color:var(--paper)}
.specs-band a{color:var(--paper);text-decoration-color:var(--gold)}
.specs-band a:hover{color:var(--gold)}
.specs-band p{max-width:60ch}
.specs-band ul{list-style:none;padding:0;display:grid;gap:var(--space-4)}
.specs-links{display:grid;gap:var(--space-4)}
.specs-links a{display:block;padding-block:var(--space-2)}
.product-overview{display:grid;gap:var(--space-8);align-items:start}
.product-details{display:grid;gap:var(--space-6)}
.product-details h2,.product-details h3{margin-bottom:var(--space-3)}
.product-details ul{display:grid;gap:var(--space-2)}
.product-aside{min-width:0}
.size-checker{border-top:3px solid var(--green)}
.size-checker .eyebrow,.product-aside .eyebrow{margin-bottom:var(--space-2)}
.size-checker .form-grid{margin-top:var(--space-5)}
.size-checker .form-grid>:last-child{grid-column:1/-1}
.size-checker>p:last-child,.size-checker .page-actions+div+p{margin-top:var(--space-4)}
.checker-result{margin-top:var(--space-6);padding:var(--space-5);background:var(--paper);border:1px solid var(--rule)}
.checker-result>*+*{margin-top:var(--space-4)}
.checker-result--success{border-color:var(--success);background:var(--success-ground)}
.checker-result--success>strong{color:var(--success)}
.checker-result--warning{border-color:var(--bronze);background:var(--notice-ground)}
.checker-result--error{border-color:var(--alert);background:var(--alert-ground);color:var(--alert)}
.spec-section{margin-top:var(--space-10);min-width:0}
.spec-section h2,.spec-section h3{margin-bottom:var(--space-4)}
.spec-section>.section-heading{display:block}
.spec-section>.section-heading .eyebrow{margin-bottom:var(--space-2)}
.spec-section-header{display:grid;gap:var(--space-5);align-items:end;margin-bottom:var(--space-4)}
.spec-section-header .section-heading{display:block;margin:0}
.spec-section-header h2{margin-bottom:0}
.spec-section-header .spec-toolbar{display:block;margin:0}
.spec-section-header .size-filter{max-width:none}
.spec-section-header #size-filter-count{font-size:1rem;margin-top:var(--space-2)}
.spec-caption{margin-top:var(--space-4);max-width:68ch}
.spec-section>.content-stack+.content-stack{margin-top:var(--space-8)}
.section+.content-stack{margin-top:var(--space-8)}
.section>.eyebrow{margin-bottom:var(--space-2)}
.section>h2+p{margin-top:var(--space-4)}
.table-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;border:1px solid var(--rule);border-radius:var(--radius);margin-block:var(--space-4);max-height:36rem;isolation:isolate}
.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:1rem;line-height:1.45;font-variant-numeric:tabular-nums;background:var(--white)}
.data-table th,.data-table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
.data-table thead th{position:sticky;top:0;z-index:1;background:var(--slate);color:var(--white);font-weight:600}
.data-table tbody tr:nth-child(even){background:var(--zebra)}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table td{font-family:var(--sans);font-size:1rem}
.data-table td.mono,.size-table td{font-family:var(--mono);font-size:.9375rem}
.size-table{min-width:640px}
.size-box{border:1px solid var(--rule);border-radius:var(--radius);margin-block:var(--space-4);max-height:30rem;overflow:auto}
.size-grid{list-style:none;margin:0;padding:var(--space-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:var(--space-2) var(--space-5)}
.size-chip{padding-block:var(--space-1);white-space:nowrap}
.size-chip[hidden]{display:none}
.size-table td,.size-table th{white-space:nowrap;text-align:right}
.size-table td:first-child,.size-table th:first-child{text-align:left}
.size-table tbody th{font:400 .9375rem/1.45 var(--mono)}
.table-unit{display:block;font-weight:400}
.size-table--filtered tbody tr{background:var(--white)}
.size-table--filtered tbody tr.size-row-alternate{background:var(--zebra)}
.spec-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-4);margin-block:var(--space-6)}
.size-filter{max-width:28rem;width:100%}
.letter-styles{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-6);margin-block:var(--space-6)}
.letter-styles li{padding-block:var(--space-3);border-bottom:1px solid var(--rule)}
.field{min-width:0}
label{display:block;font-weight:500;margin-bottom:var(--space-2)}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{width:100%;max-width:100%;min-width:0;min-height:48px;padding:var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius);background:var(--white);color:var(--ink);font-size:1rem}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input[type=checkbox],input[type=radio]{width:20px;height:20px;flex:none;accent-color:var(--green)}
input[type=date]{appearance:none;min-height:48px}
input[type=date]::-webkit-date-and-time-value{text-align:left}
textarea{min-height:140px;resize:vertical}
.form-grid{display:grid;gap:var(--space-5)}
.quote-form{max-width:56rem}
.form-section{margin:0;min-width:0}
.form-section legend{padding-inline:var(--space-2);font-family:var(--serif);font-size:1.375rem;line-height:1.4;font-weight:600;color:var(--slate)}
.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:0;min-height:48px;padding-block:var(--space-2)}
.checkbox-label input{margin-top:var(--space-1)}
.bid-date{max-width:24rem;margin-top:var(--space-4)}
@supports selector(:has(*)){.bid-controls:not(:has(input[name="is_bid"]:checked)) .bid-date{display:none}}
.notice{border:1px solid var(--rule);border-left:3px solid var(--green);padding:var(--space-5);background:var(--white)}
.notice>*+*{margin-top:var(--space-3)}
.notice-error{background:var(--alert-ground);border-color:var(--alert);color:var(--alert)}
.notice-success{background:var(--success-ground);border-color:var(--success)}
.notice-urgent{background:var(--notice-ground);border-color:var(--bronze)}
.callout{border:1px solid var(--rule);padding:var(--space-6);background:var(--white);margin-bottom:var(--space-8)}
.callout>*+*{margin-top:var(--space-4)}
.callout-error{background:var(--alert-ground);border-color:var(--alert);color:var(--alert)}
.contact-card{max-width:48rem}
.contact-card address>*+*{margin-top:var(--space-2)}
.site-footer{padding-top:var(--space-12);background:var(--slate);color:var(--paper);border-top:2px solid var(--gold)}
.footer-grid{display:grid;gap:var(--space-10)}
.site-footer a{color:var(--paper);text-decoration:none;line-height:1.5}
.site-footer a:hover{color:var(--gold);text-decoration:underline}
.footer-brand{font:600 1.5rem/1.25 var(--serif);color:var(--company-light);margin-bottom:var(--space-5)}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);min-width:0}
.footer-contact a{overflow-wrap:anywhere}
.footer-contact address{margin-bottom:var(--space-2)}
.site-footer h2{font:600 1rem/1.5 var(--sans);color:var(--gold);margin-bottom:var(--space-4)}
.site-footer ul{padding:0;list-style:none;display:grid;gap:var(--space-3)}
.footer-bottom{padding-block:var(--space-6);border-top:1px solid var(--control-border);margin-top:var(--space-10);font-size:.875rem}
.utility-bar :focus-visible,.site-footer :focus-visible,.specs-band :focus-visible{outline-color:var(--gold)}
.error-shell{width:calc(100% - 2 * var(--space-5));max-width:48rem;margin:var(--space-8) auto}
.error-debug .container{width:calc(100% - 2 * var(--space-5));max-width:75rem;margin:auto;padding-block:var(--space-5)}
.error-debug .header,.error-debug .tab-content{background:var(--white);border-bottom:1px solid var(--rule)}
.error-debug .environment{padding:var(--space-3);background:var(--slate);color:var(--paper);text-align:center;overflow-wrap:anywhere}
.error-debug h1{font-size:clamp(1.75rem,4vw,2.5rem)}
.error-debug pre{white-space:pre-wrap;overflow-wrap:anywhere}
.error-debug .source{overflow:auto;max-width:100%;padding:var(--space-4);background:var(--slate);color:var(--paper);font-family:var(--mono)}
.error-debug .source .line{line-height:1.5}
.error-debug .source .number{color:var(--gold)}
.error-debug .tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}
.error-debug .tabs a{display:block;padding:var(--space-3);border:1px solid var(--rule)}
.error-debug .tabs a.active{background:var(--slate);color:var(--paper)}
.error-debug .content{padding:var(--space-4);overflow:auto}
.error-debug .hide,.error-debug .args{display:none}
.error-debug .args.is-open{display:block}
.error-debug .alert{padding:var(--space-4);border:1px solid var(--rule)}
.error-debug table{width:100%;table-layout:fixed;border-collapse:collapse}
.error-debug th,.error-debug td{padding:var(--space-2);border-bottom:1px solid var(--rule);vertical-align:top;overflow-wrap:anywhere;text-align:left}
.error-debug .diagnostic-key{width:35%}
.error-debug .trace{padding-left:var(--space-5)}
.error-debug .trace td pre{margin:0}
@media(min-width:600px){
    .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .letter-styles{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:768px){
    body{font-size:1.0625rem}
    .site-main{padding-top:var(--space-10)}
    .utility-inner{justify-content:flex-start;padding-block:var(--space-1)}
    .utility-email{display:block}
    .utility-inner span{display:block;margin-left:auto}
    .masthead{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:var(--space-6);align-items:center;padding-block:var(--space-4)}
    .brand{grid-column:auto}
    .brand-emblem{width:56px;height:56px}
    .wordmark-name{font-size:1.5rem}
    .wordmark-company{display:block}
    .header-search{max-width:470px;width:100%;margin-left:auto}
    .desktop-search,.masthead>.header-quote{display:flex}
    .primary-nav{display:block;border-top:1px solid var(--rule)}
    .primary-nav>.wrap{position:relative}
    .nav-menu{display:none}
    .nav-items{flex-direction:row;align-items:center;gap:var(--space-3);padding:0}
    .nav-items>a,.products-menu>summary{padding:var(--space-3) var(--space-5);min-height:52px}
    .products-menu{position:static}
    .products-panel{position:absolute;inset-inline:0;top:100%;z-index:10;max-height:70vh;overflow-y:auto;padding:var(--space-6)}
    .products-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-8)}
    .chevron{margin-left:var(--space-2)}
    .lead{font-size:1.1875rem}
    .spec-section-header{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:var(--space-8)}
    .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
    .tile-title{font-size:1.25rem}
    .audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
    .product-details{grid-template-columns:repeat(2,minmax(0,1fr))}
    .footer-grid{grid-template-columns:1fr 1.5fr}
    .footer-products ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-6)}
    .footer-resources{grid-column:2}
}
@media(min-width:1024px){
    .hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-10);min-height:380px}
    .hero-copy h1{max-width:27ch}
    .hero-copy .lead{font-size:1.0625rem}
    .products-links{grid-template-columns:repeat(3,minmax(0,1fr))}
    .product-overview{grid-template-columns:minmax(0,3fr) minmax(340px,2fr);gap:var(--space-10)}
    .process-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6)}
    .specs-band{grid-template-columns:1fr 1.3fr;align-items:center;padding:var(--space-10)}
    .letter-styles{grid-template-columns:repeat(4,minmax(0,1fr))}
    .footer-grid{grid-template-columns:1.2fr 1.6fr .8fr;gap:var(--space-10)}
    .footer-resources{grid-column:auto}
}
@media(min-width:1280px){
    .directory-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
    .hero{max-height:58vh}
    .hero-copy .lead{font-size:1.125rem}
    .products-links{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:767px){
    .site-main{padding-top:var(--space-4)}
    .utility-bar,.eyebrow{font-size:1rem}
    .site-main .muted,.tile-meta.mono,.tag,.breadcrumb,.mono,.data-table td,.data-table td.mono,.size-table td,.size-table tbody th,.footer-bottom{font-size:1rem}
    .plate-citation{font-size:1rem}
    .directory-grid{gap:var(--space-3)}
    .tile-body{padding:var(--space-3)}
    .tile-title{font-size:1.0625rem}
    .tile-art{padding:var(--space-2) var(--space-3);font-size:1rem}
    .tile-art::after{left:var(--space-3);right:var(--space-3);bottom:var(--space-1)}
    .specs-band{padding:var(--space-6)}
    .footer-products ul{gap:var(--space-2)}
    .site-footer li a{display:inline-block;padding-block:var(--space-2)}
}
@media(max-width:359px){.directory-grid{grid-template-columns:minmax(0,1fr)}}
/* Tom's desk and private customer quotes */
body.desk-page{font-size:1.125rem;line-height:1.65}
.desk-page :is(.mono,.muted,.eyebrow,.breadcrumb,.button,input,textarea,select,small,.tag){font-size:1.125rem}
.desk-page :is(button,.button,summary,input,select){min-height:52px}
.desk-page .button-secondary,.customer-quote button.button.button-secondary{background:var(--transparent);color:var(--slate)}
.desk-page .button-secondary:hover,.customer-quote button.button.button-secondary:hover{background:var(--zebra);color:var(--slate)}
.desk-page :is(pre,textarea){white-space:pre-wrap;overflow-wrap:anywhere}
.desk-page :is(form,section,details,article,div){min-width:0}
.desk-page .wrap{max-width:960px}
.desk-header{background:var(--white);border-bottom:2px solid var(--gold)}
.desk-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);padding-block:var(--space-5)}
.desk-brand{display:flex;align-items:center;gap:var(--space-3);max-width:100%;color:var(--slate);text-decoration:none}
.desk-brand img{flex:none}
.desk-brand-copy{display:grid;line-height:1.4;overflow-wrap:anywhere}
.desk-brand-name{font:600 1.75rem/1.25 var(--serif)}
.desk-main{padding-block:var(--space-8) var(--space-16)}
.desk-page-heading>*+*{margin-top:var(--space-2)}
.desk-page-heading h1{font-size:clamp(2rem,4vw,2.75rem)}
.desk-page-heading .eyebrow{letter-spacing:.025em}
.desk-page .breadcrumb{margin-bottom:var(--space-2)}
.desk-page .breadcrumb a{padding-block:var(--space-2)}
.desk-flash{border-width:2px;border-left-width:8px;scroll-margin-top:var(--space-4)}
.desk-flash h2{font:600 1.25rem/1.4 var(--sans);color:inherit}
.desk-urgent{background:var(--alert-ground);border:2px solid var(--alert);border-left-width:8px;color:var(--alert)}
.desk-urgent h2{color:var(--alert)}
.desk-urgent strong{display:block}
.desk-urgent-label{color:var(--alert);padding-bottom:var(--space-3)}
.desk-list{display:grid;gap:var(--space-5)}
.desk-request-card{padding:var(--space-6);background:var(--white);border:1px solid var(--rule);border-radius:var(--radius)}
.desk-request-card.is-urgent{border:2px solid var(--alert);border-left-width:8px}
.desk-request-card-heading{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}
.desk-request-card h2{font-size:1.625rem}
.desk-status{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--zebra);color:var(--slate);font-weight:500}
.desk-request-contact{margin-top:var(--space-2)}
.desk-request-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin-block:var(--space-4);color:var(--muted)}
.desk-login{max-width:38rem;margin:var(--space-6) auto}
.desk-login>*+*{margin-top:var(--space-6)}
.desk-private-label{color:var(--bronze);font-weight:600}
.desk-login-card>*+*{margin-top:var(--space-5)}
.desk-login-card .button{width:100%}
.desk-next{padding:var(--space-5) var(--space-6);border-left:4px solid var(--gold);background:var(--white)}
.desk-next.content-stack>*+*{margin-top:var(--space-2)}
.desk-next .eyebrow{color:var(--bronze);letter-spacing:.035em}
.desk-next h2{font-size:1.625rem}
.desk-next h2 a{color:var(--slate);text-decoration:none}
.desk-next h2 a:hover{text-decoration:underline}
.desk-workflow{display:grid;gap:var(--space-3)}
.desk-step{border:1px solid var(--rule);border-radius:var(--radius);background:var(--white);scroll-margin-top:var(--space-4)}
.desk-step>summary{display:grid;grid-template-columns:2rem minmax(0,1fr) auto 1.25rem;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);list-style:none;color:var(--muted);line-height:1.4}
.desk-step>summary::-webkit-details-marker{display:none}
.desk-step>summary::after{content:'+';font-size:1.5rem;text-align:center;font-weight:500}
.desk-step[open]>summary::after{content:'−'}
.desk-step-number{font-family:var(--mono)}
.desk-step-title{font-weight:600;overflow-wrap:anywhere}
.desk-step-state{font-weight:400;overflow-wrap:anywhere}
.desk-step.is-done>summary{color:var(--slate)}
.desk-step.is-done .desk-step-state{color:var(--success)}
.desk-step.is-current{border:2px solid var(--slate)}
.desk-step.is-current>summary{background:var(--slate);color:var(--white)}
.desk-step.is-current>summary:focus-visible{outline-color:var(--bronze);outline-offset:3px}
.desk-step-body{padding:var(--space-6);border-top:1px solid var(--rule)}
.desk-step-body form>*+*{margin-top:var(--space-5)}
.desk-step-body label :is(input,textarea){margin-top:var(--space-2)}
.desk-page textarea.desk-inscription{font-family:var(--serif);font-size:1.375rem;line-height:1.7;min-height:19rem}
.desk-prewrap{font-family:var(--serif);font-size:1.375rem;line-height:1.7;margin:0}
.desk-page textarea.desk-packet{font-family:var(--mono);line-height:1.7;min-height:22rem;background:var(--paper)}
.desk-page #letter_text{min-height:28rem;line-height:1.8}
.desk-private{padding:var(--space-5);border:1px solid var(--bronze);border-left-width:5px;background:var(--notice-ground)}
.desk-private h3,.desk-private-title{font-weight:600;color:var(--bronze)}
.desk-private .muted{color:var(--ink)}
.desk-send{padding-top:var(--space-5);border-top:1px solid var(--rule)}
.desk-page button:disabled{cursor:not-allowed;background:var(--paper);border-color:var(--control-border);color:var(--muted)}
.desk-history>summary{grid-template-columns:minmax(0,1fr) auto 1.25rem}
.desk-timeline{list-style:none;padding:0}
.desk-timeline li{padding-block:var(--space-3);border-bottom:1px solid var(--rule)}
.desk-customer-note{border-left-width:5px;background:var(--notice-ground);border-color:var(--bronze)}
.customer-quote{max-width:54rem;margin-inline:auto}
.customer-heading>*+*{margin-top:var(--space-3)}
.customer-proof{border:1px solid var(--rule);background:var(--white)}
.customer-proof-link{display:block;text-decoration:none}
.customer-proof img{width:100%;height:auto;max-height:900px;object-fit:contain;background:var(--white)}
.customer-proof-link>span{display:block;padding:var(--space-4) var(--space-6);border-top:1px solid var(--rule);background:var(--paper);text-decoration:underline}
.customer-proof figcaption{padding:var(--space-4) var(--space-6);color:var(--muted)}
.quote-letter{padding:clamp(1.25rem,4vw,3rem)}
.quote-letter-text{max-width:62ch;white-space:pre-wrap;overflow-wrap:anywhere;font:400 1.25rem/1.8 var(--serif)}
.quote-summary{border-top:3px solid var(--bronze)}
.quote-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);margin:var(--space-5) 0 0}
.quote-summary dt{color:var(--muted);font-size:1rem;margin-bottom:var(--space-1)}
.quote-summary dd{margin:0;font-size:1.125rem;overflow-wrap:anywhere}
.quote-summary .quote-amount{font-size:1.75rem;line-height:1.3;color:var(--slate)}
.quote-answer>*+*{margin-top:var(--space-4)}
.customer-quote>.quote-answer{margin-top:var(--space-5)}
.quote-answer label{font-size:1.125rem;font-weight:600;margin-bottom:0}
.quote-answer #notes-help{margin-top:var(--space-2)}
.quote-answer-options{display:grid;gap:var(--space-4);margin-top:var(--space-6)}
.quote-answer-options .button{min-height:56px;font-size:1.125rem}
.quote-answer-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.quote-answer-secondary .button{flex-direction:column;gap:var(--space-1)}
.quote-answer-secondary span{font-size:1rem;font-weight:400}
.customer-help{padding-block:var(--space-3);text-align:center}
.customer-expired{max-width:42rem;margin-inline:auto}
@media(max-width:767px){
    .desk-page .form-grid{grid-template-columns:minmax(0,1fr)}
    .desk-step>summary{grid-template-columns:1.5rem minmax(0,1fr) 1.25rem;gap:var(--space-1) var(--space-3);padding:var(--space-4)}
    .desk-step-state{grid-column:2;grid-row:2}
    .desk-step>summary::after{grid-column:3;grid-row:1 / 3}
    .desk-step-body{padding:var(--space-5)}
    .desk-history>summary{grid-template-columns:minmax(0,1fr) 1.25rem}
    .desk-history .desk-step-state{grid-column:1}
    .desk-history>summary::after{grid-column:2}
    .desk-page .button-row{align-items:stretch;flex-direction:column}
    .desk-page .button-row .button{width:100%}
}
@media(max-width:479px){
    .desk-page{--gutter:1rem}
    .desk-brand img{width:44px;height:44px}
    .desk-brand-copy>span:last-child{display:none}
    .desk-header-inner>.button{margin-left:auto}
    .desk-request-card{padding:var(--space-5)}
    .desk-request-card>.button{width:100%}
    .desk-private{padding:var(--space-4)}
    .quote-summary dl,.quote-answer-secondary{grid-template-columns:minmax(0,1fr)}
    .customer-proof figcaption,.customer-proof-link>span{padding:var(--space-4)}
}
@media print{
    .devbar,.utility-bar,.site-header,.site-footer,.skip-link,.page-actions,.button-row,.size-checker,.spec-toolbar{display:none!important}
    body{background:var(--white);color:var(--ink);font-size:11pt}
    .wrap{width:100%;max-width:none}
    .site-main{padding:0}
    a{color:var(--ink)}
    .section{margin-top:var(--space-8)}
    .table-scroll{overflow:visible;max-height:none;border:0}
    .data-table{font-size:9pt;min-width:0}
    .data-table td{font-size:9pt}
    .data-table th,.data-table td{padding:var(--space-2)}
    .data-table thead th{position:static;background:var(--white);color:var(--ink)}
    .data-table thead{display:table-header-group}
    .data-table tr,.card,.product-tile{break-inside:avoid}
    h1,h2,h3{break-after:avoid}
    .hero{max-height:none;min-height:0}
    .specs-band{background:var(--white);color:var(--ink)}
    .specs-band h2,.specs-band a{color:var(--ink)}
}

/* Tom 10/19: cast metal letters, letter-style pages, borders, mounting methods */
.letter-tile-media{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--paper);padding:var(--space-4)}
.letter-tile-media img{max-width:100%;max-height:100%;object-fit:contain}
.letter-style-figures{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr);margin-bottom:var(--space-8)}
@media (min-width:768px){.letter-style-figures{grid-template-columns:minmax(0,1fr) minmax(0,3fr);align-items:center}}
.letter-style-figures figure{margin:0;display:grid;gap:var(--space-2);justify-items:center}
.letter-style-figures img{max-width:100%;height:auto}
.letter-sample img{max-height:320px}
.option-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.option-card{margin:0;display:grid;gap:var(--space-3);align-content:start}
.option-card img{width:100%;height:auto;background:var(--paper)}
.option-card h3{margin:0}
.option-variants{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}
.option-variant{margin:0;display:grid;gap:var(--space-1)}
.option-variant img{width:100%;height:auto}
/* 10/19 review fixes: size tables read whole on every screen; readable character strips; larger post-cap designs */
.product-spec-table th,.product-spec-table td{overflow-wrap:normal;word-break:normal}
.product-spec-table th,.product-spec-table td.mono{white-space:nowrap}
.spec-section .table-scroll{max-height:none}
@media (max-width:767px){.letter-alphabet{overflow-x:auto;justify-items:start}.letter-alphabet img{max-width:none;width:760px}}
.option-card:has(.option-variants){grid-column:1/-1}
.option-card:has(.option-variants) .option-variants{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.ada-spec-list{display:grid;gap:var(--space-4);padding-left:1.25rem;max-width:72ch}
.ada-spec-list ul{margin:var(--space-1) 0 0;padding-left:1.1rem}
