/* Hallmark · shape: Bulletin (a church noticeboard) · genre: editorial · theme: brand (the Adventist preset, tokens in inc/design-tokens.php) · job: visit · redesign: full · draw: none
 * hero: Banner · nav: edge-aligned bar, the name left, links, the phone · footer: mast over the columns · imagery: conference news photographs only · signature: the seventh-day sky rail beside the service times set as a noticeboard
 * axes: cool paper/Montserrat bold/Adventist blue · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V3 · weakest: V, the page order is the wizard's; every composition changed instead: rows beside a head, a lead story with rows, a paper band for the lesson */
/* Hallmark · hero-review: fix · 5 findings · 3 resolved (the rail as a sky band on phones, big numerals on phones, the empty mobile band) · 1 partial (the sky ramp has six stops now, still a gradient by the owner's word) · 1 unresolved (the space under the times head; the block has no other fact to show) */
/* Hallmark · finish-review: subagent · 8 findings · 4 resolved (hope card head, double rule on the structure page, small type via base 17, footer named in the stamp) · 2 partial (news side items, sky) · 1 waived (77 pastor) · 1 unresolved (the lone "Структура церкви" link is page content, not the look) · gap: none */
/* Hallmark · dropped "1 / 4" level counters on the structure page · 66 names a count on tiles, the list order already numbers the levels */
/* Hallmark · waive 24b · the off-scale lengths sit in shared starter rules (quote calculator, kit, showcase, header px) that the church page mostly never renders · the church look itself spends --cx-unit steps only */
/* Hallmark · waive 38iii · .page-hero h1 em belongs to the photo page hero, which no church page in the network uses · the church heads are set one way */
/* Hallmark · waive 44c · Banner posture: the congregation name is a masthead and the service times start above the fold at 470px · a church visitor comes for the times */
/* Hallmark · waive 59 · the 88px under the masthead is on purpose: the name and the service times read as one noticeboard · every other church section gap is 150px or more */
/* Hallmark · waive 77 · a church has one pastor, the pastor's name set as the statement; the one-link band on "Хто ми" is the page's single onward step · both come from conference data */
/* Hallmark · waive 54 67 · the owner asked for the conference style of advent-ug.org: headings, nav and buttons in capitals (token heads=upper, caps on, tracking 0) · only the Adventist preset sets it */
/* Hallmark · dismissed 25 · .cxb-net-today p and .kit-head p are one-sentence or two-sentence statements in the display face, not running prose */
/* Hallmark · dismissed 77 · inner church pages hold what the conference sends, three or four sections, never padded with invented ones */
/* Hallmark · dismissed 3 · the article blockquote stripe sits on single posts, the church pages carry no side stripe */
/* Hallmark · dismissed 11 · the showcase and about photo hovers belong to starter blocks the church page does not use */
/* Hallmark · dismissed 18 · the scroll cue belongs to the photo hero, which the church page does not use */
/* Starter default (no preset): the site's own name set huge with one accent full stop; the kit is shown to editors, never to visitors. */
/* ============================================================
   CROSCOR STARTER — shared design system.

   RULE: no value is decided here. Every colour, size, gap, radius
   and duration is a token spent from inc/design-tokens.php, which
   derives them from the design system picked in Croscor → Themes
   plus the per-site overrides (Croscor → Design, wp-cli, or the AI
   ability croscor/set-design).

   Practically that means: to restyle the whole site you change
   tokens, not rules. If you find yourself typing a hex code or a
   px padding into this file, the token for it is missing — add it
   in design-tokens.php instead, or the next theme switch will
   leave that one detail behind.

   Structure: Header / Hero / Stats / Strip / Sections / Showcase /
   Feature / About / Reviews / CTA / Footer / Page hero / Legal /
   Quote calculator.
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* Legacy aliases. The starter's own blocks (and any site built on an earlier
   version) paint with these names; they now resolve to tokens, so old markup
   follows the active design instead of the forest/bronze palette it was cut
   from. New CSS should use the --cx-* names directly. */
:root{
  --bg:var(--cx-bg);
  --bg2:var(--cx-surface);
  --bg3:var(--cx-surface-3);
  --bg4:var(--cx-deep);
  --bronze:var(--cx-accent);
  --bronze-light:var(--cx-accent-2);
  --text:var(--cx-on-bg);
  --desc:var(--cx-on-bg);
  --muted:var(--cx-on-bg-muted);
  --dim:var(--cx-on-bg-muted);
  --dim2:var(--cx-on-bg-muted);
  --border:var(--cx-border);
  --border-green:var(--cx-border);
  --serif:var(--cx-font-display);
  --sans:var(--cx-font-body);
  --maxw:var(--cx-maxw);
  --pad:var(--cx-gutter);
  --ease:var(--cx-ease);
}

/* Photography is a surface of its own, with its own foreground pair. Rather than
   restate that on every heading, eyebrow and caption, the containers that carry
   an image rebind the page pair inside themselves — so anything painted with
   --cx-on-bg automatically switches to the readable-on-photo colour, and a block
   added later inherits it without knowing this rule exists. */
.hero:not(.hero--plain),.feature,.cta,.page-hero:not(.page-hero--plain),.show-item,.about-photo,.bleed-band{
  --cx-on-bg:var(--cx-on-photo);
  --cx-on-bg-muted:var(--cx-on-photo-muted);
  --cx-accent-on-bg:var(--cx-accent-on-photo);
  --text:var(--cx-on-photo);
  --desc:var(--cx-on-photo);
  --muted:var(--cx-on-photo-muted);
}

/* The header floats transparently over that photograph until the page scrolls,
   so while it does, it belongs to the photo surface too — otherwise the logo and
   burger paint in the page ink and vanish against a bright image. */
body:has(.hero:not(.hero--plain),.page-hero:not(.page-hero--plain)) .hdr:not(.scrolled){
  --cx-on-bg:var(--cx-on-photo);
  --cx-on-bg-muted:var(--cx-on-photo-muted);
  --cx-accent-on-bg:var(--cx-accent-on-photo);
}

