/*
Theme Name: Cynosure Weddings
Theme URI: https://cynosureweddings.in
Author: Built for Cynosure Weddings
Description: Custom theme for Cynosure Weddings — wedding photography and cinematic films, Navi Mumbai. Built on the Cynosure brand palette and logo suite.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: cynosure
*/

/* ============================================================
   CYNOSURE WEDDINGS — stylesheet
   Palette taken from the Cynosure Brand Book:
     Fantasy    #F4F5F0   primary neutral / page ground
     Grey Blue  #36465F   primary ink, dark sections
     Periwinkle #B7CFD9   secondary, tinted sections & dark accents
     Ash        #C7C2AC   secondary, rules, frames
     Pearl      #E2E4D9   accent, alternate sections & cards
   Approved pairings only: Grey Blue on Fantasy / Pearl / Periwinkle / Ash,
   and Fantasy / Pearl / Periwinkle / Ash on Grey Blue.

   THE ARCH is a signature element and is used deliberately, not
   everywhere. It appears on the hero image, on portfolio and wedding
   grid tiles, and on service-page split images. It is NOT applied to
   photographs inside wedding story pages: cropping every frame to one
   shape destroys the compositions and forces landscape images into a
   portrait mask. Story photographs run at natural proportions with a
   6px radius and a soft shadow.
   ============================================================ */

:root{
  --fantasy:#F4F5F0;
  --pearl:#E2E4D9;
  --periwinkle:#B7CFD9;
  --ash:#C7C2AC;
  --greyblue:#36465F;

  --paper:var(--fantasy);
  --paper-deep:var(--pearl);
  --paper-tint:var(--periwinkle);
  --card:var(--pearl);
  --ink:var(--greyblue);
  --ink-soft:#64718A;
  --accent:#4A5C78;
  --accent-light:var(--periwinkle);
  --rule:var(--ash);
  --line:rgba(54,70,95,.20);
  --line-soft:rgba(54,70,95,.11);
  --on-ink:var(--fantasy);
  --on-ink-soft:rgba(244,245,240,.74);

  /* ── logo lockup tuning — change these numbers, save, refresh ──
     --logo-mark-h   how tall the logomark is
     --logo-word-w   how wide the CYNOSURE wordmark is
     --logo-gap      space between logomark and wordmark
     --logo-sub-gap  space between wordmark and the word WEDDINGS
     --logo-sub-size text size of WEDDINGS
     --logo-sub-track letter-spacing on WEDDINGS
     ──────────────────────────────────────────────────────────── */
  --logo-mark-h:36px;
  --logo-word-w:123px;
  --logo-gap:11px;
  --logo-sub-gap:5px;
  --logo-sub-size:8px;
  --logo-sub-track:.46em;

  --display:'Fraunces', Georgia, serif;
  --body:'Karla', system-ui, sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
:root a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
.wrap{max-width:1160px;margin:0 auto;padding:0 34px;}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 34px;}
@media (max-width:640px){.wrap,.wrap-narrow{padding:0 20px;}}

.grain{
  position:fixed;inset:0;pointer-events:none;z-index:900;opacity:.22;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.07'/%3E%3C/svg%3E");
}

/* ── type roles ───────────────────────────── */
.label{
  font-family:var(--body);font-size:11.5px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent);
}
h1,h2,h3,h4{
  font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-.015em;
  color:var(--ink);text-wrap:balance;
}
h1{font-size:clamp(38px,6vw,70px);}
h2{font-size:clamp(30px,4.4vw,50px);}
h3{font-size:25px;}
em.soft{font-style:italic;color:var(--ink-soft);}
p{color:var(--ink-soft);}

/* ── logo ─────────────────────────────────
   Logomark height is matched to the wordmark so the two
   read as one unit. WEDDINGS is centred under the wordmark;
   the negative margin-right cancels the trailing letter-space
   that would otherwise push it visually off-centre.
   ───────────────────────────────────────── */
