/* Brightline Tax Relief. Generated by build.py; edit build.py, not this file. */
/* Palette v2 (Mike's 2026-09-16 notes): soft blue-gray + light sage, orange kept,
   near-black retired. Slate replaces ink for grounded sections. */
:root{
  --ink:#43536D;          /* soft slate blue-gray: nav, footer, impact sections */
  --ink-2:#4E5F7B;        /* raised panel on slate */
  --ink-3:#5F7090;        /* borders on slate */
  --deep:#26334B;         /* darkest tone in use (button text on gold) */
  --ground:#F7F9FB;       /* light cool gray: page ground */
  --panel:#EAF0E6;        /* light sage: alt sections */
  --panel-blue:#E7EDF4;   /* soft blue-gray: hero + page headers */
  --text:#2B3648;
  --dim:#5D6979;
  --dim-dark:#CCD6E4;     /* muted text on slate */
  --line:#DCE3EA;
  --gold:#E9A83B;
  --gold-2:#F6C860;
  --gold-text:#96620F;    /* accessible amber for small gold text on light */
  --grad:linear-gradient(90deg,#F6C860 0%,#E9A83B 55%,#DE8B26 100%);
  --grad-text:linear-gradient(100deg,#DE9422,#AD6E12);
  --serif:"Poppins",-apple-system,"Segoe UI",sans-serif;   /* display face (var name kept) */
  --sans:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --maxw:1180px;
  --r:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--ground);color:var(--text);
     font-size:16px;line-height:1.68;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* ---- type ---- */
h1,h2,h3,.serif{font-family:var(--serif);font-weight:600;letter-spacing:-.015em}
h1{font-size:clamp(36px,4.6vw,62px);line-height:1.1;text-wrap:balance}
h2{font-size:clamp(27px,3vw,40px);line-height:1.16;text-wrap:balance}
h3{font-size:20px;line-height:1.3}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
         color:var(--gold-text);display:flex;align-items:center;gap:14px;margin-bottom:22px}
.eyebrow::before{content:"";width:44px;height:2px;background:var(--grad);border-radius:2px}
.dark .eyebrow{color:var(--gold-2)}
.lead{font-size:18px;color:var(--dim);max-width:58ch}
.dark .lead{color:var(--dim-dark)}

/* ---- the bright line motif ---- */
.bline{height:2px;background:var(--grad);border-radius:2px;border:0}

/* ---- nav ---- */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;background:rgba(67,83,109,.9);
     backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
     border-bottom:1px solid rgba(255,255,255,.1)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;flex-direction:column;line-height:1;color:#fff}
.brand .bname{font-family:var(--serif);font-size:22px;font-weight:650;letter-spacing:-.02em}
.brand .bname i{font-style:normal;color:var(--gold-2)}
.brand .bsub{font-size:9px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;
             color:var(--dim-dark);margin-top:5px}
.navlinks{display:flex;align-items:center;gap:34px;list-style:none}
.navlinks a{color:#E3E9F2;font-size:14.5px;font-weight:500;position:relative;padding:6px 0}
.navlinks a:hover{color:#fff}
.navlinks a.active{color:#fff}
.navlinks a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
                          background:var(--grad);border-radius:2px}
.navcall{display:inline-flex;align-items:center;gap:9px;background:var(--grad);color:var(--deep);
         font-weight:700;font-size:14.5px;padding:11px 20px;border-radius:999px;
         transition:transform .18s ease,box-shadow .18s ease;white-space:nowrap}
.navcall:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(233,168,59,.4)}
.navcall .ic{width:16px;height:16px}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;
             border-radius:2px;transition:.25s}
.mobile-menu{display:none;position:fixed;inset:76px 0 auto 0;z-index:59;background:var(--ink);
             border-bottom:1px solid var(--ink-3);padding:10px 0 26px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:14px 28px;color:#E3E9F2;font-size:17px;font-weight:500}
.mobile-menu a.active{color:var(--gold-2)}

/* ---- hero ---- */
.hero{background:var(--panel-blue);color:var(--text);position:relative;overflow:hidden;
      padding:196px 0 120px}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(52% 44% at 78% 6%,rgba(233,168,59,.16),transparent 62%),
    radial-gradient(40% 36% at 8% 88%,rgba(133,152,122,.16),transparent 60%)}
.hero .wrap{position:relative}
.hero h1{color:var(--text);max-width:16ch}
.hero h1 em{font-style:normal;font-weight:700;
  background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{margin:28px 0 40px}
.hero-line{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--grad);
           transform-origin:left;animation:drawline 1.4s .3s cubic-bezier(.2,.7,.2,1) both}
@keyframes drawline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15.5px;
     white-space:nowrap;padding:16px 30px;border-radius:999px;transition:transform .18s,box-shadow .18s;cursor:pointer;border:0}
