/*
Theme Name: Accubridge Consulting
Theme URI: https://accubridgeconsultants.com
Author: Accubridge Consulting LLP
Author URI: https://accubridgeconsultants.com
Description: Custom "Old Money Tech" one-page WordPress theme for Accubridge Consulting LLP, outsourced bookkeeping for US CPA firms. Includes a native Book-a-Call lead capture form (stores leads in a custom DB table and emails the founder via wp_mail).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: accubridge
*/

:root{
  --pine:#042f1c;
  --pine-deep:#021c10;
  --pine-mist:#f1f5f3;
  --amber:#d97706;
  --amber-bright:#f59e0b;
  --white:#ffffff;
  --fg:#0a100d;
  --fg-70:rgba(10,16,13,.72);
  --fg-60:rgba(10,16,13,.6);
  --border:#e2e8f0;
  --muted:#64748b;
  --font-serif:'Cormorant Garamond',Georgia,serif;
  --font-sans:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-sans);color:var(--fg);background:var(--white);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
::selection{background:var(--amber-bright);color:#fff;}

.container{max-width:1280px;margin:0 auto;padding:0 24px;}
@media(min-width:1024px){.container{padding:0 40px;}}

.section{padding:96px 0;}
@media(min-width:768px){.section{padding:128px 0;}}
.section-mist{background:var(--pine-mist);}
.section-pine{background:var(--pine);color:#fff;}

.overline{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.25em;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;padding:16px 32px;transition:background-color .3s,color .3s,border-color .3s;white-space:nowrap;}
.btn svg{width:16px;height:16px;transition:transform .3s;}
.btn:hover svg{transform:translate(2px,-2px);}
.btn-amber{background:var(--amber);color:#fff;}
.btn-amber:hover{background:var(--pine);}
.btn-pine{background:var(--pine);color:#fff;}
.btn-pine:hover{background:var(--amber);}
.btn-outline{border:1px solid rgba(4,47,28,.3);color:var(--pine);}
.btn-outline:hover{background:var(--pine);color:#fff;border-color:var(--pine);}
.btn-block{width:100%;}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.reveal.in-view{opacity:1;transform:none;}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px;}
@media(min-width:768px){.site-header .container{height:80px;}}
.brand{display:flex;align-items:baseline;gap:8px;}
.brand-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:var(--pine);transition:color .3s;}
.brand:hover .brand-name{color:var(--amber);}
.brand-sub{display:none;font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.25em;color:var(--muted);}
@media(min-width:640px){.brand-sub{display:inline;}}
.main-nav{display:none;align-items:center;gap:32px;}
@media(min-width:1024px){.main-nav{display:flex;}}
.nav-link{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--fg-70);transition:color .3s;}
.nav-link:hover{color:var(--pine);}
.header-cta{display:none;}
@media(min-width:640px){.header-cta{display:inline-flex;padding:12px 20px;}}
.mobile-toggle{display:inline-flex;padding:10px;color:var(--pine);}
@media(min-width:1024px){.mobile-toggle{display:none;}}
.mobile-toggle svg{width:22px;height:22px;}
.mobile-nav{display:none;flex-direction:column;position:fixed;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:16px 24px 24px;z-index:49;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-family:var(--font-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.15em;padding:14px 0;border-bottom:1px solid var(--border);color:var(--fg-70);}
@media(min-width:1024px){.mobile-nav{display:none !important;}}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:-1;}
.hero-bg img{width:100%;height:120%;object-fit:cover;will-change:transform;}
.hero-bg::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.85);}
.hero-inner{max-width:1280px;margin:0 auto;padding:160px 24px 80px;width:100%;}
@media(min-width:1024px){.hero-inner{padding-left:40px;padding-right:40px;}}
.hero-overline{color:var(--amber);margin-bottom:32px;opacity:0;animation:fadeIn .8s ease .15s forwards;}
.hero-headline{font-family:var(--font-serif);font-size:clamp(2.75rem,9vw,6rem);letter-spacing:-.03em;line-height:.95;color:var(--pine);}
.hero-line{overflow:hidden;}
.hero-line span{display:block;transform:translateY(110%);animation:maskReveal .9s cubic-bezier(.22,1,.36,1) forwards;}
.hero-line:nth-child(1) span{animation-delay:.25s;}
.hero-line:nth-child(2) span{animation-delay:.4s;}
.hero-line:nth-child(3) span{animation-delay:.55s;}
.hero-headline em{font-style:italic;font-weight:300;}
.hero-sub{margin-top:32px;max-width:38rem;font-size:1rem;line-height:1.7;color:var(--fg-70);opacity:0;transform:translateY(24px);animation:fadeUp .8s cubic-bezier(.22,1,.36,1) .75s forwards;}
@media(min-width:1024px){.hero-sub{font-size:1.125rem;}}
.hero-actions{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;opacity:0;transform:translateY(24px);animation:fadeUp .8s cubic-bezier(.22,1,.36,1) .9s forwards;}
.hero-badges{margin-top:64px;display:flex;flex-wrap:wrap;gap:40px 24px;opacity:0;animation:fadeIn 1s ease 1.1s forwards;}
.hero-badge{display:flex;align-items:center;gap:12px;}
.hero-badge svg{width:16px;height:16px;color:var(--amber);}
.hero-badge span{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:var(--fg-60);}
@keyframes maskReveal{to{transform:translateY(0);}}
@keyframes fadeIn{to{opacity:1;}}
@keyframes fadeUp{to{opacity:1;transform:none;}}

