/* 2 Cute 2 Eat Cookies - staging stylesheet.
   ONE THEME, LIGHT, FORCED. This file carries no colour-scheme media query and
   there is no theme toggle. Every colour is declared. The client palette is measured,
   not invented: see BUILD-SPEC section 9. */

:root{
  color-scheme: light;

  /* Measured client palette */
  --pink:        #FFBFEE;   /* page ground, Elementor --e-global-color-primary */
  --pink-soft:   #F8D1E4;   /* kit hello_header_background_color */
  --pink-tint:   #FFE7F8;
  --purple:      #8640AE;   /* --e-global-color-text, "2Cute2Purple" */
  --purple-deep: #6000AD;   /* the client's own accessible purple */
  --magenta:     #F153CD;   /* --e-global-color-accent. DECORATION ONLY, never text */
  --navy:        #003065;   /* cookie contract headings */
  --navy-head:   #1C244B;
  --navy-body:   #324A6D;
  --ink:         #54595F;   /* --e-global-color-secondary, body ink on white */
  --blue-light:  #ADD1EA;
  --blue-pale:   #CEE1F2;
  --white:       #FFFFFF;
  --card:        #FFFFFF;
  --line:        #E7CEE0;
  --shadow:      0 2px 10px rgba(96, 0, 173, .12);
  --shadow-lg:   0 8px 26px rgba(96, 0, 173, .16);

  --font-display: "Kite One", "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --radius: 14px;
  --wrap: 1200px;
  --tap: 44px;
}

@font-face{
  font-family:"Kite One";
  src:url("/assets/fonts/kite-one-400.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Kite One";
  src:url("/assets/fonts/kite-one-400-ext.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; max-width:100%; overflow-x:hidden; }

body{
  margin:0;
  max-width:100%;
  overflow-x:hidden;
  background-color:var(--pink);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.6;
}

img,video,iframe,svg,table,pre{ max-width:100%; }
img{ height:auto; display:block; }

.wrap{ width:min(100% - 2rem, var(--wrap)); margin-inline:auto; }

/* ---------- type ---------- */
h1,h2,h3,h4{ font-family:var(--font-display); color:var(--purple); line-height:1.2; margin:0 0 .6em; font-weight:400; }
h1{ font-size:clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem); color:var(--purple-deep); }
h2{ font-size:clamp(1.375rem, 1.1rem + 1.2vw, 1.875rem); }
h3{ font-size:1.25rem; }
h4{ font-size:1.125rem; }
p,li{ font-size:1rem; }
.c2c-lead{ font-size:1.125rem; }
small,.c2c-small{ font-size:.9375rem; line-height:1.6; }

a{ color:var(--purple-deep); text-underline-offset:.18em; }
a:hover{ color:var(--purple); }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--navy);
  outline-offset:2px;
  border-radius:4px;
}

.c2c-skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--white); color:var(--navy); padding:.75rem 1rem; font-weight:700;
}
.c2c-skip:focus{ left:.5rem; top:.5rem; }