.btn-gold{background:var(--grad);color:var(--deep)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(233,168,59,.45)}
.btn-ghost{border:1px solid rgba(38,51,75,.32);color:var(--text);background:transparent}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-text)}
.dark .btn-ghost{border:1px solid rgba(255,255,255,.32);color:#fff}
.dark .btn-ghost:hover{border-color:var(--gold-2);color:var(--gold-2)}
.btn-ghost .ic{width:17px;height:17px}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(67,83,109,.4)}
.trust-chips{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:56px;padding-top:30px;
             border-top:1px solid rgba(38,51,75,.14);list-style:none}
.trust-chips li{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--dim);font-weight:600}
.trust-chips .ic{width:15px;height:15px;color:var(--gold-text)}

/* ---- sections ---- */
section{padding:104px 0}
.sec-panel{background:var(--panel)}
.sec-blue{background:var(--panel-blue)}
.dark{background:var(--ink);color:#fff}
.dark h2,.dark h3{color:#fff}
.sechead{max-width:760px;margin-bottom:64px}
.sechead.center{margin-inline:auto;text-align:center}
.sechead.center .eyebrow{justify-content:center}
.sechead.center .eyebrow::before{display:none}
.sechead p{margin-top:18px}

/* ---- manifesto ---- */
.manifesto{padding:118px 0}
.manifesto .big{font-family:var(--serif);font-size:clamp(25px,2.7vw,38px);line-height:1.34;
                font-weight:600;max-width:26ch;letter-spacing:-.01em}
.manifesto .big em{font-style:normal;color:var(--gold-text);white-space:nowrap}
.manifesto-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:start}
.manifesto-side p{color:var(--dim);margin-bottom:18px}
.manifesto-side .bline{width:56px;margin-bottom:26px}

/* ---- steps ---- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:step;
       border-top:1px solid rgba(67,83,109,.16)}
.step{padding:44px 36px 8px 0;position:relative}
.step+.step{border-left:1px solid rgba(67,83,109,.16);padding-left:36px}
.step .n{font-family:var(--serif);font-weight:600;font-size:14px;color:var(--gold-text);
         letter-spacing:.1em;display:block;margin-bottom:18px}
.step h3{margin-bottom:14px}
.step p{color:var(--dim);font-size:15px}
.step::before{content:"";position:absolute;top:-1px;left:0;width:44px;height:2px;background:var(--grad)}
.step+.step::before{left:36px}

/* ---- services ---- */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);
          padding:40px 38px 36px;position:relative;overflow:hidden;
          transition:transform .22s ease,box-shadow .22s ease}
.svc-card::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad);
                 transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(43,54,72,.1)}
.svc-card:hover::after{transform:scaleX(1)}
.svc-card .ic{width:26px;height:26px;color:var(--gold-text);margin-bottom:22px}
.svc-card h3{margin-bottom:6px}
.svc-card .tag{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--gold-text);
               display:block;margin-bottom:14px}
