/* ==========================================================================
   Laosy Sweets — design system
   Palette is taken from the logo: blush #FAC8BF (primary), script green
   #A7C484 (accent), coral #D9635A / #C24E45 for actions, warm ink on cream.
   Every colour pair used as text/background is chosen to clear WCAG AA.
   ========================================================================== */

:root{
  --blush:        #FAC8BF;   /* logo circle — primary   */
  --blush-soft:   #FDEDE9;
  --blush-deep:   #F3B3A8;
  --coral:        #D9635A;
  --coral-deep:   #C24E45;   /* white text on this = 4.7:1 */
  --green:        #A7C484;   /* logo script — accent   */
  --green-soft:   #EDF3E3;
  --green-deep:   #6E8A4A;
  --green-dark:   #5A7340;   /* white text on this = 5.3:1 */
  --ink:          #3B3230;
  --ink-soft:     #6F625F;
  --cream:        #FFFBF7;
  --white:        #FFFFFF;
  --line:         #F1E1DB;
  --line-strong:  #E3CEC7;

  --radius:       18px;
  --radius-sm:    12px;
  --radius-pill:  999px;
  --shadow:       0 1px 2px rgba(59,50,48,.05), 0 10px 30px -18px rgba(59,50,48,.28);
  --shadow-lg:    0 2px 4px rgba(59,50,48,.06), 0 26px 60px -30px rgba(59,50,48,.35);
  --shell:        1120px;
  --font-display: "Georgia", "Iowan Old Style", "Palatino Linotype", serif;
  --font-body:    ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono:    ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

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

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:var(--coral-deep); text-underline-offset:2px; }
a:hover{ color:var(--ink); }
:focus-visible{ outline:3px solid var(--green-deep); outline-offset:2px; border-radius:4px; }

