/* Public editorial layer; CMS content and section order remain authoritative. */
.concept.a.final{--paper:#f4f0e8;--ink:#282720;--accent:#a3452e;--soft:#e5e4d8;--line:#28272026;--serif:'Cormorant Garamond',Georgia,serif;font-family:Manrope,Arial,sans-serif}
.concept.a.final .page{overflow:visible}
.concept.a.final :is(h1,h2,h3){text-wrap:balance;overflow-wrap:anywhere}
.concept.a.final :is(p,a,figcaption){overflow-wrap:anywhere}
.concept.a.final :is(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.concept.a.final .public-header{position:relative;z-index:70;height:auto;min-height:88px;margin:0;padding:18px clamp(20px,4vw,64px);display:flex;flex-wrap:wrap;gap:18px;background:var(--paper);border:0;border-bottom:1px solid var(--line);box-shadow:none}
.concept.a.final .public-header:after{display:none}
.concept.a.final .brand{font-size:42px;line-height:1;letter-spacing:-.06em;text-decoration:none}
.concept.a.final .menu-toggle{display:inline-flex;align-items:center;gap:24px;margin-left:auto;min-height:46px;border:1px solid var(--line);border-radius:999px;padding:10px 20px;background:transparent;color:var(--ink);font-size:13px}
.concept.a.final .menu-toggle[hidden],.concept.a.final .public-nav[hidden]{display:none}
.menu-mark{display:grid;gap:5px;width:18px}
.menu-mark i{display:block;width:18px;height:1px;background:currentColor;transition:transform .2s ease}
[aria-expanded=true] .menu-mark i:first-child{transform:translateY(3px) rotate(45deg)}
[aria-expanded=true] .menu-mark i:last-child{transform:translateY(-3px) rotate(-45deg)}
.concept.a.final .public-nav{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;flex-basis:100%;width:100%;padding:20px 0;background:var(--paper);border:0;box-shadow:none}
.concept.a.final .menu-ready .public-nav{position:absolute;top:100%;left:0;right:0;padding:24px clamp(20px,4vw,64px) 32px;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;border-bottom:1px solid var(--line);box-shadow:0 22px 32px #28272014}
.concept.a.final .public-nav a{display:flex;align-items:center;min-width:0;min-height:54px;padding:12px 10px;border:0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5;white-space:normal}
.concept.a.final .public-nav a[aria-current]{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.concept.a.final .public-nav .nav-cta{margin:0;border-radius:0;color:var(--accent);padding:12px 10px!important;border-bottom:1px solid var(--line)!important}
.concept.a.final .public-nav a:hover{background:#a3452e0a;color:var(--accent)}
.concept.a.final .page>section{padding-block:clamp(60px,7.5vw,112px)}
/* Homepage block titles only. Unscoped, this outranks .reading .entry-title and blows up every list
   heading on the inner pages — which is the complaint the customer already raised once. */
.concept.a.final .page>section h2{font-size:clamp(34px,5.3vw,76px);line-height:1.07;letter-spacing:-.035em}
.concept.a.final .eyebrow{color:var(--accent);letter-spacing:.14em;font-size:11px;line-height:1.7}
.concept.a.final .section-title{align-items:baseline;border-color:var(--line);gap:20px}
.concept.a.final :is(.section-title,.gallery-title)>a{flex-shrink:0;white-space:normal;font-size:14px}
.concept.a.final :is(.today,.dictionary){background:var(--soft)}
/* Calendar, chart and footer retain their backgrounds from kebud.css. */
.concept.a.final :is(.calendar,.chart-cta) .eyebrow{color:#dba38c}
.concept.a.final :is(.calendar,.chart-cta,.footer) :focus-visible{outline-color:#dba38c}
.concept.a.final .today-grid{grid-template-columns:repeat(3,minmax(0,1fr));border-color:var(--line)}
.concept.a.final .today-grid>div{min-width:0}
.concept.a.final .today-grid h3{line-height:1.2}
.concept.a.final :is(.sign,.dictionary details,.reading .entry){border-color:var(--line)}
.concept.a.final .sign{min-width:0}
.concept.a.final .slider{min-width:0}
.concept.a.final .slider-track{gap:22px;padding:8px 2px 18px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a3452e80 transparent}
.concept.a.final .slider-track::-webkit-scrollbar{display:block;height:4px}
.concept.a.final .slider-track::-webkit-scrollbar-thumb{background:#a3452e80;border-radius:4px}
.concept.a.final :is(.articles,.tiles,.events).slider-track>*{min-width:0}
.concept.a.final .events.slider-track{border-left:0;margin-left:0}
.concept.a.final .events.slider-track>.event{display:flex;padding:20px 12px 10px 0;gap:16px;border:0}
.concept.a.final .events.slider-track>.event:before{display:none}
.concept.a.final .event strong{font:500 clamp(48px,5vw,72px)/1 var(--serif);color:#e7e6d6}
.concept.a.final .event h3{font-size:clamp(27px,2.7vw,36px)}
.concept.a.final .outline{border-radius:2px;line-height:1.5}
.concept.a.final .reading{padding-block:clamp(38px,6vw,88px)}
.concept.a.final .reading h1{font-size:clamp(42px,6.4vw,76px);letter-spacing:-.035em;line-height:1.08}
.concept.a.final .reading>nav{color:#5b6069;font-size:13px;margin-bottom:40px}
.concept.a.final .reading :is(p,.body){line-height:1.85}
.concept.a.final .reading .body a{color:var(--accent);text-decoration:underline}
.concept.a.final .reading blockquote{margin-inline:0;padding:8px 0 8px 24px;border-left:2px solid var(--accent)}
.concept.a.final :is(.cover,.page-hero-image,.entry-thumb){border-radius:3px}
.concept.a.final .footer-content>*{min-width:0}
/* Let the photograph breathe without adding a second screen of required scrolling. */
.concept.a.final .space-journey{height:auto}
.concept.a.final .page .space-journey>.hero{position:relative;top:0;height:auto;min-height:min(760px,90svh);padding:90px clamp(22px,5vw,80px) 50px!important}
.concept.a.final .space-journey .hero .bottomline{position:static;margin-top:42px;padding:20px 0 0;gap:20px}
.concept.a.final .space-journey .hero .eyebrow{color:#dba38c}
.concept.a.final .space-journey .hero h1{font-size:clamp(46px,6.8vw,96px)}
.concept.a.final .hero .orbit{max-width:90%;right:4%}
.concept.a.final .will-reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
  .concept.a.final .is-revealed{animation:public-arrive .55s ease both}
  .concept.a.final :is(.sign,.public-nav a,.articles img){transition:background .2s ease,color .2s ease,filter .35s ease}
  .concept.a.final .sign:hover{background:#a3452e09}
  .concept.a.final .articles a:hover{color:var(--accent)}
  @keyframes public-arrive{from{opacity:.7;transform:translateY(12px)}to{opacity:1;transform:none}}
}
@media(max-width:1000px){
  .concept.a.final :is(.articles,.tiles,.events).slider-track>*{flex-basis:calc((100% - 24px)/2)}
}
@media(max-width:700px){
  .concept.a.final .public-header{min-height:78px;padding:14px 22px}
  .concept.a.final .brand{font-size:36px}
  .concept.a.final .public-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .concept.a.final .public-nav a{font-size:14px}
  .concept.a.final .page .space-journey>.hero{min-height:620px;padding:80px 22px 32px!important}
  .concept.a.final .space-journey .hero h1{width:100%;max-width:540px}
  .concept.a.final .space-journey .hero .bottomline{margin-top:24px}
  .concept.a.final :is(.articles,.tiles,.events).slider-track>*{flex-basis:88%}
  .concept.a.final .section-title{display:block}
  .concept.a.final .section-title .read{margin-bottom:24px}
  .concept.a.final .today-grid{display:block}
  .concept.a.final .intro{grid-template-columns:1fr}
  .concept.a.final .footer-content{grid-template-columns:1fr 1fr;gap:24px}
  .concept.a.final .footer-content>div{grid-column:1/-1}
}
@media(max-width:380px){
  .concept.a.final .public-nav{grid-template-columns:minmax(0,1fr)}
  .concept.a.final .sign-grid{grid-template-columns:minmax(0,1fr)}
  .concept.a.final .chart-fields{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .concept.a.final .slider-track{scroll-behavior:auto}
  .concept.a.final *, .concept.a.final *::before, .concept.a.final *::after{animation:none!important;transition:none!important}
}
/* Optional CMS-controlled motion; static content remains fully readable. */
body[data-motion="reduced"] *,body[data-motion="reduced"] *::before,body[data-motion="reduced"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body[data-motion="reduced"] .will-reveal,body[data-motion="reduced"] .chart-result .step{opacity:1!important;transform:none!important}
.concept.a.final .sky-feature{display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;background:var(--soft)}
.sky-feature-symbol{font:150px/1 Georgia,serif;color:var(--accent);text-align:center}.sky-feature p{max-width:660px}.sky-feature .outline{margin-top:12px}
@media(max-width:700px){.concept.a.final .sky-feature{grid-template-columns:1fr}.sky-feature-symbol{font-size:76px;text-align:left}}

/* Featured CMS menu entry stays within reach at every viewport width. */
.concept.a.final .public-header{position:sticky;top:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;overflow:visible}
.concept.a.final .public-header>.brand{grid-column:1;grid-row:1}
.concept.a.final .public-header>.header-chart-cta{grid-column:2;grid-row:1;justify-self:end;display:flex;align-items:center;justify-content:center;min-width:0;max-width:min(100%,320px);min-height:46px;padding:11px 20px;border:1px solid var(--accent);border-radius:2px;background:var(--accent);color:var(--paper);font-size:13px;font-weight:600;line-height:1.45;text-align:center;overflow-wrap:anywhere}
.concept.a.final .header-chart-cta:hover{background:var(--ink);border-color:var(--ink);text-decoration:none}
.concept.a.final .header-chart-cta[aria-current]{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.concept.a.final .public-header>.menu-toggle{grid-column:3;grid-row:1;margin:0;flex-shrink:0}
.concept.a.final .public-header>.public-nav{grid-column:1/-1;grid-row:2;min-width:0}
.concept.a.final .menu-ready>.public-nav{max-height:calc(100dvh - 100% - 16px);scrollbar-width:thin}
@media(max-width:700px){
  .concept.a.final .public-header{padding:12px 16px;min-height:72px;gap:10px}
  .concept.a.final .public-header>.brand{font-size:32px}
  .concept.a.final .public-header>.header-chart-cta{max-width:min(100%,240px);padding:9px 10px;min-height:44px;font-size:12px}
  .concept.a.final .public-header>.menu-toggle{width:44px;min-height:44px;padding:0;justify-content:center;gap:0}
  .concept.a.final .menu-toggle .menu-label{display:none}
}
@media(max-width:360px){
  .concept.a.final .public-header{padding-inline:12px;gap:8px}
  .concept.a.final .public-header>.brand{font-size:29px}
  .concept.a.final .public-header>.header-chart-cta{padding-inline:8px;font-size:11px}
}
/* Curated palette and heading choices, shared by all editorial pages. */
body[data-theme="night"] .concept.a.final{--paper:#eff1f5;--ink:#101827;--accent:#334e78;--soft:#e1e6ee;--line:#10182726}
body[data-theme="sage"] .concept.a.final{--paper:#f0f2eb;--ink:#1f3028;--accent:#48634b;--soft:#e1e8db;--line:#1f302826}
body[data-heading="modern"] .concept.a.final{--serif:Manrope,Arial,sans-serif}
body[data-heading="modern"] .concept.a.final :is(h1,h2,h3){font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:1.15}
body[data-heading="modern"] .concept.a.final .brand{font-family:'Cormorant Garamond',Georgia,serif}
.concept.a.final .footer .eyebrow{color:#dba38c}
.concept.a.final .homepage-summary{max-width:760px;font-size:18px;line-height:1.75;margin:0 0 32px}

/* Editorial compositions: the same live palette, a different rhythm per section. */
.concept.a.final .page>.intro{padding-block:clamp(72px,10vw,160px)}

/* A continuous calendar line joins dates without turning events into identical cards. */
.concept.a.final .calendar .events.slider-track{gap:0;border:0;padding:22px 2px 18px}
.concept.a.final .calendar .events.slider-track>.event{position:relative;flex-basis:33.333%;padding:32px 28px 12px 0;border-top:1px solid #9eac98;gap:22px}
.concept.a.final .calendar .events.slider-track>.event:before{display:block;content:'';position:absolute;left:2px;top:-5px;width:9px;height:9px;border-radius:50%;background:#dba38c}
.concept.a.final .calendar .events.slider-track>.event strong{font-size:clamp(64px,7vw,100px);line-height:.9}
.concept.a.final .calendar .events.slider-track>.event h3{max-width:18ch}

/* Portrait and text occupy unequal columns; the quote gets its own breathing space. */
@media(min-width:701px){
  .concept.a.final .intro:has(>figure){display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(40px,7vw,110px);align-items:center}
  .concept.a.final .intro>figure{width:100%;margin:0}
  .concept.a.final .intro>figure img{width:100%;height:auto;aspect-ratio:4/5;max-height:min(620px,68vh);object-fit:cover}
  .concept.a.final .intro>.copy{padding-top:clamp(24px,6vw,96px);min-width:0}
  .concept.a.final .intro:not(:has(>figure)){display:block;max-width:1100px;margin-inline:auto}
}
.concept.a.final .intro blockquote{font-size:clamp(28px,3.3vw,46px);line-height:1.2;margin:clamp(28px,4vw,56px) 0;padding:24px 0 0;border-top:1px solid var(--line)}
@media(max-width:900px){
  .concept.a.final .calendar .events.slider-track>.event{flex-basis:70%}
}
@media(max-width:700px){
  .concept.a.final .calendar .events.slider-track:not(:has(>.event:nth-child(4))){display:grid!important;grid-template-columns:minmax(0,1fr);overflow:visible;padding:0 0 0 8px}
  .concept.a.final .calendar .events.slider-track:not(:has(>.event:nth-child(4)))>.event{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;border-top:0;border-left:1px solid #9eac98;padding:26px 0 26px 22px}
  .concept.a.final .calendar .events.slider-track:not(:has(>.event:nth-child(4)))>.event:before{left:-5px;top:36px}
  .concept.a.final .calendar .events.slider-track:not(:has(>.event:nth-child(4)))>.event strong{font-size:60px}
  .concept.a.final .intro>figure img{aspect-ratio:4/5;max-height:none}
}

/* ── Type scale ───────────────────────────────────────────────────────────────────────
   One ramp that keeps its steps at every width. The clamp floors used to sit so high that on a phone a
   section title (40px) and a card title (34px) were almost the same size; the ramp collapsed exactly
   where hierarchy matters most. Desktop sizes are unchanged. */
.concept.a.final .page h3{font-size:clamp(24px,3vw,44px)}
.concept.a.final .reading h1{font-size:clamp(34px,6.4vw,76px)}
.concept.a.final .today h2{font-size:clamp(32px,5vw,68px)}
.concept.a.final .today-grid h3{font-size:clamp(23px,2.7vw,38px)}
.concept.a.final .gallery-title h2{font-size:clamp(32px,5vw,70px)}
@media(max-width:850px){
  .concept.a.final .today-grid h3{font-size:23px}
  .concept.a.final .gallery-title h2{font-size:34px}
  .concept.a.final .intro h2{font-size:34px}
}
/* Labels sat at 11px, which is the floor for a letter-spaced monospace face. */
.concept.a.final .eyebrow{font-size:12px;line-height:1.65}
.concept.a.final :is(.page,.reading) .meta{font-size:12px;line-height:1.6}

/* ── Section rhythm ───────────────────────────────────────────────────────────────────
   Nine blocks at an identical 108px used to make every one of them shout at the same volume. Three
   tiers instead: the two the site wants you to act on breathe, the closing block stays quiet. The four
   blocks the owner asked to keep exactly as live are untouched apart from this outer spacing. */
.concept.a.final .page>:is(.chart-cta,.calendar){padding-block:clamp(74px,9vw,148px)}
.concept.a.final .page>.contact{padding-block:clamp(48px,5vw,76px)}

/* ── Hit areas ────────────────────────────────────────────────────────────────────────
   These links were written without the .read class, so the 44px rule never reached them. */
.concept.a.final :is(.tile figcaption a,.gallery-title a,.footer-bottom a,.footer-content li a){
  display:inline-flex;align-items:center;min-height:44px}
/* 4.43:1 against the soft panel was just under the 4.5 the small size needs. */
.concept.a.final .today-grid .meta{color:#525a48}
/* The strip's labels were the smallest, faintest text on the site: 11px mono, letter-spaced, at 60%.
   The original rule uses !important on the font shorthand, so the correction has to as well. */
.concept.a.final .sky-strip .meta{font-size:12px!important;line-height:1.6!important;opacity:.74}
/* A heading link's hit area is only its own text box — 31px on a phone. Padding grows the target
   without moving anything, because the matching negative margin gives the space back to the layout. */
.concept.a.final :is(.entry-title,.sign h3,.reading .term h3,.reading h3) a,
.concept.a.final .reading .alphabet a,
.concept.a.final .brand{display:inline-block;padding-block:9px;margin-block:-9px}
/* A single letter is an 8px wide target. Each one becomes its own 44px cell — easier to hit and
   the strip reads as a proper index rather than a run of text. */
.concept.a.final .reading .alphabet a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;margin:0}
.concept.a.final .reading :is(.contact-mail,.contact-link) a{display:inline-block;padding-block:9px;margin-block:-9px}

/* ── Footer ───────────────────────────────────────────────────────────────────────────
   It ran to 836px — 93% of a laptop screen, with the wordmark alone taking 255px of it. A magazine's
   colophon is a closing note, not a second cover. Same elements, same order, a third of the height. */
.concept.a.final .footer{padding:clamp(28px,3vw,44px) 4% clamp(18px,2vw,26px)}
.concept.a.final .footer-logo{font-size:clamp(58px,9vw,124px);letter-spacing:-.05em;line-height:.9;padding-bottom:clamp(16px,2vw,26px)}
.concept.a.final .footer-content{padding:clamp(24px,3vw,38px) 0;gap:clamp(24px,4vw,64px)}
.concept.a.final .footer-content p{font-size:clamp(19px,2vw,26px);line-height:1.25;margin:0 0 10px}
.concept.a.final .footer-content span{font-size:14px;line-height:1.65;opacity:.78}
.concept.a.final .footer-content ul{line-height:1.9;font-size:14px}
/* The disclaimer is fine print, not a headline: it was set at the body size of a lead paragraph. */
.concept.a.final .footer-note{font-family:Manrope,Arial,sans-serif;font-size:13px;line-height:1.7;max-width:76ch;opacity:.72;margin:0}
.concept.a.final .footer-bottom{padding:clamp(12px,1.4vw,18px) 0 0;margin-top:clamp(14px,1.6vw,22px);border-top:1px solid #ffffff1f}
@media(max-width:700px){
  .concept.a.final .footer-logo{font-size:clamp(52px,17vw,96px)}
  .concept.a.final .footer-content{padding:24px 0 18px}
  .concept.a.final .footer-content p{font-size:20px}
}
.concept.a.final .footer-content{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.8fr))}
@media(max-width:850px){.concept.a.final .footer-content{grid-template-columns:repeat(3,minmax(0,1fr))}.concept.a.final .footer-content>div{grid-column:1/-1}}
@media(max-width:560px){.concept.a.final .footer-content{grid-template-columns:repeat(2,minmax(0,1fr))}}