.visually-hidden{
  position:absolute!important; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ---------- staging flag ---------- */
.c2c-staging-flag{
  background:var(--navy); color:var(--white); text-align:center;
  font-size:.9375rem; padding:.4rem 1rem; letter-spacing:.02em;
}

/* ---------- contact strip ---------- */
.c2c-strip{ background:var(--pink-soft); border-bottom:2px solid var(--magenta); }
.c2c-strip__in{ display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; align-items:center; justify-content:center; padding:.35rem 0; }
.c2c-strip__item{
  color:var(--navy); font-size:.9375rem; text-decoration:none;
  display:inline-flex; align-items:center; min-height:var(--tap); padding:.25rem .25rem;
}
a.c2c-strip__item{ text-decoration:underline; }
a.c2c-strip__item:hover{ color:var(--purple-deep); }
.c2c-strip__social{ display:inline-flex; gap:.25rem; }
.c2c-strip__social a{
  color:var(--navy); display:inline-flex; align-items:center; justify-content:center;
  min-width:var(--tap); min-height:var(--tap);
}
.c2c-strip__social a:hover{ color:var(--purple-deep); }

/* ---------- header and nav ---------- */
.c2c-header{ background:var(--white); border-bottom:3px solid var(--magenta); position:relative; z-index:50; }
.c2c-header__in{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; padding:.5rem 0; }
.c2c-brand{ display:flex; align-items:center; gap:.6rem; text-decoration:none; min-height:var(--tap); }
.c2c-brand img{ width:56px; height:56px; border-radius:50%; }
.c2c-brand__text{ font-family:var(--font-display); font-size:1.25rem; color:var(--purple-deep); }

.c2c-navtoggle{ position:absolute; opacity:0; pointer-events:none; }
.c2c-burger{
  margin-left:auto; display:inline-flex; align-items:center; gap:.4rem;
  min-height:var(--tap); min-width:var(--tap); padding:.4rem .8rem; cursor:pointer;
  border:2px solid var(--purple); border-radius:10px; color:var(--purple-deep);
  background:var(--white); font-size:1rem;
}
.c2c-burger__label{ font-size:1rem; }
.c2c-nav{ width:100%; }
.c2c-nav__list{ list-style:none; margin:0; padding:0; display:none; }
.c2c-navtoggle:checked ~ .c2c-nav .c2c-nav__list{ display:block; }
.c2c-nav__item{ border-top:1px solid var(--line); }
.c2c-nav__link,.c2c-nav__sublink{
  display:flex; align-items:center; min-height:var(--tap);
  padding:.6rem .25rem; font-family:var(--font-display); font-size:1.0625rem;
  color:var(--purple-deep); text-decoration:none;
}
.c2c-nav__link.is-current,.c2c-nav__sublink.is-current{ border-bottom:3px solid var(--magenta); font-weight:700; }
.c2c-nav__link:hover,.c2c-nav__sublink:hover{ color:var(--purple); text-decoration:underline; }
.c2c-nav__sub{ list-style:none; margin:0 0 .4rem; padding:0 0 0 1rem; }
.c2c-nav__sublink{ font-size:1rem; color:var(--navy-body); }

@media (min-width: 62rem){
  .c2c-burger{ display:none; }
  .c2c-nav{ width:auto; margin-left:auto; }
  .c2c-nav__list{ display:flex; flex-wrap:wrap; gap:.15rem; align-items:center; }
  .c2c-nav__item{ border-top:0; position:relative; }
  .c2c-nav__link{ padding:.5rem .6rem; }
  .c2c-nav__sub{
    position:absolute; left:0; top:100%; min-width:15rem; padding:.35rem;
    background:var(--white); border:2px solid var(--purple); border-radius:10px;
    box-shadow:var(--shadow-lg); display:none; z-index:60;
  }
  .c2c-nav__item.has-children:hover .c2c-nav__sub,
  .c2c-nav__item.has-children:focus-within .c2c-nav__sub{ display:block; }
  .c2c-nav__sublink{ padding:.5rem .6rem; }
}

/* ---------- main ---------- */
.c2c-main{ display:block; padding-bottom:3rem; }
.c2c-main:focus{ outline:none; }

.c2c-section{ padding:2.25rem 0; }
.c2c-section--tint{ background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.8)); }

.c2c-card{
  background:var(--card); border-radius:var(--radius); padding:1.5rem;
  box-shadow:var(--shadow); border:1px solid var(--line);
}
.c2c-prose{ color:var(--ink); }
.c2c-prose h2{ color:var(--purple); margin-top:1.6em; }
.c2c-prose h3{ color:var(--purple-deep); }
.c2c-prose p,.c2c-prose li{ font-size:1rem; }
.c2c-prose ul,.c2c-prose ol{ padding-left:1.25rem; }
.c2c-prose > :first-child{ margin-top:0; }