/* ---------- Marquee ---------- */
.marquee-wrap{background:var(--pine);padding:24px 0;overflow:hidden;border-top:1px solid var(--pine-deep);border-bottom:1px solid var(--pine-deep);}
.marquee-track{display:flex;width:max-content;animation:marqueeScroll 32s linear infinite;}
.marquee-item{display:flex;align-items:center;gap:64px;margin-right:64px;}
.marquee-item span{font-family:var(--font-serif);font-style:italic;font-size:1.5rem;color:rgba(255,255,255,.9);white-space:nowrap;}
@media(min-width:768px){.marquee-item span{font-size:1.75rem;}}
.marquee-item svg{width:18px;height:18px;color:var(--amber-bright);flex-shrink:0;}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Section heading ---------- */
.section-heading{margin-bottom:64px;}
@media(min-width:768px){.section-heading{margin-bottom:80px;}}
.section-heading-top{display:flex;align-items:baseline;gap:16px;margin-bottom:24px;}
.section-index{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.25em;color:var(--amber);}
.section-heading.on-dark .section-index{color:var(--amber-bright);}
.section-overline{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.25em;color:var(--muted);}
.section-heading.on-dark .section-overline{color:rgba(255,255,255,.6);}
.section-title{font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.03em;line-height:1.05;max-width:42rem;color:var(--pine);}
.section-heading.on-dark .section-title{color:#fff;}

/* ---------- Services (bento) ---------- */
.services-grid{display:grid;grid-template-columns:repeat(12,1fr);border:1px solid var(--border);}
.service-card{padding:32px;transition:background-color .3s,transform .3s;grid-column:span 12;}
@media(min-width:768px){
  .service-card{padding:48px;}
  .service-card:nth-child(1){grid-column:span 7;border-right:1px solid var(--border);border-bottom:1px solid var(--border);}
  .service-card:nth-child(2){grid-column:span 5;border-bottom:1px solid var(--border);}
  .service-card:nth-child(3){grid-column:span 4;border-right:1px solid var(--border);}
  .service-card:nth-child(4){grid-column:span 4;border-right:1px solid var(--border);}
  .service-card:nth-child(5){grid-column:span 4;}
}
.service-card:not(:last-child){border-bottom:1px solid var(--border);}
@media(min-width:768px){.service-card:not(:last-child){border-bottom:none;}
  .service-card:nth-child(1),.service-card:nth-child(2){border-bottom:1px solid var(--border);}}
.service-card:hover{background:var(--pine-mist);transform:translateY(-4px);}
.service-icon{width:28px;height:28px;color:var(--amber);margin-bottom:32px;}
.service-title{font-family:var(--font-serif);font-size:1.6rem;letter-spacing:-.02em;color:var(--pine);margin-bottom:16px;}
@media(min-width:640px){.service-title{font-size:1.85rem;}}
.service-desc{font-size:1rem;line-height:1.7;color:var(--fg-70);max-width:32rem;}

/* ---------- Why Us ---------- */
.why-us-item{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:baseline;border-top:1px solid rgba(4,47,28,.15);padding:40px 0;}
@media(min-width:768px){.why-us-item{padding:56px 0;}}
.why-us-num{grid-column:span 3;font-family:var(--font-mono);font-size:2.25rem;color:rgba(4,47,28,.2);transition:color .5s;}
@media(min-width:768px){.why-us-num{grid-column:span 2;font-size:3.5rem;}}
.why-us-item:hover .why-us-num{color:var(--amber);}
.why-us-title{grid-column:span 9;font-family:var(--font-serif);font-size:1.6rem;letter-spacing:-.02em;color:var(--pine);}
@media(min-width:768px){.why-us-title{grid-column:span 4;font-size:1.85rem;}}
.why-us-desc{grid-column:4 / span 9;font-size:1rem;line-height:1.7;color:var(--fg-70);}
@media(min-width:768px){.why-us-desc{grid-column:8 / span 5;}}

/* ---------- Process ---------- */
.process-grid{display:grid;grid-template-columns:1fr;border-top:1px solid var(--border);border-left:1px solid var(--border);}
@media(min-width:768px){.process-grid{grid-template-columns:repeat(4,1fr);}}
.process-step{padding:32px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background-color .3s;}
@media(min-width:768px){.process-step{padding:40px;}}
.process-step:hover{background:var(--pine-mist);}
.process-step-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.25em;color:var(--amber);}
.process-step-title{font-family:var(--font-serif);font-size:1.5rem;letter-spacing:-.02em;color:var(--pine);margin-top:24px;margin-bottom:16px;}
.process-step-desc{font-size:.9rem;line-height:1.7;color:var(--fg-70);}

