/* FINVYNE — shared chrome + content styles for the generated sections
   (/editions and /glossary). Tokens copied verbatim from index.html so the
   generated pages are the same site.
   The SITE IS TEAL. The Instagram green #18C070 must never appear here. */

:root{
  --paper:#F4F5F2;
  --paper-2:#ECEEE8;
  --card:#FFFFFF;
  --navy:#0D1B2A;
  --navy-2:#122333;
  --ink:#16222E;
  --ink-2:#55636E;
  --teal:#12938C;
  --teal-soft:#3CBFBA;
  --line:#E1E4DD;
  --line-2:#D2D6CD;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Montserrat',Arial,sans-serif;color:var(--navy);letter-spacing:-.02em;line-height:1.15;}
a{color:inherit;}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
.dot{color:var(--teal);}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:none;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;
  padding:14px 26px;border-radius:999px;text-decoration:none;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.btn-teal{background:var(--teal);color:#fff;}
.btn-teal:hover{transform:translateY(-2px);background:#0f817b;box-shadow:0 10px 24px -12px rgba(18,147,140,.7);}
.btn-navy{background:var(--navy);color:#fff;padding:11px 22px;font-size:.9rem;}
.btn-navy:hover{transform:translateY(-2px);background:var(--navy-2);}

/* header */
header{position:sticky;top:0;z-index:60;background:rgba(244,245,242,.82);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.15rem;color:var(--navy);text-decoration:none;letter-spacing:.14em;text-transform:uppercase;}
.nav-links{display:flex;gap:26px;position:absolute;left:50%;transform:translateX(-50%);}
.nav-links a{font-weight:500;font-size:.92rem;color:var(--ink-2);text-decoration:none;transition:color .15s;white-space:nowrap;}
.nav-links a:hover{color:var(--navy);}

/* signup (same component as the landing page) */
.signup{display:flex;gap:9px;max-width:440px;background:var(--card);padding:7px;border-radius:999px;border:1px solid var(--line-2);box-shadow:0 2px 18px -12px rgba(13,27,42,.3);}
.signup input{flex:1;min-width:0;border:none;background:transparent;padding:10px 8px 10px 18px;font-family:'DM Sans',sans-serif;font-size:1rem;color:var(--ink);}
.signup input:focus{outline:none;}
.signup:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,147,140,.14);}
.signup-success{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--teal);font-size:1.02rem;padding:6px 4px;margin:0;display:flex;align-items:center;gap:9px;}
.signup-success svg{flex:none;width:22px;height:22px;}
.cta-note{font-size:.82rem;color:var(--ink-2);margin-top:12px;}

/* breadcrumbs */
.crumbs{font-size:.82rem;color:var(--ink-2);margin-bottom:26px;display:flex;gap:8px;flex-wrap:wrap;}
.crumbs a{color:var(--ink-2);text-decoration:none;}
.crumbs a:hover{color:var(--teal);}
.crumbs span[aria-hidden]{color:var(--line-2);}

/* ---------- archive index ---------- */
/* Heading weights follow the rest of the site, not a new scale:
   page titles are 600-700 (landing hero 600, calculator h1 700) and only
   mid-page section headings go to 800. */
.ed-hero{padding:56px 0 44px;}
.ed-hero h1{font-size:clamp(2.1rem,4vw,3rem);font-weight:700;margin-bottom:18px;}
.ed-hero .lede{font-size:1.12rem;color:var(--ink-2);max-width:660px;margin-bottom:30px;line-height:1.6;}

.ed-list{padding:8px 0 80px;}
.ed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;}
.ed-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:30px 28px 26px;text-decoration:none;display:flex;flex-direction:column;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.ed-card:hover{transform:translateY(-4px);box-shadow:0 26px 54px -32px rgba(13,27,42,.42);border-color:var(--line-2);}
.ec-num{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);background:rgba(18,147,140,.1);padding:5px 11px;border-radius:999px;align-self:flex-start;margin-bottom:16px;}
.ed-card h2{font-size:1.2rem;font-weight:700;margin-bottom:6px;line-height:1.28;}
.ec-date{font-size:.85rem;color:var(--ink-2);margin-bottom:14px;}
.ec-desc{font-size:.96rem;color:var(--ink-2);line-height:1.55;margin-bottom:18px;flex:1;}
.ec-suburb{font-size:.85rem;color:var(--ink-2);padding-top:14px;border-top:1px solid var(--line);margin-bottom:16px;}
.ec-suburb strong{color:var(--navy);font-weight:700;}
.ec-more{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.92rem;color:var(--teal);}