html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--cx-bg);
  color:var(--cx-on-bg);
  font-family:var(--cx-font-body);
  font-size:var(--cx-fs-base);
  line-height:var(--cx-lh);
  font-weight:var(--cx-weight-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{display:block;max-width:100%}
a{color:var(--cx-accent-text);text-decoration:none}
::selection{background:var(--cx-accent);color:var(--cx-on-accent)}
h1,h2,h3{font-family:var(--cx-font-display);font-weight:var(--cx-weight-display);letter-spacing:var(--cx-tracking);color:var(--cx-on-bg)}
h1,h2{text-transform:var(--cx-heads-case,none)}
h4,h5,h6{font-family:var(--cx-font-display);font-weight:var(--cx-weight-display);color:var(--cx-on-bg)}

/* Film grain — opacity is a token so a clean product palette can switch it off
   without touching this rule. */
body::after{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:var(--cx-grain);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* scroll fade-in — travel and duration come from the motion token, so
   motion:none flattens the reveal instead of needing a second stylesheet */
.js .fade-in{opacity:0;transform:translateY(var(--cx-reveal-y));transition:opacity var(--cx-dur-slow) var(--cx-ease),transform var(--cx-dur-slow) var(--cx-ease)}
.js .fade-in.visible{opacity:1;transform:none}
.js [data-stagger].visible>*{opacity:1;transform:none}
.js [data-stagger]>*{opacity:0;transform:translateY(var(--cx-reveal-y));transition:opacity var(--cx-dur-slow) var(--cx-ease),transform var(--cx-dur-slow) var(--cx-ease)}

/* ── HEADER ── */
.hdr{position:fixed;inset:0 0 auto 0;z-index:1000;background:transparent;border-bottom:var(--cx-border-w) solid transparent;transition:background var(--cx-dur),border-color var(--cx-dur),backdrop-filter var(--cx-dur)}
.hdr.scrolled{background:color-mix(in srgb,var(--cx-bg) 92%,transparent);backdrop-filter:blur(16px) saturate(1.2);border-bottom-color:var(--cx-border)}
.hdr-inner{max-width:var(--cx-maxw);margin:0 auto;padding:0 var(--cx-gutter);display:flex;align-items:center;justify-content:space-between;height:80px;gap:32px}
.hdr.scrolled .hdr-inner{height:68px}
.hdr-logo{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 auto}
.hdr-logo-text{font-family:var(--cx-font-display);font-size:var(--cx-fs-md);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);letter-spacing:.05em;line-height:1.15;min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.custom-logo-link{display:flex;align-items:center;min-width:0}
.custom-logo{max-height:44px;width:auto;max-width:100%}
.hdr-logo-mark{width:40px;height:40px;border:var(--cx-border-w) solid var(--cx-accent);border-radius:var(--cx-radius-round);display:grid;place-items:center;font-family:var(--cx-font-display);font-size:var(--cx-fs-md);color:var(--cx-accent-on-bg);flex-shrink:0}
.hdr-logo-main{font-family:var(--cx-font-display);font-size:var(--cx-fs-md);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);letter-spacing:.05em;display:block;line-height:1;white-space:nowrap}
.hdr-logo-sub{font-size:var(--cx-fs-xs);color:var(--cx-accent-text);letter-spacing:.26em;text-transform:var(--cx-caps);display:block;margin-top:4px}
.hdr-nav{display:flex;align-items:center;gap:28px;list-style:none;flex:none}
.hdr-nav li a{font-size:var(--cx-fs-xs);color:var(--cx-on-bg-muted);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);transition:color var(--cx-dur);position:relative}
.hdr-nav li a::after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:var(--cx-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--cx-dur) var(--cx-ease)}
.hdr-nav li a:hover{color:var(--cx-on-bg)}
.hdr-nav li a:hover::after{transform:scaleX(1)}
.hdr-right{display:flex;align-items:center;gap:22px;flex:none}
.hdr-phone{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);letter-spacing:.03em;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.hdr-phone:hover{color:var(--cx-on-bg)}
.hdr-btn{font-size:var(--cx-fs-xs);font-weight:600;letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-on-accent);background:var(--cx-accent);padding:12px 26px;border-radius:var(--cx-radius-sm);transition:background var(--cx-dur),opacity var(--cx-dur);white-space:nowrap}
.hdr-btn:hover{background:var(--cx-accent-2);color:var(--cx-on-accent);opacity:.92}
.hdr-burger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;background:none;border:none;padding:12px 10px;margin:-12px -10px;flex:none}
.hdr-burger span{display:block;width:24px;height:1.5px;background:var(--cx-on-bg)}
.skip-link{position:fixed;top:8px;left:8px;z-index:2000;padding:12px 20px;background:var(--cx-on-bg);color:var(--cx-bg);font-family:var(--cx-font-body);font-size:var(--cx-fs-sm);font-weight:600;border-radius:var(--cx-radius-sm)}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}
.skip-link:focus{color:var(--cx-bg)}
#content:focus{outline:none}
.mob-nav{display:flex;flex-direction:column;align-items:center;gap:26px}
.mob-menu{visibility:hidden;display:flex;position:fixed;inset:0;background:var(--cx-bg);z-index:1001;flex-direction:column;align-items:center;justify-content:center;gap:26px;transform:translateY(-100%);transition:transform var(--cx-dur-slow) var(--cx-ease)}
.mob-menu.open{transform:none;visibility:visible}
.mob-menu{transition:transform var(--cx-dur-slow) var(--cx-ease),visibility 0s linear var(--cx-dur-slow)}
.mob-menu.open{transition:transform var(--cx-dur-slow) var(--cx-ease),visibility 0s}
.mob-menu a{font-family:var(--cx-font-display);font-size:var(--cx-fs-lg);font-weight:500;color:var(--cx-on-bg);letter-spacing:.02em}
.mob-menu a:hover{color:var(--cx-accent-text)}
.mob-close{position:absolute;top:24px;right:28px;font-size:var(--cx-fs-lg);color:var(--cx-on-bg);cursor:pointer;background:none;border:none;line-height:1}
.mob-btn{font-size:var(--cx-fs-sm);font-family:var(--cx-font-body);font-weight:700;letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-on-accent);background:var(--cx-accent);padding:15px 40px;border-radius:var(--cx-radius-sm);margin-top:14px}

/* ── HERO ── */
.hero{position:relative;height:100svh;min-height:600px;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0;background:var(--cx-bg)}
/* Photography is dimmed by a token, not a fixed 46%: a light palette that
   dimmed its imagery this hard turned every photo to mud. */
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(var(--cx-photo)) saturate(1.05)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--cx-scrim) 0%,var(--cx-scrim) 26%,var(--cx-scrim-soft) 66%,transparent 96%)}
.hero-inner{position:relative;z-index:2;max-width:var(--cx-maxw);margin:0 auto;padding:0 var(--cx-gutter) calc(var(--cx-unit) * 9);width:100%}
.pre{font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-accent-on-bg);margin-bottom:22px;display:flex;align-items:center;gap:14px}
.hero-h1{font-size:var(--cx-fs-hero);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);line-height:1;letter-spacing:var(--cx-tracking);margin-bottom:12px;max-width:16ch}
.hero-h1 em{display:block;font-style:var(--cx-display-style);font-weight:300;color:var(--cx-accent-on-bg);font-size:.8em}
.hero-desc{font-size:var(--cx-fs-md);color:var(--cx-on-bg);line-height:1.8;max-width:54ch;margin:22px 0 38px;font-weight:var(--cx-weight-body);letter-spacing:.02em;opacity:.92}
.btns{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.btn-fill{background:var(--cx-accent);color:var(--cx-on-accent);font-size:var(--cx-fs-sm);font-weight:700;letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);padding:16px 38px;border-radius:var(--cx-radius-sm);box-shadow:var(--cx-shadow);transition:background var(--cx-dur),transform var(--cx-dur);display:inline-flex;align-items:center;gap:.6em}
.btn-fill:hover{background:var(--cx-accent-2);color:var(--cx-on-accent);transform:translateY(-2px)}
.btn-ghost{font-size:var(--cx-fs-sm);color:var(--cx-accent-on-bg);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);border-bottom:var(--cx-border-w) solid var(--cx-rule);padding-bottom:3px;transition:color var(--cx-dur),border-color var(--cx-dur)}
.btn-ghost:hover{color:var(--cx-on-bg);border-color:var(--cx-accent-on-bg)}
.scrollcue{position:absolute;right:var(--cx-gutter);bottom:calc(var(--cx-unit) * 9);z-index:2;display:flex;align-items:center;gap:10px;font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-on-bg-muted)}
.scrollcue i{display:block;width:1px;height:44px;background:linear-gradient(var(--cx-accent-2),transparent);animation:cue 2.4s ease-in-out infinite;animation-play-state:var(--cx-marquee)}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

.cta-inner{z-index:2}

/* ── STATS (accent bar) ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cx-accent)}
.stat{padding:34px 20px;text-align:center;border-right:var(--cx-border-w) solid color-mix(in srgb,var(--cx-on-accent) 18%,transparent)}
.stat:last-child{border-right:none}
.stat-num{font-family:var(--cx-font-display);font-size:var(--cx-fs-xl);font-weight:var(--cx-weight-display);color:var(--cx-on-accent);line-height:1;margin-bottom:8px;letter-spacing:var(--cx-tracking)}
.stat-lbl{font-size:var(--cx-fs-xs);color:color-mix(in srgb,var(--cx-on-accent) 88%,transparent);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps)}

/* ── STRIP (marquee) ── */
.strip{border-bottom:var(--cx-border-w) solid var(--cx-border);background:var(--cx-surface);color:var(--cx-on-surface);overflow:hidden}
.strip-track{display:flex;width:max-content;animation:marquee 42s linear infinite;animation-play-state:var(--cx-marquee);padding:15px 0}
.strip-item{font-size:var(--cx-fs-sm);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-on-surface-muted);padding:0 28px;border-right:var(--cx-border-w) solid var(--cx-border);white-space:nowrap;display:flex;align-items:center;gap:11px;font-weight:var(--cx-weight-body)}
.strip-dot{width:3px;height:3px;border-radius:var(--cx-radius-round);background:var(--cx-accent-on-surface);flex-shrink:0}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ── SECTIONS ── */
.section{padding:var(--cx-section-y) 0;border-bottom:var(--cx-border-w) solid var(--cx-border)}
.section-inner{max-width:var(--cx-maxw);margin:0 auto;padding:0 var(--cx-gutter)}
.eyebrow{font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-accent-on-bg);margin-bottom:16px;display:block}
.h2{font-family:var(--cx-font-display);font-size:var(--cx-fs-2xl);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);line-height:1.08;letter-spacing:var(--cx-tracking)}
.h2 em{font-style:var(--cx-display-style);font-weight:300;color:var(--cx-on-bg-muted);display:block}
.gold-rule{width:36px;height:1px;background:var(--cx-accent);margin-bottom:24px}
.p{font-size:var(--cx-fs-base);color:var(--cx-on-bg);line-height:1.9;margin-bottom:15px;font-weight:var(--cx-weight-body);letter-spacing:.02em;opacity:.92}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:var(--cx-gap)}
.sec-link{font-size:var(--cx-fs-sm);color:var(--cx-accent-on-bg);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);display:inline-flex;align-items:center;gap:.5em;transition:gap var(--cx-dur) var(--cx-ease);white-space:nowrap}
.sec-link:hover{gap:.95em;color:var(--cx-on-bg)}