.mark{display:flex;align-items:center;gap:var(--logo-gap);color:var(--ink);}
.mark .mk{height:var(--logo-mark-h);width:auto;flex-shrink:0;}
.mark .wm{display:block;text-align:center;}
.mark .wmk{width:var(--logo-word-w);height:auto;}
.mark .wm i{
  display:block;font-style:normal;font-family:var(--body);
  font-size:var(--logo-sub-size);font-weight:600;line-height:1;
  letter-spacing:var(--logo-sub-track);text-transform:uppercase;
  color:var(--accent);margin-top:var(--logo-sub-gap);
  margin-right:calc(var(--logo-sub-track) * -1);
}
footer .mark{color:var(--on-ink);--logo-mark-h:44px;--logo-word-w:150px;--logo-sub-size:9px;--logo-sub-gap:6px;}
footer .mark .wm i{color:var(--accent-light);}
@media (max-width:520px){
  .mark{--logo-mark-h:30px;--logo-word-w:102px;--logo-gap:9px;--logo-sub-size:7px;--logo-sub-gap:4px;}
}

/* ── buttons ──────────────────────────────── */
.btn{
  display:inline-block;font-family:var(--body);font-size:13px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;padding:14px 26px;border-radius:999px;
  cursor:pointer;border:1px solid transparent;
  transition:transform .3s ease,background .3s ease,color .3s ease,border-color .3s ease;
}
.btn-solid,
.btn-solid:link,
.btn-solid:visited {
  background: var(--ink);
  color: var(--on-ink) !important;
}
.btn-solid:hover,
.btn-solid:focus {
  background: var(--periwinkle);
  color: var(--ink) !important;
  transform: translateY(-2px);
}
.btn-line{border-color:var(--line);color:var(--ink);}
.btn-line:hover{border-color:var(--ink);background:var(--line-soft);}
.btn-gold{background:var(--periwinkle);color:var(--ink);}
.btn-gold:hover{background:var(--on-ink);color:var(--ink);transform:translateY(-2px);}
.btn-sm{padding:10px 20px;font-size:12px;}