/* ---------- a single edition ---------- */
.edition{padding:48px 0 64px;}
.edition .wrap{max-width:820px;}
.ed-kicker{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;}
.edition h1{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:700;margin-bottom:14px;}
.ed-date{font-size:.9rem;color:var(--ink-2);margin-bottom:20px;}
.ed-standfirst{font-size:1.14rem;color:var(--ink);line-height:1.6;padding-bottom:30px;border-bottom:1px solid var(--line);}

.ed-inline-cta{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:26px 28px;margin:30px 0 6px;}
.ed-inline-cta p{font-size:1rem;color:var(--ink-2);margin-bottom:16px;}
.ed-inline-cta strong{color:var(--navy);}

/* article body */
.ed-body{padding-top:8px;}
.ed-section{padding:38px 0;border-bottom:1px solid var(--line);}
.ed-section:last-child{border-bottom:none;}
.eyebrow{
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:.72rem;
  letter-spacing:.13em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;
}
.ed-body h2{font-size:clamp(1.45rem,2.6vw,1.85rem);font-weight:800;margin-bottom:18px;line-height:1.22;}
.ed-body h3{font-size:1.2rem;font-weight:700;margin:30px 0 12px;}
.ed-body p{margin-bottom:17px;font-size:1.05rem;line-height:1.68;color:var(--ink);}
.ed-body ul{margin:0 0 20px;padding-left:0;list-style:none;}
.ed-body li{
  position:relative;padding-left:26px;margin-bottom:13px;
  font-size:1.05rem;line-height:1.62;color:var(--ink);
}
.ed-body li::before{
  content:"";position:absolute;left:2px;top:11px;
  width:8px;height:8px;border-radius:50%;background:var(--teal);
}
.ed-body strong{color:var(--navy);font-weight:700;}
.ed-body a{color:var(--teal);text-decoration:underline;text-underline-offset:2px;}
.ed-body a:hover{color:#0f817b;}
.ed-body p.meta{font-size:.84rem;color:var(--ink-2);margin-top:-6px;margin-bottom:20px;line-height:1.5;}
.ed-body p.meta em{font-style:normal;}

/* data tables (auction clearance rates, suburb metrics) */
.ed-body .data{
  width:100%;border-collapse:collapse;margin:6px 0 22px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;
}
.ed-body .data th{
  text-align:left;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.74rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);
  padding:14px 20px;background:var(--paper-2);border-bottom:1px solid var(--line);
}
.ed-body .data th:last-child{text-align:right;}
.ed-body .data td{padding:13px 20px;font-size:1rem;border-bottom:1px solid var(--line);color:var(--ink);}
.ed-body .data td:last-child{text-align:right;font-family:'Montserrat',sans-serif;font-weight:700;color:var(--navy);}
.ed-body .data tr:last-child td{border-bottom:none;}

/* "Our Score" callout. --score-bg / --score-fg are set per edition by
   build_editions.py, carried over from the email that was actually sent:
   teal #3CBFBA (editions 3-7), amber #E8A020 (edition 1), red #E05252
   (edition 2). Never the Instagram green. */
.ed-body .score{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:var(--score-bg,var(--teal-soft));border-radius:14px;padding:18px 24px;margin:6px 0 24px;
}
.score-k{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--score-fg,var(--navy));font-size:.86rem;}
.score-v{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--score-fg,var(--navy));font-size:1.9rem;line-height:1;}

/* The two end-of-page boxes: calculator cross-link and subscribe.
   They share this ONE class on purpose, so they can never drift to different
   widths, padding, radius or heading sizes. */