/* ── SERVICES ── */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--cx-border-w);background:var(--cx-border);border:var(--cx-border-w) solid var(--cx-border);border-radius:var(--cx-radius);overflow:hidden}
.svc{background:var(--cx-surface);color:var(--cx-on-surface);padding:34px 28px;border-top:2px solid transparent;transition:border-color var(--cx-dur),background var(--cx-dur);cursor:default;display:flex;flex-direction:column}
.svc:hover{border-top-color:var(--cx-accent);background:var(--cx-surface-2)}
.svc-n{font-family:var(--cx-font-display);font-size:var(--cx-fs-base);color:var(--cx-accent-on-surface);letter-spacing:.06em;margin-bottom:18px}
.svc-name{font-size:var(--cx-fs-md);font-weight:600;color:var(--cx-on-surface);margin-bottom:11px;letter-spacing:.01em}
.svc-desc{font-size:var(--cx-fs-sm);color:var(--cx-on-surface-muted);line-height:1.75;font-weight:var(--cx-weight-body);letter-spacing:.02em;flex:1}
.svc-arr{font-size:var(--cx-fs-base);color:var(--cx-accent-text);margin-top:18px;transition:transform var(--cx-dur)}
.svc:hover .svc-arr{transform:translateX(5px)}

/* ── SHOWCASE (full-bleed triptych) ── */
.showcase{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;height:clamp(440px,52vw,640px);gap:2px;background:var(--cx-bg)}
.show-item{overflow:hidden;position:relative}
.show-item img{width:100%;height:100%;object-fit:cover;filter:brightness(var(--cx-photo));transition:filter var(--cx-dur-slow),transform var(--cx-dur-slow) var(--cx-ease)}
.show-item:hover img{filter:brightness(calc(var(--cx-photo) + .18));transform:scale(1.06)}
.show-item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--cx-scrim) 0%,var(--cx-scrim-soft) 38%,transparent 62%)}
.show-meta{position:absolute;bottom:30px;left:32px;z-index:2}
.show-num{font-size:var(--cx-fs-xs);color:var(--cx-accent-on-bg);letter-spacing:var(--cx-tracking-caps);margin-bottom:8px;display:block}
.show-loc{font-family:var(--cx-font-display);font-size:var(--cx-fs-lg);font-weight:500;color:var(--cx-on-bg);line-height:1.05}
.show-type{font-size:var(--cx-fs-xs);color:var(--cx-accent-on-bg);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);margin-top:5px}

/* ── FULL-BLEED FEATURE ── */
.feature{position:relative;min-height:clamp(460px,62vh,680px);display:flex;align-items:center;overflow:hidden;border-bottom:var(--cx-border-w) solid var(--cx-border)}
.feature-bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;background-attachment:fixed;filter:brightness(var(--cx-photo))}
.feature-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,var(--cx-scrim) 0%,var(--cx-scrim) 34%,var(--cx-scrim-soft) 66%,transparent 100%)}
.feature::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--cx-accent),transparent);z-index:2}
.feature-inner{position:relative;z-index:1;max-width:var(--cx-maxw);margin:0 auto;padding:var(--cx-section-y) var(--cx-gutter);width:100%}
.feature-eyebrow{font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-accent-on-bg);margin-bottom:22px;display:flex;align-items:center;gap:14px}
.feature-eyebrow::before{content:"";width:34px;height:1px;background:var(--cx-accent)}
.feature-h2{font-family:var(--cx-font-display);font-size:var(--cx-fs-3xl);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);line-height:1.04;letter-spacing:var(--cx-tracking);max-width:18ch;margin-bottom:24px}
.feature-h2 em{font-style:var(--cx-display-style);font-weight:300;color:var(--cx-accent-on-bg)}
.feature-sub{font-size:var(--cx-fs-md);color:var(--cx-on-bg);line-height:1.85;max-width:52ch;margin-bottom:34px;font-weight:var(--cx-weight-body);opacity:.92}
.feature-stats{display:flex;gap:48px;flex-wrap:wrap;margin-top:6px}
.feature-stat b{font-family:var(--cx-font-display);font-size:var(--cx-fs-xl);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);display:block;line-height:1}
.feature-stat b i{font-style:normal;color:var(--cx-accent-on-bg)}
.feature-stat span{font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-on-bg-muted);margin-top:7px;display:block}

/* ── ABOUT ── */
.about{border-bottom:var(--cx-border-w) solid var(--cx-border);background:var(--cx-bg)}
.about-inner{max-width:var(--cx-maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr}
.about-photo{overflow:hidden;height:560px;position:relative}
.about-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(calc(var(--cx-photo) + .16));transition:filter var(--cx-dur-slow),transform var(--cx-dur-slow) var(--cx-ease)}
.about-photo:hover img{filter:brightness(calc(var(--cx-photo) + .3));transform:scale(1.03)}
.about-badge{position:absolute;left:24px;bottom:24px;z-index:2;background:color-mix(in srgb,var(--cx-bg) 70%,transparent);backdrop-filter:blur(8px);border:var(--cx-border-w) solid var(--cx-border);border-radius:var(--cx-radius-sm);padding:.7rem 1rem;font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-on-bg-muted)}
.about-content{padding:calc(var(--cx-unit) * 8) calc(var(--cx-unit) * 7);display:flex;flex-direction:column;justify-content:center;background:var(--cx-surface);color:var(--cx-on-surface)}
.about-h2{font-family:var(--cx-font-display);font-size:var(--cx-fs-xl);font-weight:var(--cx-weight-display);color:var(--cx-on-surface);line-height:1.12;letter-spacing:var(--cx-tracking);margin-bottom:22px}
.about-h2 em{font-style:var(--cx-display-style);font-weight:300;color:var(--cx-accent-on-surface);display:block}
.about-content .p{color:var(--cx-on-surface)}
.sm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0;padding:26px 0;border-top:var(--cx-border-w) solid var(--cx-border);border-bottom:var(--cx-border-w) solid var(--cx-border)}
.sm-stat-num{font-family:var(--cx-font-display);font-size:var(--cx-fs-lg);font-weight:var(--cx-weight-display);color:var(--cx-on-surface);line-height:1}
.sm-stat-num span{color:var(--cx-accent-on-surface)}
.sm-stat-lbl{font-size:var(--cx-fs-xs);color:var(--cx-on-surface-muted);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);margin-top:6px;font-weight:400}
.lk{font-size:var(--cx-fs-sm);color:var(--cx-accent-on-surface);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);display:inline-flex;align-items:center;gap:9px;transition:gap var(--cx-dur) var(--cx-ease)}
.lk::after{content:'';width:.8em;height:.8em;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg) translateY(-.1em)}
.lk:hover{gap:15px;color:var(--cx-on-surface)}

/* ── REVIEWS ── */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--cx-border-w);background:var(--cx-border);border:var(--cx-border-w) solid var(--cx-border);border-radius:var(--cx-radius);overflow:hidden}
.rev{background:var(--cx-surface);color:var(--cx-on-surface);padding:38px 30px;display:flex;flex-direction:column}
.rev-stars{color:var(--cx-accent-on-surface);font-size:var(--cx-fs-sm);letter-spacing:4px;margin-bottom:20px}
.rev-text{font-family:var(--cx-font-display);font-size:var(--cx-fs-md);color:var(--cx-on-surface);line-height:1.5;margin-bottom:24px;font-style:var(--cx-display-style);font-weight:400;flex:1}
.rev-line{width:22px;height:1px;background:var(--cx-rule);margin-bottom:15px}
.rev-author{font-size:var(--cx-fs-xs);color:var(--cx-on-surface-muted);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);font-weight:400}
.rev-foot{margin-top:30px;display:flex;align-items:center;gap:.6rem;font-size:var(--cx-fs-sm);color:var(--cx-on-surface-muted);letter-spacing:.04em}
.ti-widget{min-height:240px}

/* ── CTA ── */
.cta{position:relative;padding:var(--cx-section-y) 24px;text-align:center;overflow:hidden}
.cta::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--cx-accent),transparent)}
.cta-bg{position:absolute;inset:0;z-index:0}
.cta-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(calc(var(--cx-photo) * .42))}
.cta-bg::after{content:"";position:absolute;inset:0;background:var(--cx-scrim)}
.cta-inner{position:relative;z-index:1;max-width:640px;margin:0 auto}
.cta-pre{font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-accent-on-bg);margin-bottom:22px;display:flex;align-items:center;justify-content:center;gap:14px}
.cta-pre::before,.cta-pre::after{content:"";width:28px;height:1px;background:var(--cx-rule)}
.cta-h2{font-family:var(--cx-font-display);font-size:var(--cx-fs-2xl);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);line-height:1.06;letter-spacing:var(--cx-tracking);margin-bottom:10px}
.cta-h2 em{font-style:var(--cx-display-style);font-weight:300;color:var(--cx-accent-on-bg)}
.cta-rule{width:1px;height:44px;background:var(--cx-rule);margin:24px auto}
.cta-sub{font-size:var(--cx-fs-base);color:var(--cx-on-bg);margin-bottom:38px;line-height:1.85;font-weight:var(--cx-weight-body);opacity:.92}
.cta .btns{justify-content:center}
.cta-phone{font-family:var(--cx-font-display);font-size:var(--cx-fs-lg);color:var(--cx-on-bg);display:inline-flex;align-items:center;gap:.5em}

