/* Enquiry builder — same tokens as site.css. Motion: transform/opacity only. */
.start-main{padding-top:calc(var(--header-h) + env(safe-area-inset-top,0px));background:var(--paper)}
.start{padding:clamp(20px,3vw,40px) var(--pad) clamp(56px,7vw,96px)}
.start-shell{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.start-aside{position:sticky;top:calc(var(--header-h) + 20px);background:var(--green);color:var(--paper);border-radius:22px;padding:clamp(24px,2.6vw,36px);box-shadow:0 30px 60px -36px rgba(6,20,12,.7)}
.start-aside .eyebrow{color:var(--yellow)}
.start-aside h1{font-size:clamp(2rem,3.3vw,2.9rem);line-height:1.02;color:var(--paper)}
.start-lead{color:#d6e7e0;margin:12px 0 22px;font-size:1rem}
.progress{height:6px;border-radius:6px;background:rgba(248,248,245,.18);overflow:hidden}
.progress-fill{display:block;height:100%;background:var(--yellow);border-radius:6px;transform-origin:0 50%;transform:scaleX(.1667);transition:transform 480ms var(--ease-out)}
.progress-t{font:700 .78rem/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#cfe2da;margin:10px 0 18px}
.steplist{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:2px}
.steplist button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border-radius:12px;cursor:pointer;color:#cfe2da;font:600 .98rem/1.25 var(--body);-webkit-tap-highlight-color:transparent;transition:transform 140ms var(--ease-out)}
.steplist button:disabled{cursor:default;opacity:.5}
.steplist button:not(:disabled):active{transform:scale(.98)}
.steplist button:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.sl-n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(248,248,245,.4);font:700 .8rem/1 var(--body)}
.steplist .is-done .sl-n{background:var(--sage);border-color:var(--sage);color:var(--green-ink)}
.steplist .is-current button{color:var(--paper);background:rgba(248,248,245,.08)}
.steplist .is-current .sl-n{background:var(--yellow);border-color:var(--yellow);color:var(--green-ink)}
@media (hover:hover) and (pointer:fine){.steplist button:not(:disabled):hover{background:rgba(248,248,245,.08)}}
.aside-foot{border-top:1px solid rgba(248,248,245,.16);padding-top:18px;font-size:.92rem;color:#d6e7e0}
.aside-foot a,.pane-foot a{color:inherit;font-weight:700}
.aside-foot .saved{margin-top:12px;font-size:.84rem;color:#a9c7bc}
.linkbtn{all:unset;cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:inherit;border-radius:4px}
.linkbtn:focus-visible{outline:3px solid var(--sage);outline-offset:2px}
.pane-foot{display:none}

.start-pane{min-width:0;padding-top:clamp(4px,1vw,12px)}
html:not(.js) .wiz{display:none}
.step-k{font:700 .76rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:6px 0 12px;min-height:1em}
.wstep h2{font-size:clamp(1.7rem,3vw,2.5rem);max-width:20em;outline:none}
.wstep .sp{color:var(--muted);margin:10px 0 24px;font-size:1.05rem}
.prefill-note{display:inline-block;background:var(--mint);color:var(--green);font-weight:700;font-size:.9rem;padding:8px 12px;border-radius:10px;margin:-8px 0 18px}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.grp{border:0;margin:0 0 26px;padding:0;min-width:0}
.grp legend{font:700 1.02rem/1.3 var(--body);color:var(--green-ink);margin-bottom:12px;padding:0}
.optl{font-weight:400;color:var(--muted);font-size:.9rem}
.req{color:#a3321f;margin-left:2px}
.hint{color:var(--muted);font-size:.9rem;margin:8px 0 0}
.ferr{color:#a3321f;font-weight:700;font-size:.9rem;margin:8px 0 0;min-height:0}
.grp > .ferr:first-of-type{margin:0 0 12px}
.ferr:empty{display:none}

/* Style cards */
.sc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sc{position:relative;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.sc-b{position:relative;display:flex;flex-direction:column;height:100%;background:var(--white);border:2px solid var(--line);border-radius:16px;overflow:hidden;transition:transform 180ms var(--ease-out),border-color 160ms ease,box-shadow 200ms ease}
.sc:active .sc-b{transform:scale(.985)}
.sc-media{position:relative;display:block;aspect-ratio:16/9;background:var(--mint);overflow:hidden}
.sc-media img,.sc-media video,.sc-media svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sc-media video{opacity:0;transition:opacity 260ms ease}
.sc-media.is-playing video{opacity:1}
.sc-t{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.sc-t strong{font:700 1.06rem/1.25 var(--body);color:var(--green-ink)}
.sc-t small{color:var(--muted);font-size:.9rem;line-height:1.45}
.sc-ex{margin-top:6px;font:700 .74rem/1.3 var(--body);letter-spacing:.04em;color:var(--green)}
.sc-ex .ph-tag{margin-left:0;white-space:normal}
.sc-check{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 2px var(--green);opacity:0;transform:scale(.6);transition:opacity 160ms ease,transform 220ms var(--ease-out)}
.sc-check::after{content:"";position:absolute;left:10px;top:6px;width:7px;height:13px;border:solid var(--green);border-width:0 3px 3px 0;transform:rotate(45deg)}
.sc input:checked + .sc-b{border-color:var(--green);box-shadow:0 0 0 3px var(--yellow),0 18px 40px -26px rgba(6,20,12,.6)}
.sc input:checked + .sc-b .sc-check{opacity:1;transform:scale(1)}
.sc input:focus-visible + .sc-b{outline:3px solid var(--green);outline-offset:3px}
.sc-unsure{grid-column:1/-1}
.sc-unsure .sc-b{flex-direction:row;align-items:center}
.sc-unsure .sc-media{width:min(34%,200px);flex:none;aspect-ratio:16/10}
@media (hover:hover) and (pointer:fine){.sc:hover .sc-b{border-color:var(--sage)}.sc input:checked + .sc-b{border-color:var(--green)}}

/* Option rows (radio) */
.opt-list{display:grid;gap:10px}
.opt-list.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.opt{display:block;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.opt-b{display:flex;gap:14px;align-items:flex-start;min-height:56px;padding:15px 18px;border:2px solid var(--line);border-radius:14px;background:var(--white);transition:transform 160ms var(--ease-out),border-color 160ms ease,background-color 160ms ease}
.opt:active .opt-b{transform:scale(.99)}
.opt-dot{flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;border:2px solid var(--sage);position:relative;background:var(--white)}
.opt-dot::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--green);opacity:0;transform:scale(.4);transition:opacity 140ms ease,transform 200ms var(--ease-out)}
.opt-t{display:flex;flex-direction:column;gap:2px}
.opt-t strong{font-size:1.02rem;color:var(--green-ink)}
.opt-t small{color:var(--muted);font-size:.9rem}
.opt input:checked + .opt-b{border-color:var(--green);background:var(--mint)}
.opt input:checked + .opt-b .opt-dot{border-color:var(--green)}
.opt input:checked + .opt-b .opt-dot::after{opacity:1;transform:scale(1)}
.opt input:focus-visible + .opt-b{outline:3px solid var(--green);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.opt:hover .opt-b{border-color:var(--sage)}.opt input:checked + .opt-b{border-color:var(--green)}}

/* Chips (checkbox / radio) */
.chipset{display:flex;flex-wrap:wrap;gap:8px}
.chipx{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.chipx span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1.5px solid var(--line);border-radius:999px;background:var(--white);font:700 .95rem/1.2 var(--body);color:var(--green-ink);transition:transform 140ms var(--ease-out),background-color 160ms ease,border-color 160ms ease,color 160ms ease}
.chipx span::before{content:"";width:0;height:0;opacity:0}
.chipx input[type=checkbox]:checked + span::before{content:"✓";width:auto;height:auto;opacity:1;font-weight:800}
.chipx:active span{transform:scale(.96)}
.chipx input:checked + span{background:var(--green);border-color:var(--green);color:var(--paper)}
.chipx input:focus-visible + span{outline:3px solid var(--green);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.chipx:hover input:not(:checked) + span{border-color:var(--sage)}}
.grp[aria-invalid="true"] .chipx span,.grp[aria-invalid="true"] .opt-b,.grp[aria-invalid="true"] .sc-b{border-color:#c2412d}

/* Text fields */
.field{margin:0 0 18px;min-width:0}
.field label{display:block;font:700 .95rem/1.3 var(--body);margin-bottom:7px;color:var(--green-ink)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field textarea{width:100%;box-sizing:border-box;font:400 16px/1.4 var(--body);color:var(--green-ink);background:var(--white);border:1.5px solid #c9d6ce;border-radius:12px;padding:13px 14px;min-height:50px;-webkit-appearance:none;appearance:none}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(117,168,156,.45)}
.field [aria-invalid="true"]{border-color:#c2412d}
.reveal-other{margin-top:14px}
.fgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.films-field{margin-top:26px}
.stepper{display:inline-flex;align-items:center;gap:8px}
.stepper .stp{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:var(--white);font:700 1.4rem/1 var(--body);color:var(--green);cursor:pointer;transition:transform 140ms var(--ease-out);touch-action:manipulation}
.stepper .stp:active{transform:scale(.92)}
.stepper .stp:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.field .stepper input[type=number]{width:84px;text-align:center;font-weight:700;font-size:1.2rem;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.consent{margin-top:8px}
.cbx{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important;cursor:pointer;line-height:1.5!important}
.cbx input{position:absolute;opacity:0;width:24px;height:24px;margin:0}
.cbx-box{flex:none;width:24px;height:24px;border:2px solid var(--sage);border-radius:7px;background:var(--white);position:relative;margin-top:1px}
.cbx-box::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:12px;border:solid var(--paper);border-width:0 3px 3px 0;transform:rotate(45deg) scale(.4);opacity:0;transition:opacity 120ms ease,transform 180ms var(--ease-out)}
.cbx input:checked + .cbx-box{background:var(--green);border-color:var(--green)}
.cbx input:checked + .cbx-box::after{opacity:1;transform:rotate(45deg) scale(1)}
.cbx input:focus-visible + .cbx-box{outline:3px solid var(--green);outline-offset:2px}
.cbx input[aria-invalid="true"] + .cbx-box{border-color:#c2412d}
.cbx a{color:var(--green);font-weight:700}

/* Review */
.review{display:grid;gap:14px}
.rv-sec{background:var(--white);border:1.5px solid var(--line);border-radius:16px;padding:16px 18px}
.rv-hd{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.rv-hd h3{font:700 .8rem/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.rv-hd .linkbtn{color:var(--green);padding:8px 4px;font-size:.95rem}
.rv-sec dl{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:6px 16px;margin:0}
.rv-sec dt{color:var(--muted);font-size:.92rem}
.rv-sec dd{margin:0;font-weight:700;overflow-wrap:anywhere;white-space:pre-line}
.rv-sec dd.is-empty{color:var(--muted);font-weight:400}
.review-actions{margin-top:18px}
.send-err{margin-top:18px}

/* Nav */
.wiz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.wiz-nav .wiz-back{color:var(--green)}
.wiz-nav .wiz-next{min-width:150px;justify-content:center}
.wiz-next.is-send{--bg:var(--yellow);--fg:var(--green-ink);border-color:var(--yellow)}
.wiz-next.is-busy{opacity:.7;pointer-events:none}
.wiz-nav[hidden]{display:none}

/* Thank-you */
.thanks .ty-mark{width:64px;height:64px;margin-bottom:18px}
html.motion .thanks:not([hidden]) .ty-mark{animation:tyPop 520ms var(--ease-out) both}
@keyframes tyPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
.ty-steps{margin:0 0 16px;padding-left:1.3em;display:grid;gap:10px;font-size:1.05rem;max-width:36em}
.ty-steps li::marker{font-weight:800;color:var(--green)}
html.wiz-done .start-aside .steplist{opacity:.5}

/* Mobile */
@media (max-width:860px){
  .start{padding-top:12px}
  .start-shell{grid-template-columns:1fr;gap:18px}
  .start-aside{position:relative;top:0;padding:20px 20px 16px;border-radius:18px}
  .start-aside h1{font-size:1.85rem}
  .start-lead{font-size:.95rem;margin:8px 0 16px}
  .steplist,.aside-foot{display:none}
  .progress-t{margin:10px 0 0}
  .step-k{display:none}
  .pane-foot{display:block;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:.92rem;color:var(--muted)}
  .pane-foot .saved{margin-top:10px;font-size:.84rem}
  .wiz-nav{position:sticky;bottom:0;z-index:5;margin:28px calc(-1*var(--pad)) 0;padding:12px var(--pad) calc(12px + env(safe-area-inset-bottom,0px));background:rgba(248,248,245,.96);border-top:1px solid var(--line);box-shadow:0 -12px 24px -20px rgba(6,20,12,.5)}
  .wiz-nav .btn{padding:14px 20px}
  .wiz-nav .wiz-next{flex:1;max-width:260px;margin-left:auto}
}
@media (max-width:560px){
  .sc-grid{grid-template-columns:1fr;gap:12px}
  .sc .sc-b{flex-direction:row;align-items:stretch}
  .sc .sc-media{width:38%;flex:none;aspect-ratio:auto;min-height:112px}
  .sc-t{padding:12px 14px}
  .sc-t strong{font-size:1rem}.sc-t small{font-size:.86rem}
  .sc-unsure .sc-media{width:38%}
  .sc-check{top:8px;left:8px;right:auto;width:26px;height:26px}
  .sc-check::after{left:8px;top:4px}
  .opt-list.two,.fgrid2{grid-template-columns:1fr}
  .rv-sec dl{grid-template-columns:1fr;gap:0}
  .rv-sec dd{margin-bottom:8px}
}
@media (prefers-reduced-motion: reduce){.progress-fill,.sc-b,.opt-b,.chipx span,.sc-check,.opt-dot::after,.cbx-box::after,.sc-media video{transition:none}}
@media (max-width:860px){html{scroll-padding-bottom:100px}}
.prefill-note[hidden],.reveal-other[hidden]{display:none}
.grp .chipset + .field{margin-top:16px}
/* Error / no-JS notices (solid, not the dashed placeholder style) */
.notice{border:2px solid #c86b5f;background:#fdf1ee;color:#5a2219;border-radius:10px;padding:12px 14px;font-size:.95rem;margin:16px 0}
.notice[hidden]{display:none}
.sc-t,.opt-t,.sc-b>*{min-width:0}
