/* ============ NOI L’AQUILA — shared stylesheet ============ */
/* ============ NOI L'AQUILA — shared styles (inlined per page) ============ */
:root{
  --paper:#F6F1E7; --paper-2:#EFE7D6; --card:#FCF9F1;
  --ink:#221E18; --muted:#6E6553; --line:#DDD2BC;
  --pine:#28453A; --pine-deep:#1D332B; --pine-ink:#152620;
  --terra:#B4502F; --terra-deep:#93401F;
  --sand:#E7DCC5; --gold:#9A7B2D;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
  font-size:20px;line-height:1.65;color:var(--ink);
  background:var(--paper);
  font-optical-sizing:auto;
}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:"Marcellus","Palatino Linotype",Georgia,serif;font-weight:400;line-height:1.15;text-wrap:balance}
h2{font-size:2rem}
h3{font-size:1.55rem}
h4{font-size:1.25rem}
p{text-wrap:pretty}
a{color:var(--terra);text-decoration-color:color-mix(in oklab,var(--terra) 45%,transparent);text-underline-offset:3px}
a:hover{color:var(--terra-deep)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.reading{max-width:740px;margin:0 auto;padding:0 24px}
.kicker{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--terra)}
.kicker--pine{color:var(--pine)}
.btn{display:inline-block;font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:16px 28px;border:1px solid var(--terra);background:var(--terra);color:#FFF8EE;transition:background .2s,color .2s}
.btn:hover{background:var(--terra-deep);border-color:var(--terra-deep);color:#FFF8EE}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn--light{background:transparent;color:#F3EDDF;border-color:#F3EDDF}
.btn--light:hover{background:#F3EDDF;color:var(--pine-ink);border-color:#F3EDDF}
/* ---------- header ---------- */
.site-head{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:50}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.logo{font-family:"Marcellus",serif;font-size:1.35rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.logo b{font-weight:400}
.logo .logo-dot{width:9px;height:9px;background:var(--terra);border-radius:50%;align-self:center;flex:none}
.logo small{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.24em;color:var(--muted)}
.nav-toggle{position:absolute;opacity:0;pointer-events:none}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:0 10px;cursor:pointer;border:1px solid var(--line);background:var(--card)}
.burger span{display:block;height:2px;background:var(--ink)}
.site-nav{display:flex;align-items:center;gap:6px}
.site-nav a{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:14px 11px}
.site-nav a:hover{color:var(--terra)}
.site-nav a[aria-current="page"]{color:var(--terra)}
.site-nav .nav-cta{border:1px solid var(--ink);padding:12px 18px;margin-left:8px}
.site-nav .nav-cta:hover{background:var(--ink);color:var(--paper)}
@media (max-width:1150px){
  .burger{display:flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 16px 20px}
  .site-nav a{padding:14px 8px;border-bottom:1px solid var(--line);font-size:1rem}
  .site-nav a:last-child{border-bottom:0}
  .site-nav .nav-cta{margin:14px 8px 0;text-align:center;border-bottom:1px solid var(--ink)}
  .nav-toggle:checked ~ .site-nav{display:flex}
}
/* ---------- footer ---------- */
.site-foot{background:var(--pine-ink);color:#C9C2AE;margin-top:96px}
.site-foot a{color:#EDE6D3;text-decoration:none}
.site-foot a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding:72px 0 56px}
.foot-brand .logo{color:#F3EDDF;font-size:1.25rem;margin-bottom:18px}
.foot-brand p{font-size:1rem;line-height:1.7;max-width:38ch}
.foot-h{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#8FA396;margin-bottom:18px}
.foot-list{list-style:none}
.foot-list li{margin-bottom:10px}
.foot-list a{font-size:1rem}
.foot-base{border-top:1px solid rgba(243,237,223,.16);padding:26px 0;display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;font-size:1rem}
.foot-base a{color:#C9C2AE}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr;gap:40px;padding:56px 0 40px}}
/* ---------- page hero (interior) ---------- */
.page-hero{background:var(--pine-deep);color:#F3EDDF;position:relative;overflow:hidden}
.page-hero .wrap{position:relative;z-index:2;padding-top:88px;padding-bottom:88px;max-width:900px;text-align:center}
.page-hero .kicker{color:#D8B491;margin-bottom:18px;display:block}
.page-hero h1{font-size:clamp(2.1rem,5.4vw,3.6rem);color:#F8F3E6}
.page-hero .lede{margin:22px auto 0;max-width:56ch;font-size:1.05rem;line-height:1.7;color:#CDC5B0}
/* ---------- article ---------- */
.article-body{padding-top:64px}
.article-body p{margin-bottom:1.6em}
.article-body h2{margin:2.2em 0 .8em;position:relative;padding-top:.9em}
.article-body h2::before{content:"";position:absolute;top:0;left:0;width:56px;height:3px;background:var(--terra)}
.article-body h3{margin:1.8em 0 .7em}
.article-body figure{margin:2.6em 0}
.article-body figcaption{font-size:1rem;font-family:"Archivo",system-ui,sans-serif;letter-spacing:.04em;color:var(--muted);padding-top:12px;border-bottom:1px solid var(--line);padding-bottom:12px}
.article-body img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--sand)}
.drop::first-letter{font-family:"Marcellus",serif;font-size:3.4em;line-height:.85;float:left;padding:.08em .12em 0 0;color:var(--pine)}
.figure-wide{max-width:1000px;margin:3em auto;padding:0 24px}
.figure-wide img{width:100%;aspect-ratio:5/3;object-fit:cover;background:var(--sand)}
.figure-wide figcaption{font-size:1rem;font-family:"Archivo",system-ui,sans-serif;color:var(--muted);padding-top:12px}
/* related / keep exploring */
.related{margin-top:88px;border-top:1px solid var(--line);background:var(--paper-2)}
.related .wrap{padding-top:64px;padding-bottom:80px}
.related-h{display:flex;align-items:baseline;gap:18px;margin-bottom:34px}
.related-h h2{font-size:1.6rem}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:860px){.related-grid{grid-template-columns:1fr}}
/* post cards */
.post-card{background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column}
.post-card img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--sand)}
.post-card .pc-body{padding:26px 26px 30px;display:flex;flex-direction:column;gap:12px;flex:1}
.post-card h3{font-size:1.3rem;line-height:1.25}
.post-card h3 a{color:var(--ink);text-decoration:none}
.post-card h3 a:hover{color:var(--terra)}
.post-card p{font-size:1rem;line-height:1.6;color:var(--muted)}
.pc-more{margin-top:auto;font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);text-decoration:none;padding-top:6px}
.pc-more:hover{color:var(--terra-deep)}
/* numbered list blocks (hotels, reasons) */
.rank-list{list-style:none;counter-reset:rank;margin:2.4em 0}
.rank-item{counter-increment:rank;display:grid;grid-template-columns:84px 1fr;gap:0 28px;padding:30px 0;border-top:1px solid var(--line);align-items:start}
.rank-item:last-child{border-bottom:1px solid var(--line)}
.rank-item::before{content:counter(rank,decimal-leading-zero);font-family:"Marcellus",serif;font-size:2.6rem;line-height:1;color:var(--sand);color:color-mix(in oklab,var(--terra) 55%,var(--sand));grid-row:1/span 2}
.rank-item h3{font-size:1.35rem;margin-bottom:.35em}
.rank-item p{color:var(--ink)}
@media (max-width:600px){.rank-item{grid-template-columns:56px 1fr}.rank-item::before{font-size:1.9rem}}
/* hero */
.hero{position:relative;background:var(--pine-ink);color:#F3EDDF;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,38,32,.25) 0%,rgba(21,38,32,.55) 60%,rgba(21,38,32,.92) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:clamp(90px,14vh,170px);padding-bottom:clamp(80px,12vh,150px);text-align:center}
.hero .kicker{color:#D8B491;letter-spacing:.34em}
.hero h1{font-size:clamp(4rem,14vw,10.5rem);letter-spacing:.14em;text-indent:.14em;color:#F8F3E6;margin:18px 0 14px;line-height:1.12}
.hero .hero-sub{font-family:"Marcellus",serif;font-size:clamp(1.05rem,2.4vw,1.5rem);letter-spacing:.06em;color:#E4DCC6;display:flex;align-items:center;justify-content:center;gap:20px}
.hero .hero-sub::before,.hero .hero-sub::after{content:"";height:1px;width:clamp(36px,7vw,84px);background:rgba(243,237,223,.45);flex:none}
.hero .hero-lede{max-width:52ch;margin:26px auto 0;font-size:1.05rem;line-height:1.7;color:#CDC5B0}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:38px}
.hero-scroll{position:relative;z-index:2;display:block;width:1px;height:56px;background:rgba(243,237,223,.4);margin:0 auto}
/* intro */
.intro{padding:104px 0 0}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.intro h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin:14px 0 22px}
.intro p{color:var(--ink)}
.intro-side{border-left:1px solid var(--line);padding-left:40px;display:flex;flex-direction:column;gap:30px}
.intro-side .item h3{font-size:1.05rem;margin:4px 0 6px}
.intro-side .item p{font-size:1rem;line-height:1.6;color:var(--muted)}
@media (max-width:860px){.intro-grid{grid-template-columns:1fr;gap:40px}.intro-side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:34px}}
/* english banner */
.band{background:var(--pine);color:#F3EDDF;margin-top:104px}
.band .wrap{padding:72px 24px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.band .kicker{color:#D8B491;display:block;margin-bottom:12px}
.band h2{font-size:clamp(1.4rem,2.8vw,1.9rem);max-width:34ch;color:#F8F3E6}
@media (max-width:820px){.band .wrap{grid-template-columns:1fr}}
/* features */
.features{padding:104px 0 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 56px}
.sec-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-top:14px}
.sec-head .rule{width:56px;height:3px;background:var(--terra);margin:22px auto 0}
.feature{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--card);margin-bottom:32px}
.feature-media{position:relative;min-height:320px}
.feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--sand)}
.feature-media .feature-word{position:absolute;left:24px;bottom:16px;font-family:"Marcellus",serif;font-size:clamp(2rem,4.6vw,3.2rem);letter-spacing:.22em;color:#F8F3E6;text-shadow:0 2px 18px rgba(21,38,32,.65)}
.feature-body{padding:clamp(30px,4.5vw,58px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.feature-body h3{font-size:clamp(1.4rem,2.6vw,1.9rem)}
.feature-body h3 a{color:var(--ink);text-decoration:none}
.feature-body h3 a:hover{color:var(--terra)}
.feature-body p{color:var(--muted);font-size:1rem}
.feature-body .pc-more{padding-top:2px}
.feature:nth-child(even) .feature-media{order:2}
@media (max-width:860px){.feature{grid-template-columns:1fr}.feature-media{min-height:240px}.feature:nth-child(even) .feature-media{order:0}}
/* journal */
.journal{padding:104px 0 0}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:1000px){.journal-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.journal-grid{grid-template-columns:1fr}}
.journal-all{text-align:center;margin-top:44px}
/* contact band */
.contact-band{margin-top:104px;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-band .wrap{padding:88px 24px;text-align:center;max-width:760px}
.contact-band h2{font-size:clamp(1.6rem,3.2vw,2.3rem);margin:14px 0 26px}
/* partners */
.partners{padding:104px 0 0}
.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:1000px){.partners-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.partners-grid{grid-template-columns:1fr}}
.partner-card{background:var(--card);border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:14px}
.partner-logo{width:100%;height:68px;object-fit:contain;object-position:center;background:var(--paper-2);border:1px solid var(--line);padding:12px 18px;font-size:1rem;color:var(--muted);overflow:hidden}
.partner-name{font-size:1.15rem}
.partner-name a{color:var(--ink);text-decoration:none}
.partner-name a:hover{color:var(--terra)}
.partner-toggle{position:absolute;opacity:0;pointer-events:none}
.partner-desc{font-size:1rem;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.partner-toggle:checked ~ .partner-desc{display:block;-webkit-line-clamp:unset;overflow:visible}
.partner-more{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pine);cursor:pointer;padding:4px 0}
.partner-more:hover{color:var(--terra)}
.partner-more .less{display:none}
.partner-toggle:checked ~ .partner-more .more{display:none}
.partner-toggle:checked ~ .partner-more .less{display:inline}
.partner-cta{margin-top:auto;font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--terra);border:1px solid var(--line);padding:12px 18px;text-align:center;transition:all .2s}
.partner-cta:hover{border-color:var(--terra);background:var(--terra);color:#FFF8EE}
/* ============ polish layer ============ */
::selection{background:#E8CDB4;color:#221E18}
a{transition:color .18s ease}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,label:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.btn{transition:background .22s ease,color .22s ease,border-color .22s ease,transform .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
@media (min-width:1151px){
  .site-nav a:not(.nav-cta){position:relative}
  .site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:12px;right:12px;bottom:9px;height:2px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
  .site-nav a:not(.nav-cta):hover::after,.site-nav a:not(.nav-cta)[aria-current="page"]::after{transform:scaleX(1)}
}
.post-card{overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.post-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px -20px rgba(34,30,24,.3);border-color:#CBBD9F}
.post-card img{transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.post-card:hover img{transform:scale(1.04)}
.feature-media{overflow:hidden}
.feature-media img{transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.feature:hover .feature-media img{transform:scale(1.03)}
.site-foot a{transition:color .18s ease}
.page-hero .wrap{padding-top:96px;padding-bottom:96px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:center;margin-top:30px;font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9FB1A2}
.hero-meta .sep{width:22px;height:1px;background:rgba(243,237,223,.35)}
.article-body{padding-top:72px}
.article-body figure,.figure-wide{background:var(--card);border:1px solid var(--line);padding:14px}
.article-body figcaption,.figure-wide figcaption{border-bottom:0;padding-bottom:2px;padding-top:14px}
.rank-item{transition:background .2s ease}
.pullquote{margin:2.8em 0;padding:.35em 0 .35em 30px;border-left:3px solid var(--terra);font-family:"Marcellus",serif;font-size:1.45rem;line-height:1.45;color:var(--pine-deep);text-wrap:balance}
.pullquote small{display:block;margin-top:.9em;font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.article-body ul.styled{list-style:none;margin:1.6em 0 2em}
.article-body ul.styled li{position:relative;padding:13px 0 13px 32px;border-top:1px solid var(--line)}
.article-body ul.styled li:last-child{border-bottom:1px solid var(--line)}
.article-body ul.styled li::before{content:"";position:absolute;left:4px;top:1.35em;width:12px;height:2px;background:var(--terra)}
.article-body ul.styled b{font-weight:600;font-family:"Newsreader",serif}
.endnote{margin:3em 0 0;padding:30px 32px;background:var(--paper-2);border:1px solid var(--line)}
.endnote .kicker{display:block;margin-bottom:12px}
.endnote p:last-child{margin-bottom:0}
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:2.8em 0}
.stat-strip .stat{background:var(--card);padding:26px 22px 22px}
.stat-strip .stat b{display:block;font-family:"Marcellus",serif;font-weight:400;font-size:2rem;line-height:1.05;color:var(--terra);margin-bottom:8px}
.stat-strip .stat span{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.year-chips{display:flex;flex-wrap:wrap;gap:10px;margin:1.4em 0 2em;list-style:none}
.year-chips li{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.14em;padding:9px 15px;border:1px solid var(--line);background:var(--card);color:var(--pine-deep)}
.year-chips li.big{background:var(--terra);border-color:var(--terra);color:#FFF8EE}
.fact-list{counter-reset:fact;list-style:none;margin:0}
.fact-list .fact{counter-increment:fact;display:grid;grid-template-columns:76px 1fr;gap:0 28px;padding:36px 0;border-top:1px solid var(--line);align-items:start}
.fact-list .fact:last-child{border-bottom:1px solid var(--line)}
.fact-list .fact::before{content:counter(fact,decimal-leading-zero);font-family:"Marcellus",serif;font-size:2.4rem;line-height:1;color:color-mix(in oklab,var(--pine) 50%,var(--sand))}
.fact-list .fact h2,.fact-list .fact h3{margin:0 0 .5em;padding-top:0;font-size:1.45rem}
.fact-list .fact h2::before{display:none}
.fact-list .fact p{margin-bottom:0}
.fact-list .fact p+p{margin-top:1em}
.fact-list .fact figure{margin:1.6em 0 0}
.dine-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:2.2em 0}
.dine-col{background:var(--card);border:1px solid var(--line);padding:26px 28px}
.dine-col .kicker{display:block;margin-bottom:6px}
.dine-col ul{list-style:none;margin:0}
.dine-col li{padding:11px 0;border-top:1px solid var(--line);font-size:1rem}
.dine-col li:first-of-type{border-top:0}
.dine-col li b{font-weight:600}
.dine-col li span{display:block;font-size:1rem;color:var(--muted)}
@media (max-width:640px){
  .dine-grid{grid-template-columns:1fr}
  .fact-list .fact{grid-template-columns:52px 1fr;gap:0 16px;padding:28px 0}
  .fact-list .fact::before{font-size:1.7rem}
  .stat-strip{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  body{font-size:18px}
  .wrap,.reading{padding:0 20px}
  .page-hero .wrap{padding-top:64px;padding-bottom:64px}
  .article-body{padding-top:52px}
  h2{font-size:1.65rem}
  .figure-wide{padding:14px;margin:2.4em 20px}
  .article-body figure,.figure-wide{padding:10px}
  .pullquote{font-size:1.22rem;padding-left:22px}
  .rank-item{padding:24px 0}
  .site-foot{margin-top:72px}
  .related{margin-top:64px}
}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin:3em 0}
.about-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--sand)}
@media (max-width:820px){.about-grid{grid-template-columns:1fr;gap:28px}}
/* page-hero image backgrounds */
.page-hero .page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34;filter:saturate(.72) brightness(.92);z-index:0}
.page-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(29,51,43,.5) 0%,rgba(29,51,43,.72) 60%,rgba(29,51,43,.93) 100%)}
.blog-list{padding-top:72px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:1000px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr}}
.blog-featured{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);background:var(--card);margin-bottom:56px}
.blog-featured .bf-media{position:relative;min-height:340px}
.blog-featured img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--sand)}
.blog-featured .bf-body{padding:clamp(30px,4.5vw,56px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.blog-featured h2{font-size:clamp(1.5rem,3vw,2.1rem)}
.blog-featured h2 a{color:var(--ink);text-decoration:none}
.blog-featured h2 a:hover{color:var(--terra)}
.blog-featured p{color:var(--muted);font-size:1rem}
@media (max-width:860px){.blog-featured{grid-template-columns:1fr}.blog-featured .bf-media{min-height:240px}}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;padding-top:72px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;gap:40px}}
.contact-info h2{font-size:1.6rem;margin-bottom:.6em}
.contact-info p{color:var(--muted);font-size:1rem;margin-bottom:1.4em}
.contact-list{list-style:none;border-top:1px solid var(--line)}
.contact-list li{display:flex;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font-size:1rem}
.contact-list .k{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pine);min-width:88px}
.contact-form{background:var(--card);border:1px solid var(--line);padding:clamp(28px,4vw,48px)}
.contact-form .row{margin-bottom:22px}
.contact-form label{display:block;font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pine);margin-bottom:8px}
.contact-form input,.contact-form textarea{width:100%;font-family:"Newsreader",Georgia,serif;font-size:1rem;padding:14px 16px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--terra);outline-offset:-1px}
.contact-form textarea{min-height:160px;resize:vertical}
.contact-form button{width:100%;cursor:pointer;font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:18px 28px;border:1px solid var(--terra);background:var(--terra);color:#FFF8EE}
.contact-form button:hover{background:var(--terra-deep)}
.iten-panel{max-width:740px;margin:0 auto;padding:0 24px}
.iten-note{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--card);margin:3em auto}
.iten-note > div{padding:34px 34px 38px}
.iten-note > div:first-child{border-right:1px solid var(--line);background:var(--paper-2)}
.iten-note .kicker{display:block;margin-bottom:12px}
.iten-note p{font-size:1.05rem;font-style:italic;color:var(--muted)}
@media (max-width:700px){.iten-note{grid-template-columns:1fr}.iten-note > div:first-child{border-right:0;border-bottom:1px solid var(--line)}}
.place-row{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:36px;padding:44px 0;border-top:1px solid var(--line);align-items:start}
.place-row:last-of-type{border-bottom:1px solid var(--line)}
.place-row img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--sand)}
.place-row h3{font-size:1.45rem;margin-bottom:.5em;display:flex;gap:14px;align-items:baseline}
.place-row h3 .n{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.12em;color:var(--terra)}
.place-list{max-width:960px;margin:3em auto 0;padding:0 24px}
@media (max-width:700px){.place-row{grid-template-columns:1fr;gap:20px}}
/* ---------- map section ---------- */
.map-section{padding:104px 0 0}
.map-grid{display:grid;grid-template-columns:1.5fr 1fr;border:1px solid var(--line);background:var(--card)}
.map-frame{position:relative;min-height:440px}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:sepia(.15) saturate(.9)}
.map-side{padding:clamp(30px,4vw,54px);display:flex;flex-direction:column;gap:20px;border-left:1px solid var(--line)}
.map-side h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.map-side>p{color:var(--muted);font-size:1rem;line-height:1.65}
.map-facts{list-style:none;margin:0}
.map-facts li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:13px 0;border-top:1px solid var(--line);font-size:1rem}
.map-facts .k{font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:none}
@media (max-width:860px){.map-grid{grid-template-columns:1fr}.map-side{border-left:0;border-top:1px solid var(--line)}.map-frame{min-height:320px}}
/* ---------- faq ---------- */
.faq{padding:104px 0 0}
.faq-list{max-width:840px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:26px 4px;font-family:"Marcellus",serif;font-size:1.3rem;transition:color .18s ease}
.faq-item summary:hover{color:var(--terra)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:"Marcellus",serif;font-size:1.6rem;line-height:1;color:var(--terra);flex:none;transition:transform .25s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-a{padding:0 4px 28px;max-width:64ch}
.faq-a p{margin-bottom:1em}
.faq-a p:last-child{margin-bottom:0}

/* xlink-adfix */
.partner-logo-link{display:block}
.partner-logo{width:100%!important;height:88px!important;background:#14110d!important;object-fit:contain!important;padding:14px 22px!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.12)!important;box-sizing:border-box!important;display:block!important}
.partner-card a:hover,.partner-logo-link:hover,.partner-name a:hover,.partner-cta:hover{background:transparent!important;color:inherit!important}
.partner-card:hover{background:inherit}
/* xlink-descfull */
.partner-desc{max-height:none!important;-webkit-line-clamp:none!important;overflow:visible!important;display:block!important}

/* op-head-row-fit: a.logo measured 385px wide at x=20 in a 390px viewport — <b> 155px + dot 9px
   + <small> 201px on a single white-space:nowrap line with 1.7px letter-spacing, which put the
   page 61px over. The lockup is allowed to wrap, so the tagline drops under the name instead
   of pushing the page sideways; the name, the dot and the letter-spacing are untouched, and
   above 640px the line still fits on one row. */
@media (max-width:640px){
  /* flex-wrap alone did nothing: a.logo is itself a flex ITEM sized to max-content, so there
     was never a narrower box for its parts to wrap into — measured <small> still on the same
     line at x=193 w=201 beside <b> 155px. It needs permission to shrink first. */
  /* NOT scoped to .site-head: the same lockup is reused in the footer (.foot-brand .logo),
     and that was the copy still overflowing — <small> at x=193 w=201 inside a 280px column. */
  .logo{flex-wrap:wrap;max-width:100%;min-width:0}
  .logo small{white-space:normal;min-width:0}
}

/* op-foot-grid-fit: the footer grid kept a 374px track inside a 280px container at 320 —
   measured cols=373.562px while the grid itself was 280px wide, so the page ran 74px over.
   Desktop resolves to three tracks (435 / 311 / 311), which is untouched; below 640 the single
   column is allowed to shrink with the viewport instead of holding a min-content width. */
@media (max-width:640px){
  .foot-grid{grid-template-columns:minmax(0,1fr)}
}

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   3731px at 390, 22% of the whole page. Two columns bring it to
   2341px (37% shorter). Checked before writing: no new overflow, smallest mark still
   110px wide, longest blurb 3 lines, tile heights 313-386px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. An odd tile count means the lead tile spans the whole row, so the block does not end on an empty cell. Only the tier(s) that were one-per-row are touched (.partners-grid), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .partners-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:24px!important}
    .partners-grid > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .partners-grid > * *{min-width:0!important;max-width:100%}
    .partners-grid img,.partners-grid svg{max-width:100%;height:auto}
  .partners-grid .partner-desc{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-odd-tier-lead: .partners-grid (11 tiles) lay out two per row with an ODD tile count, so the
   block ended on a lone tile beside an empty cell. The lead tile takes the whole row instead —
   operator: "the 1st item in such rows to be 100% width, then split" — so the grid reads as
   complete. These tiers were already two-per-row, which is why the column pass never wrote the
   rule for them. Checked before writing: no new horizontal overflow, block not more than 15%
   taller. Phone widths only; desktop keeps Design's layout. */
@media (max-width:640px){
  .partners-grid:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}
/* op-heading-levels */
h2:where(.rt-h3){font-family: Marcellus, "Palatino Linotype", Georgia, serif; font-weight: 400; line-height: 1.15; text-wrap: balance;}
h2:where(.rt-h3){font-size: 1.55rem;}
.article-body h2:where(.rt-h3){margin: 1.8em 0px 0.7em;}
.post-card h2:where(.rt-h3){font-size: 1.3rem; line-height: 1.25;}
.post-card h2:where(.rt-h3) a{color: var(--ink); text-decoration: none;}
.post-card h2:where(.rt-h3) a:hover{color: var(--terra);}
.rank-item h2:where(.rt-h3){font-size: 1.35rem; margin-bottom: 0.35em;}
h2.rt-h3.rt-h3{position:static;height:24.8281px;padding-top:0px}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(article.blog-featured > div.bf-media > img,
  article.feature > div.feature-media > img,
  div > figure > img,
  div.article-body.reading > figure > img,
  div.blog-grid > article.post-card > img,
  div.journal-grid > article.post-card > img,
  div.place-list > div.place-row > img,
  main > section.hero > img.hero-img,
  main > section.page-hero > img.page-hero-bg){height:auto}
/* op-img-dims:end */