/* ── header ───────────────────────────────── */
header{
  position:fixed;top:0;left:0;right:0;z-index:500;padding:18px 0;
  transition:background .45s ease,padding .45s ease,box-shadow .45s ease;
}
header.stuck{
  background:rgba(244,245,240,.95);backdrop-filter:blur(12px);padding:11px 0;
  box-shadow:0 1px 0 var(--line-soft);
}
.navrow{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.navlinks{display:flex;gap:28px;font-size:14px;color:var(--ink-soft);list-style:none;margin:0;padding:0;}
.navlinks li,.mobnav li,.f-col li{list-style:none;margin:0;padding:0;display:block;}
.navlinks li::marker,.mobnav li::marker,.f-col li::marker{content:none;}
.navlinks a{transition:color .2s;padding:4px 0;border-bottom:1px solid transparent;}
.navlinks a:hover{color:var(--ink);}
.navlinks a.active{color:var(--ink);border-bottom-color:var(--ash);}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.burger span{width:22px;height:1.5px;background:var(--ink);}
.mobnav{
  display:none;position:fixed;inset:0;z-index:490;background:var(--paper);
  flex-direction:column;align-items:center;justify-content:center;gap:6px;
  list-style:none;margin:0;padding:0;
}
.mobnav.open{display:flex;}
.mobnav a{font-family:var(--display);font-size:29px;padding:9px;}
@media (max-width:980px){.navlinks{display:none;}.burger{display:flex;}}

/* ── hero ─────────────────────────────────── */
.hero{padding:150px 0 90px;position:relative;overflow:hidden;}
.hero::after{
  content:'';position:absolute;top:-210px;right:-190px;width:660px;height:660px;border-radius:50%;
  background:radial-gradient(circle,var(--periwinkle),transparent 66%);opacity:.42;pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;position:relative;z-index:2;}
.hero h1{margin:22px 0 24px;}
.hero .lede{font-size:17.5px;line-height:1.72;max-width:450px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}
@media (max-width:920px){.hero-grid{grid-template-columns:1fr;gap:46px;}.hero{padding:128px 0 66px;}}

.hero-slim{padding:150px 0 60px;position:relative;text-align:center;}
.hero-slim h1{margin:20px auto 22px;max-width:860px;}
.hero-slim .lede{font-size:17px;max-width:600px;margin:0 auto;}
@media (max-width:640px){.hero-slim{padding:126px 0 46px;}}

/* ── the arch (signature) ─────────────────────
   Used on the hero, portfolio / wedding grid tiles, and
   service-page split images. Not used inside story pages.
   ───────────────────────────────────────────── */
.arch{
  border-radius:999px 999px 10px 10px;overflow:hidden;position:relative;
  box-shadow:0 26px 60px -34px rgba(54,70,95,.55);
  background:var(--pearl);
}
.arch img{width:100%;height:100%;object-fit:cover;display:block;}
.arch-frame{padding:11px;border:1px solid var(--ash);border-radius:999px 999px 14px 14px;}
.hero-arch{aspect-ratio:3/4;}
.ph{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;padding:22px;text-align:center;}
.ph span{
  font-size:10.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--fantasy);background:rgba(54,70,95,.55);backdrop-filter:blur(3px);
  padding:7px 14px;border-radius:999px;
}
.t1{background:linear-gradient(155deg,#8397AF,#4E6180 48%,#36465F);}
.t2{background:linear-gradient(155deg,#DEDACA,#C7C2AC 48%,#A39E88);}
.t3{background:linear-gradient(155deg,#D3E2EA,#B7CFD9 46%,#8FAEBD);}
.t4{background:linear-gradient(155deg,#5E7189,#36465F 50%,#263246);}
.t5{background:linear-gradient(155deg,#E8EADF,#C7C2AC 50%,#9A9683);}
.t6{background:linear-gradient(155deg,#B7CFD9,#8CA6B8 48%,#5A6E8B);}

/* ── trust strip ──────────────────────────── */
.trust{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--paper-deep);}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.trust-cell{padding:30px 22px;text-align:center;border-right:1px solid var(--line-soft);}
.trust-cell:last-child{border-right:none;}
.trust-cell b{display:block;font-family:var(--display);font-size:30px;font-weight:400;line-height:1;color:var(--ink);}
.trust-cell span{display:block;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);margin-top:9px;}
@media (max-width:760px){
  .trust-grid{grid-template-columns:repeat(2,1fr);}
  .trust-cell:nth-child(2n){border-right:none;}
  .trust-cell:nth-child(-n+2){border-bottom:1px solid var(--line-soft);}
}

/* ── sections ─────────────────────────────── */
.block{padding:110px 0;}
.block-tight{padding:78px 0;}
.deep{background:var(--paper-deep);}
.tint{background:var(--paper-tint);}
.dark{background:var(--ink);}
.dark h2,.dark h3,.dark h4{color:var(--on-ink);}
.dark p{color:var(--on-ink-soft);}
.dark .label{color:var(--accent-light);}
.dark em.soft{color:var(--accent-light);}
@media (max-width:640px){.block{padding:72px 0;}.block-tight{padding:56px 0;}}

.center{text-align:center;}
.head-c{max-width:660px;margin:0 auto 60px;text-align:center;}
.head-c h2{margin:16px 0 18px;}
.head-c p{font-size:16.5px;}
.head-l{max-width:620px;margin-bottom:52px;}
.head-l h2{margin:16px 0 18px;}

.fade{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease;}
.fade.on{opacity:1;transform:none;}

/* ── breadcrumb ───────────────────────────── */
.crumb{font-size:12.5px;color:var(--ink-soft);letter-spacing:.04em;}
.crumb a:hover{color:var(--ink);}
.crumb span{margin:0 8px;opacity:.5;}

/* ── gallery (wedding / portfolio tiles) ──── */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.gallery-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.g-item{transition:transform .45s ease;}
.g-item:hover{transform:translateY(-6px);}
.g-item .arch{aspect-ratio:4/5;}
.g-cap{margin-top:16px;text-align:center;}
.g-cap b{display:block;font-family:var(--display);font-size:20px;font-weight:400;color:var(--ink);}
.g-cap span{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,1fr);gap:18px;}}
@media (max-width:560px){.gallery,.gallery-2{grid-template-columns:1fr;}}

/* ── three-up ─────────────────────────────── */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:52px;}
.three-item .rule{width:44px;height:2px;background:var(--rule);}
.dark .three-item .rule{background:var(--accent-light);}
.three-item h3{margin:16px 0 12px;}
.three-item p{font-size:15.5px;}
@media (max-width:860px){.three{grid-template-columns:1fr;gap:36px;}}

/* ── service split ────────────────────────── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.flip .split-media{order:2;}
.split-media .arch{aspect-ratio:4/5;}
.split-body h2{margin-bottom:20px;}
.split-body p{font-size:16.5px;margin-bottom:18px;}
.split-body .btn{margin-top:14px;}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:40px;}.split.flip .split-media{order:0;}}

/* ── checklist ────────────────────────────── */
.checks{list-style:none;margin:22px 0;}
.checks li{position:relative;padding:10px 0 10px 26px;border-bottom:1px solid var(--line-soft);color:var(--ink-soft);font-size:15.5px;}
.checks li::before{
  content:'';position:absolute;left:2px;top:19px;width:7px;height:7px;
  background:var(--ash);transform:rotate(45deg);
}
.dark .checks li{color:var(--on-ink-soft);border-bottom-color:rgba(244,245,240,.16);}
.dark .checks li::before{background:var(--accent-light);}

/* ── packages ─────────────────────────────── */
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;}
.pk{
  background:var(--card);border:1px solid var(--line-soft);border-radius:6px;padding:38px 32px;
  transition:box-shadow .4s ease,transform .4s ease;
}
.pk:hover{box-shadow:0 20px 44px -30px rgba(54,70,95,.5);transform:translateY(-4px);}
.pk-feat{background:var(--ink);border-color:var(--ink);position:relative;}
.pk-feat h3{color:var(--on-ink);}
.pk-feat p,.pk-feat li{color:var(--on-ink-soft);}
.pk-feat .checks li{border-bottom-color:rgba(244,245,240,.16);}
.pk-feat .checks li::before{background:var(--accent-light);}
.pk-feat .pk-price{color:var(--accent-light);}
.pk-flag{
  position:absolute;top:-12px;left:32px;background:var(--periwinkle);color:var(--ink);
  font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:999px;
}
.pk h3{margin-bottom:8px;}
.pk-price{font-family:var(--display);font-size:16px;color:var(--accent);margin-bottom:18px;display:block;}
.pk .btn{width:100%;text-align:center;margin-top:8px;}
@media (max-width:900px){.pk-grid{grid-template-columns:1fr;}}

/* ── steps ────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;}
.step-n{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--ink);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:19px;margin-bottom:18px;
}
.step h4{font-size:21px;margin-bottom:9px;}
.step p{font-size:14.5px;}
.tint .step p{color:#43536D;}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr;gap:32px;}}
@media (max-width:520px){.steps{grid-template-columns:1fr;}}

/* ── reviews ──────────────────────────────── */
.q-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.q-card{border-top:1px solid rgba(244,245,240,.26);padding-top:26px;}
.q-stars{color:var(--accent-light);letter-spacing:3px;font-size:13px;margin-bottom:18px;}
.q-card blockquote{font-family:var(--display);font-style:italic;font-size:21px;line-height:1.45;color:var(--on-ink);}
.q-attr{margin-top:20px;font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--on-ink-soft);}
@media (max-width:900px){.q-grid{grid-template-columns:1fr;gap:26px;}}

/* ── faq ──────────────────────────────────── */
.faq{max-width:790px;margin:0 auto;}
.fq{border-bottom:1px solid var(--line-soft);}
.fq-q{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:25px 0;cursor:pointer;font-family:var(--display);font-size:20px;color:var(--ink);
}
.fq-q i{font-style:normal;color:var(--accent);font-size:22px;transition:transform .35s ease;flex-shrink:0;}
.fq.open .fq-q i{transform:rotate(45deg);}
.fq-a{max-height:0;overflow:hidden;transition:max-height .42s ease;}
.fq.open .fq-a{max-height:320px;}
.fq-a p{padding-bottom:25px;font-size:15.5px;}

/* ── prose ────────────────────────────────── */
.prose p{font-size:17px;line-height:1.8;margin-bottom:24px;}
.prose h2{margin:44px 0 18px;}
.prose blockquote{
  font-family:var(--display);font-style:italic;font-size:24px;line-height:1.5;color:var(--ink);
  border-left:2px solid var(--ash);padding-left:24px;margin:34px 0;
}

/* ── contact ──────────────────────────────── */
.c-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:start;}
.c-row{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line-soft);}
.c-row:last-child{border-bottom:none;}
.c-row span{display:block;font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);margin-bottom:7px;}
.c-row a,.c-row div{font-size:16.5px;color:var(--ink);}
.c-row a:hover{color:var(--ink-soft);}
.form-card{background:var(--card);border:1px solid var(--line-soft);border-radius:6px;padding:38px 34px;}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.fields .full{grid-column:1/-1;}
.fld label{display:block;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.fld input,.fld textarea,.fld select{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);
  font-family:var(--body);font-size:16px;color:var(--ink);padding:9px 0;outline:none;transition:border-color .3s;
}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-bottom-color:var(--ink);}
.fld textarea{resize:none;}
.form-card .btn{margin-top:28px;width:100%;text-align:center;}
.form-note{font-size:13px;color:var(--ink-soft);margin-top:16px;text-align:center;}
@media (max-width:900px){.c-grid{grid-template-columns:1fr;gap:44px;}}
@media (max-width:560px){.form-card{padding:28px 22px;}.fields{grid-template-columns:1fr;}.fields .full{grid-column:1;}}

/* ── cta band ─────────────────────────────── */
.cta-band{text-align:center;}
.cta-band h2{margin-bottom:20px;}
.cta-band p{max-width:520px;margin:0 auto 32px;font-size:16.5px;}

/* ── footer ───────────────────────────────── */
footer{background:var(--ink);color:var(--on-ink-soft);padding:58px 0 34px;}
.f-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
footer p{color:var(--on-ink-soft);font-size:14.5px;margin-top:18px;max-width:270px;}
.f-col h5{font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--accent-light);margin-bottom:16px;}
.f-col ul,.f-col li{list-style:none;margin:0;padding:0;}
.f-col a{display:block;font-size:14.5px;padding:5px 0;transition:color .2s;}
.f-col a:hover{color:var(--accent-light);}
.f-legal{margin-top:40px;padding-top:24px;border-top:1px solid rgba(244,245,240,.18);font-size:12.5px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;}
@media (max-width:860px){.f-top{grid-template-columns:1fr 1fr;gap:32px;}}
@media (max-width:520px){.f-top{grid-template-columns:1fr;}}