h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; line-height:1.18; margin:0 0 .5em; color:var(--ink); }
h1{ font-size:clamp(2rem,5vw,2.9rem); }
h2{ font-size:clamp(1.55rem,3.4vw,2.2rem); }
h3{ font-size:1.2rem; }
p{ margin:0 0 1.1em; }
.lede{ font-size:1.15rem; color:var(--ink-soft); max-width:62ch; }
.fine{ font-size:.875rem; color:var(--ink-soft); }
.body-p{ font-size:1.06rem; }
.mono{ font-family:var(--font-mono); font-size:.95em; letter-spacing:.02em; }
.center{ text-align:center; }
.center .lede{ margin-inline:auto; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.skip{ position:absolute; left:-999px; top:0; z-index:100; background:var(--ink); color:#fff; padding:.7rem 1.1rem; border-radius:0 0 var(--radius-sm) 0; }
.skip:focus{ left:0; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.shell{ width:min(100% - 2.2rem, var(--shell)); margin-inline:auto; }
.shell.narrow{ width:min(100% - 2.2rem, 740px); }

/* ---------------------------------------------------------------- buttons */
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  font:inherit; font-weight:600; font-size:.97rem; line-height:1;
  padding:.85rem 1.35rem; border-radius:var(--radius-pill);
  border:1.5px solid transparent; background:var(--white); color:var(--ink);
  text-decoration:none; cursor:pointer; transition:transform .12s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  box-shadow:var(--shadow);
}
.btn:hover{ transform:translateY(-1px); color:inherit; }
.btn:active{ transform:translateY(0); }
.btn-primary{ background:var(--coral-deep); color:#fff; }
.btn-primary:hover{ background:var(--coral); color:#fff; }
.btn-accent{ background:var(--green-dark); color:#fff; }
.btn-accent:hover{ background:var(--green-deep); color:#fff; }
.btn-ghost{ background:var(--white); color:var(--ink); border-color:var(--line-strong); }
.btn-ghost:hover{ background:var(--blush-soft); border-color:var(--blush-deep); }
.btn-ig{ background:var(--white); border-color:var(--line-strong); color:var(--ink); padding:.6rem 1rem; font-size:.9rem; }
.btn-ig:hover{ background:var(--blush-soft); }
.btn-lg{ padding:1.05rem 1.7rem; font-size:1.04rem; }
.link-more{ display:inline-flex; align-items:center; gap:.4rem; font-weight:600; text-decoration:none; }
.link-more:hover .ico{ transform:translateX(3px); }
.ico{ width:22px; height:22px; flex:none; transition:transform .15s ease; }
.ico-sm{ width:17px; height:17px; }
.ico-lg{ width:30px; height:30px; }

/* ----------------------------------------------------------------- topbar */
.topbar{
  position:sticky; top:0; z-index:40;
  background:rgba(255,251,247,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar-in{ display:flex; align-items:center; gap:1rem; padding:.65rem 0; }
.brand{ display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--ink); }
.brand img{ width:44px; height:44px; border-radius:50%; }
.brand-name{ font-family:var(--font-display); font-size:1.2rem; font-weight:600; }
.nav{ display:flex; gap:1.15rem; margin-left:auto; }
.nav a{ color:var(--ink-soft); text-decoration:none; font-size:.95rem; font-weight:600; padding:.25rem 0; border-bottom:2px solid transparent;
        display:inline-flex; align-items:center; min-height:48px; }
.nav a:hover, .nav a[aria-current]{ color:var(--ink); border-bottom-color:var(--blush-deep); }
.topbar .btn-ig{ min-height:44px; display:inline-flex; align-items:center; }
/* Anchor jumps must clear the sticky topbar, or #drop lands underneath it. */
html{ scroll-padding-top:6.5rem; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
@media (max-width:760px){
  .topbar-in{ flex-wrap:wrap; row-gap:.5rem; }
  .nav{ order:3; width:100%; margin-left:0; overflow-x:auto; padding-bottom:.2rem; }
  .brand-name{ font-size:1.05rem; }
  .hero-tag{ font-size:.86rem; }
}

/* ------------------------------------------------------------------- hero */
.hero{ padding:clamp(1.5rem,4vw,3rem) 0 0; }
.hero-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:clamp(1.6rem,4vw,3rem) clamp(1.2rem,4vw,3rem);
  text-align:center; position:relative; overflow:hidden;
}
.hero-card::before{
  content:""; position:absolute; inset:-40% -10% auto; height:60%;
  background:radial-gradient(ellipse at 50% 100%, var(--blush-soft), transparent 70%);
  pointer-events:none;
}
.hero-logo{ width:min(216px,54vw); margin:0 auto 1.15rem; border-radius:50%; position:relative; }
.hero h1{ margin-bottom:.15em; }
.hero-tag{ color:var(--green-dark); font-weight:700; letter-spacing:.02em; text-transform:uppercase; font-size:.82rem; margin-bottom:.9em; }
.hero-blurb{ max-width:56ch; margin:0 auto 1.4em; color:var(--ink-soft); position:relative; }
.hero-actions{ display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; position:relative; }
.hero-pills{ list-style:none; display:flex; flex-wrap:wrap; gap:.5rem 1.3rem; justify-content:center; padding:1.4rem 0 0; margin:1.4rem 0 0; border-top:1px dashed var(--line-strong); color:var(--ink-soft); font-size:.9rem; }
.hero-pills li{ display:flex; align-items:center; gap:.4rem; }

/* ---------------------------------------------------------------- section */
.section{ padding:clamp(2.4rem,6vw,4.4rem) 0; }
.section-alt{ background:var(--blush-soft); }
.section-head{ margin-bottom:2rem; max-width:62ch; }
.section-head.center{ margin-inline:auto; text-align:center; }
.eyebrow{ display:inline-flex; align-items:center; gap:.45rem; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--green-dark); margin:0 0 .5rem; }
.status{ display:inline-flex; align-items:center; gap:.45rem; border-radius:var(--radius-pill); padding:.35rem .85rem; font-size:.88rem; font-weight:700; }
.status-open{ background:var(--green-soft); color:var(--green-dark); }
.status-out,.status-closed{ background:var(--blush); color:#8A4A42; }

/* --------------------------------------------------------------- the drop */
.drop-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(1.5rem,4vw,3rem); align-items:start; }
@media (max-width:840px){ .drop-grid{ grid-template-columns:1fr; } }
.drop-shot{ margin:0; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.drop-shot img{ width:100%; display:block; aspect-ratio:1/1; object-fit:cover; }
/* Real photographs are 4:3; forcing them square would crop the kit. */
.drop-shot--photo img{ aspect-ratio:4/3; }
.drop-shot--photo img + img{ border-top:1px solid var(--line); }
.drop-shot figcaption{ padding:.6rem .9rem .75rem; font-size:.82rem; color:var(--ink-soft); border-top:1px solid var(--line); }
.drop-blurb{ font-size:1.08rem; }
.includes{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.2rem 1.3rem; margin-bottom:1.4rem; }
.includes h3{ margin-bottom:.6rem; font-size:1.05rem; }
.check-list{ list-style:none; margin:0; padding:0; display:grid; gap:.45rem; }
.check-list li{ display:flex; gap:.55rem; align-items:flex-start; color:var(--ink-soft); }
.check-list .ico{ color:var(--green-deep); margin-top:.15rem; }
.ingredients{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.2rem 1.3rem; margin-bottom:1.4rem; }
.ingredients h3{ margin-bottom:.6rem; font-size:1.05rem; }
.plain-list{ list-style:disc; margin:0; padding-left:1.15rem; display:grid; gap:.4rem; color:var(--ink-soft); font-size:.95rem; }
.instructions{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.2rem 1.3rem; margin-bottom:1.4rem; }
.instructions h3{ margin-bottom:.6rem; font-size:1.05rem; }
.steps-list{ list-style:decimal; margin:0; padding-left:1.25rem; display:grid; gap:.5rem; color:var(--ink-soft); font-size:.95rem; }
.steps-list li{ padding-left:.15rem; }
.instructions .fine{ margin:.75rem 0 0; padding-top:.7rem; border-top:1px solid var(--line); }
details.how-to{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:.85rem 1.1rem; margin-bottom:1.2rem; }
details.how-to summary{ cursor:pointer; font-weight:600; }
details.how-to[open] summary{ margin-bottom:.8rem; }
details.how-to .instructions{ border:0; padding:0; margin:0; }
.allergen-line{ margin:.9rem 0 0; padding-top:.85rem; border-top:1px solid var(--line); font-size:.92rem; line-height:1.55; color:var(--ink); }
.allergen-line strong{ color:var(--coral-deep); }
.facts{ margin:0 0 1.5rem; display:grid; gap:.15rem; }
.facts > div{ display:flex; gap:1rem; justify-content:space-between; align-items:baseline; padding:.7rem 0; border-bottom:1px solid var(--line); }
.facts > div:first-child{ border-top:1px solid var(--line); }
.facts dt{ display:flex; align-items:center; gap:.45rem; color:var(--ink-soft); font-size:.92rem; font-weight:600; margin:0; }
.facts dd{ margin:0; text-align:right; font-weight:600; }
.facts dd .sub{ display:block; font-weight:400; font-size:.85rem; color:var(--ink-soft); }
.pending{ font-weight:600; color:var(--green-dark); background:var(--green-soft); border-radius:var(--radius-pill); padding:.2rem .7rem; font-size:.9rem; }
.cta-row{ display:grid; gap:.6rem; justify-items:start; }
.notice{ background:var(--blush); border-radius:var(--radius-sm); padding:.9rem 1.1rem; font-weight:600; }
.notice + .btn{ margin-top:.3rem; }

/* ------------------------------------------------------------------ steps */
.steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; counter-reset:s; }
@media (max-width:760px){ .steps{ grid-template-columns:1fr; } }
.steps li{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem 1.4rem; box-shadow:var(--shadow); }
.step-n{ display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:50%; background:var(--blush); color:var(--ink); font-weight:700; font-family:var(--font-display); font-size:1.15rem; margin-bottom:.8rem; }
.steps h3{ margin-bottom:.3rem; }
.steps p{ margin:0; color:var(--ink-soft); font-size:.97rem; }

/* ------------------------------------------------------------------ about */
.about-grid{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(1.5rem,4vw,3rem); align-items:center; }
@media (max-width:840px){ .about-grid{ grid-template-columns:1fr; } }
.about-art img{ width:100%; max-width:320px; margin-inline:auto; border-radius:50%; }
.cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
@media (max-width:760px){ .cards{ grid-template-columns:1fr; } }
.card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem 1.4rem; box-shadow:var(--shadow); }
.card h3{ display:flex; align-items:center; gap:.5rem; font-size:1.08rem; }
.card p{ margin:0; color:var(--ink-soft); font-size:.97rem; }
.pill-list{ list-style:none; display:grid; gap:.55rem; padding:1.6rem 0 0; margin:1.6rem 0 0; border-top:1px dashed var(--line-strong); }
.pill-list li{ display:flex; align-items:center; gap:.6rem; }

/* -------------------------------------------------------------- instagram */
.ig-block{ background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.ig-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; flex-wrap:wrap; margin-bottom:1.6rem; }
.ig-head .lede{ margin-bottom:0; }
.ig-grid{ list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; padding:0; margin:0 0 .7rem; }
@media (max-width:720px){ .ig-grid{ grid-template-columns:repeat(2,1fr); } }
.ig-grid a{ display:block; border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow); }
.ig-grid img{ aspect-ratio:1/1; object-fit:cover; transition:transform .3s ease; }
.ig-grid a:hover img{ transform:scale(1.04); }

/* -------------------------------------------------------------------- faq */
.faq{ display:grid; gap:.7rem; }
.faq details{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow); overflow:hidden; }
.faq summary{ cursor:pointer; padding:1.05rem 1.2rem; font-weight:600; font-family:var(--font-display); font-size:1.06rem; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-family:var(--font-body); font-weight:700; color:var(--coral-deep); font-size:1.3rem; line-height:1; flex:none; }
.faq details[open] summary::after{ content:"–"; }
.faq details p{ margin:0; padding:0 1.2rem 1.2rem; color:var(--ink-soft); }

/* -------------------------------------------------------------- subscribe */
.subscribe{ margin:clamp(2rem,5vw,3.4rem) 0; }
.subscribe-in{
  background:var(--blush); border-radius:var(--radius); padding:clamp(1.5rem,4vw,2.4rem);
  display:grid; grid-template-columns:auto minmax(0,1fr) minmax(0,340px); gap:1.4rem; align-items:center;
}
@media (max-width:900px){ .subscribe-in{ grid-template-columns:1fr; text-align:center; } .subscribe-ico{ justify-self:center; } }
.subscribe-ico{ display:grid; place-items:center; width:3.4rem; height:3.4rem; border-radius:50%; background:var(--white); color:var(--coral-deep); }
.subscribe-copy h2{ margin-bottom:.25rem; }
.subscribe-copy p{ margin:0; color:#6B4038; font-size:.97rem; }
.subscribe-row{ display:flex; gap:.5rem; }
.subscribe-row input{ flex:1; min-width:0; }
.subscribe .fine{ margin:.55rem 0 0; color:#6B4038; }
.form-note{ margin:.6rem 0 0; font-weight:600; font-size:.92rem; }
.form-note.ok{ color:var(--green-dark); background:var(--white); border-radius:var(--radius-sm); padding:.5rem .75rem; display:inline-block; }
.form-note.err{ color:var(--coral-deep); }

/* ------------------------------------------------------------------ forms */
.form{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:clamp(1.2rem,3.5vw,2rem); }
.form fieldset{ border:0; padding:0; margin:0 0 1.6rem; }
.form legend{ font-family:var(--font-display); font-size:1.15rem; font-weight:600; padding:0; margin-bottom:.9rem; }
.field{ margin-bottom:1rem; }
.field label{ display:block; font-weight:600; font-size:.95rem; margin-bottom:.35rem; }
.field .req{ color:var(--coral-deep); font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; margin-left:.3rem; }
.field .opt{ color:var(--ink-soft); font-weight:400; font-size:.82rem; margin-left:.3rem; }
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  width:100%; font:inherit; color:var(--ink); background:var(--cream);
  border:1.5px solid var(--line-strong); border-radius:var(--radius-sm); padding:.8rem .9rem;
}
textarea{ resize:vertical; }
input:focus,select:focus,textarea:focus{ background:var(--white); border-color:var(--green-deep); outline:3px solid rgba(110,138,74,.22); outline-offset:0; }
.hint{ margin:.35rem 0 0; font-size:.84rem; color:var(--ink-soft); }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:640px){ .field-row{ grid-template-columns:1fr; gap:0; } }
.check{ display:flex; gap:.7rem; align-items:flex-start; margin-bottom:.8rem; font-size:.95rem; color:var(--ink-soft); }
.check input{ width:1.2rem; height:1.2rem; margin-top:.2rem; flex:none; accent-color:var(--green-deep); }
.form-actions{ display:grid; gap:.6rem; justify-items:start; }
.form-summary{ display:flex; gap:1rem; align-items:center; background:var(--blush-soft); border-radius:var(--radius-sm); padding:.9rem 1rem; margin-bottom:1.6rem; }
.form-summary img{ width:74px; height:74px; border-radius:var(--radius-sm); object-fit:cover; flex:none; }
/* Multiple kit photos stack in the summary so every shot stays visible. */
.form-summary-shots{ display:flex; flex-direction:column; gap:.35rem; flex:none; }
.form-summary-name{ font-weight:700; margin:0; font-family:var(--font-display); font-size:1.05rem; }
.form-summary .fine{ margin:.2rem 0 0; }
.alert{ background:#FDECEA; border:1.5px solid var(--coral); border-radius:var(--radius-sm); padding:1rem 1.2rem; margin-bottom:1.5rem; }
.alert.ok{ background:var(--green-soft); border-color:var(--green-deep); color:var(--green-dark); }
.alert ul{ margin:0; padding-left:1.1rem; }
.alert p{ margin:0; }
.crumbs{ font-size:.88rem; color:var(--ink-soft); margin-bottom:1rem; }
.crumbs a{ color:var(--ink-soft); }
.crumbs span{ margin:0 .35rem; }
.h1-sm{ font-size:clamp(1.7rem,4vw,2.3rem); }

/* -------------------------------------------------------------- confirm */
.confirm{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-lg); padding:clamp(1.5rem,4vw,2.6rem); text-align:center; }
.confirm-badge{ display:grid; place-items:center; width:3.6rem; height:3.6rem; border-radius:50%; background:var(--green-soft); color:var(--green-dark); margin:0 auto 1rem; }
.confirm .lede{ margin-inline:auto; }
.confirm-facts{ display:grid; gap:0; text-align:left; margin:1.6rem 0; }
.confirm-facts > div{ display:flex; justify-content:space-between; gap:1rem; align-items:baseline; padding:.75rem 0; border-bottom:1px solid var(--line); }
.confirm-facts > div:first-child{ border-top:1px solid var(--line); }
.confirm-facts dt{ color:var(--ink-soft); font-size:.9rem; font-weight:600; margin:0; }
.confirm-facts dd{ margin:0; text-align:right; font-weight:600; max-width:62%; }
.confirm-facts dd .sub{ display:block; font-weight:400; font-size:.85rem; color:var(--ink-soft); }
.pay,.confirm-next{ text-align:left; background:var(--blush-soft); border-radius:var(--radius-sm); padding:1.2rem 1.3rem; margin:1.4rem 0; }
.pay h2,.confirm-next h2{ font-size:1.1rem; margin-bottom:.5rem; }
.pay ul,.confirm-next ol{ margin:0 0 .5rem; padding-left:1.15rem; }
.pay .fine{ margin:0; }
.confirm-actions{ display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; margin:1.6rem 0 0; }
.notfound-mark{ width:120px; height:120px; margin:0 auto 1rem; border-radius:50%; }

/* --------------------------------------------------------------- content */
.callout{ background:var(--blush-soft); border-left:5px solid var(--blush-deep); border-radius:var(--radius-sm); padding:1.1rem 1.3rem; margin:0 0 1.8rem; }
.callout p{ margin:0; }
.body-list{ padding-left:1.15rem; }
.body-list li{ margin-bottom:.5rem; }
.table-wrap{ overflow-x:auto; margin:0 0 1.5rem; }
table{ width:100%; border-collapse:collapse; font-size:.94rem; background:var(--white); border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow); }
th,td{ text-align:left; padding:.7rem .85rem; border-bottom:1px solid var(--line); vertical-align:top; }
th{ background:var(--blush-soft); font-size:.85rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); }
tr:last-child td{ border-bottom:0; }
.contact-aside,.contact-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.2rem 1.3rem; box-shadow:var(--shadow); margin-top:1.6rem; }
.contact-aside h2{ font-size:1.1rem; }
.contact-aside p:last-child{ margin-bottom:0; }
.contact-aside .btn{ margin-right:.4rem; }
.contact-card{ margin-top:0; }

