
/* Beldon Coaching — Editorial Static Design System */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,300;1,9..144,400;1,9..144,500;1,9..144,600&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@300;400;500;600&display=swap');

:root{
  --parchment:#F7F4EE;
  --linen:#FBF9F4;
  --ink:#0F1419;
  --burgundy:#7D2B2B;
  --burgundy-dark:#5f2020;
  --gold:#A68B5B;
  --slate:#4A5463;
  --border:#E8E2D4;
  --deep:#1F2937;
  --deep-fg:#FBF9F4;
  --font-display:'Fraunces',Georgia,serif;
  --font-body:'Cormorant Garamond','Source Serif Pro',Georgia,serif;
  --font-ui:'Inter',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--parchment);color:var(--ink);
  font-family:var(--font-body);font-size:18px;line-height:1.65;
  background-image:
    radial-gradient(rgba(166,139,91,.025) 1px,transparent 1px),
    radial-gradient(rgba(125,43,43,.015) 1px,transparent 1px);
  background-size:24px 24px,40px 40px;background-position:0 0,12px 20px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:rgba(125,43,43,.85);color:var(--parchment)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;line-height:1.15}

/* Layout */
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
@media(min-width:768px){.container{padding:0 3rem}}
.narrow{max-width:820px;margin:0 auto}
.wide{max-width:1280px;margin:0 auto}

/* Utilities */
.label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);font-weight:400}
.roman{font-family:var(--font-display);font-style:italic;color:var(--burgundy)}
.italic{font-style:italic}
.center{text-align:center}
.hairline{border-color:var(--border)}

/* Buttons */
.btn{display:inline-block;font-family:var(--font-display);font-size:1.05rem;padding:.9rem 1.85rem;border-radius:2px;transition:all .25s ease;cursor:pointer;border:1px solid transparent;letter-spacing:.005em}
.btn-primary{background:var(--burgundy);color:var(--parchment);border-color:var(--burgundy)}
.btn-primary:hover{background:var(--burgundy-dark);transform:translateY(-1px);box-shadow:0 8px 20px -12px rgba(125,43,43,.5)}
.btn-outline{background:transparent;color:var(--burgundy);border:1px solid var(--burgundy)}
.btn-outline:hover{background:var(--burgundy);color:var(--parchment)}
.btn-gold{background:var(--gold);color:var(--deep)}
.btn-gold:hover{background:var(--parchment)}
.btn-block{display:block;text-align:center;width:100%}
.link-u{color:var(--burgundy);border-bottom:1px solid rgba(125,43,43,.4);padding-bottom:1px;transition:border-color .2s}
.link-u:hover{border-bottom-color:var(--burgundy)}

/* Ornaments (SVG inline colored via currentColor) */
.orn{color:var(--burgundy);display:inline-block}

/* Navbar */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,244,238,.95);backdrop-filter:blur(6px);transition:box-shadow .2s,border-color .2s;border-bottom:1px solid transparent}
.nav.scrolled{border-bottom-color:var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:baseline;gap:2px}
.brand-i{font-family:var(--font-display);font-style:italic;font-size:2rem;color:var(--burgundy);line-height:1}
.brand-t{font-family:var(--font-display);font-size:1.25rem;color:var(--ink);letter-spacing:-.01em}
.nav-links{display:none;gap:2rem;align-items:center}
.nav-links a{font-family:var(--font-ui);font-size:.9rem;letter-spacing:.02em;padding-bottom:4px;transition:color .2s}
.nav-links a:hover{color:var(--burgundy)}
.nav-links a.active{color:var(--burgundy);border-bottom:1px solid var(--burgundy)}
.nav-toggle{background:none;border:0;padding:.5rem;cursor:pointer;color:var(--ink)}
@media(min-width:1024px){.nav-links{display:flex}.nav-toggle{display:none}}

/* Mobile menu */
.mmenu{position:fixed;inset:0;background:var(--parchment);z-index:100;display:none;flex-direction:column;padding:0}
.mmenu.open{display:flex}
.mmenu-top{display:flex;align-items:center;justify-content:space-between;height:80px;padding:0 1.5rem}
.mmenu-list{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;margin-top:-80px}
.mmenu-list a{font-family:var(--font-display);font-style:italic;font-size:2.25rem;color:var(--ink);padding:.5rem 0}
.mmenu-list a:hover{color:var(--burgundy)}

