/**
 * SETA Convention — Home page ("Editorial Calm") stylesheet.
 *
 * Self-contained on purpose: this is the ONLY stylesheet loaded on the front
 * page (functions.php strips all others there and renders the page on the
 * Elementor Canvas template), so the live homepage is byte-for-byte the design
 * source in docs/mockups/home-mockup-1-editorial-calm-v2.html.
 *
 * The :root values below MIRROR config/design/tokens.php — keep them in sync if
 * the brand tokens change. The @import matches assets/css/fonts.css exactly so
 * the Fraunces italic + optical-size axes render identically.
 */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500;1,9..144,600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --seta-primary:#1E3A5F; --seta-primary-dark:#16293F;
  --seta-accent:#D98C4A; --seta-accent-dark:#C2773A; --seta-accent-light:#E8A86A;
  --seta-text:#1A1D21; --seta-muted:#5B636B; --seta-line:#E3E6EA;
  --seta-soft:#F5F6F7; --seta-bg:#FFFFFF; --seta-ok:#2E7D52;
  /* coastal accents derived from the flyer (decorative only, not brand tokens) */
  --sand:#F3ECE1; --sand-line:#E7DCC9; --seaglass:#7C9AA0; --pebble:#9AA0A6;
  --seta-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --seta-serif:'Fraunces','Iowan Old Style',Georgia,'Times New Roman',serif;
  --seta-container:1180px;
  --seta-shadow-soft:0 2px 12px rgba(20,30,50,.08);
  --seta-shadow-lift:0 14px 40px rgba(20,30,50,.08);
  --seta-r-lg:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--seta-sans);color:var(--seta-text);background:var(--seta-bg);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
h1,h2,h3{font-family:var(--seta-serif);font-weight:400;margin:0;line-height:1.1}
p{margin:0}
.container{max-width:var(--seta-container);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--seta-sans);font-size:12.5px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--seta-accent-dark)}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--seta-sans);font-weight:600;font-size:15px;
  padding:14px 28px;border-radius:999px;cursor:pointer;border:1px solid transparent;transition:.18s}