.ed-tool{
  background:var(--navy);border-radius:18px;padding:34px 34px 36px;margin:34px 0 0;
}
.ed-tool h3{color:#fff;font-size:1.3rem;font-weight:700;margin-bottom:10px;}
.ed-tool p{color:rgba(255,255,255,.72);font-size:1rem;line-height:1.6;margin-bottom:22px;max-width:520px;}
.ed-tool + .ed-tool{margin-top:18px;}

/* subscribe variant: same box, form instead of a button */
.ed-tool.sub .signup{max-width:520px;margin-bottom:0;}
.ed-tool.sub .cta-note{color:rgba(255,255,255,.5);margin-top:14px;margin-bottom:0;}

/* previous / next */
.prevnext{display:flex;gap:16px;flex-wrap:wrap;margin:34px 0 40px;}
.pn{
  flex:1 1 260px;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:18px 22px;text-decoration:none;font-family:'Montserrat',sans-serif;font-weight:700;
  color:var(--navy);font-size:1rem;transition:border-color .16s,transform .16s;
}
.pn:hover{border-color:var(--teal);transform:translateY(-2px);}
.pn span{display:block;font-family:'DM Sans',sans-serif;font-weight:400;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin-bottom:5px;}
.pn.next{text-align:right;}

/* bottom CTA */
.ed-cta{padding:20px 0 92px;}
.ed-cta .cta-inner{background:var(--navy);border-radius:24px;padding:56px 56px 60px;position:relative;overflow:hidden;}
.ed-cta .cta-inner::before{content:"";position:absolute;top:-90px;right:-70px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(60,191,186,.16),transparent 68%);}
/* Matches .final h2 on the landing page exactly: Montserrat 600, not 800. */
.ed-cta h2{color:#fff;font-size:clamp(1.8rem,3.3vw,2.35rem);font-weight:600;line-height:1.18;margin-bottom:14px;position:relative;z-index:1;}
.ed-cta p{color:rgba(255,255,255,.72);font-size:1.06rem;max-width:560px;margin-bottom:28px;position:relative;z-index:1;}
.ed-cta .signup{position:relative;z-index:1;max-width:520px;}
.ed-cta .cta-note{color:rgba(255,255,255,.5);position:relative;z-index:1;}

/* footer */
footer{background:var(--navy);color:#fff;padding:64px 0 40px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;}
.foot-brand .brand{color:#fff;}
.foot-brand .socials{margin-top:20px;display:flex;gap:12px;}
.foot-brand .socials a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .16s;}
.foot-brand .socials a:hover{background:rgba(255,255,255,.16);}
.foot-brand .socials svg{width:19px;height:19px;fill:#fff;}
.foot-col h4{color:rgba(255,255,255,.5);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin-bottom:16px;}
.foot-col a{display:block;color:rgba(255,255,255,.8);text-decoration:none;font-size:.95rem;margin-bottom:11px;transition:color .15s;}
.foot-col a:hover{color:var(--teal-soft);}
.foot-base{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:26px;}
.foot-base-top{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;}
.foot-base .legal{font-size:.8rem;color:rgba(255,255,255,.5);}
.foot-legal-links{display:flex;gap:22px;}
.foot-legal-links a{color:rgba(255,255,255,.6);text-decoration:none;font-size:.8rem;}
.foot-legal-links a:hover{color:var(--teal-soft);}
.foot-base .disclaimer{font-size:.74rem;color:rgba(255,255,255,.62);margin-top:14px;max-width:880px;line-height:1.55;}

/* ==========================================================================
   GLOSSARY (/glossary)
   Mirrors the 7-slide Buyer's Glossary carousel structure: what it is,
   why it matters, the bands, the trend to watch, the real-world signals.
   ========================================================================== */

.gl-hero{padding:56px 0 40px;}
.gl-hero h1{font-size:clamp(2.1rem,4vw,3rem);font-weight:700;margin-bottom:18px;}
.gl-hero .lede{font-size:1.12rem;color:var(--ink-2);max-width:680px;margin-bottom:30px;line-height:1.6;}

.gl-list{padding:8px 0 80px;}
.gl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.gl-card{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:26px 26px 24px;text-decoration:none;display:flex;flex-direction:column;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.gl-card:hover{transform:translateY(-4px);box-shadow:0 26px 54px -32px rgba(13,27,42,.42);border-color:var(--line-2);}
.gl-card h2{font-size:1.16rem;font-weight:700;margin-bottom:8px;}
.gl-card p{font-size:.95rem;color:var(--ink-2);line-height:1.5;flex:1;margin-bottom:16px;}
.gl-card .gc-more{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.9rem;color:var(--teal);}

/* a single term */
.term{padding:44px 0 64px;}
.term .wrap{max-width:820px;}
.term h1{font-size:clamp(2rem,4.2vw,2.9rem);font-weight:700;margin-bottom:14px;}
.term-standfirst{font-size:1.16rem;color:var(--ink);line-height:1.6;padding-bottom:30px;border-bottom:1px solid var(--line);}
.term-section{padding:36px 0;border-bottom:1px solid var(--line);}
.term-section:last-of-type{border-bottom:none;}
.term-section h2{font-size:clamp(1.4rem,2.5vw,1.75rem);font-weight:800;margin-bottom:16px;}
.term-section p{font-size:1.05rem;line-height:1.68;margin-bottom:16px;}
.term-section p:last-child{margin-bottom:0;}
.term-section strong{color:var(--navy);font-weight:700;}

/* the headline figure */
.gl-stat{background:var(--navy);border-radius:18px;padding:34px 34px 30px;margin:6px 0 4px;}
.gl-stat .gs-n{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--teal-soft);font-size:clamp(3rem,8vw,4.4rem);line-height:1;letter-spacing:-.03em;}
.gl-stat .gs-c{color:rgba(255,255,255,.72);font-size:1.02rem;margin-top:14px;line-height:1.5;}

/* low vs high, side by side */
.gl-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:6px;}
.gl-col{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 24px 20px;}
.gl-col h3{font-size:1.08rem;font-weight:700;margin-bottom:4px;}
.gl-col .gc-sub{font-size:.82rem;color:var(--ink-2);margin-bottom:16px;letter-spacing:.02em;}
.gl-col ul{list-style:none;}
.gl-col li{position:relative;padding-left:22px;margin-bottom:11px;font-size:.98rem;line-height:1.55;color:var(--ink);}
.gl-col li:last-child{margin-bottom:0;}
.gl-col li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--teal);}
.gl-col.is-high li::before{background:var(--ink-2);}