/* Hero */
.hero{padding:5rem 0 6rem;text-align:center}
@media(min-width:768px){.hero{padding:7rem 0 8rem}}
.hero h1{font-style:italic;font-size:clamp(2.5rem,6vw,5.25rem);line-height:.98;margin:.75rem 0}
.hero p.lead{font-size:1.15rem;color:var(--slate);line-height:1.7;max-width:600px;margin:2rem auto}
@media(min-width:768px){.hero p.lead{font-size:1.25rem}}

/* Sections */
section{padding:5rem 0}
@media(min-width:768px){section{padding:7rem 0}}
.sec-linen{background:var(--linen);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.sec-deep{background:var(--deep);color:var(--deep-fg)}
.sec-deep h1,.sec-deep h2,.sec-deep h3,.sec-deep h4{color:var(--deep-fg)}

/* Grids */
.grid{display:grid;gap:2rem}
.g2{grid-template-columns:1fr}
.g3{grid-template-columns:1fr}
.g4{grid-template-columns:1fr}
@media(min-width:768px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.g4{grid-template-columns:repeat(4,1fr)}}

/* Pillar cards (bordered) */
.pillar-grid{display:grid;gap:1px;background:var(--border);border:1px solid var(--border)}
@media(min-width:768px){.pillar-grid{grid-template-columns:1fr 1fr}}
.pillar{background:var(--linen);padding:2.5rem;transition:background .2s}
.pillar:hover{background:var(--parchment)}
.pillar-h{display:flex;align-items:baseline;gap:1rem;margin-bottom:1rem}
.pillar-h .r{font-family:var(--font-display);font-style:italic;color:var(--burgundy);font-size:1.75rem}
.pillar-h h3{font-size:1.5rem;color:var(--ink)}
.pillar p{color:var(--slate);font-size:1.05rem;line-height:1.7}

/* Editorial prose */
.prose h2{font-size:1.75rem;color:var(--ink);margin:2rem 0 1rem}
.prose h3{font-size:1.35rem;color:var(--ink);margin:1.5rem 0 .75rem}
.prose p{font-size:1.1rem;line-height:1.75;color:var(--slate);margin-bottom:1.25rem}
.prose p strong{color:var(--ink);font-weight:600}
.prose ul{margin:1rem 0 1.5rem 1.25rem}
.prose li{font-size:1.05rem;line-height:1.75;color:var(--slate);margin-bottom:.5rem}
.prose a{color:var(--burgundy);border-bottom:1px solid rgba(125,43,43,.4)}
.prose a:hover{border-bottom-color:var(--burgundy)}
.dropcap::first-letter{font-family:var(--font-display);font-size:4.5rem;font-style:italic;line-height:.85;float:left;padding:.35rem .75rem 0 0;color:var(--burgundy)}

/* Quote */
.eq{font-family:var(--font-display);font-style:italic;font-weight:300;line-height:1.25;color:var(--ink)}
.eq-big{font-size:clamp(1.7rem,3vw,2.4rem)}
figure.testimonial{max-width:760px;margin:0 auto 5rem;text-align:center}
figure.testimonial .qmark{font-family:var(--font-display);font-style:italic;color:var(--burgundy);font-size:5rem;line-height:0;display:block;margin-bottom:1.25rem}
figure.testimonial figcaption{color:var(--slate);margin-top:1.25rem}

/* Programme cards */
.p-cards{display:grid;gap:2rem}
@media(min-width:768px){.p-cards{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.p-cards{grid-template-columns:repeat(3,1fr)}}
.pcard{position:relative;padding:2.5rem;background:var(--parchment);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}
.pcard .r-bg{position:absolute;top:.5rem;right:1rem;font-family:var(--font-display);font-style:italic;font-size:7rem;color:var(--burgundy);opacity:.08;pointer-events:none;line-height:1}
.pcard .meta{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;color:var(--slate);margin-bottom:.75rem}
.pcard h3{font-size:1.5rem;margin-bottom:.75rem;color:var(--ink)}
.pcard .price{font-family:var(--font-display);font-style:italic;color:var(--burgundy);font-size:2.5rem;margin:.5rem 0 1.25rem}
.pcard ul{list-style:none;margin:0 0 1.5rem;padding:0;flex:1}
.pcard ul li{color:var(--slate);margin-bottom:.5rem;padding-left:1rem;position:relative}
.pcard ul li::before{content:"·";color:var(--burgundy);position:absolute;left:0;font-family:var(--font-display)}
.pcard.dark{background:var(--deep);color:var(--deep-fg);border-color:transparent}
.pcard.dark h3{color:var(--deep-fg)}
.pcard.dark .price{color:var(--gold)}
.pcard.dark .meta{color:var(--gold)}
.pcard.dark ul li{color:rgba(251,249,244,.8)}
.pcard.dark ul li::before{color:var(--gold)}
.pcard.featured{border-color:rgba(166,139,91,.5);box-shadow:0 20px 50px -20px rgba(125,43,43,.3)}
.badge{position:absolute;top:-14px;left:2rem;background:var(--gold);color:var(--deep);font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;padding:.25rem .75rem;border-radius:2px}
.pcard-wide{grid-column:span 1}
@media(min-width:1024px){.pcard-wide{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;padding:0;background:var(--parchment);border:1px solid rgba(125,43,43,.4);position:relative}
.pcard-wide .left,.pcard-wide .right{padding:3rem}
.pcard-wide .left{border-right:1px solid rgba(125,43,43,.3)}
.pcard-wide .right{background:var(--linen)}}

/* Programme detail rows */
.prog-row{padding:5rem 0}
.prog-row.alt{background:var(--linen);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.prog-row .grid12{display:grid;gap:3rem}
@media(min-width:768px){.prog-row .grid12{grid-template-columns:4fr 8fr}}
.prog-row .rn{font-family:var(--font-display);font-style:italic;color:var(--burgundy);font-size:5rem;line-height:1;display:block;margin-bottom:1rem}
.prog-row .meta{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--slate);margin-bottom:2rem;line-height:1.6}
.prog-row .price{font-family:var(--font-display);font-style:italic;color:var(--burgundy);font-size:3rem;margin-bottom:.25rem}
.prog-row .pn{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--slate);margin-bottom:2rem}
.prog-row h2{font-size:clamp(1.75rem,3vw,2.75rem);margin-bottom:1.5rem}
.prog-row .deliverables{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}
.prog-row .deliverables ul{list-style:none;padding:0;margin:1rem 0 0}
.prog-row .deliverables li{color:var(--ink);font-size:1.1rem;padding:.35rem 0 .35rem 1.25rem;position:relative}
.prog-row .deliverables li::before{content:"·";position:absolute;left:0;color:var(--burgundy);font-family:var(--font-display);font-style:italic}

/* Process cards */
.pillar-line{border-top:1px solid rgba(125,43,43,.3);padding-top:1.25rem}
.pillar-line .r{font-family:var(--font-display);font-style:italic;color:var(--burgundy);font-size:1.5rem}
.pillar-line h3{font-size:1.25rem;margin:.5rem 0 .75rem}
.pillar-line p{color:var(--slate);line-height:1.65}

/* Comparison table */
.cmp{width:100%;font-family:var(--font-body);border-collapse:collapse}
.cmp th{text-align:left;padding:1rem .75rem;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--slate);font-weight:400;border-bottom:2px solid var(--burgundy)}
.cmp td{padding:1.25rem .75rem;border-bottom:1px solid var(--border);color:var(--slate)}
.cmp td:first-child{font-family:var(--font-display);color:var(--ink);font-size:1.1rem}
.cmp td:last-child{text-align:right;font-family:var(--font-display);font-style:italic;color:var(--burgundy);font-size:1.15rem}
.tbl-wrap{overflow-x:auto}

