/* The Orla Tuckwell Foundation – preview styles
   Brand colours taken from the TOTF logo SVGs (OneDrive: TOTF Media/Logos):
   hot pink #ea5390, blush #f8c7d8. Fonts match the logo: Courgette + Comfortaa. */
:root{
  --pink:#ea5390;
  --pink-dark:#c23a74;      /* darker shade for text/links on light backgrounds (AA contrast) */
  --blush:#f8c7d8;
  --blush-soft:#fdeef3;
  --cream:#fffafb;
  --ink:#4a3540;
  --ink-soft:#6e5763;
  --radius:22px;
  --shadow:0 10px 30px rgba(234,83,144,.12);
  --script:'Courgette', 'Great Vibes', cursive;
  --body:'Comfortaa', 'Quicksand', system-ui, sans-serif;
  --caps:'Montserrat', 'Comfortaa', system-ui, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--blush-soft);line-height:1.75;font-size:17px}
img{max-width:100%;display:block}
a{color:var(--pink-dark)}
a:hover{color:var(--pink)}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}

/* Preview banner */
.preview-banner{background:var(--ink);color:#fff;text-align:center;font-family:var(--caps);font-size:.78rem;letter-spacing:.08em;padding:.55rem 1rem}
.preview-banner strong{color:var(--blush)}

/* Placeholder marker */
.ph{display:inline-block;background:#fff6c7;color:#6b5300;border:1.5px dashed #d4ad00;border-radius:8px;padding:.05rem .45rem;font-family:var(--caps);font-size:.72rem;font-weight:600;letter-spacing:.03em;line-height:1.6;vertical-align:middle}
.ph-block{background:#fffbe6;border:2px dashed #d4ad00;border-radius:14px;padding:.9rem 1.1rem;color:#5e4a00;font-size:.92rem}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,251,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--blush)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.brand img{height:52px;width:auto}
.nav-links{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.nav-links a{font-family:var(--caps);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:600;text-decoration:none;color:var(--ink)}
.nav-links a:hover{color:var(--pink)}
.nav-toggle{display:none;background:none;border:2px solid var(--blush);border-radius:12px;padding:.45rem .7rem;font-family:var(--caps);font-size:.75rem;letter-spacing:.12em;color:var(--ink);cursor:pointer}

/* Hero */
.hero{text-align:center;padding:4.5rem 0 4rem;background:
  radial-gradient(circle at 15% 20%,rgba(248,199,216,.7),transparent 40%),
  radial-gradient(circle at 85% 70%,rgba(248,199,216,.6),transparent 45%),var(--cream)}
.hero-logo{width:min(340px,75vw);margin:0 auto 1.2rem}
.hero .lead{font-family:var(--caps);text-transform:uppercase;letter-spacing:.22em;font-size:.85rem;color:var(--pink-dark);margin:0 0 1rem}
.hero p.intro{max-width:640px;margin:0 auto 2rem;font-size:1.05rem;color:var(--ink-soft)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.hero-photo{margin:0;justify-self:center}
.hero-photo img{display:block;width:min(400px,100%);height:auto;border-radius:28px;border:10px solid #fff;box-shadow:0 18px 40px rgba(234,83,144,.22);transform:rotate(2deg)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:2rem}.hero-photo img{width:min(320px,80vw)}}
.btns{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;font-family:var(--caps);text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:.78rem;text-decoration:none;padding:.95rem 1.6rem;border-radius:999px;border:2px solid var(--pink);transition:transform .15s ease, background .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--pink-dark);border-color:var(--pink-dark);color:#fff}
.btn-primary:hover{background:var(--pink);color:#fff}
.btn-ghost{background:#fff;color:var(--pink-dark)}

/* Sections */
section{padding:4.5rem 0}
section.alt{background:var(--cream)}
.eyebrow{font-family:var(--caps);text-transform:uppercase;letter-spacing:.24em;font-size:.78rem;font-weight:600;color:var(--pink-dark);text-align:center;margin:0}
h2{font-family:var(--script);font-weight:400;color:var(--pink);font-size:clamp(2.3rem,5vw,3.3rem);text-align:center;margin:.2rem 0 .4rem;line-height:1.2}
h3{font-family:var(--caps);text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;color:var(--ink);margin:0 0 .6rem}
.heart-divider{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:.6rem auto 2.4rem;color:var(--pink)}
.heart-divider::before,.heart-divider::after{content:"";height:1.5px;width:min(110px,22vw);background:linear-gradient(90deg,transparent,var(--pink))}
.heart-divider::after{background:linear-gradient(270deg,transparent,var(--pink))}
.heart-divider svg{width:18px;height:18px}
.narrow{max-width:760px;margin:0 auto}

/* Story */
.story-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:2.5rem;align-items:start}
.story-photo{margin:0;position:sticky;top:110px}
.story-photo img{display:block;width:100%;height:auto;border-radius:28px;border:10px solid #fff;box-shadow:0 18px 40px rgba(234,83,144,.22);transform:rotate(-2deg)}
.photo-ph{aspect-ratio:4/5;border-radius:var(--radius);border:2.5px dashed var(--pink);background:repeating-linear-gradient(45deg,#fff,#fff 12px,var(--blush-soft) 12px,var(--blush-soft) 24px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.2rem;color:var(--pink-dark);font-family:var(--caps);font-size:.8rem;letter-spacing:.06em;gap:.6rem}
.photo-ph svg{width:42px;height:42px;opacity:.75}
blockquote{margin:1.8rem 0;padding:1.3rem 1.6rem;background:#fff;border-left:4px solid var(--pink);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow);font-size:1.05rem}
blockquote cite{display:block;margin-top:.6rem;font-style:normal;font-family:var(--caps);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.memories{list-style:none;padding:0;margin:1rem 0}
.memories li{position:relative;padding-left:1.8rem;margin:.5rem 0}
.memories li::before{content:"♥";position:absolute;left:0;color:var(--pink)}
.links-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.source-note{font-size:.8rem;color:var(--ink-soft);margin-top:1.4rem}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem}
.card{background:#fff;border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow);border:1px solid var(--blush)}
.date{margin:0;font-family:var(--caps);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-dark);font-weight:600}
.card p{margin:.4rem 0 0;font-size:.95rem}

/* Featured event */
.featured{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;background:#fff;border-radius:calc(var(--radius) + 6px);padding:2rem;box-shadow:var(--shadow);margin-bottom:2.6rem;border:1px solid var(--blush)}
.featured .main-photo{border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4}
.featured .main-photo img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.2rem}
.thumbs img{border-radius:14px;aspect-ratio:4/3;object-fit:cover;width:100%}
.facts{list-style:none;padding:0;margin:1rem 0}
.facts li{display:grid;grid-template-columns:6.5rem 1fr;gap:.5rem;padding:.4rem 0;border-bottom:1px dashed var(--blush)}
.facts strong{font-family:var(--caps);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-dark);padding-top:.2rem}
.goal{background:var(--pink-dark);color:#fff;border-radius:var(--radius);padding:2rem;text-align:center;margin:0 auto 2.6rem;max-width:860px}
.progress{position:relative;height:22px;max-width:560px;margin:1.4rem auto .6rem;background:rgba(255,255,255,.25);border-radius:999px;overflow:visible;box-shadow:inset 0 1px 3px rgba(0,0,0,.12)}
.progress-fill{position:relative;height:100%;width:var(--pct);background:linear-gradient(90deg,#f8c7d8,#fff);border-radius:999px;animation:fillbar 1.8s ease-out both}
.progress-heart{position:absolute;right:-14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:#fff;color:#ea5390;display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.progress-labels{display:flex;justify-content:space-between;gap:1rem;max-width:560px;margin:0 auto;font-size:.95rem;flex-wrap:wrap}
@keyframes fillbar{from{width:0}to{width:var(--pct)}}
@media (prefers-reduced-motion:reduce){.progress-fill{animation:none}}
.goal .big{font-family:var(--script);font-size:clamp(2.4rem,6vw,3.4rem);line-height:1.1;display:block}
.goal p{margin:.5rem 0 0}
.goal a{color:#fff}
.goal .ph{margin-top:.5rem}
figure{margin:0}
figcaption{font-size:.78rem;color:var(--ink-soft);margin-top:.4rem}

/* Donate */
.donate-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:1.6rem}
.donate-main{align-self:start;background:#fff;border:2px solid var(--pink);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.donate-side{display:flex;flex-direction:column;gap:1.4rem}
.steps{padding-left:1.2rem;margin:.6rem 0 0;font-size:.93rem}
.steps li{margin:.3rem 0}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.tile{aspect-ratio:1;border-radius:18px;border:2px dashed var(--pink);background:repeating-linear-gradient(45deg,#fff,#fff 10px,var(--blush-soft) 10px,var(--blush-soft) 20px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.8rem;font-family:var(--caps);font-size:.72rem;letter-spacing:.06em;color:var(--pink-dark);gap:.4rem}
.tile svg{width:30px;height:30px;opacity:.7}

/* Contact */
.contact-box{max-width:640px;margin:0 auto;text-align:center;background:#fff;border-radius:var(--radius);padding:2.2rem;box-shadow:var(--shadow);border:1px solid var(--blush)}
.contact-box .email{font-size:1.15rem;font-weight:700;word-break:break-all}

/* Footer */
footer{background:var(--ink);color:#f6e7ee;text-align:center;padding:3rem 1rem 2rem;font-size:.88rem}
footer img{height:110px;margin:0 auto 1rem;filter:brightness(0) invert(1);opacity:.92}
footer a{color:var(--blush)}
footer .small{opacity:.75;font-size:.75rem;margin-top:1rem}

/* Responsive */
@media (max-width:900px){
  .story-grid,.featured,.donate-grid{grid-template-columns:1fr}
  .story-photo{position:static;max-width:320px;margin:0 auto;width:100%}
  .story-grid .photo-ph{max-width:340px;margin:0 auto;width:100%;aspect-ratio:4/3}
  .gallery{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .nav-toggle{display:block}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--cream);border-bottom:1px solid var(--blush);padding:.4rem 1.25rem 1rem}
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:.75rem 0;border-bottom:1px solid var(--blush-soft)}
  .brand img{height:44px}
  section{padding:3.4rem 0}
  .hero{padding:3rem 0}
  .featured{padding:1.2rem}
  .gallery{grid-template-columns:repeat(2,1fr)}
  body{font-size:16px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Raised in Orla's memory (fundraising summary) */
.raised{max-width:860px;margin:2.8rem auto 0;background:#fff;border:1px solid var(--blush);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow);padding:2rem 2rem 1.4rem}
.raised-title{font-family:var(--script);font-weight:400;text-transform:none;letter-spacing:0;color:var(--pink);font-size:clamp(1.8rem,4vw,2.4rem);text-align:center;margin:0 0 .3rem;line-height:1.2}
.raised-intro{text-align:center;color:var(--ink-soft);font-size:.92rem;margin:0 0 1.4rem}
.raised-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}
.raised-row{display:flex;gap:.9rem;align-items:flex-start;background:var(--cream);border:1px solid var(--blush-soft);border-radius:16px;padding:.85rem 1rem}
.raised-rank{flex:0 0 1.9rem;height:1.9rem;border-radius:50%;background:var(--blush);color:var(--pink-dark);font-family:var(--caps);font-weight:700;font-size:.78rem;display:flex;align-items:center;justify-content:center;margin-top:.05rem}
.raised-main{flex:1;min-width:0}
.raised-head{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem}
.raised-name{font-weight:700;font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}
.raised-name a,.raised-sub a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--blush)}
.raised-name a:hover,.raised-sub a:hover{color:var(--pink-dark);border-bottom-color:var(--pink)}
.raised-by{display:block;font-weight:400;font-size:.8rem;color:var(--ink-soft);margin-top:.1rem}
.raised-sub .raised-by{display:inline;margin:0}
.raised-sub .raised-by::before{content:"· "}
.raised-total{flex:0 0 auto;font-family:var(--caps);font-weight:700;color:var(--pink-dark);font-size:1rem;white-space:nowrap}
.raised-bar{height:7px;background:var(--blush-soft);border-radius:999px;margin-top:.55rem;overflow:hidden}
.raised-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--blush));border-radius:999px}
.raised-sub{list-style:none;padding:0;margin:.6rem 0 0;font-size:.85rem}
.raised-sub li{display:flex;justify-content:space-between;gap:.8rem;padding:.32rem 0;border-top:1px dashed var(--blush)}
.raised-sub li>span:first-child{min-width:0;overflow-wrap:anywhere}
.raised-amt{white-space:nowrap;font-weight:700;color:var(--ink-soft)}
.raised-more{margin-top:.9rem}
.raised-more>summary{cursor:pointer;list-style:none;text-align:center;font-family:var(--caps);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--pink-dark);padding:.7rem 1rem;border:1.5px solid var(--pink);border-radius:999px;max-width:280px;margin:0 auto}
.raised-more>summary::-webkit-details-marker{display:none}
.raised-more>summary::after{content:" ▾"}
.raised-more[open]>summary::after{content:" ▴"}
.raised-more[open]>summary{margin-bottom:.9rem}
.raised-note{font-size:.78rem;color:var(--ink-soft);text-align:center;margin:1.2rem 0 0}
@media (max-width:760px){
  .raised{padding:1.3rem 1rem 1.1rem}
  .raised-row{padding:.75rem .8rem;gap:.65rem}
  .raised-rank{flex-basis:1.6rem;height:1.6rem;font-size:.7rem}
  .raised-name{font-size:.9rem}
  .raised-total{font-size:.92rem}
  .raised-sub .raised-by{display:block;margin-top:.1rem}
  .raised-sub .raised-by::before{content:none}
}

/* 2026 events cards */
.events-2026 .card{position:relative;padding-bottom:5rem}
.raised-pill{position:absolute;left:1.5rem;bottom:1.3rem;margin:0;background:#ea5390;color:#fff;font-family:var(--caps);font-weight:700;letter-spacing:.06em;font-size:.95rem;padding:.45rem 1rem;border-radius:999px;box-shadow:0 4px 12px rgba(234,83,144,.28)}
.gosh-badge{position:absolute;right:.9rem;bottom:.8rem;width:120px;height:auto;opacity:.95}

/* Fundraise for Orla section */
.fundraise{background:radial-gradient(circle at 10% 8%,rgba(248,199,216,.55),transparent 38%),radial-gradient(circle at 92% 60%,rgba(248,199,216,.45),transparent 42%),var(--cream)}
.fundraise h4{font-family:var(--caps);text-transform:uppercase;letter-spacing:.12em;font-size:.88rem;color:var(--ink);margin:0 0 .4rem}
.fr-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:2.4rem;align-items:center;margin-bottom:3.2rem}
.fr-intro-text p{margin:0 0 1rem}
.fr-lead{font-size:1.2rem;font-weight:700;color:var(--ink);line-height:1.6}
.fr-goal{background:var(--pink-dark);color:#fff;border-radius:calc(var(--radius) + 6px);padding:2rem 1.8rem;text-align:center;box-shadow:0 18px 40px rgba(194,58,116,.25)}
.fr-goal p{margin:0}
.fr-goal-label{font-family:var(--caps);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600;opacity:.9}
.fr-goal-big{display:block;font-family:var(--script);font-size:clamp(2.4rem,5vw,3.2rem);line-height:1.15}
.fr-goal-sub{font-size:.9rem;opacity:.92}
.fr-goal .progress{margin:1.3rem 14px .6rem}
.fr-goal .progress-labels{font-size:.9rem}
.fr-goal-cta{margin-top:1rem!important;font-size:.92rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.3)}
.fr-subhead{text-align:center;margin:0 0 1.4rem}
.fr-ideas{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:3.2rem}
.fr-idea{background:#fff;border:1px solid var(--blush);border-radius:var(--radius);padding:1.6rem 1.4rem;box-shadow:var(--shadow);text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.fr-idea:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(234,83,144,.18)}
.fr-idea p{margin:0;font-size:.92rem;color:var(--ink-soft);line-height:1.65}
.fr-icon{display:flex;align-items:center;justify-content:center;width:62px;height:62px;margin:0 auto 1rem;border-radius:50%;background:var(--blush-soft);border:2px solid var(--blush);color:var(--pink)}
.fr-icon svg{width:30px;height:30px}
.fr-steps{list-style:none;padding:0;margin:0 0 3.2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;counter-reset:none;position:relative}
.fr-steps li{display:flex;gap:1rem;align-items:flex-start;background:#fff;border-radius:var(--radius);padding:1.5rem 1.4rem;border:1px solid var(--blush);box-shadow:var(--shadow)}
.fr-steps p{margin:0;font-size:.92rem;color:var(--ink-soft);line-height:1.65}
.fr-num{flex:0 0 46px;height:46px;border-radius:50%;background:var(--pink);color:#fff;font-family:var(--script);font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(234,83,144,.3)}
.fr-proof{max-width:900px;margin:0 auto 2.6rem;text-align:center;background:#fff;border:2px dashed var(--blush);border-radius:calc(var(--radius) + 6px);padding:2rem 1.8rem}
.fr-proof-title{font-family:var(--script);font-weight:400;text-transform:none;letter-spacing:0;color:var(--pink);font-size:clamp(1.6rem,3.6vw,2.1rem);line-height:1.25;margin:0 0 .5rem}
.fr-proof>p{margin:0 auto;max-width:640px}
.fr-names{list-style:none;padding:0;margin:1.2rem 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.fr-names li{background:var(--blush-soft);border:1px solid var(--blush);border-radius:999px;padding:.45rem 1rem;font-weight:700;font-size:.88rem;line-height:1.4}
.fr-names li span{display:block;font-weight:400;font-size:.74rem;color:var(--pink-dark)}
.fr-proof-link a{font-family:var(--caps);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:600}
.fr-cta{text-align:center;background:linear-gradient(135deg,var(--blush) 0%,#fbdbe6 100%);border-radius:calc(var(--radius) + 6px);padding:2.4rem 1.6rem}
.fr-cta-title{font-family:var(--script);color:var(--pink-dark);font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.25;margin:0 0 1.2rem}
.btn-lg{font-size:.88rem;padding:1.15rem 2.2rem;box-shadow:0 8px 20px rgba(194,58,116,.2)}
.fr-cta-note{margin:1.2rem auto 0;max-width:520px;font-size:.92rem;color:var(--ink)}
@media (max-width:980px){.fr-ideas{grid-template-columns:repeat(2,1fr)}.fr-steps{grid-template-columns:1fr}}
@media (max-width:860px){.fr-intro{grid-template-columns:1fr;gap:1.6rem}.fr-goal{max-width:480px;width:100%;margin:0 auto}}
@media (max-width:560px){.fr-ideas{grid-template-columns:1fr}.fr-proof{padding:1.5rem 1rem}.fr-cta{padding:2rem 1rem}.fr-cta .btn{width:100%;text-align:center}.fr-lead{font-size:1.08rem}}
@media (prefers-reduced-motion:reduce){.fr-idea{transition:none}}
.fundraise{border-top:1px solid var(--blush);border-bottom:1px solid var(--blush)}
.fr-idea h4{letter-spacing:.08em}
@media (max-width:560px){.fr-cta .btn-lg{letter-spacing:.08em;padding:1rem 1.2rem;font-size:.82rem}}
@media (max-width:1000px) and (min-width:761px){.nav-links{gap:.85rem}.nav-links a{letter-spacing:.07em;font-size:.66rem;white-space:nowrap}.brand img{height:44px}}
.fr-options{list-style:none;padding:0;margin:.7rem 0 .9rem;display:flex;flex-direction:column;gap:.5rem}
.fr-options li{background:var(--blush-soft);border:1px solid var(--blush);border-radius:14px;padding:.5rem .8rem;font-size:.85rem;line-height:1.4;color:var(--ink)}
.fr-options strong{display:block;color:var(--pink-dark)}
.fr-options span{display:block;font-size:.78rem;color:var(--ink-soft)}
.fr-mini-btn{display:inline-block;font-family:var(--caps);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600;text-decoration:none;color:#fff;background:var(--pink);border-radius:999px;padding:.55rem 1rem;box-shadow:0 4px 10px rgba(234,83,144,.25)}
.fr-mini-btn:hover{background:var(--pink-dark);color:#fff}
.fr-steps li>div{min-width:0}
.fr-cta-hint{margin:1rem 0 0;font-size:.95rem;color:var(--ink)}
.fr-cta-hint+.fr-cta-note{margin-top:.5rem}
.fr-steps .fr-options li{display:block;background:var(--blush-soft);box-shadow:none;border-radius:14px;padding:.5rem .8rem;gap:0}
.fr-steps{grid-template-columns:1fr 1.35fr 1fr}
@media (max-width:980px){.fr-steps{grid-template-columns:1fr}}
.fr-mini-btn{white-space:nowrap}

/* Spotlight: latest challenge (5 Challenges for 1 Angel) */
.spotlight{background:#fff;border:1px solid var(--blush);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow);padding:2.2rem;margin-bottom:2.6rem}
.spot-top{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.spot-label{display:inline-block;margin:0 0 .5rem;background:var(--blush-soft);border:1px solid var(--blush);color:var(--pink-dark);font-family:var(--caps);text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:600;padding:.3rem .8rem;border-radius:999px}
.spot-title{font-family:var(--script);font-weight:400;text-transform:none;letter-spacing:0;color:var(--pink);font-size:clamp(2rem,4.4vw,2.8rem);line-height:1.15;margin:0 0 .8rem}
.spot-text p:not(.spot-label){margin:0 0 .9rem}
.spot-photos{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.spot-photo{position:relative;aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:linear-gradient(150deg,var(--blush) 0%,var(--blush-soft) 55%,#fbd9e5 100%);border:6px solid #fff;box-shadow:0 10px 24px rgba(234,83,144,.18)}
.spot-photo:nth-child(1){transform:rotate(-2deg)}
.spot-photo:nth-child(2){transform:rotate(2deg);margin-top:1.4rem}
.spot-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.spot-photo-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--caps);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:600;color:var(--pink-dark);padding:.6rem}
.spot-photo-ph small{display:block;margin-top:.3rem;font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:400;font-size:.72rem;color:var(--ink-soft)}
.spot-steps{list-style:none;padding:0;margin:2rem 0;display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;position:relative}
.spot-steps::before{content:"";position:absolute;left:10%;right:10%;top:23px;height:2px;background:linear-gradient(90deg,var(--blush),var(--pink),var(--blush));z-index:0}
.spot-steps li{position:relative;z-index:1;text-align:center;background:var(--cream);border:1px solid var(--blush);border-radius:18px;padding:0 .8rem 1rem;margin-top:23px}
.spot-num{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:-23px auto .6rem;border-radius:50%;background:var(--pink);color:#fff;font-family:var(--script);font-size:1.4rem;border:3px solid #fff;box-shadow:0 6px 14px rgba(234,83,144,.3)}
.spot-steps h4{font-family:var(--caps);text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;line-height:1.45;color:var(--ink);margin:0 0 .45rem}
.spot-dist{margin:0;font-weight:700;color:var(--pink-dark);font-size:.9rem;line-height:1.35}
.spot-date{margin:.25rem 0 0;font-size:.8rem;color:var(--ink-soft)}
.spot-bottom{max-width:820px;margin:0 auto;text-align:center}
.spot-bottom p{margin:0 0 .9rem}
.spot-footer{display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-top:1.4rem;padding-top:1.4rem;border-top:1px dashed var(--blush)}
.spot-pill{background:#ea5390;color:#fff;font-family:var(--caps);font-weight:700;letter-spacing:.06em;font-size:1rem;padding:.55rem 1.2rem;border-radius:999px;box-shadow:0 4px 12px rgba(234,83,144,.28)}
.spot-gosh{width:130px;height:auto}
@media (max-width:980px){
  .spot-steps{grid-template-columns:1fr;gap:.7rem}
  .spot-steps::before{left:22px;right:auto;top:10px;bottom:10px;width:2px;height:auto;background:linear-gradient(180deg,var(--blush),var(--pink),var(--blush))}
  .spot-steps li{display:grid;grid-template-columns:46px 1fr;column-gap:1rem;text-align:left;margin:0;padding:.8rem 1rem .8rem 0;background:transparent;border:none}
  .spot-num{grid-row:1/4;margin:0}
  .spot-steps li>:not(.spot-num){grid-column:2;background:none}
  .spot-steps h4{margin:0 0 .15rem}
}
@media (max-width:860px){.spot-top{grid-template-columns:1fr}.spot-photos{max-width:440px;margin:0 auto;width:100%}}
@media (max-width:760px){.spotlight{padding:1.3rem}.spot-footer .btn{width:100%;text-align:center;letter-spacing:.08em}}
@media (max-width:760px){.spot-bottom{text-align:left}.spot-footer{justify-content:center}}
/* Spotlight photos (APEX Everest Challenge) */
.spot-lead{justify-self:center;width:min(360px,100%)}
.spot-lead img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:22px;border:8px solid #fff;box-shadow:0 16px 36px rgba(234,83,144,.22);transform:rotate(2deg)}
.spot-gallery{list-style:none;padding:0;margin:0 0 2rem;display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem}
.spot-gallery li{border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:var(--blush-soft);box-shadow:0 6px 16px rgba(234,83,144,.14);border:4px solid #fff}
.spot-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.spot-gallery li:hover img{transform:scale(1.04)}
@media (max-width:860px){.spot-lead{width:min(300px,80%)}}
@media (max-width:760px){
  .spot-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.7rem;padding:0 0 .6rem;margin:0 -1.3rem 1.6rem;padding-left:1.3rem;padding-right:1.3rem;scrollbar-width:thin}
  .spot-gallery li{flex:0 0 62%;scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){.spot-gallery img{transition:none}}

/* Collapsible grouped rows in "Raised in Orla's memory" */
.raised-group>summary{list-style:none;cursor:pointer;display:block;border-radius:10px}
.raised-group>summary::-webkit-details-marker{display:none}
.raised-group>summary::marker{content:""}
.raised-group>summary:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.raised-toggle{display:inline-flex;align-items:center;gap:.3rem;margin-top:.45rem;font-family:var(--caps);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pink-dark);background:#fff;border:1px solid var(--blush);border-radius:999px;padding:.2rem .55rem .2rem .7rem}
.raised-toggle svg{width:14px;height:14px;color:var(--pink);transition:transform .2s ease}
.raised-group[open] .raised-toggle svg{transform:rotate(180deg)}
.raised-group .t-open,.raised-group[open] .t-closed{display:none}
.raised-group[open] .t-open{display:inline}
.raised-group>summary:hover .raised-toggle{border-color:var(--pink);background:var(--blush-soft)}
.raised-group>summary:hover .raised-name{color:var(--pink-dark)}
@media (prefers-reduced-motion:reduce){.raised-toggle svg{transition:none}}