/* ── mobile sticky bar ────────────────────── */
.mobar{
  position:fixed;bottom:0;left:0;right:0;z-index:600;display:none;gap:10px;padding:11px 14px;
  background:rgba(244,245,240,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line-soft);
}
.mobar a{flex:1;text-align:center;padding:14px 8px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}
.mobar .call{border:1px solid var(--line);color:var(--ink);}
.mobar .wa{background:var(--ink);color:var(--on-ink);}
@media (max-width:900px){.mobar{display:flex;}body{padding-bottom:74px;}}


/* ============================================================
   WORDPRESS-SPECIFIC STYLES
   ============================================================ */

.admin-bar header{top:32px;}
@media (max-width:782px){.admin-bar header{top:46px;}}

/* editor content inside story pages */
.prose img{border-radius:6px;margin:14px 0;}
.prose figure{margin:32px 0;}
.prose figcaption{
  font-size:13px;color:var(--ink-soft);text-align:center;margin-top:10px;
  letter-spacing:.04em;
}
.prose ul,.prose ol{margin:0 0 24px 22px;color:var(--ink-soft);font-size:17px;line-height:1.8;}
.prose li{margin-bottom:8px;}
.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.prose a:hover{color:var(--ink-soft);}

/* ── story-page galleries ─────────────────────
   Photographs run at their natural proportions. No arch, no
   forced aspect ratio, no cropping. Landscape frames are given
   the .is-wide class by assets/site.js and span the full column.
   ───────────────────────────────────────────── */