/* ---------- Pricing ---------- */
.pricing-grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:768px){.pricing-grid{grid-template-columns:repeat(3,1fr);gap:32px;}}
.pricing-card{display:flex;flex-direction:column;padding:32px;border:1px solid var(--border);background:#fff;transition:transform .3s;}
@media(min-width:768px){.pricing-card{padding:40px;}}
.pricing-card:hover{transform:translateY(-4px);}
.pricing-card.featured{background:var(--pine);color:#fff;border-color:var(--pine-deep);box-shadow:0 0 0 1px var(--amber);}
.pricing-badge{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.3em;color:var(--amber-bright);margin-bottom:24px;}
.pricing-name{font-family:var(--font-serif);font-size:1.85rem;letter-spacing:-.02em;color:var(--pine);}
.pricing-card.featured .pricing-name{color:#fff;}
.pricing-price-row{margin-top:24px;display:flex;align-items:baseline;gap:8px;}
.pricing-price{font-family:var(--font-mono);font-size:2.75rem;letter-spacing:-.02em;color:var(--pine);}
.pricing-card.featured .pricing-price{color:var(--amber-bright);}
.pricing-period{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);}
.pricing-card.featured .pricing-period{color:rgba(255,255,255,.6);}
.pricing-blurb{margin-top:16px;font-size:.875rem;line-height:1.7;color:var(--fg-70);}
.pricing-card.featured .pricing-blurb{color:rgba(255,255,255,.7);}
.pricing-features{margin-top:32px;flex:1;display:flex;flex-direction:column;gap:12px;}
.pricing-features li{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;color:var(--fg-70);}
.pricing-card.featured .pricing-features li{color:rgba(255,255,255,.85);}
.pricing-features svg{width:16px;height:16px;margin-top:2px;flex-shrink:0;color:var(--amber);}
.pricing-card.featured .pricing-features svg{color:var(--amber-bright);}
.pricing-card .btn{margin-top:40px;}
.pricing-note{margin-top:40px;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);}
.pricing-note a{color:var(--amber);text-decoration:underline;text-underline-offset:4px;}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:start;}
@media(min-width:1024px){.about-grid{grid-template-columns:5fr 7fr;gap:80px;}}
.about-photo-wrap{position:relative;max-width:22rem;}
.about-photo-frame{position:absolute;top:-16px;left:-16px;width:100%;height:100%;border:1px solid var(--amber);}
.about-photo-wrap img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;}
.about-caption{position:relative;background:var(--pine);color:#fff;padding:24px;margin-top:-1px;}
.about-caption .role{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.3em;color:var(--amber-bright);}
.about-caption .name{font-family:var(--font-serif);font-size:1.3rem;margin-top:8px;}
.about-caption .firm{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.5);margin-top:4px;}
.about-caption .linkedin{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:var(--amber-bright);}
.about-caption .linkedin svg{width:14px;height:14px;}
.about-bio{font-size:1rem;line-height:1.75;color:var(--fg-70);}
@media(min-width:1024px){.about-bio{font-size:1.125rem;}}
.about-bio p{margin-bottom:24px;}
.about-quote{font-family:var(--font-serif);font-size:1.5rem;color:var(--pine);letter-spacing:-.02em;line-height:1.3;}
@media(min-width:640px){.about-quote{font-size:1.85rem;}}
.about-closer{font-family:var(--font-serif);font-size:1.2rem;color:var(--pine);font-style:italic;}

