/* Queal editorial: Useful Optimism for WordPress-native post routes. */
:root { --qe-ink:#10272a; --qe-paper:#f6f7f4; --qe-white:#fbfcfa; --qe-teal:#00aeb2; --qe-deep:#004949; --qe-blue:#006eb2; --qe-orange:#ff9a2c; --qe-mint:#9ed6c0; --qe-oat:#f0c57c; --qe-line:#ccd4d9; --qe-muted:#536669; --qe-font:"Hanken Grotesk", "Segoe UI", sans-serif; }
.q-editorial { background:var(--qe-paper); color:var(--qe-ink); font-family:var(--qe-font); padding-bottom:clamp(56px,8vw,120px); }
.q-editorial *, .q-editorial *::before, .q-editorial *::after { box-sizing:border-box; }
.q-editorial a { color:inherit; text-decoration:none; }
.q-editorial h1, .q-editorial h2, .q-editorial h3, .q-editorial h4, .q-editorial h5, .q-editorial h6 { font-family:var(--qe-font); }
.q-editorial__masthead { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px, .42fr); gap:clamp(24px,6vw,88px); align-items:end; padding:clamp(58px,9vw,132px) clamp(20px,6vw,94px) clamp(42px,6vw,78px); background:var(--qe-deep); color:var(--qe-white); }
.q-editorial__masthead > div { max-width:840px; }
.q-editorial__eyebrow { margin:0 0 15px; color:var(--qe-deep); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.q-editorial__masthead .q-editorial__eyebrow { color:var(--qe-mint); }
.q-editorial__masthead h1, .q-editorial__article-head h1, .q-editorial__empty h2 { max-width:13ch; margin:0; font-size:clamp(42px,6.5vw,86px); font-weight:800; letter-spacing:-.04em; line-height:.98; }
.q-editorial__masthead h1 { color:var(--qe-white); -webkit-text-fill-color:var(--qe-white); }
.q-editorial__intro { max-width:53ch; margin:26px 0 0; color:#cce3df; font-size:clamp(16px,1.5vw,21px); line-height:1.5; }
.q-editorial-search { display:flex; gap:0; border:1px solid color-mix(in srgb, var(--qe-white) 65%, transparent); }
.q-editorial .search-field { min-width:0; width:100%; border:0; padding:14px; border-radius:0; background:var(--qe-white); color:var(--qe-ink); font:inherit; }
.q-editorial .search-submit { border:0; border-radius:0; padding:14px 18px; background:var(--qe-orange); color:var(--qe-ink); font:inherit; font-weight:800; }
.q-editorial__feed { padding:clamp(34px,5vw,76px) clamp(20px,6vw,94px); }
.q-editorial__grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(16px,2vw,30px); }
.q-editorial .q-editorial__grid > .q-editorial-card { grid-column:span 4; width:auto !important; max-width:none !important; min-width:0; margin:0 !important; padding:0 !important; flex:initial !important; background:var(--qe-white); border-bottom:4px solid var(--qe-teal); }
.q-editorial-card:only-child { grid-column:span 8; }
.q-editorial-card:only-child .q-editorial-card__link { grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); grid-template-rows:1fr; }
.q-editorial-card:only-child .q-editorial-card__visual { aspect-ratio:auto; min-height:330px; }
.q-editorial-card:nth-child(3n+2) { border-color:var(--qe-orange); }
.q-editorial-card:nth-child(3n) { border-color:var(--qe-blue); }
.q-editorial-card__link { display:grid; height:100%; grid-template-rows:auto 1fr; }
.q-editorial-card__visual { position:relative; aspect-ratio:1.35; overflow:hidden; background:var(--qe-mint); }
.q-editorial-card:nth-child(3n+2) .q-editorial-card__visual { background:var(--qe-oat); }
.q-editorial-card:nth-child(3n) .q-editorial-card__visual { background:#9dcde2; }
.q-editorial-card__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg, transparent 45%, rgba(0,73,73,.18)); pointer-events:none; }
.q-editorial-card__visual img { width:100%; height:100%; object-fit:cover; transition:transform 360ms cubic-bezier(.16,1,.3,1); }
.q-editorial-card__body { display:flex; min-height:240px; flex-direction:column; padding:clamp(20px,2.2vw,30px); }
.q-editorial-card .q-editorial__eyebrow { color:var(--qe-blue); }
.q-editorial-card h2 { margin:0; font-size:clamp(25px,2.4vw,37px); letter-spacing:-.04em; line-height:1.04; }
.q-editorial-card__body > p:not(.q-editorial__eyebrow) { margin:15px 0; color:var(--qe-muted); line-height:1.55; }
.q-editorial-card footer { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:auto; padding-top:18px; border-top:1px solid var(--qe-line); color:var(--qe-muted); font-size:13px; font-weight:700; }
.q-editorial-card footer span { color:var(--qe-blue); font-size:22px; transition:transform 180ms ease; }
.q-editorial-card__link:hover img, .q-editorial-card__link:focus-visible img { transform:scale(1.045); }
.q-editorial-card__link:hover footer span, .q-editorial-card__link:focus-visible footer span { transform:translateX(4px); }
.q-editorial .navigation.pagination { display:flex; justify-content:center; margin-top:clamp(42px,6vw,80px); }
.q-editorial .nav-links { display:flex; flex-wrap:wrap; gap:6px; }
.q-editorial .page-numbers { display:grid; min-width:44px; min-height:44px; padding:8px 14px; place-items:center; background:var(--qe-white); font-weight:800; }
.q-editorial .page-numbers.current, .q-editorial .page-numbers:hover, .q-editorial .page-numbers:focus-visible { background:var(--qe-teal); }
.q-editorial__article { max-width:980px; margin:0 auto; padding:clamp(58px,9vw,132px) clamp(20px,5vw,64px) 0; }
.q-editorial__article-head { max-width:790px; margin-bottom:clamp(32px,5vw,64px); }
.q-editorial__article-head .q-editorial__eyebrow a:hover { color:var(--qe-blue); text-decoration:underline; text-underline-offset:3px; }
.q-editorial__article-head h1 { max-width:12ch; color:var(--qe-deep); }
.q-editorial__lede { max-width:56ch; margin:28px 0 0; color:var(--qe-muted); font-size:clamp(18px,2vw,25px); line-height:1.42; }
.q-editorial__byline { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; color:var(--qe-muted); font-size:13px; font-weight:700; }
.q-editorial__feature { margin:0 0 clamp(32px,6vw,68px); }
.q-editorial__feature img { display:block; width:100%; height:auto; }
.q-editorial__content { max-width:680px; margin:auto; font-size:clamp(17px,1.55vw,20px); line-height:1.7; }
.q-editorial__content > * { margin:0 0 1.45em; }
.q-editorial__content h2, .q-editorial__content h3 { color:var(--qe-deep); font-size:clamp(28px,3.3vw,46px); letter-spacing:-.04em; line-height:1.08; }
.q-editorial__content h3 { font-size:clamp(22px,2.5vw,31px); }
.q-editorial__content a { color:var(--qe-blue); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; }
.q-editorial__content blockquote { margin-left:0; padding:26px 28px; border:1px solid #a97822; background:var(--qe-oat); color:#3e2b14; font-size:1.25em; font-weight:700; line-height:1.35; }
.q-editorial__content img { max-width:100%; height:auto; }
.q-editorial__content :where(iframe, video) { max-width:100%; }
.q-editorial__content :where(pre, table) { display:block; max-width:100%; overflow-x:auto; }
.q-editorial__content :where(a, code) { overflow-wrap:anywhere; }
.q-editorial__article-foot { display:flex; flex-wrap:wrap; gap:10px; max-width:680px; margin:46px auto 0; padding-top:22px; border-top:1px solid var(--qe-line); }
.q-editorial__article-foot a { display:inline-flex; min-height:44px; align-items:center; padding:8px 12px; background:var(--qe-mint); font-size:12px; font-weight:800; }
.q-editorial__comments { max-width:680px; margin:64px auto 0; padding:34px; background:var(--qe-white); }
.q-editorial__comments input, .q-editorial__comments textarea { max-width:100%; border:1px solid var(--qe-line); border-radius:0; padding:10px; font:inherit; }
.q-editorial__comments .submit { border:0; border-radius:0; padding:12px 18px; background:var(--qe-orange); color:var(--qe-ink); font-weight:800; }
.q-editorial__empty { max-width:760px; padding:clamp(42px,7vw,88px); background:var(--qe-mint); }
.q-editorial__empty h2 { color:var(--qe-deep); font-size:clamp(34px,5vw,64px); }
.q-editorial__empty > p:not(.q-editorial__eyebrow) { max-width:44ch; margin:22px 0 30px; font-size:18px; line-height:1.55; }
.q-editorial__empty > a { display:inline-block; padding:13px 16px; background:var(--qe-orange); font-weight:800; }
.q-editorial__screen-reader { position:absolute; width:1px; height:1px; overflow:hidden; margin:-1px; padding:0; border:0; clip:rect(0,0,0,0); white-space:nowrap; }
.q-editorial-site .q-footer { color:#f7f2e8; }
.q-editorial-site .q-footer a { color:#f7f2e8; }
.q-editorial-site .q-footer p { color:#b9c7c5; }
.q-editorial-site .q-wordmark, .q-editorial-site .q-nav a, .q-editorial-site .q-header-actions a, .q-editorial-site .q-footer a { display:inline-flex; min-height:44px; align-items:center; }
.q-editorial-site :where(a, button, input, textarea):focus-visible { outline:3px solid var(--qe-ink); outline-offset:3px; }
.q-editorial-site :where(.q-editorial__masthead, .q-footer) :where(a, button, input, textarea):focus-visible { outline-color:var(--qe-orange); }
@media (max-width:900px) { .q-editorial .q-editorial__grid > .q-editorial-card, .q-editorial-card:only-child { grid-column:span 6; } .q-editorial-card:only-child .q-editorial-card__link { grid-template-columns:1fr; grid-template-rows:auto 1fr; } .q-editorial-card:only-child .q-editorial-card__visual { aspect-ratio:1.35; min-height:0; } .q-editorial__masthead { grid-template-columns:1fr; } }
@media (max-width:600px) { .q-editorial-site .q-header { display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; gap:0 18px; padding:12px 18px 0; } .q-editorial-site .q-wordmark { grid-column:1; grid-row:1; } .q-editorial-site .q-header-actions { grid-column:2; grid-row:1; } .q-editorial-site .q-header-actions > a:first-child { display:none; } .q-editorial-site .q-nav { position:static; grid-column:1 / -1; grid-row:2; display:flex; width:calc(100% + 36px); flex-wrap:wrap; gap:0 18px; margin-inline:-18px; padding:8px 18px 10px; overflow:visible; } .q-editorial-site .q-nav a { min-height:44px; padding-block:8px; } .q-editorial-site .q-footer-links { gap:0 24px; } .q-editorial .q-editorial__grid > .q-editorial-card, .q-editorial-card:only-child { grid-column:span 12; } .q-editorial__masthead { padding-top:58px; } .q-editorial-card__body { min-height:0; } .q-editorial__article { padding-top:58px; } .q-editorial__content blockquote { padding:20px; } }
@media (prefers-reduced-motion:reduce) { .q-editorial *, .q-editorial *::before, .q-editorial *::after { scroll-behavior:auto !important; transition:none !important; } }