.prose .wp-block-gallery{
  display:grid !important;grid-template-columns:repeat(2,1fr);gap:26px;margin:40px 0;
  align-items:start;
}
.prose .wp-block-gallery .wp-block-image{margin:0;width:100% !important;}
.prose .wp-block-gallery .wp-block-image img{
  width:100%;height:auto;
  border-radius:6px;
  box-shadow:0 18px 44px -30px rgba(54,70,95,.45);
}
.prose .wp-block-gallery .wp-block-image figcaption{margin-top:10px;}
/* landscape frames span the full width of the gallery */
.prose .wp-block-gallery .wp-block-image.is-wide{grid-column:1 / -1;}
.prose .wp-block-gallery.columns-3{grid-template-columns:repeat(3,1fr);}
.prose .wp-block-gallery.columns-1{grid-template-columns:1fr;}
@media (max-width:640px){.prose .wp-block-gallery,.prose .wp-block-gallery.columns-3{grid-template-columns:1fr;}}

/* single image blocks between paragraphs */
.prose > .wp-block-image img{
  width:100%;height:auto;border-radius:6px;
  box-shadow:0 18px 44px -30px rgba(54,70,95,.45);
}

/* full-bleed image block inside a story */
.prose .alignwide{width:min(1160px,92vw);margin-left:50%;transform:translateX(-50%);}
.prose .alignfull{width:100vw;margin-left:50%;transform:translateX(-50%);}
.prose .alignfull img{border-radius:0;}