/* ---------------------------------------------------------------- footer */
.footer{ background:var(--ink); color:#EFE6E3; margin-top:clamp(2rem,5vw,3.5rem); padding:clamp(2rem,5vw,3rem) 0 1.4rem; }
.footer a{ color:#F3C9C1; text-decoration:none; }
.footer a:hover{ color:#fff; text-decoration:underline; }
.footer-in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:2rem; }
@media (max-width:760px){ .footer-in{ grid-template-columns:1fr; } }
.footer-brand{ display:flex; gap:.9rem; align-items:center; }
.footer-brand img{ width:52px; height:52px; border-radius:50%; }
.footer-name{ font-family:var(--font-display); font-size:1.25rem; margin:0; color:#fff; }
.footer-meta{ margin:.15rem 0 0; font-size:.88rem; color:#C9BAB6; }
.footer-cols{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.footer-h{ font-family:var(--font-body); font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; color:#C9BAB6; margin-bottom:.6rem; }
.footer-social,.footer-links{ list-style:none; margin:0; padding:0; display:grid; gap:.4rem; font-size:.93rem; }
.footer-social a{ display:flex; align-items:center; gap:.5rem; }
.footer-fine{ margin-top:2rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.14); }
.homeline{ display:flex; align-items:center; gap:.5rem; font-weight:600; color:#F3C9C1; margin:0 0 .5rem; }
.footnote{ font-size:.85rem; color:#C9BAB6; margin:0; }