/* ── FOOTER ── */
.ftr{background:var(--cx-deep);color:var(--cx-on-bg);border-top:var(--cx-border-w) solid var(--cx-border)}
.ftr-top{max-width:var(--cx-maxw);margin:0 auto;padding:calc(var(--cx-unit) * 9) var(--cx-gutter) calc(var(--cx-unit) * 6);display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:48px}
.ftr-logo{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.ftr-logo-mark{width:38px;height:38px;border:var(--cx-border-w) solid var(--cx-accent);border-radius:var(--cx-radius-round);display:grid;place-items:center;font-family:var(--cx-font-display);font-size:var(--cx-fs-md);color:var(--cx-accent-on-bg)}
.ftr-logo-main{font-family:var(--cx-font-display);font-size:var(--cx-fs-md);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);letter-spacing:.05em;display:block}
.ftr-logo-sub{font-size:var(--cx-fs-xs);color:var(--cx-accent-text);letter-spacing:.26em;text-transform:var(--cx-caps);display:block;margin-top:3px}
.ftr-desc{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);line-height:1.85;font-weight:var(--cx-weight-body);margin-bottom:18px;max-width:34ch}
.ftr-rating{font-size:var(--cx-fs-sm);color:var(--cx-accent-on-bg);letter-spacing:.04em}
.ftr-col-title{font-size:var(--cx-fs-xs);font-weight:600;letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-on-bg);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.ftr-col-title::after{content:"";flex:1;height:1px;background:var(--cx-border)}
.ftr-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.ftr-col ul li a{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);letter-spacing:.03em;font-weight:var(--cx-weight-body);transition:color var(--cx-dur);display:flex;align-items:center;gap:7px}
.ftr-col ul li a:hover{color:var(--cx-on-bg)}
.ftr-contact{display:flex;flex-direction:column;gap:15px}
.ftr-contact-label{font-size:var(--cx-fs-xs);color:var(--cx-accent-on-bg);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);display:block;margin-bottom:3px}
.ftr-contact-value{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);font-weight:var(--cx-weight-body);transition:color var(--cx-dur)}
.ftr-contact-value:hover{color:var(--cx-on-bg)}
.ftr-stars{color:var(--cx-accent);font-size:var(--cx-fs-sm);letter-spacing:2px}
.ftr-rating-text{font-size:var(--cx-fs-xs);color:var(--cx-on-bg-muted);letter-spacing:.04em;margin-top:3px}
.ftr-divider{max-width:var(--cx-maxw);margin:0 auto;padding:0 var(--cx-gutter);height:1px}
.ftr-divider span{display:block;height:1px;background:var(--cx-border)}
.ftr-bottom{max-width:var(--cx-maxw);margin:0 auto;padding:24px var(--cx-gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.ftr-copy{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);letter-spacing:.04em}
.ftr-cities{font-size:var(--cx-fs-xs);color:var(--cx-on-bg-muted);letter-spacing:.04em;max-width:46ch;opacity:.8}
.ftr-links{display:flex;gap:20px}
.ftr-links a{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);transition:color var(--cx-dur)}
.ftr-links a:hover{color:var(--cx-accent-on-bg)}

/* ── logo ── */
.hdr-logo-img{height:46px;width:auto;display:block}
.hdr.scrolled .hdr-logo-img{height:40px}
.ftr-logo-img{height:48px;width:auto;display:block;margin-bottom:18px}

/* ── page hero (inner pages) ── */
.page-hero{position:relative;padding:clamp(120px,15vh,170px) 0 var(--cx-section-y);overflow:hidden;border-bottom:var(--cx-border-w) solid var(--cx-border)}
.page-hero-bg{position:absolute;inset:0;z-index:0}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(calc(var(--cx-photo) * .86))}
/* An inner page hero holds its type in the MIDDLE of the section, not at its
   foot, so the wash has to cover that band rather than fade out inside it —
   only the last strip lightens, to hand off to the page below. */
.page-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--cx-bg) 0%,var(--cx-scrim) 16%,var(--cx-scrim) 74%,var(--cx-scrim-soft) 100%)}
.page-hero-inner{position:relative;z-index:1;max-width:var(--cx-maxw);margin:0 auto;padding:0 var(--cx-gutter)}
.page-hero h1{font-family:var(--cx-font-display);font-size:var(--cx-fs-3xl);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);line-height:1.04;letter-spacing:var(--cx-tracking);margin:16px 0 18px;max-width:18ch}
.page-hero h1 em{font-style:var(--cx-display-style);font-weight:300;color:var(--cx-accent-on-bg)}
.page-hero .lead{font-size:var(--cx-fs-md);color:var(--cx-on-bg);max-width:60ch;font-weight:var(--cx-weight-body);line-height:1.8;opacity:.92}

/* ── legal / policy pages (prose) ── */
.legal{padding:var(--cx-section-y) 0}
.legal-inner{max-width:820px;margin:0 auto;padding:0 var(--cx-gutter)}
.legal-meta{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);margin-top:.6em}
.legal-inner h2{font-family:var(--cx-font-display);font-size:var(--cx-fs-lg);font-weight:var(--cx-weight-display);color:var(--cx-on-bg);margin:2.3em 0 .7em;letter-spacing:var(--cx-tracking)}
.legal-inner h3{font-family:var(--cx-font-body);font-size:var(--cx-fs-base);font-weight:600;letter-spacing:.04em;color:var(--cx-accent-on-bg);margin:1.7em 0 .5em}
.legal-inner p{font-size:var(--cx-fs-base);line-height:1.85;color:var(--cx-on-bg);margin:0 0 1.1em;font-weight:var(--cx-weight-body)}
.legal-inner ul{list-style:none;margin:0 0 1.2em;padding:0}
.legal-inner li{font-size:var(--cx-fs-base);line-height:1.7;color:var(--cx-on-bg);font-weight:var(--cx-weight-body);padding-left:1.6em;position:relative;margin-bottom:.5em}
.legal-inner li::before{content:"";position:absolute;left:.5em;top:.72em;width:5px;height:5px;border-radius:var(--cx-radius-round);background:var(--cx-accent)}
.legal-inner li.yes::before{background:var(--cx-accent-2);width:7px;height:7px;top:.66em}
.legal-inner li.no::before{background:var(--cx-on-bg-muted);width:7px;height:2px;border-radius:0;top:.85em}
.legal-inner a{color:var(--cx-accent-on-bg);border-bottom:var(--cx-border-w) solid var(--cx-rule)}
.legal-inner a:hover{color:var(--cx-on-bg)}
.legal-inner strong{color:var(--cx-on-bg);font-weight:600}
.legal-inner hr{border:0;height:1px;background:var(--cx-border);margin:2.2em 0}
.legal-inner em{font-style:italic;color:var(--cx-on-bg-muted)}

/* ── instant quote calculator (shared: pricing + contact) ── */
.calc{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.calc-opts{display:flex;flex-direction:column;gap:34px}
.calc-label{font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-accent-on-bg);margin-bottom:16px}
.calc-hint{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);margin-top:14px;font-weight:var(--cx-weight-body);line-height:1.6}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg-b{font:inherit;font-size:var(--cx-fs-sm);letter-spacing:.02em;color:var(--cx-on-surface);background:var(--cx-surface);border:var(--cx-border-w) solid var(--cx-border);border-radius:var(--cx-radius-sm);padding:13px 18px;cursor:pointer;transition:background var(--cx-dur),border-color var(--cx-dur),color var(--cx-dur)}
.seg-b:hover{border-color:var(--cx-accent)}
.seg-b.on{background:var(--cx-accent);color:var(--cx-on-accent);border-color:var(--cx-accent);font-weight:600}
.calc .addons{display:flex;flex-wrap:wrap;gap:10px;margin-top:0}
.calc .addon{font:inherit;display:flex;align-items:center;gap:14px;background:var(--cx-surface);color:var(--cx-on-surface);border:var(--cx-border-w) solid var(--cx-border);border-radius:var(--cx-radius-sm);padding:15px 20px;cursor:pointer;transition:background var(--cx-dur),border-color var(--cx-dur);text-align:left}
.calc .addon:hover{border-color:var(--cx-accent)}
.calc .addon.on{border-color:var(--cx-accent);background:var(--cx-surface-3)}
.calc .addon .ad-name{font-size:var(--cx-fs-sm);color:var(--cx-on-surface);font-weight:500}
.calc .addon .ad-price{font-family:var(--cx-font-display);font-size:var(--cx-fs-md);color:var(--cx-accent-on-surface)}
.calc .addon.on .ad-name::before{content:"\2713  ";color:var(--cx-accent)}
.calc-summary{position:sticky;top:96px;background:var(--cx-surface);color:var(--cx-on-surface);border:var(--cx-border-w) solid var(--cx-border-strong);border-radius:var(--cx-radius);box-shadow:var(--cx-shadow);padding:30px 28px}
.cs-eyebrow{font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-accent-on-surface);margin-bottom:20px}
.cs-lines{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:11px}
.cs-lines li{display:flex;justify-content:space-between;gap:12px;font-size:var(--cx-fs-sm);color:var(--cx-on-surface);font-weight:var(--cx-weight-body)}
.cs-lines li b{color:var(--cx-on-surface);font-weight:500;font-family:var(--cx-font-display);font-size:var(--cx-fs-base)}
.cs-total{display:flex;justify-content:space-between;align-items:baseline;border-top:var(--cx-border-w) solid var(--cx-border);padding-top:18px;margin-bottom:22px}
.cs-total span{font-size:var(--cx-fs-xs);letter-spacing:var(--cx-tracking-caps);text-transform:var(--cx-caps);color:var(--cx-on-surface-muted)}
.cs-total b{font-family:var(--cx-font-display);font-size:var(--cx-fs-xl);color:var(--cx-on-surface);font-weight:var(--cx-weight-display);line-height:1}
.cs-book{width:100%;justify-content:center;display:flex}
.cs-note{font-size:var(--cx-fs-xs);color:var(--cx-on-surface-muted);margin-top:14px;line-height:1.6;font-weight:var(--cx-weight-body)}