/* video embeds */
.cyn-video{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--ink);}
.cyn-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.cyn-video .wp-block-embed,.cyn-video figure{margin:0;height:100%;}
.cyn-video .wp-block-embed__wrapper{height:100%;}

/* form feedback */
.cyn-notice{
  padding:14px 18px;border-radius:6px;margin-bottom:22px;font-size:15px;
  background:var(--periwinkle);color:var(--ink);
}
.cyn-notice.err{background:var(--ash);}
.fld .req{color:var(--ink-soft);}
.screen-reader-text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.cyn-mathpot {
    position: absolute;
    left: -9999px;
    visibility: hidden;
}

/* pagination */
.cyn-pager{display:flex;justify-content:center;gap:10px;margin-top:60px;}
.cyn-pager a,.cyn-pager span{
  padding:10px 16px;border-radius:999px;font-size:14px;border:1px solid var(--line-soft);
}
.cyn-pager .current{background:var(--ink);color:var(--on-ink);border-color:var(--ink);}

/* empty state */
.cyn-empty{
  text-align:center;padding:70px 30px;border:1px dashed var(--line);border-radius:8px;
  color:var(--ink-soft);
}
.cyn-empty b{display:block;font-family:var(--display);font-size:22px;color:var(--ink);margin-bottom:10px;}