/* Details/FAQ */
details{border-bottom:1px solid var(--border);padding:1.25rem 0}
details summary{list-style:none;cursor:pointer;font-family:var(--font-display);font-size:1.25rem;color:var(--ink);display:flex;justify-content:space-between;gap:1rem;align-items:start}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";color:var(--burgundy);font-family:var(--font-display);font-style:italic;font-size:1.5rem;transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--slate);margin-top:1rem;font-size:1.05rem;line-height:1.75}

/* Contact card layout */
.contact-grid{display:grid;gap:1px;background:var(--border)}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-cell{padding:3rem}
.contact-cell.linen{background:var(--linen)}
.contact-cell.parch{background:var(--parchment)}
.contact-row{margin-bottom:1.25rem}

/* Forms */
form label{display:block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);margin-bottom:.5rem}
form input,form select,form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);padding:.5rem 0;font-family:var(--font-body);color:var(--ink);font-size:1.05rem;outline:none;transition:border-color .2s}
form textarea{border:1px solid var(--border);padding:.75rem;border-radius:2px;resize:vertical;min-height:120px}
form input:focus,form select:focus,form textarea:focus{border-color:var(--burgundy)}
form .field{margin-bottom:1.25rem}

/* Trust strip */
.trust{background:var(--linen);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2rem 0}
.trust .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 2rem;font-family:var(--font-ui);font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--slate)}
.trust .dot{color:var(--border)}