.btn-navy{background:var(--seta-primary);color:#fff}
.btn-navy:hover{background:var(--seta-primary-dark)}
.btn-amber{background:var(--seta-accent);color:#1a1206}
.btn-amber:hover{background:var(--seta-accent-dark)}
.btn-outline{background:#fff;border-color:var(--seta-line);color:var(--seta-primary)}
.btn-outline:hover{border-color:var(--seta-primary)}

/* ---- nav ---- */
.nav{display:flex;align-items:center;gap:30px;padding:26px 0}
.brand{font-family:var(--seta-serif);font-size:18px;font-weight:500;color:var(--seta-primary);display:flex;align-items:center;gap:12px;line-height:1.05}
.nav-links{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav-links a{font-size:14.5px;color:var(--seta-muted);font-weight:500}
.nav-links a:hover{color:var(--seta-primary)}
.nav-links .btn{margin-left:6px;padding:11px 22px;font-size:14px}

/* ---- hero ---- */
.hero{position:relative;text-align:center;padding:54px 28px 64px;overflow:hidden;
  background:radial-gradient(120% 90% at 50% -20%,var(--sand) 0%,#fff 62%)}
.hero .kicker{display:block;margin-bottom:30px}
.theme{font-family:var(--seta-serif);font-style:italic;font-weight:400;color:var(--seta-primary);
  font-size:clamp(2.9rem,7vw,5.4rem);line-height:1.02;letter-spacing:-.5px;font-optical-sizing:auto}
.theme .l2{display:block}
.theme .amp{color:var(--seta-accent-dark)}
/* hand-drawn rope flourish under the theme */
.flourish{display:block;margin:26px auto 0;width:240px;height:14px;color:var(--seta-accent)}
.dateline{font-family:var(--seta-serif);font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--seta-text);margin-top:30px;font-weight:500}
.venueline{color:var(--seta-muted);font-size:16px;margin-top:10px;line-height:1.6}
.hero .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.hero .flyerlink{margin-top:20px;font-size:14px}
.hero .flyerlink a{color:var(--seta-accent-dark);font-weight:600;border-bottom:1px solid var(--seta-line);padding-bottom:2px;transition:.18s}
.hero .flyerlink a:hover{border-color:var(--seta-accent-dark)}
.hero .reassure{margin-top:18px;font-size:13.5px;color:var(--seta-muted)}
.hero .reassure b{color:var(--seta-ok)}
/* subtle scattered pebbles (decorative, echoes the flyer) */
.pebbles{position:absolute;inset:0;pointer-events:none;opacity:.5}
.pebbles svg{position:absolute}

/* ---- meta strip (facts) ---- */
.facts{border-top:1px solid var(--seta-line);border-bottom:1px solid var(--seta-line)}
.facts .row{display:grid;grid-template-columns:repeat(3,1fr)}
.facts .row > div{padding:30px 24px;text-align:center;border-right:1px solid var(--seta-line)}
.facts .row > div:last-child{border-right:0}
.facts b{font-family:var(--seta-serif);font-weight:500;color:var(--seta-primary);display:block;font-size:1.3rem}
.facts span{color:var(--seta-muted);font-size:13px;display:block;margin-top:6px;letter-spacing:.3px}

/* ---- about ---- */
.about{text-align:center;padding:72px 28px 64px;max-width:760px;margin:0 auto}
.about h2{font-size:2.1rem;color:var(--seta-primary);margin-bottom:22px}
.about p{font-size:18.5px;line-height:1.7;color:var(--seta-muted)}
.about a{color:var(--seta-accent-dark);font-weight:600;border-bottom:1px solid var(--seta-accent-light);padding-bottom:1px}
.about a:hover{color:var(--seta-accent)}
.rope-div{display:block;margin:0 auto 46px;width:170px;height:12px;color:var(--seta-accent-light)}

/* ---- three-up ---- */
.strip{max-width:var(--seta-container);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--seta-line)}
.strip > div{padding:50px 36px;border-right:1px solid var(--seta-line)}
.strip > div:last-child{border-right:0}
.strip .num{font-family:var(--seta-serif);font-style:italic;color:var(--seta-accent);font-size:1.2rem;margin-bottom:10px}
.strip h3{font-size:1.45rem;color:var(--seta-primary);margin-bottom:10px}
.strip p{color:var(--seta-muted);font-size:14.5px;line-height:1.65}
.strip a{display:inline-block;margin-top:16px;color:var(--seta-accent-dark);font-weight:600;font-size:14px}
.strip a:hover{color:var(--seta-accent)}

/* ---- closing + footer ---- */
.closing{text-align:center;padding:64px 28px;background:radial-gradient(120% 100% at 50% 120%,var(--sand) 0%,#fff 60%)}
.closing .theme-sm{font-family:var(--seta-serif);font-style:italic;font-size:1.6rem;color:var(--seta-primary);margin-bottom:22px}
.footer{background:var(--seta-soft);padding:40px 28px;text-align:center;color:var(--seta-muted);font-size:13.5px;line-height:1.7}
.footer .t{font-family:var(--seta-serif);font-style:italic;color:var(--seta-primary);font-size:1.05rem}

.nav-toggle{display:none}

@media(max-width:820px){
  .nav{flex-wrap:wrap;gap:0}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;margin-left:auto;padding:0;background:none;border:0;cursor:pointer}
  .nav-toggle span{display:block;width:24px;height:2px;border-radius:2px;background:var(--seta-primary);transition:transform .2s,opacity .2s}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-links{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;margin:6px 0 0}
  .nav-links.is-open{display:flex}
  .nav-links a:not(.btn){padding:13px 4px;font-size:16px;border-top:1px solid var(--seta-line)}
  .nav-links .btn{margin:12px 0 4px;justify-content:center}
  .facts .row,.strip{grid-template-columns:1fr}
  .facts .row > div{border-right:0;border-bottom:1px solid var(--seta-line)}
  .strip > div{border-right:0;border-bottom:1px solid var(--seta-line)}
}