/* ── RESPONSIVE ── */
@media (max-width:900px){
  .hdr-inner{padding:0 24px;height:66px;gap:16px}
  .hdr-logo-text{font-size:var(--cx-fs-base);letter-spacing:.02em}
  .hdr.scrolled .hdr-inner{height:60px}
  .hdr-nav,.hdr-phone,.hdr-btn{display:none}
  .hdr-burger{display:flex}
  .hero-inner{padding:0 24px 56px}
  .scrollcue{display:none}
  .stats{grid-template-columns:1fr 1fr}
  .svc-grid{grid-template-columns:1fr 1fr}
  .showcase{grid-template-columns:1fr;height:auto}
  .show-item{height:280px}
  .feature-bg{background-attachment:scroll}
  .feature-stats{gap:28px}
  .about-inner{grid-template-columns:1fr}
  .about-photo{height:320px}
  .about-content{padding:48px 24px}
  .rev-grid{grid-template-columns:1fr}
  .ftr-top{grid-template-columns:1fr 1fr;gap:32px}
  .hdr-logo-img{height:38px}
  .hdr.scrolled .hdr-logo-img{height:34px}
  .calc{grid-template-columns:1fr}
  .calc-summary{position:static}
}
@media (max-width:560px){
  .stats{grid-template-columns:1fr 1fr}
  .svc-grid{grid-template-columns:1fr}
  .btns{flex-direction:column;align-items:flex-start;width:100%}
  .btn-fill{width:100%;justify-content:center}
  .sm-stats{grid-template-columns:1fr 1fr}
  .ftr-top{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .strip-track,.scrollcue i{animation:none}
  .feature-bg{background-attachment:scroll}
  .js .fade-in,.js [data-stagger]>*{transition:none;opacity:1;transform:none}
}

/* ── BLANK CANVAS + BASE KIT ──
   The default look of the starter: paper, ink, one hot accent, the name as the
   only object. Everything still spends tokens, so a picked design repaints it. */
.hdr{top:var(--wp-admin--admin-bar--height,0);background:color-mix(in srgb,var(--cx-bg) 86%,transparent);backdrop-filter:blur(14px)}
.hdr-nav li a{font-size:var(--cx-fs-sm);letter-spacing:0;text-transform:var(--cx-heads-case,none)}
.hdr-btn{letter-spacing:0;text-transform:var(--cx-heads-case,none);border-radius:calc(var(--cx-radius) * 4)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--cx-accent);outline-offset:3px;transition:none}

.canvas{--canvas-w:min(1560px,100%)}
.canvas-hero{min-height:100svh;max-width:var(--canvas-w);margin:0 auto;padding:calc(var(--cx-unit) * 16) var(--cx-gutter) calc(var(--cx-unit) * 6);display:flex;flex-direction:column;justify-content:flex-end;gap:calc(var(--cx-unit) * 6)}
.canvas-name{font-size:clamp(3.4rem,13.5vw,14rem);line-height:.92;letter-spacing:calc(var(--cx-tracking) - .02em);overflow-wrap:break-word;min-width:0;animation:canvas-rise .9s var(--cx-ease) both}
.canvas-stop{color:var(--cx-accent);display:inline-block;animation:canvas-drop .7s .55s cubic-bezier(.2,1.4,.4,1) both}
.canvas-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:calc(var(--cx-unit) * 4);padding-top:calc(var(--cx-unit) * 3);border-top:var(--cx-border-w) solid var(--cx-on-bg)}
.canvas-line{font-size:var(--cx-fs-md);max-width:34ch;line-height:1.35}
@keyframes canvas-rise{from{opacity:0;transform:translateY(.12em)}to{opacity:1;transform:none}}
@keyframes canvas-drop{from{opacity:0;transform:translateY(-.5em)}to{opacity:1;transform:none}}

.kit-row{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--cx-unit) * 1.5)}
.kit-btn{appearance:none;cursor:pointer;display:inline-flex;align-items:center;min-height:48px;padding:0 calc(var(--cx-unit) * 3);border-radius:calc(var(--cx-radius) * 4);border:var(--cx-border-w) solid var(--cx-accent);background:var(--cx-accent);color:var(--cx-on-accent);font:inherit;font-weight:500;transition:transform var(--cx-dur) var(--cx-ease),opacity var(--cx-dur) var(--cx-ease)}
.kit-btn:hover{transform:translateY(-2px);color:var(--cx-on-accent)}
.kit-btn:active{transform:none;opacity:.85}
.kit-btn-quiet{background:transparent;border-color:var(--cx-on-bg);color:var(--cx-on-bg)}
.kit-btn-quiet:hover{color:var(--cx-on-bg)}
.kit-link{color:var(--cx-on-bg);text-decoration:underline;text-decoration-color:var(--cx-accent);text-underline-offset:.25em;text-decoration-thickness:2px}

.kit{max-width:var(--canvas-w);margin:0 auto;padding:calc(var(--cx-unit) * 12) var(--cx-gutter);display:grid;gap:calc(var(--cx-unit) * 8)}
.kit-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:calc(var(--cx-unit) * 4);align-items:end}
.kit-head h2{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1}
.kit-head p{max-width:42ch;color:var(--cx-on-bg-muted)}
.kit-colors{display:grid;grid-template-columns:2fr 1fr 1fr 3fr;min-height:260px;border:var(--cx-border-w) solid var(--cx-on-bg)}
.kit-swatch{display:flex;flex-direction:column;justify-content:space-between;gap:var(--cx-unit);padding:calc(var(--cx-unit) * 2.5);min-width:0;font-size:var(--cx-fs-sm)}
.kit-swatch code{font:inherit;opacity:.75}
.kit-type{display:grid;gap:calc(var(--cx-unit) * 2)}
.kit-note{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);margin-top:calc(var(--cx-unit) * 2)}
.kit-d1,.kit-d2{font-family:var(--cx-font-display);font-weight:var(--cx-weight-display);letter-spacing:var(--cx-tracking);line-height:1.02;overflow-wrap:break-word;min-width:0}
.kit-d1{font-size:clamp(2.6rem,7vw,6.5rem)}
.kit-d2{font-size:clamp(1.8rem,3.4vw,3.2rem)}
.kit-body{max-width:62ch;font-size:var(--cx-fs-md)}
.kit-ctrl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:calc(var(--cx-unit) * 4);align-items:end;padding-top:calc(var(--cx-unit) * 4);border-top:var(--cx-border-w) solid var(--cx-border)}
.kit-field{display:grid;gap:var(--cx-unit);font-size:var(--cx-fs-sm)}
.kit-field input{font:inherit;font-size:var(--cx-fs-base);min-height:48px;padding:0 calc(var(--cx-unit) * 2);border:var(--cx-border-w) solid var(--cx-on-bg);border-radius:var(--cx-radius);background:transparent;color:var(--cx-on-bg)}

.page-plain{max-width:min(1560px,100%);margin:0 auto;padding:calc(var(--cx-unit) * 20) var(--cx-gutter) calc(var(--cx-unit) * 12)}
.page-plain-title{font-size:clamp(2.8rem,8vw,7.5rem);line-height:.98;letter-spacing:var(--cx-tracking);margin-bottom:calc(var(--cx-unit) * 6);overflow-wrap:break-word;min-width:0}
.page-plain .prose{max-width:68ch;font-size:var(--cx-fs-md)}
.page-plain .prose>*+*{margin-top:1em}
.prose a:not([class]),.art-body a:not([class]),.page-plain a:not([class]){text-decoration:underline;text-underline-offset:3px}
body:has(.hero:not(.hero--plain),.page-hero:not(.page-hero--plain)) .hdr:not(.scrolled){background:transparent;backdrop-filter:none}

.ftr{background:var(--cx-bg);border-top:var(--cx-border-w) solid var(--cx-on-bg)}
.ftr-col-title{letter-spacing:0;text-transform:none}
.ftr-top .ftr-logo{display:none}