/* ---------- Testimonials ---------- */
.testimonials-grid{display:grid;grid-template-columns:1fr;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15);}
@media(min-width:768px){.testimonials-grid{grid-template-columns:repeat(3,1fr);}}
.testimonial-card{padding:32px;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);transition:background-color .3s;display:flex;flex-direction:column;}
@media(min-width:768px){.testimonial-card{padding:40px;}}
.testimonial-card:hover{background:rgba(255,255,255,.05);}
.testimonial-mark{font-family:var(--font-serif);font-size:3.5rem;line-height:1;color:var(--amber-bright);}
.testimonial-quote{font-family:var(--font-serif);font-size:1.3rem;line-height:1.35;color:rgba(255,255,255,.9);margin-top:8px;flex:1;}
@media(min-width:768px){.testimonial-quote{font-size:1.5rem;}}
.testimonial-rule{margin-top:32px;height:1px;width:40px;background:rgba(245,158,11,.6);}
.trust-badges{margin-top:64px;display:flex;flex-wrap:wrap;gap:24px 48px;}
.trust-badge{display:flex;align-items:center;gap:12px;}
.trust-badge svg{width:20px;height:20px;color:var(--amber-bright);}
.trust-badge span{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.25em;color:rgba(255,255,255,.7);}

/* ---------- FAQ ---------- */
.faq-list{max-width:48rem;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;font-family:var(--font-serif);font-size:1.25rem;letter-spacing:-.02em;color:var(--pine);padding:24px 0;transition:color .3s;}
@media(min-width:768px){.faq-question{font-size:1.5rem;}}
.faq-question:hover{color:var(--amber);}
.faq-question svg{width:18px;height:18px;flex-shrink:0;transition:transform .3s;color:var(--amber);}
.faq-item.open .faq-question svg{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-answer-inner{font-size:1rem;line-height:1.7;color:var(--fg-70);padding-bottom:24px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--pine-deep);color:#fff;}
.footer-cta-label{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.3em;color:var(--amber-bright);margin-bottom:32px;}
.footer-cta{display:inline-flex;align-items:center;font-family:var(--font-serif);font-size:clamp(3rem,14vw,7rem);line-height:.9;letter-spacing:-.03em;color:#fff;transition:color .5s;}
.footer-cta:hover{color:var(--amber-bright);}
.footer-cta svg{width:.55em;height:.55em;margin-left:16px;color:var(--amber-bright);transition:transform .5s;flex-shrink:0;}
.footer-cta:hover svg{transform:translate(8px,-8px);}
.footer-grid{margin-top:96px;display:grid;grid-template-columns:1fr;gap:48px;border-top:1px solid rgba(255,255,255,.15);padding-top:48px;}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(3,1fr);}}
.footer-brand{font-family:var(--font-serif);font-size:1.5rem;letter-spacing:-.02em;}
.footer-brand-sub{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.25em;color:rgba(255,255,255,.5);margin-top:4px;}
.footer-blurb{margin-top:24px;font-size:.875rem;line-height:1.7;color:rgba(255,255,255,.6);max-width:20rem;}
.footer-col-label{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.3em;color:rgba(255,255,255,.5);margin-bottom:24px;}
.footer-link{display:block;font-size:.875rem;color:rgba(255,255,255,.8);transition:color .3s;margin-top:12px;}
.footer-link:first-of-type{margin-top:0;}
.footer-link:hover{color:var(--amber-bright);}
.footer-link.linkedin{display:inline-flex;align-items:center;gap:8px;}
.footer-link svg{width:16px;height:16px;}
.footer-bottom{margin-top:64px;padding-top:32px;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;gap:16px;justify-content:space-between;}
@media(min-width:640px){.footer-bottom{flex-direction:row;}}
.footer-bottom p{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.4);}

