@layer comp,page,util;
@layer comp{
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:var(--rs);font-weight:700;font-size:.94rem;border:1.5px solid transparent;transition:background .18s,border-color .18s,color .18s}
.btn i{font-size:.85em}
.btn--solid{background:var(--brick);color:#fff;border-color:var(--brick)}
.btn--solid:hover{background:var(--brick-d);border-color:var(--brick-d)}
.btn--line{border-color:var(--ink);color:var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--paper)}
.btn--pine{background:var(--pine);color:#fff;border-color:var(--pine)}
.btn--pine:hover{background:#184c3c;border-color:#184c3c}
.btn--ghost{border-color:#fff;color:#fff}
.btn--ghost:hover{background:#fff;color:var(--brick)}
.btn--sm{padding:9px 15px;font-size:.86rem}
.btn--wide{width:100%;justify-content:center}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:var(--rs);background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule)}
.tag--brick{background:var(--brick-w);color:var(--brick-d);border-color:#f0d5cb}
.tag--pine{background:var(--pine-w);color:var(--pine);border-color:#cfe2da}
.tag--cinn{background:var(--cinn-w);color:var(--cinn);border-color:#eddcbe}
.tag--plain{background:none;border-style:dashed}
.eyebrow{display:block;font-size:.77rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brick);margin-block-end:14px}
.eyebrow--pine{color:var(--pine)}
.eyebrow--ink{color:var(--ink-3)}
.lead{font-size:1.12rem;color:var(--ink-2);max-width:62ch}
.crumbs{padding-block:14px;border-block-end:1px solid var(--rule);background:var(--paper-2)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;font-size:.83rem;color:var(--ink-3)}
.crumbs li+li::before{content:"/";margin-inline-end:8px;color:var(--rule-2)}
.crumbs a{font-weight:600;color:var(--ink-2)}
.crumbs a:hover{color:var(--brick)}
.crumbs [aria-current]{color:var(--ink)}
.pagehead{padding-block:52px 40px;border-block-end:1px solid var(--rule)}
.pagehead h1{max-width:22ch}
.pagehead .lead{margin-block-start:16px}
.meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin-block-start:24px;font-size:.85rem;color:var(--ink-3);font-weight:600}
.meta span{display:inline-flex;align-items:center;gap:7px}
.meta i{color:var(--brick)}
.panel{background:var(--card);border:1px solid var(--rule);border-radius:var(--rm);padding:26px}
.panel--sand{background:var(--paper-2);border-color:var(--rule-2)}
.panel--flat{border-radius:0;border-inline:0;border-block-end:0;padding-inline:0}
.panel h2,.panel h3{margin-block-end:10px}
.panel h2{font-size:1.16rem;display:flex;align-items:center;gap:10px}
.panel h2 i{color:var(--brick);font-size:.85rem}
.panel p:last-child,.panel ul:last-child,.panel ol:last-child{margin-block-end:0}
.summary{border:2px solid var(--ink);border-radius:var(--rm);padding:24px 26px;background:var(--card);margin-block-end:34px}
.summary h2{font-family:var(--sans);font-size:.79rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin-block-end:14px}
.summary ul{list-style:none;display:grid;gap:10px}
.summary li{display:grid;grid-template-columns:20px 1fr;gap:12px;font-weight:600}
.summary li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--pine);font-size:.8rem;margin-block-start:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding-block:18px;margin-block-end:30px;border-block:1px solid var(--rule)}
.chips a{font-size:.84rem;font-weight:700;padding:7px 14px;border-radius:999px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule)}
.chips a:hover,.chips a.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.note{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:20px 22px;border-inline-start:4px solid var(--brick);background:var(--brick-w);border-radius:0 var(--rs) var(--rs) 0;margin-block:26px}
.note i{font-size:1.15rem;color:var(--brick);margin-block-start:3px}
.note strong{display:block;margin-block-end:5px}
.note p:last-child{margin-block-end:0}
.note--pine{border-inline-start-color:var(--pine);background:var(--pine-w)}
.note--pine i{color:var(--pine)}
.note--cinn{border-inline-start-color:var(--cinn);background:var(--cinn-w)}
.note--cinn i{color:var(--cinn)}
.note--quiet{border-inline-start-color:var(--rule-2);background:var(--paper-2)}
.note--quiet i{color:var(--ink-3)}
.drill{display:grid;grid-template-columns:1fr;gap:0;background:var(--card);border:1px solid var(--rule);border-inline-start:5px solid var(--brick);border-radius:0 var(--rm) var(--rm) 0;padding:22px 24px;margin-block:16px}
.drill__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-block-end:8px}
.drill__no{font-family:var(--serif);font-size:.9rem;font-weight:700;color:var(--brick);letter-spacing:.06em}
.drill h3{font-size:1.14rem;margin:0}
.drill__time{font-size:.78rem;font-weight:700;color:var(--ink-3);border:1px dashed var(--rule-2);border-radius:999px;padding:3px 11px;white-space:nowrap}
.drill p:last-child{margin-block-end:0;color:var(--ink-2)}
.drill--pine{border-inline-start-color:var(--pine)}
.drill--pine .drill__no{color:var(--pine)}
.drill--cinn{border-inline-start-color:var(--cinn)}
.drill--cinn .drill__no{color:var(--cinn)}
.checks{list-style:none;display:grid;gap:12px;margin-block:22px}
.checks li{display:grid;grid-template-columns:24px 1fr;gap:13px;align-items:start}
.checks li::before{content:"";width:16px;height:16px;margin-block-start:5px;border:2px solid var(--pine);border-radius:3px;background:var(--pine-w)}
.facts{margin-block:24px;border-block-start:2px solid var(--ink)}
.facts div{display:grid;gap:4px;padding-block:13px;border-block-end:1px solid var(--rule)}
@media(min-width:560px){.facts div{grid-template-columns:190px 1fr;gap:20px;align-items:baseline}}
.facts dt{font-size:.79rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.facts dd{margin:0;font-weight:600}
.gloss{margin-block:26px;display:grid;gap:20px}
.gloss div{padding-inline-start:18px;border-inline-start:3px solid var(--rule-2)}
.gloss dt{font-family:var(--serif);font-size:1.15rem;font-weight:700;margin-block-end:5px}
.gloss dd{margin:0;color:var(--ink-2)}
.tbl{overflow-x:auto;margin-block:26px;-webkit-overflow-scrolling:touch}
.tbl table{min-width:520px;font-size:.93rem}
.tbl caption{caption-side:top;text-align:start;font-size:.83rem;color:var(--ink-3);padding-block-end:12px;font-weight:600}
.tbl th,.tbl td{text-align:start;padding:12px 16px 12px 0;border-block-end:1px solid var(--rule);vertical-align:top}
.tbl thead th{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-block-end:2px solid var(--ink)}
.tbl tbody tr:last-child td{border-block-end:0}
.tbl tbody th{font-weight:700}
.pull{font-family:var(--serif);font-size:clamp(1.24rem,1.05rem+.9vw,1.65rem);line-height:1.34;color:var(--ink);border-inline-start:4px solid var(--brick);padding-inline-start:24px;margin-block:32px;max-width:52ch}
.pull cite{display:block;margin-block-start:12px;font-family:var(--sans);font-style:normal;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.shot{margin-block:32px}
.shot img{border:1px solid var(--rule);border-radius:var(--rm);width:100%}
.shot figcaption{margin-block-start:11px;font-size:.86rem;color:var(--ink-3);padding-inline-start:16px;border-inline-start:2px solid var(--rule-2)}
.rail{display:grid;gap:22px}
@media(min-width:900px){.rail{position:sticky;inset-block-start:96px}}
.rail__box{background:var(--card);border:1px solid var(--rule);border-radius:var(--rm);padding:22px}
.rail__box h2,.rail__box h3{font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-block-end:14px}
.rail__links{display:grid;gap:1px}
.rail__links a{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:.92rem;font-weight:600;border-block-end:1px solid var(--rule)}
.rail__links li:last-child a{border-block-end:0}
.rail__links a:hover{color:var(--brick)}
.rail__links i{color:var(--rule-2);font-size:.7rem}
.rail__links a:hover i{color:var(--brick)}
}
@layer page{
.lede{padding-block:70px 60px;border-block-end:1px solid var(--rule);background:linear-gradient(180deg,var(--paper-2),var(--paper))}
.lede__grid{display:grid;gap:40px}
@media(min-width:980px){.lede__grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:56px}}
.lede h1{max-width:16ch;margin-block-end:20px}
.lede h1 em{font-style:italic;color:var(--brick)}
.lede__text{font-size:1.14rem;color:var(--ink-2);max-width:54ch;margin-block-end:28px}
.lede__art{border:1px solid var(--rule-2);border-radius:var(--rl);overflow:hidden;background:var(--card);box-shadow:var(--sh-2)}
.plan{display:grid;gap:0;border:1px solid var(--rule);border-radius:var(--rm);overflow:hidden;background:var(--card)}
@media(min-width:820px){.plan{grid-template-columns:repeat(3,1fr)}}
.plan__cell{padding:28px 26px;border-block-end:1px solid var(--rule)}
@media(min-width:820px){.plan__cell{border-block-end:0;border-inline-end:1px solid var(--rule)}.plan__cell:last-child{border-inline-end:0}}
.plan__cell:last-child{border-block-end:0}
.plan__step{font-family:var(--serif);font-size:2.3rem;line-height:1;color:var(--brick);display:block;margin-block-end:14px}
.plan__cell h3{font-size:1.16rem;margin-block-end:8px}
.plan__cell p{color:var(--ink-2);font-size:.95rem;margin-block-end:0}
.modgrid{display:grid;gap:20px}
@media(min-width:620px){.modgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.modgrid{grid-template-columns:repeat(3,1fr)}}
.modcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--rule);border-radius:var(--rm);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.modcard:hover{border-color:var(--rule-2);box-shadow:var(--sh-2)}
.modcard__pic{aspect-ratio:4/3;background:var(--paper-2);overflow:hidden}
.modcard__pic img{width:100%;height:100%;object-fit:cover}
.modcard__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.modcard__body h3{font-size:1.16rem;margin-block-end:8px}
.modcard__body h3 a:hover{color:var(--brick)}
.modcard__body p{font-size:.94rem;color:var(--ink-2);margin-block-end:16px}
.modcard__foot{margin-block-start:auto;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82rem;font-weight:700;color:var(--ink-3);padding-block-start:14px;border-block-start:1px solid var(--rule)}
.modcard__foot span{display:inline-flex;align-items:center;gap:6px}
.newsfeed{display:grid;gap:0;border-block-start:2px solid var(--ink)}
.newsfeed article{display:grid;gap:6px 26px;padding-block:26px;border-block-end:1px solid var(--rule)}
@media(min-width:700px){.newsfeed article{grid-template-columns:130px 1fr}}
.newsfeed time{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brick);padding-block-start:5px}
.newsfeed h2,.newsfeed h3{font-family:var(--serif);font-size:1.24rem;line-height:1.25;margin-block-end:8px}
.newsfeed h2 a:hover,.newsfeed h3 a:hover{color:var(--brick)}
.newsfeed p{color:var(--ink-2);font-size:.96rem;margin-block-end:10px}
.postlist{display:grid;gap:0;border-block-start:1px solid var(--rule)}
.postlist article{display:grid;gap:18px;padding-block:24px;border-block-end:1px solid var(--rule);align-items:start}
@media(min-width:640px){.postlist article{grid-template-columns:200px 1fr;gap:26px}}
.postlist img{border-radius:var(--rs);border:1px solid var(--rule);width:100%;aspect-ratio:4/3;object-fit:cover}
.postlist h3{font-size:1.3rem;margin-block-end:9px}
.postlist h3 a:hover{color:var(--brick)}
.postlist p{color:var(--ink-2);font-size:.96rem;margin-block-end:12px}
.postlist__meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.82rem;font-weight:600;color:var(--ink-3)}
.qa{display:grid;gap:0;border-block-start:2px solid var(--ink)}
.qa article{padding-block:24px;border-block-end:1px solid var(--rule)}
.qa h3{font-size:1.18rem;margin-block-end:10px;display:grid;grid-template-columns:30px 1fr;gap:10px}
.qa h3::before{content:"S";font-family:var(--serif);color:var(--brick);font-size:1.1rem}
.qa p{color:var(--ink-2);margin-block-end:0;padding-inline-start:40px}
.qa p+p{margin-block-start:.8em}
.archive{display:grid;gap:18px}
@media(min-width:560px){.archive{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.archive{grid-template-columns:repeat(4,1fr)}}
.archive figure{margin:0;border:1px solid var(--rule);border-radius:var(--rs);overflow:hidden;background:var(--card)}
.archive img{aspect-ratio:4/5;object-fit:cover;width:100%}
.archive figcaption{padding:12px 14px;font-size:.85rem;font-weight:600;color:var(--ink-2);border-block-start:1px solid var(--rule)}
.metrics{display:grid;gap:0;border-block-start:2px solid var(--ink);margin-block:26px}
.metrics div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;padding-block:15px;border-block-end:1px solid var(--rule)}
.metrics dt{font-weight:600;color:var(--ink-2)}
.metrics dd{margin:0;font-family:var(--serif);font-size:1.35rem;font-weight:700;color:var(--brick)}
.pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-block-start:40px}
.pager a,.pager span{min-width:42px;padding:10px 14px;text-align:center;border:1px solid var(--rule);border-radius:var(--rs);font-weight:700;font-size:.9rem;color:var(--ink-2);background:var(--card)}
.pager a:hover{border-color:var(--ink);color:var(--ink)}
.pager .is-here{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.contactrows{display:grid;gap:0;border-block-start:2px solid var(--ink)}
.contactrows div{display:grid;gap:4px 24px;padding-block:20px;border-block-end:1px solid var(--rule)}
@media(min-width:620px){.contactrows div{grid-template-columns:180px 1fr;align-items:baseline}}
.contactrows dt{font-size:.79rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}
.contactrows dd{margin:0;font-size:1.05rem;font-weight:600}
.contactrows a:hover{color:var(--brick)}
.mapframe{border:1px solid var(--rule);border-radius:var(--rm);overflow:hidden;margin-block:28px;background:var(--paper-2)}
.mapframe iframe{width:100%;height:400px;border:0}
.err{padding-block:90px;text-align:center}
.err__num{font-family:var(--serif);font-size:clamp(4.5rem,14vw,9rem);line-height:.9;color:var(--brick);display:block;margin-block-end:20px}
.err p{max-width:52ch;margin-inline:auto;color:var(--ink-2)}
.err .btns{justify-content:center;margin-block-start:26px}
.copy{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:var(--ink-3);border:1px dashed var(--rule-2);border-radius:var(--rs);padding:7px 14px}
.copy:hover{color:var(--brick);border-color:var(--brick)}
}
@layer util{
.prose>h2{margin-block:2.2rem .7rem}
.prose>h3{margin-block:1.7rem .55rem}
.prose>h4{margin-block:1.4rem .45rem}
.prose>p,.prose>ul,.prose>ol{color:var(--ink-2)}
.prose>ul,.prose>ol{margin-block-end:1.2em;padding-inline-start:1.3em}
.prose>ul li,.prose>ol li{margin-block:.45em}
.prose strong{color:var(--ink)}
.prose a{color:var(--brick);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--brick-d);text-decoration-thickness:2px}
.prose>*:first-child{margin-block-start:0}
.mt-0{margin-block-start:0}
.mt-1{margin-block-start:14px}
.mt-2{margin-block-start:26px}
.mt-3{margin-block-start:44px}
.mb-0{margin-block-end:0}
.center{text-align:center}
.center .btns{justify-content:center}
.muted{color:var(--ink-3);font-size:.9rem}
.divider{border-block-start:1px solid var(--rule);padding-block-start:34px;margin-block-start:34px}
}