@media (max-width:760px){
  .canvas-foot,.kit-head,.kit-ctrl{grid-template-columns:minmax(0,1fr)}
  .kit-colors{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .canvas-name,.canvas-stop{animation:none}
  .kit-btn{transition:none}
  html{scroll-behavior:auto}
}

/* ── v2 SECTIONS: shared parts of the data blocks, hero variants, article pages ──
   Per-block rules live beside each block (blockstudio/<block>/style.css). */
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.cx-ico{flex:none;display:inline-block;vertical-align:-.125em}

.cxb{padding:calc(var(--cx-unit) * 7) 0}
main>.cxb:first-child{padding-top:calc(var(--cx-unit) * 16)}
.cxb-in{max-width:var(--cx-maxw);margin:0 auto;padding:0 var(--cx-gutter)}
.cxb-head{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(var(--cx-unit) * 3);flex-wrap:wrap;margin-bottom:calc(var(--cx-unit) * 4)}
.cxb-h2{font-size:clamp(2rem,5vw,4.2rem);line-height:1.02;letter-spacing:calc(var(--cx-tracking) - .01em);min-width:0;overflow-wrap:break-word}
.cxb-more,.cxb-link{display:inline-flex;align-items:center;gap:calc(var(--cx-unit) * .75);color:var(--cx-on-bg);font-size:var(--cx-fs-base);text-decoration:underline;text-decoration-color:var(--cx-accent);text-decoration-thickness:2px;text-underline-offset:.25em;transition:gap var(--cx-dur) var(--cx-ease)}
.cxb-more:hover,.cxb-link:hover{gap:calc(var(--cx-unit) * 1.25);color:var(--cx-on-bg)}
.cxb-hint{padding:calc(var(--cx-unit) * 2);border:var(--cx-border-w) dashed var(--cx-on-bg-muted);border-radius:var(--cx-radius);color:var(--cx-on-bg-muted)}

.cxb-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--cx-unit) * 5) calc(var(--cx-unit) * 3)}
.cxb-card-link{display:grid;gap:var(--cx-unit);align-content:start;color:var(--cx-on-bg)}
.cxb-card-link:hover{color:var(--cx-on-bg)}
.cxb-card-date,.cxb-card-meta{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);min-width:0;overflow-wrap:break-word}
.cxb-card-date{margin-top:var(--cx-unit)}
.cxb-card-title{font-family:var(--cx-font-display);font-weight:var(--cx-weight-display);font-size:var(--cx-fs-lg);line-height:1.15;letter-spacing:var(--cx-tracking);min-width:0;overflow-wrap:break-word;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.2em;transition:text-decoration-color var(--cx-dur) var(--cx-ease)}
.cxb-card-link:hover .cxb-card-title{text-decoration-color:var(--cx-accent)}

.cxb-rows{list-style:none;border-top:var(--cx-border-w) solid var(--cx-on-bg)}
.cxb-row{border-bottom:var(--cx-border-w) solid var(--cx-border-strong)}
.cxb-row-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:calc(var(--cx-unit) * 3);padding:calc(var(--cx-unit) * 3) 0;color:var(--cx-on-bg)}
.cxb-row-link:not(:has(.cxb-tile)){grid-template-columns:minmax(0,1fr) auto}
.cxb-row-link:hover{color:var(--cx-on-bg)}
.cxb-row-body{display:grid;gap:calc(var(--cx-unit) * .5);min-width:0}
.cxb-row-title{font-family:var(--cx-font-display);font-weight:var(--cx-weight-display);font-size:var(--cx-fs-xl);line-height:1.1;letter-spacing:var(--cx-tracking);overflow-wrap:break-word}
.cxb-row-meta{color:var(--cx-on-bg-muted);font-size:var(--cx-fs-md);overflow-wrap:break-word}
.cxb-row-link>.cx-ico{font-size:var(--cx-fs-xl);transition:transform var(--cx-dur) var(--cx-ease)}
.cxb-row-link:hover>.cx-ico{transform:translate(4px,-4px)}

/* Hero without a photo: the name set large on the page, like the blank canvas. */
.hero--plain{height:auto;min-height:0;align-items:flex-start;overflow:visible;background:var(--cx-bg);color:var(--cx-on-bg)}
.hero--plain .hero-inner{max-width:var(--cx-maxw);display:grid;gap:calc(var(--cx-unit) * 6);padding:max(calc(var(--cx-unit) * 11),7rem) var(--cx-gutter) calc(var(--cx-unit) * 8)}
.hero--plain .hero-h1{font-size:clamp(2.8rem,9.5vw,9rem);line-height:.95;max-width:none;margin:0;min-width:0;overflow-wrap:break-word;letter-spacing:calc(var(--cx-tracking) - .02em)}
.hero--plain .hero-h1 em{display:inline;font-size:1em}
.hero-foot{display:block}
.hero--plain .hero-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:calc(var(--cx-unit) * 4);padding-top:calc(var(--cx-unit) * 3);border-top:var(--cx-border-w) solid var(--cx-on-bg)}
.hero--plain .hero-desc{margin:0;font-size:var(--cx-fs-lg);line-height:1.35;max-width:34ch;opacity:1;letter-spacing:0}
.hero-foot:not(:has(.btns)){grid-template-columns:minmax(0,1fr)}
@media (max-width:760px){.hero--plain .hero-foot{grid-template-columns:minmax(0,1fr)}}

.page-hero--plain{padding:clamp(6.5rem,11vh,8rem) 0 calc(var(--cx-unit) * 5);overflow:visible;border-bottom:0;background:var(--cx-bg)}
.page-hero--plain h1{font-size:clamp(2.6rem,8vw,7rem);line-height:.98;max-width:none;margin:0;overflow-wrap:break-word;min-width:0}
.page-hero--plain .lead{margin-top:calc(var(--cx-unit) * 3);color:var(--cx-on-bg-muted);opacity:1}

/* Call to action without a photo: a solid accent band, the heading left, the button right. */
.cta--plain{--cx-on-bg:var(--cx-on-accent);--cx-on-bg-muted:var(--cx-on-accent);--cx-accent-on-bg:var(--cx-on-accent);background:var(--cx-accent);color:var(--cx-on-accent);text-align:left;padding:var(--cx-section-y) var(--cx-gutter)}
.cta--plain::before{display:none}
.cta--plain .cta-inner{max-width:var(--cx-maxw);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:calc(var(--cx-unit) * 3) calc(var(--cx-unit) * 6)}
.cta--plain .cta-h2{font-size:clamp(2.2rem,6vw,5.2rem);line-height:1;margin:0;min-width:0;overflow-wrap:break-word}
.cta--plain .cta-sub{grid-column:1;margin:0;opacity:1}
.cta--plain .btns{grid-column:2;grid-row:1 / span 2;justify-content:flex-start}
.cta--plain .btn-fill{background:var(--cx-on-accent);color:var(--cx-accent);box-shadow:none}
.cta--plain .btn-fill:hover{background:var(--cx-on-accent);color:var(--cx-accent);opacity:.9}
.cta--plain :where(a,button):focus-visible{outline-color:var(--cx-on-accent)}
@media (max-width:760px){.cta--plain .cta-inner{grid-template-columns:minmax(0,1fr)}.cta--plain .btns{grid-column:1;grid-row:auto}}

/* ── ARTICLES: post, sermon, event, archive ── */
.art{max-width:var(--cx-maxw);margin:0 auto;padding:calc(var(--cx-unit) * 18) var(--cx-gutter) calc(var(--cx-unit) * 12)}
.art-head{max-width:60rem;margin-bottom:calc(var(--cx-unit) * 5)}
.art-title{font-size:clamp(2.4rem,6.5vw,5.6rem);line-height:1;letter-spacing:calc(var(--cx-tracking) - .02em);min-width:0;overflow-wrap:break-word}
.art-meta{margin-top:calc(var(--cx-unit) * 2);color:var(--cx-on-bg-muted);font-size:var(--cx-fs-md)}
.art-cover{margin:0 0 calc(var(--cx-unit) * 5);border-radius:var(--cx-radius);overflow:hidden;background:var(--cx-surface-3)}
.art-cover img{width:100%;height:auto;max-height:70svh;object-fit:cover}
.art-body{max-width:44rem;font-size:var(--cx-fs-md);line-height:1.7}
.art-body>*+*{margin-top:1em}
.art-body h2,.art-body h3{margin-top:1.8em;line-height:1.1}
.art-body h2{font-size:var(--cx-fs-xl)}
.art-body h3{font-size:var(--cx-fs-lg)}
.art-body ul,.art-body ol{padding-left:1.4em}
.art-body img,.art-body video,.art-body iframe{max-width:100%;height:auto}
.art-body blockquote{padding-left:calc(var(--cx-unit) * 3);border-left:3px solid var(--cx-accent)}

