/* The Arrow Agency. Five brand colours only, same as the gap survey:
   Blueprint Navy, Charcoal Steel, Construction Yellow, Cement Grey, Concrete Blue.
   No red or green anywhere, form validation included. */
:root{--navy:#141538;--charcoal:#231F20;--yellow:#FEDD56;--ink:#D9D9D8;
 --grey:rgba(217,217,216,.72);--blue:#9CBAC3;--line:rgba(217,217,216,.17)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--navy);color:var(--ink);margin:0;
 font-family:Poppins,-apple-system,sans-serif;font-size:16px;line-height:1.6}
.hdr{max-width:680px;margin:0 auto;padding:26px 20px 0}
.hdr img{display:block;width:175px;height:42px}
.wrap{max-width:680px;margin:0 auto;padding:30px 20px 40px;display:flex;flex-direction:column;gap:22px}
section{display:flex;flex-direction:column;gap:16px;padding-top:30px;border-top:1px solid var(--line)}
h1{font-family:Anton,Impact,sans-serif;font-size:2.6rem;font-weight:400;line-height:1.04;
 letter-spacing:.004em;margin:0;text-transform:uppercase;text-wrap:balance;color:#fff}
h2{font-family:Anton,Impact,sans-serif;font-size:1.6rem;font-weight:400;margin:0;line-height:1.14;
 letter-spacing:.006em;color:#fff;text-wrap:balance}
h3{font-family:Poppins,sans-serif;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;
 color:var(--yellow);font-weight:600;margin:0}
p{margin:0;color:var(--grey)}
.lede{font-size:1.08rem;color:var(--ink)}
.fine{font-size:.8rem;color:rgba(217,217,216,.58)}
.cta{display:block;width:100%;font-family:Poppins,sans-serif;font-size:1.05rem;font-weight:700;
 padding:17px 20px;border-radius:6px;border:1px solid var(--yellow);background:var(--yellow);
 color:var(--charcoal);cursor:pointer;text-align:center;text-decoration:none;letter-spacing:.01em}
.cta:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (hover:hover){.cta:hover{background:#FFE882}}
.ghost{background:none;border:none;color:var(--grey);font-family:Poppins,sans-serif;font-size:.9rem;
 cursor:pointer;padding:8px;text-decoration:underline;text-underline-offset:3px}
ul.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
ul.ticks li{padding-left:28px;position:relative;color:var(--ink)}
ul.ticks li:before{content:"";position:absolute;left:2px;top:.55em;width:12px;height:12px;
 background:var(--yellow);border-radius:2px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.step{border:1px solid var(--line);border-radius:8px;padding:16px;background:rgba(217,217,216,.035);
 display:flex;flex-direction:column;gap:6px}
.step b{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:1.15rem;color:#fff;letter-spacing:.01em}
.step span{font-size:.88rem;color:var(--grey)}
.step i{font-style:normal;font-size:.7rem;letter-spacing:.2em;color:var(--yellow);font-weight:600}
.proof{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card{border:1px solid var(--line);border-radius:8px;padding:18px;background:rgba(217,217,216,.035);
 display:flex;flex-direction:column;gap:8px}
.card .big{font-family:Anton,Impact,sans-serif;font-size:1.9rem;line-height:1;color:var(--yellow)}
.card .who{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:600}
.card p{font-size:.92rem}
blockquote{margin:0;border-left:3px solid var(--yellow);padding:6px 0 6px 18px}
blockquote p{color:#fff;font-size:1.12rem;line-height:1.5}
blockquote cite{display:block;margin-top:8px;font-style:normal;font-size:.82rem;color:var(--grey)}
.ftr{max-width:680px;margin:0 auto;padding:22px 20px 56px;font-size:.76rem;line-height:1.7;
 color:rgba(217,217,216,.55);border-top:1px solid var(--line)}
.ftr a,.wrap a.link{color:var(--yellow);text-decoration:none;border-bottom:1px solid rgba(254,221,86,.45)}
/* pop-up form */
.modal{position:fixed;inset:0;background:rgba(10,10,30,.78);display:none;align-items:flex-start;
 justify-content:center;padding:24px 16px;overflow-y:auto;z-index:10}
.modal.open{display:flex}
.panel{background:var(--navy);border:1px solid var(--line);border-radius:10px;width:100%;max-width:480px;
 padding:24px 20px;display:flex;flex-direction:column;gap:14px;margin:auto 0}
.panel .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.x{background:none;border:none;color:var(--grey);font-size:1.6rem;line-height:1;cursor:pointer;padding:0 4px}
label.f{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--grey)}
input[type=text],input[type=email],input[type=tel]{width:100%;font-family:Poppins,sans-serif;font-size:1rem;
 padding:14px 15px;border-radius:6px;border:1px solid var(--line);background:rgba(217,217,216,.06);color:var(--ink)}
input:focus{outline:none;border-color:var(--yellow)}
.row{display:flex;gap:10px}.row>*{flex:1;min-width:0}
fieldset{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
legend{font-size:.82rem;color:var(--grey);margin-bottom:6px;padding:0}
.band{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.band label{border:1px solid var(--line);border-radius:6px;padding:12px;cursor:pointer;font-size:.92rem;
 color:var(--ink);display:flex;gap:8px;align-items:center;background:rgba(217,217,216,.04)}
.band input{accent-color:#FEDD56}
.band label:has(input:checked){border-color:var(--yellow);background:rgba(254,221,86,.12)}
.bad{border-color:var(--yellow)!important}
.cal{background:#fff;border-radius:8px;overflow:hidden;min-height:640px}
.cal iframe{width:100%;min-height:640px;border:none;display:block}
.video{aspect-ratio:9/16;max-width:340px;width:100%;margin:0 auto;border-radius:10px;overflow:hidden;
 border:1px solid var(--line);background:rgba(217,217,216,.05)}
.video iframe,.video video{width:100%;height:100%;border:none;display:block}
@media (max-width:560px){h1{font-size:2.1rem}.steps,.proof{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