.svc-card p{color:var(--dim);font-size:15px}
.svc-card .more{display:inline-flex;align-items:center;gap:7px;margin-top:20px;font-size:14px;
                font-weight:700;color:var(--ink)}
.svc-card .more::after{content:"→";transition:transform .18s}
.svc-card:hover .more::after{transform:translateX(4px)}

/* ---- why ---- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.why-card{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--r);padding:38px 34px}
.why-card .ic{width:24px;height:24px;color:var(--gold-2);margin-bottom:20px}
.why-card h3{margin-bottom:12px;font-size:19px}
.why-card p{color:var(--dim-dark);font-size:14.5px}

/* ---- human band ---- */
.human-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.human-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.human-photos figure{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;position:relative}
.human-photos img{width:100%;height:100%;object-fit:cover}
.human-photos figure:nth-child(2){transform:translateY(28px)}
.human-copy h2{margin-bottom:20px}
.human-copy p{color:var(--dim);margin-bottom:16px}

/* ---- faq ---- */
.faq-list{max-width:820px;margin:0 auto}
details.qa{border-bottom:1px solid rgba(67,83,109,.18)}
details.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;
  align-items:center;gap:24px;padding:26px 4px;font-family:var(--serif);font-size:17.5px;
  font-weight:600;letter-spacing:-.01em}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary .tick{flex:none;width:30px;height:30px;border:1px solid rgba(67,83,109,.3);
  border-radius:50%;display:grid;place-items:center;font-family:var(--sans);font-size:16px;
  font-weight:500;color:var(--dim);transition:.22s}
details.qa[open] summary .tick{background:var(--ink);border-color:var(--ink);color:var(--gold-2);
  transform:rotate(45deg)}
details.qa .a{padding:0 56px 28px 4px;color:var(--dim)}
.faq-cta{text-align:center;margin-top:48px}

/* ---- cta band ---- */
.cta-band{text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(46% 60% at 50% 0%,rgba(246,200,96,.18),transparent 65%)}
.cta-band .wrap{position:relative}
.cta-band h2{max-width:24ch;margin:0 auto 18px}
.cta-band .lead{margin:0 auto 40px;max-width:48ch}
.cta-band .cta-row{justify-content:center}
.cta-note{margin-top:26px;font-size:13.5px;color:var(--dim-dark)}

/* ---- page head (interior) ---- */
.pagehead{background:var(--panel-blue);color:var(--text);padding:186px 0 88px;
          position:relative;overflow:hidden}
.pagehead::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(50% 60% at 82% 10%,rgba(233,168,59,.15),transparent 60%),
    radial-gradient(36% 44% at 6% 92%,rgba(133,152,122,.14),transparent 60%)}
.pagehead .wrap{position:relative}
.pagehead h1{font-size:clamp(33px,3.9vw,54px);color:var(--text);max-width:22ch}
.pagehead .lead{margin-top:22px}

/* ---- services page ---- */
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding:84px 0}
.svc-row+.svc-row{border-top:1px solid var(--line)}
.svc-row figure{border-radius:var(--r);overflow:hidden;aspect-ratio:3/2}
.svc-row img{width:100%;height:100%;object-fit:cover}
.svc-row:nth-child(even) figure{order:2}
.svc-row .n{font-family:var(--serif);font-weight:600;color:var(--gold-text);font-size:14px;
            letter-spacing:.1em;display:block;margin-bottom:16px}
.svc-row h2{font-size:clamp(24px,2.3vw,32px);margin-bottom:8px}
.svc-row .tag{font-size:13.5px;font-weight:700;color:var(--gold-text);display:block;margin-bottom:18px}
.svc-row p{color:var(--dim)}
.svc-row .btn{margin-top:28px}

/* ---- contact ---- */
.contact-grid{display:grid;grid-template-columns:1fr .78fr;gap:64px;align-items:start}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);
           padding:44px 42px;box-shadow:0 24px 60px rgba(43,54,72,.09)}