/* Footer */
footer .foot{background:var(--deep);color:var(--deep-fg)}
.foot-inner{padding:5rem 0}
.foot-grid{display:grid;gap:3rem}
@media(min-width:768px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.foot-grid{grid-template-columns:repeat(4,1fr)}}
.foot h3{font-size:1.5rem;color:var(--deep-fg);margin-bottom:1rem}
.foot h3 span{color:var(--gold);font-style:italic}
.foot .tag{font-style:italic;color:rgba(251,249,244,.7);margin-bottom:1.5rem;line-height:1.65}
.foot .addr{font-family:var(--font-ui);font-size:.75rem;color:rgba(251,249,244,.6);line-height:1.7}
.foot .addr a:hover{color:var(--gold)}
.foot .status{margin-top:1rem;font-family:var(--font-ui);font-size:.75rem;color:var(--gold);display:flex;align-items:center;gap:.5rem}
.foot .status .d{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block}
.foot .col-title{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:rgba(251,249,244,.5);margin-bottom:1rem}
.foot ul{list-style:none;padding:0;margin:0}
.foot ul li{margin-bottom:.6rem;font-size:1rem;color:rgba(251,249,244,.8)}
.foot ul li a:hover{color:var(--gold)}
.foot .fine{max-width:900px;margin:2.5rem auto 0;font-size:.9rem;color:rgba(251,249,244,.65);line-height:1.7;text-align:center}
.foot .bottom{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(251,249,244,.1);display:flex;flex-direction:column;gap:.5rem;justify-content:space-between;align-items:center;font-family:var(--font-ui);font-size:.75rem;color:rgba(251,249,244,.55);text-align:center}
@media(min-width:768px){.foot .bottom{flex-direction:row}}

/* Cookie banner */
.cookie{position:fixed;left:0;right:0;bottom:0;background:var(--parchment);border-top:1px solid rgba(125,43,43,.4);box-shadow:0 -4px 24px -8px rgba(125,43,43,.15);z-index:60;padding:1.25rem 0;display:none}
.cookie.show{display:block}
.cookie-inner{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;justify-content:space-between}
@media(min-width:768px){.cookie-inner{flex-direction:row;align-items:center}}
.cookie p{max-width:640px}
.cookie .actions{display:flex;flex-wrap:wrap;gap:.5rem}
.cookie .actions button{font-family:var(--font-ui);font-size:.85rem;padding:.55rem 1rem;border-radius:2px;border:1px solid var(--border);background:transparent;color:var(--ink);cursor:pointer}
.cookie .actions .reject{border-color:rgba(125,43,43,.4);color:var(--burgundy)}
.cookie .actions .accept{background:var(--burgundy);color:var(--parchment);border-color:var(--burgundy)}

/* Divider ornament */
.flourish{display:flex;justify-content:center;margin:2rem 0;color:var(--burgundy)}

/* Fade in on load */
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fade-in{animation:fi .8s ease-out both}

/* Responsive helpers */
.hide-md{display:block}
@media(min-width:768px){.only-mobile{display:none}}
