/* Option A, contractors page. Builds on option-a.css (tokens, bar, kicker, FAQ, form, footer). */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#0c1a15}
.con-page *,.con-page *::before,.con-page *::after{box-sizing:border-box}
.con-page{min-height:100vh;overflow-x:clip}
.con-page h1{margin:0;font:400 clamp(40px,4.6vw,74px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.045em}
.con-page h1 em{font-style:italic;color:var(--gold)}
.con-page h3{margin:0}
.c-text{font-size:17px;color:var(--muted);max-width:560px;margin-top:18px!important}

/* Buttons */
.c-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.c-btn{display:inline-flex;align-items:center;gap:28px;min-height:52px;padding:0 22px;background:#d9bd86;color:#18221a;font-weight:600;font-size:15px;text-decoration:none;border-radius:2px}
.c-btn:hover{background:#e6cb95}
.con-page .c-btn{color:#18221a}
.c-btn-line{display:inline-flex;align-items:center;min-height:52px;padding:0 22px;border:1px solid #e0c58f80;color:#f3f1e6;font-weight:500;font-size:15px;text-decoration:none;border-radius:2px}
.c-btn-line:hover{border-color:var(--gold);color:var(--gold)}
.con-page .c-btn-line{color:#f3f1e6}
.con-page .c-btn-line:hover{color:var(--gold)}

/* Photo with the gold offset block (a nod to the current site's framed photos) */
.c-offset{position:relative;margin:0;isolation:isolate}
.c-offset::before{content:'';position:absolute;z-index:-1;left:-18px;top:-18px;width:55%;height:calc(100% - 4px);background:#b38a3e;border-radius:4px}
.c-offset img,.c-how-img img,.c-fund-img img{display:block;width:100%;height:auto;border-radius:4px;background:#d9d4c6}

/* Hero */
.c-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:7%;align-items:center;padding:clamp(56px,8vh,96px) max(6.5%,24px) clamp(64px,9vh,104px);background:var(--green);color:#f3f1e6}
.c-hero .file-kicker{color:#d7c08f}
.c-hero .file-lede{color:#d7dacd;max-width:560px}
.c-facts{list-style:none;margin:40px 0 0;padding:22px 0 0;display:flex;flex-wrap:wrap;gap:12px 34px;border-top:1px solid #e0c58f33;font-size:15px;color:#c9cdbf}
.c-facts b{color:var(--gold);font-weight:600}
.c-hero-img{max-width:520px;justify-self:end;width:100%}

/* 01 Why */
.c-why{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8%;align-items:center;background:var(--paper)}
.c-why-img{max-width:480px;width:100%;justify-self:start;margin-left:18px}
.c-pull{margin:34px 0 0;padding:4px 0 4px 22px;border-left:3px solid var(--gold-ink);font:italic 400 clamp(22px,2vw,28px)/1.3 Georgia,serif;letter-spacing:-.015em;color:var(--ink)}
.c-note{margin-top:30px!important;padding-top:18px;border-top:1px solid var(--line);font-size:15px;color:var(--muted);max-width:560px}
.c-note b{color:var(--ink);font-weight:600}

/* 02 How */
.c-how{background:var(--green);color:#f3f1e6}
.c-how h2 em{color:var(--gold)}
.c-how .file-kicker{color:#d7c08f}
.c-how-head{margin-bottom:44px}
.c-how .file-lede{color:#d7dacd}
@media(min-width:1101px){
  .file-page .c-how{padding-top:88px;padding-bottom:96px}
  .c-how-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px}
  .c-how-head .file-lede{flex:0 1 420px;margin:0 0 8px!important}
  .c-how .c-how-grid{align-items:stretch}
  .c-how-img{position:relative;min-height:420px}
  .c-how-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
}
.c-how-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:start}
.c-how-img{margin:0}
.c-steps{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid #e0c58f33}
.c-steps li{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #e0c58f33}
.c-step-no{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;font:400 20px/1 Georgia,serif;color:var(--gold)}
.c-steps b{display:block;font:400 22px/1.25 Georgia,serif;letter-spacing:-.015em;color:#fffdf5}
.c-steps p{margin-top:6px!important;font-size:15.5px;line-height:1.6;color:#c9cdbf}
.c-who{display:inline-block;margin-bottom:8px;padding:3px 8px 2px;border-radius:2px;background:#e0c58f;color:#13241d;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.c-you .c-who{background:none;color:#e4e6dc;box-shadow:inset 0 0 0 1px #e4e6dc80}
.c-you .c-step-no{border-color:#e4e6dc99;color:#e4e6dc}

/* 03 Help */
.c-help{background:var(--paper)}
.c-help-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:end;margin-bottom:48px}
.c-help-head .file-lede{margin:0!important;justify-self:end}
.c-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.c-cards li{padding:24px 22px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbf9f2}
.c-cards svg,.c-claim-grid svg{width:30px;height:30px;fill:none;stroke:var(--gold-ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.c-cards b{display:block;margin-top:16px;font:400 19px/1.25 Georgia,serif;letter-spacing:-.01em;color:var(--ink)}
.c-cards p{margin-top:6px!important;font-size:14.5px;line-height:1.55;color:var(--muted)}

/* 04 Funding */
.c-fund{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:6%;align-items:center;background:var(--green-2);color:#f3f1e6}
.c-fund h2 em{color:var(--gold)}
.c-fund .file-kicker{color:#d7c08f}
.c-fund .file-lede{color:#d7dacd}
.c-fund-list{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:14px}
.c-fund-list li{padding-left:26px;position:relative;font-size:16px;color:#d7dacd}
.c-fund-list li::before{content:'';position:absolute;left:0;top:.45em;width:12px;height:12px;border:1.5px solid var(--gold);border-radius:50%}
.c-fund-list b{color:#fffdf5;font-weight:600}
.c-fine{margin-top:24px!important;font-size:12.5px;color:#9aa596}
.c-fund-img{margin:0}

/* 05 Claims */
.c-claims{background:var(--paper)}
.c-claims-head{margin-bottom:44px}
.c-claim-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.c-claim-grid article{padding:28px 30px 30px 0;border-bottom:1px solid var(--line)}
.c-claim-grid article:not(:nth-child(3n+1)){padding-left:30px;border-left:1px solid var(--line)}
.c-claim-grid h3{margin-top:14px;font:400 23px/1.25 Georgia,serif;letter-spacing:-.015em;color:var(--ink)}
.c-claim-grid p{margin-top:8px!important;font-size:15px;line-height:1.6;color:var(--muted)}
.c-banner{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:48px;padding:28px 32px;background:var(--green);color:#e4e6dc;border-radius:4px}
.c-banner p{font:400 clamp(19px,1.6vw,23px)/1.4 Georgia,serif;max-width:760px}
.c-banner b{color:var(--gold);font-weight:400;font-style:italic}
.c-banner .c-btn{flex:none}

/* Responsive */
@media(max-width:1180px){
  .c-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1100px){
  .c-hero,.c-why,.c-fund{grid-template-columns:1fr;gap:56px}
  .c-hero-img,.c-why-img{justify-self:start;max-width:460px}
  .c-why-img{order:2}
  .c-how-grid{grid-template-columns:1fr;gap:40px}
  .c-help-head{grid-template-columns:1fr;gap:0}
  .c-help-head .file-lede{justify-self:start;margin-top:20px!important}
  .c-claim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-claim-grid article{padding:26px 26px 28px 0!important;border-left:0!important}
  .c-claim-grid article:nth-child(2n){padding-left:26px!important;border-left:1px solid var(--line)!important}
}
@media(max-width:900px){
      .c-banner{flex-direction:column;align-items:flex-start}
}
@media(max-width:640px){
  .c-hero{padding:48px 20px 64px}
  .con-page h1{font-size:clamp(34px,9.6vw,44px)}
  .c-facts{flex-direction:column;gap:8px}
  .c-actions{flex-direction:column}
  .c-btn,.c-btn-line{justify-content:space-between}
  .c-offset::before{left:-10px;top:-10px}
  .c-hero-img,.c-why-img{margin-left:10px;width:calc(100% - 10px)}
  .c-cards{grid-template-columns:1fr 1fr}
  .c-cards li{padding:18px 14px 20px}
  .c-cards b{font-size:17px}
  .c-claim-grid{grid-template-columns:1fr}
  .c-claim-grid article{padding:22px 0 24px!important;border-left:0!important}
  .c-steps li{grid-template-columns:40px 1fr;gap:14px}
  .c-step-no{width:36px;height:36px;font-size:17px}
    .c-banner{padding:22px 20px}
}
@media(max-width:380px){
  .c-cards{grid-template-columns:1fr}
}

/* ---------- Motion ----------
   html.motion is set in the head only when the visitor has not asked for reduced motion.
   Without it (or without the script) every element is simply visible. */
.con-page{--ease:cubic-bezier(.2,.75,.2,1)}
.c-l{display:block;overflow:hidden;padding:0 .12em .1em 0;margin-bottom:-.1em}
.c-l>*{display:block}
.c-l>em{display:inline-block}
.c-steps-box{position:relative}
.c-rail{position:absolute;left:21px;top:0;height:0;width:2px;background:#e0c58f26;pointer-events:none}
.c-rail i{display:block;width:100%;height:0;background:linear-gradient(#e0c58f,#b38a3e)}
.c-step-no{position:relative;z-index:1;background:var(--green);transition:background .45s var(--ease),color .45s,border-color .45s,transform .45s var(--ease)}
.c-steps li.lit .c-step-no{background:var(--gold);border-color:var(--gold);color:#13241d;transform:scale(1.08)}
.c-steps li.c-you.lit .c-step-no{background:#e4e6dc;border-color:#e4e6dc;color:#13241d}
.c-steps li b,.c-steps li p{transition:color .45s}
.motion .c-steps li:not(.lit) b{color:#c9cdbf}
.motion .c-steps li:not(.lit) p{color:#9aa596}

/* Moving band */
.c-marquee{overflow:hidden;background:#0c1a15;border-top:1px solid #e0c58f26;border-bottom:1px solid #e0c58f26;padding:16px 0}
.c-marquee-track{display:flex;width:max-content}
.c-marquee-run{display:flex;margin:0;padding:0;list-style:none}
.c-marquee-run li{display:flex;align-items:center;gap:30px;padding-right:30px;font:italic 400 clamp(18px,1.6vw,24px)/1.2 Georgia,serif;color:#e4e6dc;white-space:nowrap}
.c-marquee-run li::after{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold)}
.motion .c-marquee-track{animation:c-marquee 38s linear infinite}
.c-marquee:hover .c-marquee-track{animation-play-state:paused}
@keyframes c-marquee{to{transform:translateX(-50%)}}

/* Hero entrance */
.motion .c-hero .file-kicker{animation:c-fade .7s var(--ease) .05s both}
.motion .c-l>*{animation:c-rise 1s var(--ease) both}
.motion .c-l:nth-child(1)>*{animation-delay:.12s}
.motion .c-l:nth-child(2)>*{animation-delay:.24s}
.motion .c-l:nth-child(3)>*{animation-delay:.4s}
.c-hero h1 em{background:linear-gradient(var(--gold),var(--gold)) no-repeat 0 94%/100% 2px;padding-bottom:.04em}
.motion .c-hero h1 em{animation:c-rise 1s var(--ease) .4s both,c-underline .9s var(--ease) 1.2s both}
.motion .c-hero .file-lede{animation:c-up .8s var(--ease) .6s both}
.motion .c-actions{animation:c-up .8s var(--ease) .75s both}
.motion .c-facts li{animation:c-up .7s var(--ease) both}
.motion .c-facts li:nth-child(1){animation-delay:.95s}
.motion .c-facts li:nth-child(2){animation-delay:1.05s}
.motion .c-facts li:nth-child(3){animation-delay:1.15s}
.c-hero-img{overflow:visible}
.motion .c-hero-img::before{transform-origin:50% 0;animation:c-grow 1s var(--ease) .25s both}
.motion .c-hero-img img{animation:c-wipe 1.2s var(--ease) .35s both,c-breathe 16s ease-in-out 1.6s infinite alternate}
@keyframes c-fade{from{opacity:0}}
@keyframes c-rise{from{transform:translateY(105%)}}
@keyframes c-up{from{opacity:0;transform:translateY(18px)}}
@keyframes c-grow{from{transform:scaleY(0)}}
@keyframes c-wipe{from{clip-path:inset(0 0 100% 0);scale:1.12}to{clip-path:inset(0);scale:1}}
@keyframes c-breathe{from{scale:1}to{scale:1.04}}
@keyframes c-underline{from{background-size:0% 2px}}

/* Scroll reveals (the script marks the elements) */
.motion [data-reveal]{opacity:0;translate:0 28px;transition:opacity .75s var(--ease) var(--d,0ms),translate .9s var(--ease) var(--d,0ms)}
.motion [data-reveal].in{opacity:1;translate:0 0}
.motion [data-reveal="left"]{translate:-24px 0}
.motion [data-reveal="left"].in{translate:0 0}
.motion [data-reveal="wipe"]{opacity:1;translate:0 0}
.motion [data-reveal="wipe"] img{clip-path:inset(0 0 100% 0);scale:1.14;transition:clip-path 1.15s var(--ease) var(--d,0ms),scale 1.8s var(--ease) var(--d,0ms)}
.motion [data-reveal="wipe"].in img{clip-path:inset(0);scale:1}
.motion .c-offset[data-reveal]::before{transform:scaleY(0);transform-origin:50% 0;transition:transform 1s var(--ease) calc(var(--d,0ms) + .15s)}
.motion .c-offset[data-reveal].in::before{transform:none}

/* Parallax: the script sets --py (gold blocks) and --iy (photos inside a frame) */
.c-offset::before{translate:0 var(--py,0)}
.c-fund-img{overflow:hidden;border-radius:4px}
.c-fund-img img{translate:0 var(--iy,0);scale:1.1}
.motion .c-fund-img[data-reveal="wipe"].in img{scale:1.1}

/* Icons draw themselves */
.c-cards svg *,.c-claim-grid svg *{stroke-dasharray:1 0}
.motion .c-cards svg *,.motion .c-claim-grid svg *{stroke-dasharray:1}
.motion [data-reveal] svg *{stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease) calc(var(--d,0ms) + .25s)}
.motion [data-reveal].in svg *{stroke-dashoffset:0}
@keyframes c-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

/* Hover */
.c-cards li,.c-claim-grid article{transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s}
.c-cards li:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px #152b2399;background:#fffdf7;position:relative;z-index:1}
.c-claim-grid article:hover{background:#f6f2e7}
.motion .c-cards li:hover svg *,.motion .c-claim-grid article:hover svg *{animation:c-draw .8s var(--ease) both}
.c-btn span,.file-bar-cta span,.file-submit span{display:inline-block;transition:transform .3s var(--ease)}
.c-btn:hover span,.file-bar-cta:hover span,.file-submit:hover span{transform:translate(3px,-3px)}
.c-btn,.c-btn-line{transition:background .25s,border-color .25s,color .25s,transform .25s var(--ease)}
.c-btn:active,.c-btn-line:active{transform:scale(.98)}
.c-banner{position:relative;overflow:hidden}
.c-banner::after{content:'';position:absolute;top:0;bottom:0;left:-30%;width:30%;background:linear-gradient(100deg,transparent,#e0c58f1f,transparent);pointer-events:none}
.motion .c-banner.in::after{animation:c-sheen 2.4s var(--ease) .6s both}
@keyframes c-sheen{to{left:110%}}

@media(prefers-reduced-motion:reduce){
  .c-marquee-track{animation:none!important}
}