/* ---------- buttons ---------- */
.c2c-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:48px; padding:.875rem 1.5rem; border-radius:999px;
  font-size:1rem; font-family:var(--font-display); text-decoration:none;
  background:var(--purple); color:var(--white); border:2px solid var(--purple);
  cursor:pointer;
}
.c2c-btn:hover{ background:var(--purple-deep); border-color:var(--purple-deep); color:var(--white); }
.c2c-btn--ghost{ background:var(--white); color:var(--purple-deep); border-color:var(--purple); }
.c2c-btn--ghost:hover{ background:var(--pink-tint); color:var(--purple-deep); }
.c2c-btn--navy{ background:var(--navy); border-color:var(--navy); color:var(--white); }
.c2c-btn--navy:hover{ background:var(--navy-head); border-color:var(--navy-head); }
.c2c-btnrow{ display:flex; flex-wrap:wrap; gap:.75rem; }

/* ---------- hero ---------- */
.c2c-hero{ background:var(--white); border-bottom:4px solid var(--magenta); }
.c2c-hero__grid{ display:grid; gap:1.5rem; padding:2rem 0; align-items:center; }
.c2c-hero__img{ border-radius:var(--radius); box-shadow:var(--shadow-lg); width:100%; }
.c2c-hero h1{ margin-bottom:.35em; }
.c2c-hero__sub{ font-size:1.125rem; color:var(--navy-body); }
@media (min-width: 54rem){
  .c2c-hero__grid{ grid-template-columns: 1.05fr 1fr; padding:3rem 0; }
}