.art--media .art-head{margin-top:calc(var(--cx-unit) * 5)}
.art-video{margin:0;aspect-ratio:16 / 9;border-radius:var(--cx-radius);overflow:hidden;background:var(--cx-deep)}
.art-video iframe,.art-video img{width:100%;height:100%;border:0;display:block;object-fit:cover}
.art-facts{list-style:none;display:flex;flex-direction:column;border-top:var(--cx-border-w) solid var(--cx-on-bg);max-width:44rem;margin:0 0 calc(var(--cx-unit) * 5)}
.art-facts li{display:flex;align-items:baseline;gap:calc(var(--cx-unit) * 1.5);padding:calc(var(--cx-unit) * 1.5) 0;border-bottom:var(--cx-border-w) solid var(--cx-border-strong);font-size:var(--cx-fs-md);min-width:0;overflow-wrap:anywhere}
.art-facts .cx-ico{color:var(--cx-accent-on-bg);font-size:var(--cx-fs-lg);align-self:center}
.art-facts-k{color:var(--cx-on-bg-muted);flex:0 0 11ch}
.art-cal{display:inline-flex;align-items:center;gap:var(--cx-unit);margin-bottom:calc(var(--cx-unit) * 5);color:var(--cx-on-bg);text-decoration:underline;text-decoration-color:var(--cx-accent);text-decoration-thickness:2px;text-underline-offset:.25em}

.arc{max-width:var(--cx-maxw);margin:0 auto;padding:calc(var(--cx-unit) * 18) var(--cx-gutter) calc(var(--cx-unit) * 12)}
.arc-title{font-size:clamp(2.6rem,8vw,7rem);line-height:.98;letter-spacing:calc(var(--cx-tracking) - .02em);margin-bottom:calc(var(--cx-unit) * 6);min-width:0;overflow-wrap:break-word}
.arc-list{list-style:none;border-top:var(--cx-border-w) solid var(--cx-on-bg)}
.arc-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,16rem);gap:calc(var(--cx-unit) * 3) calc(var(--cx-unit) * 5);padding:calc(var(--cx-unit) * 4) 0;border-bottom:var(--cx-border-w) solid var(--cx-border-strong)}
.arc-item:not(:has(.arc-thumb)){grid-template-columns:minmax(0,1fr)}
.arc-item-title{font-size:var(--cx-fs-2xl);line-height:1.05;letter-spacing:var(--cx-tracking);overflow-wrap:break-word}
.arc-item-title a{color:var(--cx-on-bg);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.15em;transition:text-decoration-color var(--cx-dur) var(--cx-ease)}
.arc-item-title a:hover{text-decoration-color:var(--cx-accent)}
.arc-date{margin-top:var(--cx-unit);color:var(--cx-on-bg-muted);font-size:var(--cx-fs-sm)}
.arc-excerpt{margin-top:calc(var(--cx-unit) * 2);max-width:56ch;font-size:var(--cx-fs-md)}
.arc-thumb{display:block;border-radius:var(--cx-radius);overflow:hidden;aspect-ratio:4 / 3;background:var(--cx-surface-3);grid-column:2;grid-row:1}
.arc-thumb img{width:100%;height:100%;object-fit:cover}
.page-hero--plain+.cxb-empty{padding-top:0}
.cxb-empty-line{font-size:var(--cx-fs-lg);max-width:34ch;line-height:1.3;color:var(--cx-on-bg)}
.arc-empty{font-size:var(--cx-fs-lg);max-width:34ch}
.arc .navigation.pagination{margin-top:calc(var(--cx-unit) * 5)}
.arc .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 calc(var(--cx-unit) * 1.5);margin-right:var(--cx-unit);border:var(--cx-border-w) solid var(--cx-on-bg);border-radius:calc(var(--cx-radius) * 4);color:var(--cx-on-bg)}
.arc .page-numbers.current{background:var(--cx-accent);border-color:var(--cx-accent);color:var(--cx-on-accent)}
.arc .nav-links{display:flex;flex-wrap:wrap;gap:var(--cx-unit)}

.nf-line{font-size:var(--cx-fs-lg);max-width:34ch;line-height:1.3;margin-bottom:calc(var(--cx-unit) * 4)}
.page-plain-title .canvas-stop{animation:none}

/* ── FOOTER (v2): columns from Site data, the name fitted to the width ── */
.ftr-top{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:calc(var(--cx-unit) * 5) calc(var(--cx-unit) * 4)}
.ftr-times{display:grid;gap:calc(var(--cx-unit) * 1.25);margin:0}
.ftr-times>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 calc(var(--cx-unit) * 1.5);align-items:baseline}
.ftr-times dt{color:var(--cx-on-bg);font-size:var(--cx-fs-sm)}
.ftr-times dd{margin:0;color:var(--cx-on-bg-muted);font-size:var(--cx-fs-sm);min-width:0;overflow-wrap:break-word}
.ftr-social{margin-top:calc(var(--cx-unit) * 3)}
.ftr-contact-value{overflow-wrap:anywhere}
.ftr-mast{max-width:min(1560px,100%);margin:calc(var(--cx-unit) * 4) auto 0;padding:0 var(--cx-gutter);container-type:inline-size}
.ftr-mast-in{display:inline-block;max-width:100%;font-family:var(--cx-font-display);font-weight:var(--cx-weight-display);font-size:min(11rem,calc(100cqw / (var(--n,12) * .7)));line-height:1;letter-spacing:calc(var(--cx-tracking) - .02em);padding-bottom:.08em}
.ftr-mast-in span{color:var(--cx-accent)}
.ftr-mast--one .ftr-mast-in{white-space:nowrap}

@media (max-width:900px){
  .cxb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .arc-item{grid-template-columns:minmax(0,1fr)}
  .arc-thumb{grid-column:1;grid-row:auto;max-width:24rem}
}
@media (max-width:560px){
  .cxb-grid{grid-template-columns:minmax(0,1fr)}
  .cxb-row-link{gap:calc(var(--cx-unit) * 2)}
}
@media (prefers-reduced-motion:reduce){
  .cxb-more,.cxb-link,.cxb-card-title,.cxb-row-link>.cx-ico,.arc-item-title a{transition:none}
  .cxb-row-link:hover>.cx-ico{transform:none}
}

/* ── ADVENTIST LOOK: the seventh-day rail and the editorial church page ──
   On when the design token `rail` is "seventh" (inc/rail.php adds .cx-has-rail);
   every value below is a token, so the picker can still repaint it. The look is
   square (radius 0 from the preset), ruled with ink hairlines, set in the
   display face for heads and the body face for everything a visitor reads. */
.cx-rail{display:none}
@media (min-width:1021px){
  .cx-has-rail{--cx-rail:calc(100% / 7)}
  /* Sky over the logo: deep blue at the top, opening into a pale horizon,
     the page paper at the foot where the mark stands. */
  .cx-has-rail .cx-rail{display:flex;position:fixed;top:0;right:0;bottom:0;width:calc(100% / 7);z-index:900;align-items:flex-end;justify-content:center;padding:0 0 clamp(24px,6vh,64px);pointer-events:none;border-left:var(--cx-border-w) solid var(--cx-border);background:linear-gradient(180deg,color-mix(in srgb,var(--cx-accent) 88%,var(--cx-ink)) 0%,color-mix(in srgb,var(--cx-accent) 72%,var(--cx-bg)) 14%,color-mix(in srgb,var(--cx-accent) 46%,var(--cx-bg)) 32%,color-mix(in srgb,var(--cx-accent) 24%,var(--cx-bg)) 50%,color-mix(in srgb,var(--cx-accent) 9%,var(--cx-bg)) 66%,var(--cx-bg) 82%)}
  .cx-rail-logo{width:min(58%,124px);height:auto}
  .cx-has-rail{padding-right:var(--cx-rail)}
  .cx-has-rail .hdr{right:calc(100% / 7)}
}

/* Header: a quiet edge-aligned bar on solid paper, an ink hairline under it. */
.cx-has-rail .hdr,.cx-has-rail .hdr.scrolled,body.cx-has-rail:has(.hero:not(.hero--plain),.page-hero:not(.page-hero--plain)) .hdr:not(.scrolled){background:var(--cx-bg);backdrop-filter:none;border-bottom:var(--cx-border-w) solid var(--cx-on-bg)}
.cx-has-rail .hdr-inner,.cx-has-rail .hdr.scrolled .hdr-inner{height:72px}
.cx-has-rail .hdr-logo-text{font-size:var(--cx-fs-md);letter-spacing:var(--cx-tracking)}
.cx-has-rail .hdr-nav{gap:calc(var(--cx-unit) * 3)}
.cx-has-rail .hdr-nav li a{font-size:var(--cx-fs-base);color:var(--cx-on-bg);white-space:nowrap}
.cx-has-rail .hdr-nav li a::after{bottom:-6px;height:2px}
.cx-has-rail .hdr-nav li a:active,.cx-has-rail .hdr-phone:active{color:var(--cx-accent-on-bg)}
.cx-has-rail .hdr-phone{font-size:var(--cx-fs-base);color:var(--cx-on-bg);letter-spacing:0;font-variant-numeric:tabular-nums}
.cx-has-rail .hdr-btn,.cx-has-rail .mob-btn,.cx-has-rail .btn-fill{border-radius:var(--cx-radius);box-shadow:none;letter-spacing:0;text-transform:none;font-weight:600;min-height:48px;display:inline-flex;align-items:center}
.cx-has-rail .btn-fill:hover{transform:none;background:color-mix(in srgb,var(--cx-accent) 86%,var(--cx-ink))}
.cx-has-rail .btn-fill:active{background:color-mix(in srgb,var(--cx-accent) 72%,var(--cx-ink))}
.cx-has-rail .mob-menu a{font-weight:var(--cx-weight-display)}