/* ---------- Book Call Modal ---------- */
.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(2,28,16,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:24px;}
.modal-overlay.open{display:flex;}
.modal-content{position:relative;width:100%;max-width:32rem;max-height:90vh;overflow-y:auto;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);border:1px solid var(--border);padding:40px;}
.modal-close{position:absolute;top:16px;right:16px;padding:8px;color:var(--fg-60);}
.modal-close svg{width:20px;height:20px;}
.modal-title{font-family:var(--font-serif);font-size:1.85rem;letter-spacing:-.02em;color:var(--pine);}
.modal-desc{margin-top:8px;color:var(--fg-60);font-size:.95rem;}
.lead-form{margin-top:24px;display:flex;flex-direction:column;gap:20px;}
.form-row{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:540px){.form-row{grid-template-columns:1fr 1fr;}}
.form-group label{display:block;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;margin-bottom:8px;color:var(--fg);}
.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid var(--border);padding:12px 14px;font-family:var(--font-sans);font-size:.9rem;background:#fff;color:var(--fg);}
.form-group textarea{resize:vertical;min-height:100px;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--pine);outline-offset:1px;}
.form-note{text-align:center;font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);}
.form-error{color:#b91c1c;font-size:.85rem;text-align:center;display:none;}
.form-error.show{display:block;}
.lead-success{display:none;text-align:center;padding:40px 0;}
.lead-success.show{display:block;}
.lead-success svg{width:48px;height:48px;color:var(--amber);margin:0 auto 24px;}
.lead-success h3{font-family:var(--font-serif);font-size:1.85rem;color:var(--pine);letter-spacing:-.02em;}
.lead-success p{margin-top:16px;color:var(--fg-70);max-width:24rem;margin-left:auto;margin-right:auto;line-height:1.6;}
.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none;}
.btn.loading .spinner{display:inline-block;}
.btn.loading .btn-label,.btn.loading svg:not(.spinner){display:none;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ---------- Legal pages ---------- */
.legal-wrap{padding:160px 24px 96px;max-width:44rem;margin:0 auto;}
.legal-wrap h1{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);color:var(--pine);letter-spacing:-.02em;}
.legal-updated{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-top:16px;}
.legal-wrap h2{font-family:var(--font-serif);font-size:1.5rem;color:var(--pine);margin-top:40px;margin-bottom:16px;}
.legal-wrap p{font-size:1rem;line-height:1.75;color:var(--fg-70);margin-bottom:16px;}