/* ---------- grids ---------- */
.c2c-grid{ display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.c2c-grid--tight{ grid-template-columns:repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.c2c-grid--photos{ grid-template-columns:repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap:.75rem; }

.c2c-tile{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; }
.c2c-tile img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.c2c-tile__body{ padding:1.1rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.c2c-tile__body h3{ margin:0; }
.c2c-tile__body p{ margin:0; }
.c2c-tile__body .c2c-btn{ margin-top:auto; align-self:flex-start; }

/* ---------- date cards ---------- */
.c2c-date{ background:var(--card); border:1px solid var(--line); border-left:6px solid var(--magenta); border-radius:var(--radius); padding:1.1rem; box-shadow:var(--shadow); }
.c2c-date__when{ font-family:var(--font-display); font-size:1.125rem; color:var(--purple-deep); margin:0 0 .25rem; }
.c2c-date__where{ margin:0 0 .5rem; color:var(--ink); }
.c2c-date__meta{ font-size:.9375rem; color:var(--navy-body); margin:0 0 .6rem; }
.c2c-badge{ display:inline-block; padding:.25rem .6rem; border-radius:999px; font-size:.9375rem; background:var(--blue-pale); color:var(--navy); }
.c2c-badge--full{ background:#FBE3E3; color:#7A1020; }
.c2c-banner{ padding:1rem 1.1rem; border-radius:var(--radius); background:var(--blue-pale); color:var(--navy); border-left:6px solid var(--navy); }
.c2c-banner--warn{ background:#FFF3D6; color:#5A3E00; border-left-color:#9A6B00; }
.c2c-banner--ok{ background:#E3F6E8; color:#14532D; border-left-color:#14532D; }
.c2c-banner--err{ background:#FBE3E3; color:#7A1020; border-left-color:#7A1020; }

/* ---------- allergen chips ---------- */
.c2c-chips{ list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; padding:0; margin:1rem 0 0; }
.c2c-chips li{ background:var(--pink-tint); border:1px solid var(--magenta); color:var(--purple-deep); border-radius:999px; padding:.35rem .85rem; font-size:.9375rem; }

/* ---------- tables ---------- */
.c2c-tablewrap{ overflow-x:auto; }
table.c2c-table{ border-collapse:collapse; width:100%; background:var(--white); }
table.c2c-table th,table.c2c-table td{ border:1px solid var(--line); padding:.6rem .7rem; text-align:left; font-size:1rem; }
table.c2c-table th{ background:var(--blue-pale); color:var(--navy); font-family:var(--font-display); font-weight:400; }

/* ---------- forms ---------- */
.c2c-form{ display:grid; gap:1.1rem; }
.c2c-field{ display:grid; gap:.35rem; }
.c2c-field label,.c2c-legend{ font-size:1rem; color:var(--navy-head); font-weight:600; }
.c2c-field .c2c-hint{ font-size:.9375rem; color:var(--ink); }
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=password],select,textarea{
  font:inherit; font-size:1rem; color:var(--ink); background:var(--white);
  border:2px solid #C9AFC2; border-radius:10px; padding:.65rem .75rem; min-height:var(--tap); width:100%;
}
textarea{ min-height:8rem; }
input:focus,select:focus,textarea:focus{ border-color:var(--purple); }
fieldset{ border:2px solid var(--line); border-radius:var(--radius); padding:1rem; margin:0; }
legend{ font-family:var(--font-display); color:var(--purple-deep); padding:0 .4rem; font-size:1.125rem; }
.c2c-check{ display:flex; gap:.6rem; align-items:flex-start; min-height:var(--tap); }
.c2c-check input{ width:1.35rem; height:1.35rem; margin-top:.3rem; flex:0 0 auto; }
.c2c-err{ color:#7A1020; font-size:.9375rem; }
.c2c-total{ font-family:var(--font-display); font-size:1.375rem; color:var(--purple-deep); }
.c2c-hp{ position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.c2c-rowset{ display:grid; gap:.75rem; }
.c2c-row3{ display:grid; gap:.75rem; grid-template-columns:repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }

/* ---------- footer ---------- */
.c2c-footer{ background:rgba(255,255,255,.86); border-top:4px solid var(--magenta); padding:2rem 0 1rem; }
.c2c-footer__grid{ display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.c2c-footer__panel p{ color:var(--navy-body); }
.c2c-footer__h{ font-size:1.25rem; color:var(--navy-head); margin-bottom:.4em; }
.c2c-footer__list,.c2c-footer__social,.c2c-footer__legallinks{ list-style:none; margin:0; padding:0; }
.c2c-footer__list a,.c2c-footer__social a,.c2c-footer__legallinks a{ color:var(--navy-body); display:inline-flex; align-items:center; min-height:var(--tap); }
.c2c-footer__social{ display:flex; gap:1rem; margin-top:.5rem; }
.c2c-footer__legal{ display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; justify-content:space-between; align-items:center; border-top:1px solid var(--line); margin-top:1.5rem; padding-top:1rem; }
.c2c-footer__legal p{ color:var(--navy-body); font-size:.9375rem; margin:0; }
.c2c-footer__legallinks{ display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; }
.c2c-credit{ background:#0F2744; border-top:2px solid #C4A052; color:#FAFAFA; padding:.85rem 0; }
.c2c-credit p{ margin:0; font-size:.9375rem; text-align:center; }
.c2c-credit a{ color:#E8C98A; }

/* ---------- widget rail ---------- */
.c2c-rail{ position:fixed; inset:auto 0 0 0; pointer-events:none; z-index:120; }
.c2c-rail > *{ pointer-events:auto; }
.c2c-rail__btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  min-width:var(--tap); min-height:var(--tap); padding:.5rem .7rem;
  background:var(--purple); color:var(--white); border:2px solid var(--white);
  border-radius:999px; box-shadow:var(--shadow-lg); cursor:pointer; text-decoration:none;
  font-size:.9375rem;
}
.c2c-rail__btn:hover{ background:var(--purple-deep); color:var(--white); }
.c2c-rail__label{ display:none; }
@media (min-width: 40rem){ .c2c-rail__label{ display:inline; } }
.c2c-a11y{ position:fixed; left:.75rem; bottom:.75rem; }
.c2c-rail__right{ position:fixed; right:.75rem; bottom:.75rem; display:flex; flex-direction:column; gap:.6rem; align-items:flex-end; }
summary.c2c-rail__btn{ list-style:none; }
summary.c2c-rail__btn::-webkit-details-marker{ display:none; }
.c2c-a11y__panel,.c2c-translate__panel{
  position:absolute; bottom:calc(var(--tap) + 1rem); background:var(--white);
  border:2px solid var(--purple); border-radius:var(--radius); box-shadow:var(--shadow-lg);
  padding:1rem; width:min(17rem, calc(100vw - 1.5rem)); max-height:60vh; overflow:auto;
}
.c2c-a11y__panel{ left:0; }
.c2c-translate__panel{ right:0; }
.c2c-a11y__h{ font-size:1.125rem; margin:0 0 .6rem; color:var(--purple-deep); }
.c2c-a11y__panel button{
  display:block; width:100%; text-align:left; min-height:var(--tap); margin-bottom:.4rem;
  background:var(--white); border:2px solid var(--purple); color:var(--purple-deep);
  border-radius:10px; padding:.5rem .75rem; font:inherit; font-size:1rem; cursor:pointer;
}
.c2c-a11y__panel button:hover{ background:var(--pink-tint); }
.c2c-a11y__note{ font-size:.9375rem; color:var(--ink); margin:.5rem 0 0; }
.c2c-translate__panel ul{ list-style:none; margin:0; padding:0; }
.c2c-translate__panel a{ display:flex; align-items:center; min-height:var(--tap); color:var(--purple-deep); }

/* ---------- cookie consent ---------- */
.c2c-cookie{ position:fixed; left:0; right:0; bottom:0; z-index:130; background:var(--navy); color:var(--white); }
.c2c-cookie__in{ width:min(100% - 2rem, var(--wrap)); margin-inline:auto; padding:1rem 0; display:grid; gap:.75rem; }
.c2c-cookie p{ margin:0; font-size:.9375rem; }
.c2c-cookie__act{ display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.c2c-cookie__act button{
  min-height:var(--tap); padding:.55rem 1.25rem; border-radius:999px; cursor:pointer;
  background:var(--white); color:var(--navy); border:2px solid var(--white); font:inherit; font-size:1rem;
}
.c2c-cookie__act a{ color:#CFE3FF; min-height:var(--tap); display:inline-flex; align-items:center; }
@media (min-width: 48rem){ .c2c-cookie__in{ grid-template-columns:1fr auto; align-items:center; } }

/* ---------- accessibility helper classes, set by the widget ---------- */
html.c2c-bigger{ font-size:112.5%; }
html.c2c-bigger2{ font-size:125%; }
body.c2c-contrast{ --ink:#241F26; --navy-body:#1B2C45; --purple:#54007F; --purple-deep:#4A0070; }
body.c2c-underline a{ text-decoration:underline!important; }
body.c2c-spacing{ line-height:1.9; letter-spacing:.02em; }
body.c2c-spacing p,body.c2c-spacing li{ line-height:1.9; }

/* ---------- admin ---------- */
.c2c-admin{ background:#FFFFFF; }
.c2c-admin .c2c-main{ padding-bottom:5rem; }
.c2c-admin__bar{ background:var(--navy); color:var(--white); padding:.5rem 0; }
.c2c-admin__bar a{ color:#CFE3FF; }
.c2c-admin__bar .wrap{ display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:center; justify-content:space-between; }
.c2c-adminnav{ display:flex; flex-wrap:wrap; gap:.25rem .9rem; list-style:none; margin:0; padding:.5rem 0; }
.c2c-adminnav a{ display:inline-flex; align-items:center; min-height:var(--tap); color:var(--purple-deep); }
.c2c-tiles{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
.c2c-tile--stat{ padding:1.1rem; text-align:left; }
.c2c-tile--stat .n{ font-family:var(--font-display); font-size:2rem; color:var(--purple-deep); display:block; }

@media print{
  .c2c-rail,.c2c-cookie,.c2c-staging-flag,.c2c-burger{ display:none!important; }
}

/* ---------- tap targets: every standalone control reaches 44px ----------
   Measured in a real browser at 390 and 768, not assumed. Links that sit inline
   inside a sentence of prose stay inline: WCAG 2.2 SC 2.5.8 exempts those, and
   padding them would break the line box they live in. */
.c2c-credit p a,
.c2c-chips li a,
.c2c-filter a,
table.c2c-table td a,
table.c2c-table th a,
.c2c-tablewrap td a{
  display:inline-flex; align-items:center; min-height:44px; padding-block:.25rem;
}
.c2c-filter{ list-style:none; display:flex; flex-wrap:wrap; gap:.25rem .5rem; padding:0; margin:.25rem 0 1rem; }
.c2c-filter a{ padding-inline:.7rem; border:1px solid var(--line); border-radius:999px; background:var(--white); text-decoration:none; }
.c2c-filter a:hover{ background:var(--pink-tint); }
.c2c-filter a[aria-current="true"]{ border-color:var(--purple); font-weight:700; }
.c2c-chips li a{ padding-inline:.25rem; }
.c2c-check input[type=checkbox],.c2c-check input[type=radio]{ width:1.5rem; height:1.5rem; }
.c2c-hp input{ width:1px; height:1px; padding:0; border:0; min-height:0; }
input[type=file]{
  font:inherit; font-size:1rem; width:100%; min-height:44px; padding:.6rem .75rem;
  background:var(--white); color:var(--ink);
  border:2px dashed #C9AFC2; border-radius:10px; cursor:pointer;
}
input[type=file]::file-selector-button{
  font:inherit; font-size:1rem; min-height:32px; margin-right:.75rem; padding:.3rem .9rem;
  border-radius:999px; border:2px solid var(--purple); background:var(--white); color:var(--purple-deep); cursor:pointer;
}

/* The cookie banner is fixed to the bottom, so while it is visible the widget rail
   moves above it. Measured in a real browser: without this the accessibility button
   sits underneath the banner and cannot be reached. */
body.c2c-cookiebar .c2c-a11y,
body.c2c-cookiebar .c2c-rail__right{ bottom:calc(var(--cookiebar-h, 120px) + .75rem); }
.c2c-cookie p{ line-height:1.5; }
@media (max-width: 30rem){
  .c2c-cookie__in{ padding:.75rem 0; }
  .c2c-cookie p{ font-size:.875rem; }
}

/* 15px is the floor for small print. My own cookie-banner rule had briefly set 14px. */
@media (max-width: 30rem){ .c2c-cookie p{ font-size:.9375rem; } }

/* A list of links is navigation, not prose, so each one gets a real 44px row.
   A link sitting INSIDE a sentence stays inline: WCAG 2.2 SC 2.5.8 exempts those. */
.c2c-prose li > a:only-child,
.c2c-footer__list li > a:only-child{
  display:inline-flex; align-items:center; min-height:44px;
}

/* The skip link was parked at left:-9999px. That does not create horizontal scroll,
   but it does put a real element outside the viewport, which any honest overflow probe
   has to flag. Use the clip technique instead: nothing sits outside the page at all. */
.c2c-skip{
  position:absolute; left:0; top:0; z-index:200;
  width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}
.c2c-skip:focus{
  width:auto; height:auto; margin:0; overflow:visible;
  clip:auto; clip-path:none; white-space:normal;
  left:.5rem; top:.5rem; padding:.75rem 1rem;
  background:var(--white); color:var(--navy); font-weight:700;
}
.c2c-hp{
  position:absolute!important; left:0; top:0;
  width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); border:0;
}
