body.gated main>section:not(#picker),body.gated .foot,body.gated .nav-links{display:none!important}
body.gated #picker{min-height:100vh}
.is-off{display:none!important}
.pk-two{position:relative;z-index:2;max-width:1000px;padding:0 clamp(20px,5vw,64px)}
.pk-q{font-size:clamp(28px,5vw,60px);line-height:1.05;margin:12px 0 28px;font-weight:800;letter-spacing:-.03em}
.pk-opts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}
.pk-opt,.fy-chip{font:inherit;font-weight:600;color:#FFFFD8;background:transparent;border:1.5px solid rgba(255,255,216,.35);border-radius:999px;padding:14px 24px;cursor:pointer;transition:.2s}
.pk-opt:hover,.fy-chip:hover{border-color:#F03838}
.pk-opt[aria-pressed=true],.fy-chip[aria-pressed=true]{background:#F03838;border-color:#F03838;color:#fff}
#pk-show[disabled]{opacity:.35;pointer-events:none}
.fy-sec{padding:120px 0 0}
.fy{padding:0 var(--pad)}
.fy h2{font-size:clamp(40px,6vw,92px);line-height:1.02;letter-spacing:-.06em;font-weight:800;margin:14px 0 22px;max-width:15ch}
.fy p.fy-p{font-size:clamp(17px,2vw,22px);max-width:720px;opacity:.85;line-height:1.6}
.fy-also{margin-top:14px;color:#F03838;font-weight:600}
.fy-act{margin:28px 0}
.fy-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fy-chips small{opacity:.6;margin-right:6px}
.fy-chip{padding:8px 16px;font-size:14px}
#picker .stage-title{font-size:clamp(34px,5.4vw,92px)!important;max-width:16ch}

#picker .btn-red{position:relative;z-index:3;background:#FFFFD8;color:#1B1B1B;border:0;box-shadow:0 6px 0 rgba(0,0,0,.35)}
#picker .btn-red:hover{background:#1B1B1B;color:#FFFFD8}
#picker .stage-cta,#picker .stage-foot{position:relative;z-index:3}
.pk-two{max-width:none;padding:0}
#picker .pk-opt{background:rgba(20,20,20,.55);backdrop-filter:blur(4px)}
#picker .pk-opt[aria-pressed=true]{background:#FFFFD8;border-color:#FFFFD8;color:#1B1B1B}
#picker .text-link{position:relative;z-index:3;background:none;border:0;color:#FFFFD8;font:inherit;cursor:pointer;text-decoration:underline}

/* Compact 3-step form: fits one screen without scrolling */
.lead-form-card{padding:clamp(18px,2.2vw,28px)}
.lead-form-card .form-intro{display:none}
.lead-form-card .form-heading{padding-bottom:10px}.lead-form-card .form-heading h3{font-size:clamp(22px,2.4vw,30px)}
.lead-form-card .steps{margin:0 0 12px}.lead-form-card .form-step{gap:12px}
.lead-form-card .choice-grid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}
.lead-form-card .choice span{padding:9px 8px 9px 22px!important;font-size:11.5px!important;min-height:0!important;line-height:1.2}
.lead-form-card .tile-grid.tiles-3{grid-template-columns:repeat(6,1fr)}
.lead-form-card .tile span{min-height:52px;padding:8px 6px}.lead-form-card .tile b{font-size:12px}.lead-form-card .tile small{font-size:9px}.lead-form-card .bars{display:none}
.lead-form-card .field textarea{min-height:0}
.lead-form-card .field-full{grid-column:1/-1}
.opt{font-style:normal;font-weight:500;color:#85847b}
.lead-form-card .cal{padding:10px}.lead-form-card .clock{width:min(100%,190px)}
@media(max-width:700px){.lead-form-card .choice-grid{grid-template-columns:1fr 1fr!important}.lead-form-card .tile-grid.tiles-3{grid-template-columns:1fr 1fr 1fr}}

/* Contact section fills exactly one screen; form is centred in it */
#contact.cta{min-height:100svh;display:flex;align-items:center;box-sizing:border-box;padding-top:84px!important;padding-bottom:24px!important}
#contact .cta-grid{width:100%;align-items:center}
.lead-form-card fieldset.field{border:0;padding:0;margin:0}
.lead-form-card fieldset.field legend{padding:0;margin-bottom:6px}
.lead-form-card .form-step{gap:10px}
.lead-form-card .form-heading .contact-card-label,.lead-form-card .form-index{display:none}
.lead-form-card .form-heading{padding-bottom:8px}.lead-form-card .form-heading h3{margin:0;font-size:clamp(20px,2.2vw,26px)}
.lead-form-card .steps{margin:0 0 8px}
.lead-form-card .choice span{padding:7px 8px 7px 22px!important}
.lead-form-card .tile span{min-height:44px;padding:6px 8px}
.lead-form-card textarea[name=project]{height:56px;resize:none}
.lead-form-card .field>span{font-size:11px}
.lead-form-card .form-actions .button{padding-block:12px}
.lead-form-card .scheduler{gap:14px}.lead-form-card .clock{width:min(100%,170px)}
@media(max-width:900px){#contact.cta{display:block}}

/* keep picker text clear of the shapes on the right */
@media(min-width:901px){
  .pk-two{max-width:56%}
  #picker .stage-title{max-width:min(56%,15ch)}
  #picker .stage-foot{max-width:56%}
  .pk-q{max-width:16ch}
}

.inc{padding:64px var(--pad) 0}.inc[hidden]{display:none}
.inc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:40px 32px;margin-top:22px}
.inc h4{margin:0 0 12px;font:600 13px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:#F03838}
.inc ul{margin:0;padding:0}.inc li{list-style:none;padding:14px 0;border-top:1px solid rgba(255,255,216,.16)}
.inc li b{display:block;font-size:18px;letter-spacing:-.02em;margin-bottom:4px}.inc li span{display:block;opacity:.7;font-size:14px;line-height:1.5}

/* ---------- Mobile refinements ---------- */
#pk-show[disabled]{background:transparent!important;color:rgba(255,255,216,.55)!important;border:1.5px dashed rgba(255,255,216,.4)!important;box-shadow:none!important;opacity:1}
@media(max-width:800px){
  #picker .s3{display:none}
  #picker .s4{right:auto;left:22px;top:104px;font-size:44px}
  #picker.stage{padding:110px 22px 34px;gap:22px}
  #picker .stage-title{font-size:clamp(34px,10vw,48px)!important;max-width:100%!important;line-height:1.04}
  #picker .stage-foot,#picker .pk-two{max-width:100%}
  #picker .stage-foot p{font-size:15px;line-height:1.6}
  #picker .btn-red{width:100%;justify-content:space-between;padding:18px 22px}
  .pk-q{font-size:clamp(26px,8vw,36px);max-width:100%;margin-bottom:20px}
  .pk-opts{gap:10px;margin-bottom:24px}.pk-opt{padding:13px 20px;font-size:15px}
  #picker .stage-cta{flex-direction:column;align-items:stretch;gap:16px}
  #picker .text-link{text-align:center;padding:6px}
  main>section:not(#picker):not(#contact){padding-block:64px!important}
  .fy-sec{padding:84px 0 0!important}
  .fy h2{font-size:clamp(32px,10vw,46px);line-height:1.04}
  .fy .button{width:100%;justify-content:space-between}
  .fy-chips{gap:8px}.fy-chip{padding:9px 14px}
  .inc{padding-top:44px}.inc-grid{gap:30px}
  .inc li b{font-size:17px}
  #contact.cta{padding-top:96px!important;padding-bottom:40px!important}
  .lead-form-card .form-actions{flex-wrap:wrap;gap:12px}
  .lead-form-card .form-actions .button{flex:1 1 auto;justify-content:space-between}
}
@media(max-width:800px){
  .svc-go{width:36px;height:36px;justify-self:end}
  #picker .stage-cta{width:100%}#picker .stage-cta .btn-red{flex:1}
  #picker .stage-foot>*{width:100%}
}
#picker .stage-foot{margin-top:22px}

/* ======== v4.1: gaps, menu, 4-step form, real-phone fixes ======== */
main>section:not(#picker):not(#contact){padding-block:clamp(52px,6vw,84px)!important}
.fy-sec{padding-top:clamp(84px,9vw,110px)!important}
.sched-sum{display:none}
.nav-links-cta{display:none}
.nav .brand{position:relative;z-index:70}
@media(max-width:800px){
  /* hamburger -> X, full-screen menu that actually covers the screen */
  .menu-toggle{display:grid!important;place-content:center;gap:7px;width:44px;height:44px;padding:0;border:0;background:none;position:relative;z-index:70}
  .menu-toggle span{position:static!important;display:block;width:26px!important;height:2px!important;margin:0!important;transform-origin:center;background:var(--ink);transition:transform .3s,opacity .3s;transform:none}
  .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}
  .nav-links{z-index:65;padding:90px 24px 40px;gap:22px!important;font-size:34px!important;letter-spacing:-.03em}
  .nav-links a:after{display:none}
  .nav-links .nav-links-cta{display:inline-flex;align-items:center;gap:10px;margin-top:18px;background:var(--red);color:#fff;padding:16px 26px;font-size:16px;letter-spacing:0}
  body.menu-open{overflow:hidden}

  /* first screen + picker fit the visible phone height (browser bars included) */
  #picker.stage{min-height:100vh;min-height:100dvh;padding:84px 22px calc(26px + env(safe-area-inset-bottom));justify-content:flex-end;gap:0}
  #picker .s1{width:150px;right:-42px;left:auto;top:84px}
  #picker .s2,#picker .s3{display:none}
  #picker .s4{left:22px;right:auto;top:100px;font-size:34px}
  #picker.pk-step2 .s1{opacity:.2}
  #picker .stage-title{font-size:clamp(30px,9.2vw,42px)!important;line-height:1.06;letter-spacing:-.04em}
  #picker .lab{margin-bottom:10px}
  .pk-q{font-size:clamp(24px,7.4vw,32px);margin:8px 0 16px}
  .pk-opts{gap:8px;margin-bottom:18px}.pk-opt{padding:11px 16px;font-size:14px}
  #picker .btn-red{padding:16px 20px}
  #picker .stage-cta{gap:10px}

  /* contact: form first, compact intro, email button after the form */
  #contact.cta{display:block;min-height:0;padding:80px var(--pad) 28px!important}
  #contact .cta-grid{display:flex;flex-direction:column;gap:16px}
  #contact .cta-grid>div:first-child{display:contents}
  #contact .cta-grid>div:first-child>*{margin-left:0;margin-right:0}
  #contact .cta-grid>div:first-child h2{font-size:clamp(30px,9vw,40px);line-height:1.05;margin:6px 0 4px}
  #contact .cta-grid>div:first-child>p:not(.lab){font-size:14.5px;line-height:1.5;margin:0 0 6px;max-width:none}
  #contact .mailbtn{order:9;align-self:flex-start;margin-top:4px}
  .lead-form-card{padding:14px 14px 16px;scroll-margin-top:76px}
  .lead-form-card .form-heading,.lead-form-card .contact-card-bottom{display:none}
  .lead-form-card .steps{margin:0 0 12px}
  .lead-form-card .step-pill{font-size:11px;gap:5px}
  .lead-form-card .choice-grid{grid-template-columns:1fr 1fr!important}
  .lead-form-card .tile-grid.tiles-3{grid-template-columns:repeat(3,1fr)}
  .lead-form-card .tile-grid.tiles-4{grid-template-columns:1fr 1fr}
  .lead-form-card .form-grid{gap:12px}
  .lead-form-card input:not([type=checkbox]):not([type=radio]),.lead-form-card textarea{padding:11px 12px;font-size:16px}
  .lead-form-card .form-actions{flex-wrap:nowrap;gap:12px}
  .lead-form-card .form-actions .button{flex:1 1 auto;justify-content:space-between}
  .lead-form-card .form-privacy{white-space:nowrap}
  /* call step: calendar first, then the clock for the day picked */
  .sched-sum:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:10px;background:#1B1B1B;color:#FFFFD8;padding:10px 12px;font-weight:600;font-size:14px}
  .sched-sum button{background:none;border:0;color:#FF8A8A;font:inherit;text-decoration:underline;cursor:pointer}
  .scheduler{display:block}
  .scheduler:not(.picked) .clock-wrap{display:none}
  .scheduler.picked .cal{display:none}
  .lead-form-card .clock{width:min(62vw,210px);margin:0 auto}
  .lead-form-card .clock-read{justify-content:center;flex-wrap:wrap}
}

@media(max-width:800px){
  .lead-form-card{padding:12px 12px 14px}
  .lead-form-card .steps{margin:0 0 10px}
  .lead-form-card .form-step{gap:9px}
  .lead-form-card .choice span{padding:6px 6px 6px 20px!important}
  .lead-form-card textarea[name=project]{height:46px}
  .lead-form-card .clock{width:min(48vw,168px)}
  .lead-form-card .clock-read{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}
  .lead-form-card .clock-time{font-size:22px}
  .lead-form-card .slot-note{padding:8px 10px;font-size:12.5px;line-height:1.4;margin:0}
  .sched-sum:not([hidden]){padding:8px 12px}
  .lead-form-card .form-actions .button{padding-block:12px}
}

.mobile-menu{display:none}
@media(max-width:800px){
  .nav-links{display:none!important}
  .mobile-menu{position:fixed;inset:0;z-index:55;background:#141414;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:90px 24px 40px;font-size:34px;font-weight:700;letter-spacing:-.03em;color:#F6F5E8;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
  body.menu-open .mobile-menu{opacity:1;visibility:visible}
  .mobile-menu .mm-cta{display:inline-flex;align-items:center;gap:10px;margin-top:18px;background:#F03838;color:#fff;padding:16px 26px;font-size:16px;letter-spacing:0}
}

/* ===== v4.2: first two screens never scroll, whatever the font width ===== */
html:has(body.gated),body.gated{height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:none}
body.gated #picker{height:100vh;height:100dvh;min-height:0;box-sizing:border-box}
#picker .stage-title{font-size:clamp(28px,min(5.4vw,9.5dvh),92px)!important}
.pk-q{font-size:clamp(24px,min(5vw,8dvh),60px)}
@media(max-width:800px){
  #picker .stage-title{font-size:clamp(26px,min(9vw,5.6dvh),42px)!important}
  .pk-q{font-size:clamp(22px,min(7.4vw,4.6dvh),32px)}
  #picker.stage{padding-top:76px}
  #picker .stage-foot p{font-size:clamp(13px,2.1dvh,15px)}
  .pk-opt{padding:clamp(8px,1.5dvh,11px) 16px}
}
#contact .cta-grid>*{min-width:0;max-width:100%}
.lead-form-card{width:100%;box-sizing:border-box}