.form-card h3{margin-bottom:8px}
.form-card .sub{color:var(--dim);font-size:14.5px;margin-bottom:30px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border:1px solid var(--line);
  border-radius:9px;font-family:var(--sans);font-size:15px;background:var(--ground);color:var(--text);
  transition:border-color .18s,box-shadow .18s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(233,168,59,.22)}
.field textarea{min-height:110px;resize:vertical}
.form-card .btn{width:100%;justify-content:center;margin-top:8px}
.form-note{font-size:12.5px;color:var(--dim);margin-top:16px;text-align:center}
.form-ok{display:none;text-align:center;padding:40px 0}
.form-ok .serif{font-size:24px;margin-bottom:10px}
.form-ok p{color:var(--dim)}
.contact-side .eyebrow{margin-bottom:18px}
.contact-side h2{margin-bottom:20px}
.contact-side p{color:var(--dim);margin-bottom:16px}
.call-card{background:var(--ink);color:#fff;border-radius:var(--r);padding:34px;margin-top:34px}
.call-card .lbl{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim-dark);
                margin-bottom:10px}
.call-card a.num{font-family:var(--serif);font-weight:600;font-size:27px;color:var(--gold-2)}
.call-card p{color:var(--dim-dark);font-size:14px;margin:12px 0 0}

/* ---- footer ---- */
footer{background:var(--ink);color:var(--dim-dark);padding:72px 0 44px}
.foot-grid{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap;
           padding-bottom:44px;border-bottom:1px solid var(--ink-3)}
.foot-brand .bname{font-family:var(--serif);font-weight:650;font-size:22px;color:#fff;
                   letter-spacing:-.02em}
.foot-brand .bname i{font-style:normal;color:var(--gold-2)}
.foot-brand .bsub{font-size:9px;letter-spacing:.34em;text-transform:uppercase;margin-top:6px}
.foot-brand .fphone{display:inline-block;margin-top:22px;font-family:var(--serif);font-weight:600;
                    font-size:19px;color:#fff}
.foot-brand .fphone:hover{color:var(--gold-2)}
.foot-nav{display:flex;gap:60px}
.foot-nav .col h4{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#fff;
                  font-family:var(--sans);font-weight:700;margin-bottom:16px}
.foot-nav .col a{display:block;font-size:14.5px;padding:5px 0;color:var(--dim-dark)}
.foot-nav .col a:hover{color:#fff}
.foot-legal{padding-top:30px;font-size:12.5px;line-height:1.7;color:#B9C4D4}
.foot-legal .row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:18px}

/* ---- reveal ---- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .hero-line{animation:none}
  html{scroll-behavior:auto}
}

/* ---- responsive ---- */
@media (max-width:980px){
  section{padding:78px 0}
  .navlinks{display:none}
  .burger{display:block}
  .nav .navcall{display:none}
  .steps{grid-template-columns:1fr;border-top:0}
  .step{border-top:1px solid rgba(67,83,109,.16);padding:36px 0 8px}
  .step+.step{border-left:0;padding-left:0}
  .step+.step::before{left:0}
  .svc-grid,.why-grid{grid-template-columns:1fr}
  .manifesto-grid,.human-grid,.contact-grid{grid-template-columns:1fr;gap:44px}
  .svc-row{grid-template-columns:1fr;gap:34px;padding:64px 0}
  .svc-row:nth-child(even) figure{order:0}
  .hero{padding:150px 0 88px}
  .human-photos figure:nth-child(2){transform:translateY(16px)}
  .frow{grid-template-columns:1fr}
  .foot-nav{gap:40px}
}

/* ---- v3 single-page additions ---- */
section[id]{scroll-margin-top:92px}
.svc-card .n{font-family:var(--serif);font-weight:600;font-size:13px;color:var(--gold-text);
             letter-spacing:.1em;display:block;margin-bottom:12px}
