@layer base, layout, components, responsive;
@layer base {
  :root { --paper:#f7f4ed;--white:#fffefa;--ink:#202c35;--muted:#58646b;--line:#d9dcd4;--rust:#a34a2c;--green:#365f57;--pale:#e6ede7;--serif:'Iowan Old Style','Palatino Linotype',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth;scroll-padding-top:32px; }
  body { margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65; }
  h1,h2,h3,h4,p,figure { margin:0; } h1,h2 { font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.035em; }
  h1 { font-size:clamp(2.7rem,5.7vw,5.5rem); } h2 { font-size:clamp(2rem,3.3vw,3.2rem); } h3 { font-size:1.2rem;line-height:1.35;letter-spacing:-.025em; }
  p+p { margin-top:1em; } a { color:inherit;text-underline-offset:4px; } a:hover { color:var(--rust); }
  button,input,select { font:inherit;color:inherit; } button,select,input { border-radius:0; } button { cursor:pointer; }
  img,svg { display:block;max-width:100%; } img { height:auto; } :focus-visible { outline:3px solid var(--rust);outline-offset:4px; }
  ::selection { background:#e8cbb7; } [hidden] { display:none!important; }
  .skip { position:fixed;left:16px;top:-100px;padding:12px 18px;background:var(--ink);color:white;z-index:100; }.skip:focus{top:12px;}
  .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
  ul,ol { padding-left:1.35em; } li+li { margin-top:.45em; } small { font-size:.8rem; } strong { font-weight:650; }
}
@layer layout {
  .wrap { width:min(1220px,calc(100% - 80px));margin-inline:auto; }
  .site-header { border-bottom:1px solid var(--line); }
  .header-inner { display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:98px; }
  .brand { display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap;font-weight:750;font-size:1.3rem;letter-spacing:-.055em; }
  .brand-mark { width:30px;height:30px;position:relative;background:repeating-linear-gradient(0deg,transparent 0 9px,var(--green) 9px 10px),repeating-linear-gradient(90deg,transparent 0 9px,var(--green) 9px 10px);border:1px solid var(--green); }
  nav { display:flex;align-items:center;gap:32px;font-size:.91rem; } nav a { text-decoration:none; } nav a[aria-current=page] { text-decoration:underline;text-decoration-color:var(--rust);text-decoration-thickness:2px; }
  .header-note { border-left:1px solid var(--line);padding-left:24px;font-size:.75rem;color:var(--green);line-height:1.4; }
  .breadcrumb { display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:.76rem;color:var(--muted);padding:25px 0 10px; }
  .breadcrumb a { text-decoration:none; } .breadcrumb span+span:before{content:'/';margin-right:10px;color:#8a928e;}
  .hero { display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center;padding:62px 0 76px; }
  .hero .lede { max-width:520px;margin-top:26px; } .hero-actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:30px; }
  .hero-caption { margin-top:22px;font-size:.76rem;color:var(--muted); }
  .page-head { display:grid;grid-template-columns:1fr 310px;align-items:end;gap:64px;padding:35px 0 53px;border-bottom:1px solid var(--line); }
  .page-head h1 { font-size:clamp(2.75rem,5vw,4.7rem);max-width:900px; } .page-head .lede { max-width:770px;margin-top:23px; }
  .head-note { font-size:.85rem;border-left:2px solid var(--rust);padding-left:20px;color:var(--muted); }
  .section { padding:64px 0;border-bottom:1px solid var(--line); } .section:last-child { border-bottom:0; }
  .section-head { display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px; }.section-head p{max-width:470px;color:var(--muted);}
  .cols { display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start; }.cols h2{margin-bottom:25px;}.cols p{max-width:580px;}
  .prose { max-width:790px;margin-inline:auto; }.prose h2{margin:48px 0 22px;}.prose h3{margin:28px 0 12px;}.prose p,.prose li{color:#3c4c54;}.prose:first-child h2:first-child{margin-top:0;}
  .resource-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px; }
  .two-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px; }
  .site-footer { margin-top:52px;background:var(--ink);color:#f1f0e8;padding:46px 0 24px; }
  .footer-top { display:flex;justify-content:space-between;gap:44px; }.footer-top p{max-width:430px;font-size:.85rem;color:#d3dbd6;margin-top:12px;}.footer-links{display:flex;gap:25px;align-items:start;font-size:.85rem;flex-wrap:wrap;}
  .footer-bottom { display:flex;gap:24px;justify-content:space-between;border-top:1px solid #53605f;margin-top:32px;padding-top:20px;font-size:.75rem;color:#d1d5d2; }
}
@layer components {
  .eyebrow { font-size:.73rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:17px; }
  .lede { font-size:1.12rem;line-height:1.75;color:#4c5d65; }
  .button { display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:47px;padding:11px 19px;background:var(--ink);border:1px solid var(--ink);color:white;text-decoration:none;font-size:.85rem;font-weight:600;line-height:1.5; }
  .button:hover { background:var(--green);color:white;border-color:var(--green); }.button.secondary { background:transparent;color:var(--ink);border-color:#909e9b; }.button.secondary:hover { border-color:var(--green);background:var(--pale); }.button.small { min-height:39px;font-size:.78rem;padding:9px 13px; }.button.rust{background:var(--rust);border-color:var(--rust);}
  .text-link { font-size:.85rem;font-weight:650; }.arrow { font-family:var(--sans);font-weight:400; }
  .hero-art { min-height:460px;position:relative;background:#e7e9df;overflow:hidden;border:1px solid #d7dbcf; }
  .hero-art:before { content:'';position:absolute;inset:0;background-image:linear-gradient(#9baaa01a 1px,transparent 1px),linear-gradient(90deg,#9baaa01a 1px,transparent 1px);background-size:28px 28px; }
  .hero-paper { position:absolute;left:10%;top:10%;width:58%;padding:12px;background:white;box-shadow:0 14px 30px #29352c1c;transform:rotate(-8deg);border:1px solid #e1e3d9; }
  .hero-paper img { width:100%;aspect-ratio:1/1.08;object-fit:contain; }
  .hero-paper.cube { left:48%;top:35%;width:45%;transform:rotate(9deg); }
  .sheet-label { font-size:.53rem;letter-spacing:.12em;color:var(--green);border-top:1px solid var(--line);padding-top:8px;margin-top:8px;font-weight:650; }
  .hero-stamp { position:absolute;bottom:22px;left:25px;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--green); }
  .hero-index { position:absolute;right:23px;top:23px;font-size:.65rem;letter-spacing:.12em;line-height:2;color:var(--green);text-align:right; }
  .trust-strip { display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:25px 0;border-block:1px solid var(--line); }.trust-strip strong{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500;}.trust-strip span{font-size:.76rem;color:var(--muted);}
  .path-card { display:block;padding:30px;background:var(--white);border:1px solid var(--line);text-decoration:none;position:relative; }.path-card .number{color:var(--rust);font-size:.75rem;letter-spacing:.1em;display:block;margin-bottom:25px;}.path-card h3{font-family:var(--serif);font-size:1.8rem;font-weight:500;}.path-card p{font-size:.9rem;color:var(--muted);margin-top:13px;}.path-card .text-link{display:block;margin-top:24px;}.path-card:hover{border-color:var(--green);color:var(--ink);}
  .path-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
  .featured { display:grid;grid-template-columns:1fr 1fr;gap:0;background:#e5eae2;border:1px solid #cfd8ce; }.featured-img{padding:34px;display:flex;justify-content:center;align-items:center;background:#f0f1e9;}.featured-img img{width:75%;max-height:330px;object-fit:contain;}.featured-copy{padding:48px;align-self:center;}.featured-copy h2{font-size:2.7rem;}.featured-copy p{margin:20px 0 25px;color:#45574e;}
  .resource-card { background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0; }
  .card-preview { background:#ecede5;border-bottom:1px solid var(--line);padding:25px;position:relative; }
  .card-preview img { width:100%;height:215px;object-fit:contain;filter:drop-shadow(0 3px 3px #28352d0d); }.card-preview.paper img{height:280px;}
  .card-body { padding:22px;display:flex;flex-direction:column;flex:1; }.card-body h3{margin:11px 0 10px;font-family:var(--serif);font-size:1.65rem;font-weight:500;}.card-body p{font-size:.86rem;color:var(--muted);margin-bottom:20px;}.card-body .asset-actions{margin-top:auto;}
  .badge { display:inline-block;width:fit-content;text-transform:uppercase;font-size:.62rem;letter-spacing:.095em;font-weight:750;color:var(--green); }.badge-code{color:var(--muted);float:right;font-size:.66rem;}
  .asset-actions { display:flex;flex-direction:column;gap:8px; }.asset-actions .button{width:100%;}.download-line{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}.download-line .button{width:auto;}.download-meta{font-size:.72rem;color:var(--muted);margin-top:9px;}
  details.formats { font-size:.76rem;margin-top:13px; } summary { cursor:pointer;font-weight:600; } details[open]>summary{margin-bottom:10px;} .formats ul{margin:8px 0 0;padding-left:17px;}.formats li{margin-top:5px;}.format-group{margin-top:10px;}
  .toolbar { display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-bottom:28px; }.segmented { display:flex;gap:0;flex-wrap:wrap;align-items:center; }.segmented button{padding:9px 15px;border:1px solid #aab4ac;background:transparent;font-size:.78rem;margin-left:-1px;min-height:40px;}.segmented button:first-child{margin-left:0;}.segmented button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white;position:relative;}.segmented button:hover{box-shadow:inset 0 0 0 1px var(--green);}.control-label{font-size:.75rem;font-weight:650;display:block;margin-bottom:8px;}.filter-result{font-size:.76rem;color:var(--muted);margin-top:12px;}
  .pack-panel{background:var(--pale);padding:28px;border:1px solid #cbd6ca;margin-bottom:34px;}.pack-panel h3{font-family:var(--serif);font-size:1.75rem;font-weight:500;margin-bottom:12px;}.pack-panel p{color:#3e574c;font-size:.88rem;margin-bottom:17px;}.pack-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;}.pack-row h4{font-size:.86rem;margin-bottom:12px;}.pack-row .asset-actions .button{background:transparent;color:var(--ink);border-color:#81988b;}.pack-row .asset-actions .button:hover{background:#d5e2d5;}.pack-row .asset-actions .button:first-child{background:var(--green);color:white;}
  .note { border-left:3px solid var(--rust);padding:15px 21px;background:#f1e9dd;font-size:.88rem;margin:26px 0;overflow-wrap:anywhere; }.note p{margin:0;}.note.green{border-color:var(--green);background:var(--pale);}.note strong{color:var(--ink);}
  .steps { counter-reset:step;list-style:none;padding:0;margin:0; }.steps li{position:relative;padding:0 0 25px 49px;margin:0;}.steps li:before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;font-size:.75rem;color:var(--rust);font-weight:700;}.steps strong{display:block;margin-bottom:5px;}.steps p{color:var(--muted);font-size:.92rem;}
  .table-wrap { overflow-x:auto;border:1px solid var(--line); } table{width:100%;border-collapse:collapse;font-size:.87rem;text-align:left;background:var(--white);} th,td{padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top;} th{font-size:.74rem;background:#e8ede5;font-weight:650;} tr:last-child td{border-bottom:0;}.table-wrap+ p{margin-top:15px;color:var(--muted);font-size:.83rem;}
  .faq{max-width:850px;margin-inline:auto;}.faq h2{margin-bottom:27px;}.faq details{border-top:1px solid var(--line);padding:20px 0;}.faq details:last-child{border-bottom:1px solid var(--line);}.faq summary{font-size:1rem;}.faq details p{font-size:.92rem;max-width:730px;color:var(--muted);padding-top:15px;}
  .related{display:flex;gap:18px;flex-wrap:wrap;margin-top:23px;}.related a{font-size:.9rem;}.example{background:var(--white);border:1px solid var(--line);padding:30px;}.example h3{font-family:var(--serif);font-size:1.85rem;font-weight:500;margin-bottom:17px;}.example img{max-height:300px;object-fit:contain;margin:24px auto;}.example .formula{font-size:1.1rem;letter-spacing:.01em;color:var(--green);border-block:1px solid var(--line);padding:15px 0;margin:20px 0;}.example details{margin-top:20px;}.example p{font-size:.93rem;}
  .jump-links{display:flex;gap:21px;flex-wrap:wrap;padding:18px 0 0;font-size:.79rem;}.jump-links a{color:var(--green);}.outline-list{display:flex;flex-direction:column;gap:0;}.outline-list a{padding:20px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);text-decoration:none;}.outline-list h3{font-family:var(--serif);font-size:1.5rem;font-weight:500;}.outline-list p{font-size:.85rem;color:var(--muted);margin-top:5px;}
  .generator{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cbd4c9;background:var(--white);}.generator-controls{padding:34px;}.generator-controls h3{font-family:var(--serif);font-size:2rem;font-weight:500;margin-bottom:20px;}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}.field label{font-size:.8rem;display:block;margin-bottom:7px;font-weight:650;}.field input,.field select{width:100%;border:1px solid #92a098;background:white;padding:11px 12px;min-height:46px;}.field.full{grid-column:1/-1;}.field small{display:block;color:var(--muted);margin-top:6px;}.generator-controls .download-line{margin-top:25px;}.generator-stats{font-size:.84rem;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;color:var(--green);}.generator-preview{background:#e9ede5;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}.generator-preview svg{width:100%;max-width:310px;max-height:390px;background:white;box-shadow:0 4px 20px #22372912;}.generator-preview p{font-size:.73rem;color:var(--muted);}.error{font-size:.83rem;color:#9c3023;margin-top:12px;}
  .preview-button{position:absolute;right:14px;bottom:13px;padding:6px 10px;background:white;border:1px solid #a2aea4;font-size:.7rem;}.preview-button:hover{background:var(--pale);}
  dialog{border:1px solid #7d8c80;padding:0;max-width:min(95vw,850px);width:850px;max-height:92vh;background:var(--paper);color:var(--ink);}dialog::backdrop{background:#182a24b3;}.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 22px;border-bottom:1px solid var(--line);}.dialog-bar h2{font-family:var(--sans);font-size:1rem;letter-spacing:0;}.dialog-bar button{background:transparent;border:1px solid #aab4ac;padding:5px 12px;font-size:.83rem;}.dialog-scroll{padding:25px;overflow:auto;max-height:72vh;}.dialog-scroll img{max-height:850px;width:100%;object-fit:contain;background:white;}.dialog-caption{padding:13px 22px;font-size:.76rem;color:var(--muted);}
  .banner{background:var(--green);color:white;padding:36px;display:flex;gap:30px;justify-content:space-between;align-items:center;}.banner h2{font-size:2rem;}.banner p{font-size:.87rem;color:#e0e9e1;margin-top:12px;}.banner .button{background:white;color:var(--green);border-color:white;white-space:nowrap;}.mini-spec{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;}.mini-spec div{background:#edf0e9;padding:14px;}.mini-spec dt{font-size:.7rem;color:var(--muted);}.mini-spec dd{margin:3px 0 0;font-weight:650;font-size:.86rem;}.resource-card .mini-spec{margin-top:0;}.empty-state{font-size:.85rem;color:var(--muted);}
}
@layer responsive {
  @media(min-width:1500px){.wrap{max-width:1270px;}.hero{gap:100px;padding-top:80px;}.hero-art{min-height:510px;}}
  @media(max-width:1050px){.wrap{width:calc(100% - 48px);}.header-note{display:none;}.hero{gap:35px;}.hero-art{min-height:370px;}.page-head{grid-template-columns:1fr;gap:25px;}.head-note{max-width:760px;}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.path-grid{gap:15px;}.path-card{padding:24px;}.cols{gap:36px;}.featured-copy{padding:30px;}.section-head{align-items:start;}.section-head p{max-width:370px;}.generator-controls{padding:25px;}.pack-row{gap:15px;}}
  @media(max-width:720px){.wrap{width:calc(100% - 36px);}.header-inner{flex-wrap:wrap;gap:15px;min-height:100px;padding:20px 0;}.brand{font-size:1.17rem;}.brand-mark{width:25px;height:25px;background-size:100%;}nav{gap:21px;font-size:.81rem;}.hero{grid-template-columns:1fr;padding:40px 0;gap:36px;}.hero h1{font-size:3.6rem;}.hero-art{min-height:390px;}.hero .lede{font-size:1.02rem;}.trust-strip{grid-template-columns:1fr 1fr;gap:20px;padding:22px 0;}.section{padding:43px 0;}.section-head{display:block;}.section-head p{margin-top:18px;max-width:none;}.path-grid{grid-template-columns:1fr;}.path-card{padding:25px;}.path-card .number{margin-bottom:15px;}.featured{grid-template-columns:1fr;}.featured-img{padding:25px;}.featured-img img{max-height:250px;}.featured-copy{padding:28px;}.featured-copy h2{font-size:2.2rem;}.cols{grid-template-columns:1fr;gap:32px;}.page-head{padding:25px 0 34px;}.page-head h1{font-size:2.8rem;}.page-head .lede{font-size:1.04rem;}.resource-grid,.two-grid{grid-template-columns:1fr;gap:23px;}.card-preview img{height:235px;}.card-preview.paper img{height:300px;}.card-body{padding:22px;}.pack-row{grid-template-columns:1fr;gap:27px;}.toolbar{gap:20px;}.segmented button{padding:9px 12px;}.generator{grid-template-columns:1fr;}.generator-controls{padding:23px;}.generator-preview{padding:25px;}.form-grid{gap:16px;}.generator-controls .download-line{display:grid;grid-template-columns:1fr 1fr;}.button{padding:11px 15px;}.banner{padding:27px;display:block;}.banner .button{margin-top:23px;}.footer-top,.footer-bottom{flex-direction:column;gap:24px;}.footer-links{gap:22px;}.site-footer{margin-top:30px;}.breadcrumb{font-size:.7rem;padding-top:18px;}.table-wrap th,.table-wrap td{padding:12px;}.example{padding:23px;}.lede{font-size:1.02rem;} }
  @media(max-width:380px){.header-inner{gap:14px;}nav{width:100%;justify-content:space-between;gap:8px;}.hero h1{font-size:3.1rem;}.hero-art{min-height:315px;}.hero-stamp{font-size:1rem;bottom:17px;}.hero-index{font-size:.56rem;right:14px;}.hero-actions{display:grid;grid-template-columns:1fr;}.hero-actions .button{width:100%;}.form-grid{grid-template-columns:1fr;}.field.full{grid-column:auto;}.segmented{gap:6px;}.segmented button{margin:0;}.pack-panel{padding:20px;}.page-head h1{font-size:2.5rem;}}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation:none!important;transition:none!important;}}
  @media print{.site-header,.site-footer,.toolbar,.button,.formats,.jump-links,.preview-button,.generator-controls{display:none!important;}body{background:white;}.wrap{width:100%;}.hero,.page-head,.cols{display:block;}.section{break-inside:avoid;}a{text-decoration:none;} .note:after{content:' For dimensioned resources, open the supplied PDF and print at Actual size.';} }
}
@layer components {
  .no-js .toolbar,.no-js [data-preview],.no-js [data-filter-result],.no-js #grid-generator .form-grid,.no-js #gen-error,.no-js #gen-stats,.no-js #grid-generator .download-line,.no-js .generator-preview { display:none!important; }
  .no-js .generator { display:block; }
}