/* the bands */
.gl-bands{display:flex;flex-direction:column;gap:12px;margin-top:4px;}
.band{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;
  background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 22px;
  border-left:6px solid var(--line-2);}
.band-r{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--navy);font-size:1.02rem;white-space:nowrap;padding-top:1px;}
.band-v{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--navy);font-size:1rem;display:block;margin-bottom:3px;}
.band-d{font-size:.97rem;color:var(--ink-2);line-height:1.5;}
.band.good{border-left-color:var(--teal);}
.band.mid{border-left-color:#E8A020;}
.band.tough{border-left-color:#E05252;}
.band-note{font-size:.85rem;color:var(--ink-2);margin-top:14px;line-height:1.5;}
.band-key{font-size:.85rem;color:var(--ink-2);margin-bottom:16px;line-height:1.5;}

/* related terms */
.gl-related{margin:34px 0 8px;}
.gl-related h3{font-size:1.1rem;font-weight:700;margin-bottom:14px;}
.gl-related .chips{display:flex;flex-wrap:wrap;gap:10px;}
.gl-related a{
  border:1px solid var(--line-2);border-radius:999px;padding:9px 18px;
  font-size:.92rem;color:var(--ink);text-decoration:none;background:var(--card);
  transition:border-color .16s,color .16s;
}
.gl-related a:hover{border-color:var(--teal);color:var(--teal);}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .ed-card:hover,.gl-card:hover,.pn:hover,.btn:hover{transform:none;}
}

@media(max-width:900px){
  .nav-links{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .foot-brand{grid-column:1 / -1;}
  .ed-cta .cta-inner{padding:42px 32px 46px;}
}
@media(max-width:640px){
  .wrap{padding:0 20px;}
  .ed-hero{padding:36px 0 30px;}
  .edition{padding:32px 0 16px;}
  .signup{flex-direction:column;background:transparent;border:none;box-shadow:none;padding:0;gap:12px;max-width:none;}
  .signup input{background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:15px 16px;}
  .signup .btn{justify-content:center;border-radius:12px;}
  .ed-grid{grid-template-columns:1fr;}
  .ed-body .data td,.ed-body .data th{padding:12px 14px;font-size:.95rem;}
  .ed-tool{padding:28px 24px 30px;}
  .ed-cta{padding:12px 0 64px;}
  .ed-cta .cta-inner{padding:34px 22px 38px;}
  .pn.next{text-align:left;}
  .gl-grid{grid-template-columns:1fr;}
  .gl-split{grid-template-columns:1fr;}
  .gl-stat{padding:26px 24px 24px;}
  .band{grid-template-columns:1fr;gap:8px;padding:16px 18px;}
  .term{padding:30px 0 16px;}
  .gl-hero{padding:36px 0 28px;}
  .foot-grid{grid-template-columns:1fr;}
  .foot-base-top{flex-direction:column;align-items:flex-start;gap:12px;}
}