/* Hero, Banner posture: the congregation's name as a masthead, a double rule,
   the full name under it; the service times follow above the fold. */
.cx-has-rail .hero--plain{min-height:min(52svh,560px);display:flex;align-items:flex-end}
.cx-has-rail .hero--plain .hero-inner{padding:calc(72px + var(--cx-unit) * 6) var(--cx-gutter) calc(var(--cx-unit) * 3);gap:calc(var(--cx-unit) * 3)}
.cx-has-rail .hero--plain .hero-inner{container-type:inline-size}
.cx-has-rail .hero--plain .hero-h1{font-size:min(clamp(3.4rem,12vw,12rem),calc(100cqw / (var(--n,8) * .68)));hyphens:manual;line-height:.9;letter-spacing:calc(var(--cx-tracking) - .025em)}
.cx-has-rail .hero--plain .hero-foot{border-top:calc(var(--cx-border-w) * 4) double var(--cx-on-bg);padding-top:calc(var(--cx-unit) * 2)}
.cx-has-rail .hero--plain .hero-desc{font-size:var(--cx-fs-lg);line-height:1.3;max-width:40ch}
.cx-has-rail .page-hero--plain{padding:calc(72px + var(--cx-unit) * 7) 0 calc(var(--cx-unit) * 3)}
.cx-has-rail .page-hero--plain .page-hero-inner{width:100%}
.cx-has-rail .page-hero--plain h1{font-size:clamp(2.8rem,10vw,9.5rem);line-height:.92}
.cx-has-rail .page-hero--plain h1{padding-bottom:calc(var(--cx-unit) * 2.5);border-bottom:calc(var(--cx-border-w) * 4) double var(--cx-on-bg);text-wrap:balance}

/* Sections: heads at the section size, balanced. */
.cx-has-rail .cxb-h2{font-size:var(--cx-fs-2xl);line-height:1.04;text-wrap:balance}
.cx-has-rail .cxb-head{margin-bottom:calc(var(--cx-unit) * 4)}

/* Service times, the noticeboard: the head beside three ruled rows, the time
   set large in the display face. */
.cx-has-rail .cxb-times{padding-top:calc(var(--cx-unit) * 3)}
.cx-has-rail .cxb-times .cxb-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:0 calc(var(--cx-unit) * 5);align-items:start}
.cx-has-rail .cxb-times .cxb-head{margin:0;padding-top:calc(var(--cx-unit) * 2)}
.cx-has-rail .cxb-times-list,.cx-has-rail .cxb-hours{grid-column:2}
.cx-has-rail .cxb-times-row{grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,4fr);padding:calc(var(--cx-unit) * 2) 0;border-top-color:var(--cx-border-strong)}
.cx-has-rail .cxb-times-row:first-child{border-top-color:var(--cx-on-bg)}
.cx-has-rail .cxb-times-row:last-child{border-bottom-color:var(--cx-on-bg)}
.cx-has-rail .cxb-times-day{font-family:var(--cx-font-body);font-weight:var(--cx-weight-body);font-size:var(--cx-fs-md);letter-spacing:0;align-self:center}
.cx-has-rail .cxb-times-time{font-size:var(--cx-fs-2xl);line-height:1}
.cx-has-rail .cxb-times-title{font-size:var(--cx-fs-md);color:var(--cx-on-bg);align-self:center}

/* Contacts, the close: the address first and largest. */
.cx-has-rail .cxb-contacts{padding-bottom:calc(var(--cx-unit) * 11)}
.cx-has-rail .cxb-contacts-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
.cx-has-rail .cxb-contact-k .cx-ico{color:var(--cx-accent-on-bg)}
.cx-has-rail .cxb-contact-v a:active{color:var(--cx-accent-on-bg)}

/* Footer: the mast and the columns stay; labels read at the body size. */
.cx-has-rail .ftr{border-top:calc(var(--cx-border-w) * 4) double var(--cx-on-bg)}
.cx-has-rail .ftr-top{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.cx-has-rail .ftr-col-title{font-size:var(--cx-fs-sm);font-weight:var(--cx-weight-body);color:var(--cx-on-bg-muted)}
.cx-has-rail .ftr-col-title::after{background:var(--cx-border-strong)}
.cx-has-rail .ftr-col ul li a,.cx-has-rail .ftr-contact-value,.cx-has-rail .ftr-times dt,.cx-has-rail .ftr-times dd,.cx-has-rail .ftr-copy,.cx-has-rail .ftr-links a{font-size:var(--cx-fs-base);letter-spacing:0}
.cx-has-rail .ftr-contact-label{font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted)}
.cx-has-rail .ftr-col ul li a:active,.cx-has-rail .ftr-contact-value:active{color:var(--cx-accent-on-bg)}
.cx-has-rail .ftr-mast-in span{color:var(--cx-accent-on-bg)}

/* Under 1021px the rail turns into a band of the same sky under the header,
   the mark at its pale right end, so the phone keeps the church's identity. */
@media (max-width:1020px){
  .cx-has-rail .cx-rail{display:flex;align-items:center;justify-content:flex-end;height:calc(var(--cx-unit) * 8);margin-top:64px;padding:0 var(--cx-gutter);border-bottom:var(--cx-border-w) solid var(--cx-on-bg);background:linear-gradient(90deg,color-mix(in srgb,var(--cx-accent) 88%,var(--cx-ink)) 0%,color-mix(in srgb,var(--cx-accent) 46%,var(--cx-bg)) 34%,color-mix(in srgb,var(--cx-accent) 12%,var(--cx-bg)) 62%,var(--cx-bg) 84%)}
  .cx-has-rail .cx-rail-logo{height:calc(var(--cx-unit) * 5.5);width:auto}
  .cx-has-rail .hero--plain .hero-inner{padding-top:calc(var(--cx-unit) * 4)}
  .cx-has-rail .page-hero--plain{padding-top:calc(var(--cx-unit) * 5)}
}
@media (max-width:900px){
  .cx-has-rail .hdr-inner,.cx-has-rail .hdr.scrolled .hdr-inner{height:64px}
  .cx-has-rail .hero--plain,.cx-has-rail .page-hero--plain{min-height:0}
  .cx-has-rail .cxb-times .cxb-in{grid-template-columns:minmax(0,1fr)}
  .cx-has-rail .cxb-times .cxb-head{padding:0 0 calc(var(--cx-unit) * 2)}
  .cx-has-rail .cxb-times-list,.cx-has-rail .cxb-hours{grid-column:1}
}
@media (max-width:700px){
  .cx-has-rail .cxb-times-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"time day" "time title";column-gap:calc(var(--cx-unit) * 2);row-gap:calc(var(--cx-unit) * .25)}
  .cx-has-rail .cxb-times-time{grid-area:time;font-size:var(--cx-fs-2xl);align-self:center}
  .cx-has-rail .cxb-times-day{grid-area:day;font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted);align-self:end}
  .cx-has-rail .cxb-times-title{grid-area:title;align-self:start}
}
@media (prefers-reduced-motion:reduce){
  .cx-has-rail .hdr-nav li a::after{transition:none}
}

/* Adventist mark as on advent-ug.org: one diagonal gradient, ink to gold (theme block of the mark). */
:root{--cx-mark-ink:#333333;--cx-mark-gold:#ffbb00}
.cx-rail-mark{display:block}
.hdr-mark{width:calc(var(--cx-unit) * 4.5);height:auto;flex:none}
@media (max-width:1020px){.cx-has-rail .cx-rail-mark{display:none}}
/* Header lockup of an Adventist church, as on advent-ug.org: the church on top, the congregation under it. */
.hdr-lockup{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.hdr-lockup-church{font-family:var(--cx-font-display);font-size:var(--cx-fs-sm);font-weight:var(--cx-weight-display);color:var(--cx-on-bg)}
.hdr-lockup-name{font-family:var(--cx-font-body);font-size:var(--cx-fs-sm);color:var(--cx-on-bg-muted)}
@media (min-width:1021px){.hdr-lockup-church{font-size:var(--cx-fs-base)}.hdr-lockup-name{font-size:var(--cx-fs-base)}}
@media (max-width:420px){.hdr-lockup-church{font-size:var(--cx-fs-xs)}}
/* Conference style: item heads in capitals like advent-ug.org ("ПОМОЛІТЬСЯ ЗА МЕНЕ"); news titles stay in sentence case. */
.cxb-offer-title,.cxb-help-title{text-transform:var(--cx-heads-case,none)}
.hdr-lockup-church{white-space:nowrap}
@media (min-width:1021px) and (max-width:1500px){.cx-has-rail .hdr-nav{gap:20px}.cx-has-rail .hdr-nav li a{font-size:var(--cx-fs-sm)}}
