/* ==========================================================================
   Tooreen Construction — Contact
   Two routes in (call / write a brief). The brief composes itself as the
   visitor answers, in the words Tooreen would use to write it up.
   ========================================================================== */

:root{
  --c-forest:#0d3025;
  --c-forest-deep:#08251d;
  --c-ivory:#f4f1e8;
  --c-paper:#faf8f2;
  --c-stone:#e9e6d9;
  --c-ink:#12372c;
  --c-muted:#5d6d64;
  --c-gold:#b88e36;
  --c-gold-lit:#d0aa56;
  --c-line:rgba(18,55,44,.18);
  --c-ease:cubic-bezier(.23,1,.32,1);
}

html{scroll-behavior:smooth}
.contact-page{margin:0;background:var(--c-forest-deep);color:var(--c-ink);font-family:"Manrope","Segoe UI",sans-serif}
.contact-page img{max-width:100%}
.contact-page button,.contact-page a,.contact-page input,.contact-page textarea{font:inherit}
.c-main{overflow:clip;background:var(--c-ivory)}
.services-wrap{width:min(100% - 2 * var(--page-gutter),1560px);margin-inline:auto}
.contact-page h1,.contact-page h2,.contact-page h3{font-family:"Barlow Condensed","Arial Narrow",sans-serif}
.c-label{margin:0;color:var(--c-gold);font-size:9px;font-weight:700;line-height:1.5;letter-spacing:.27em;text-transform:uppercase}
.c-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ================================================================ HERO === */
.c-hero{position:relative;padding-top:34px;background:var(--c-ivory)}

/* two routes in */
.c-routes{display:grid;gap:clamp(10px,1vw,13px)}
.c-route{
  position:relative;display:grid;gap:8px;
  padding:clamp(18px,1.9vw,23px) clamp(22px,2.2vw,27px) clamp(17px,1.8vw,21px);
  border:1px solid rgba(18,55,44,.22);
  transition:transform 320ms var(--c-ease),box-shadow 320ms var(--c-ease),border-color 240ms ease,background-color 240ms ease;
}
.c-route-k{color:var(--c-gold);font-size:8px;font-weight:700;letter-spacing:.24em}
.c-route-big{
  font-family:"Barlow Condensed",sans-serif;font-size:clamp(26px,2.2vw,34px);font-weight:600;
  line-height:1;letter-spacing:.02em;
}
.c-route-note{max-width:40ch;color:#5f6f66;font-size:11.5px;line-height:1.55}
.c-route-icon{
  position:absolute;right:clamp(18px,1.9vw,23px);top:clamp(18px,1.9vw,23px);width:24px;height:24px;
  fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
  transition:transform 380ms var(--c-ease);
}
.c-route-call{background:var(--c-ink);border-color:var(--c-ink);color:#f6f2e8}
.c-route-call .c-route-note{color:rgba(244,241,232,.66)}
.c-route-call .c-route-icon{fill:currentColor;stroke-width:.6;color:var(--c-gold-lit)}
.c-route-wa{background:transparent;color:var(--c-ink)}
.c-route-wa .c-route-big{text-transform:uppercase}
.c-route-wa .c-route-icon{fill:#1f7a45;stroke:none}
.c-route-wa:hover{border-color:#25d366;background:#f1f6f0}
.c-route-wa:hover .c-route-icon{fill:#25d366;transform:scale(1.08)}
.c-route-brief{background:transparent;color:var(--c-ink)}
.c-route-brief .c-route-big{text-transform:uppercase}
.c-route:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(18,55,44,.16)}
.c-route-call:hover{background:#0f3a2d}
.c-route-brief:hover{border-color:var(--c-ink);background:#f0ede2}
.c-route-brief:hover .c-route-icon{transform:translateY(4px)}
.c-route-call:hover .c-route-icon{transform:rotate(-12deg)}
.c-hero-rule{display:block;height:1px;margin-inline:var(--page-gutter);background:var(--c-line)}

/* ============================================================== BRIEF === */
.c-brief{position:relative;padding:clamp(70px,6.4vw,104px) 0 clamp(80px,7vw,120px);background:var(--c-paper)}
.c-brief::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(rgba(18,55,44,.022) 1px,transparent 1px),
             linear-gradient(90deg,rgba(18,55,44,.022) 1px,transparent 1px);
  background-size:56px 56px;
}
.c-brief-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);
  grid-template-areas:"head head" "form side";
  column-gap:clamp(44px,5vw,88px);
  align-items:stretch;
}
.c-form-head{grid-area:head}
.c-form{grid-area:form}
.c-side{grid-area:side}

/* --- form head --- */
.c-form{min-width:0;display:grid;grid-template-rows:auto auto;align-content:start}
.c-form-head{margin-bottom:clamp(30px,3vw,42px);padding-bottom:clamp(26px,2.6vw,36px);border-bottom:1px solid var(--c-line)}
.c-form-head h2{
  margin:14px 0 12px;font-size:clamp(44px,4.2vw,72px);font-weight:700;
  line-height:.88;letter-spacing:.012em;text-transform:uppercase;
}
.c-form-head>p{max-width:520px;margin:0;color:var(--c-muted);font-size:14px;line-height:1.75}

/* --- the box: one question at a time --- */
.c-box{
  position:relative;overflow:hidden;
  background:var(--c-forest);color:#f4f1e8;
  border:1px solid rgba(18,55,44,.2);
  box-shadow:0 30px 60px rgba(21,45,36,.22);
}
.c-box::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 3px);
}
.c-box::after{
  content:"";position:absolute;right:-120px;bottom:-140px;width:360px;height:360px;
  border:1px solid rgba(196,157,70,.14);border-radius:50%;
  box-shadow:0 0 0 56px rgba(196,157,70,.025);pointer-events:none;
}
.c-box>*{position:relative;z-index:1}

.c-box-head{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:18px clamp(20px,2.4vw,30px) 16px;
  border-bottom:1px solid rgba(235,226,195,.16);
}
.c-box-step{color:rgba(235,226,195,.5);font-size:8px;font-weight:700;letter-spacing:.24em}
.c-box-step b{color:var(--c-gold-lit);font-family:"Barlow Condensed",sans-serif;font-size:15px;font-weight:600;letter-spacing:.1em}
.c-box-progress{display:flex;gap:9px;margin:0;padding:0;list-style:none}
.c-box-progress li{
  width:7px;height:7px;border:1px solid rgba(235,226,195,.42);
  transform:rotate(45deg) scale(.9);
  transition:background-color 360ms ease,border-color 360ms ease,transform 460ms var(--c-ease),box-shadow 360ms ease;
}
.c-box-progress li.is-answered{background:var(--c-gold-lit);border-color:var(--c-gold-lit)}
.c-box-progress li.is-current{transform:rotate(45deg) scale(1.25);border-color:var(--c-gold-lit);box-shadow:0 0 0 3px rgba(208,170,86,.22)}

.c-stage{position:relative;min-height:clamp(420px,42vw,520px);display:grid}

/* a question */
.c-q{
  grid-area:1 / 1;
  display:none;margin:0;padding:clamp(34px,3.6vw,50px) clamp(22px,3vw,44px) clamp(30px,3vw,40px);
  border:0;min-width:0;
  place-self:stretch;
  flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.c-q.is-active{display:flex}
.c-q-ghost{
  position:absolute;left:clamp(16px,2vw,26px);top:12px;pointer-events:none;
  font-family:"Barlow Condensed",sans-serif;font-size:clamp(96px,10vw,150px);font-weight:700;line-height:.8;
  color:transparent;-webkit-text-stroke:1px rgba(235,226,195,.1);
}
.c-q legend{display:contents}
.c-q-tile{
  display:grid;place-items:center;width:52px;height:52px;margin-bottom:22px;
  border:1px solid rgba(226,199,126,.4);background:rgba(235,226,195,.05);
  transform:rotate(45deg);
}
.c-q-tile svg{
  width:24px;height:24px;transform:rotate(-45deg);
  fill:none;stroke:var(--c-gold-lit);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;
}
.c-q-title{
  display:block;max-width:18ch;margin:0 0 10px;outline:0;
  font-family:"Barlow Condensed",sans-serif;font-size:clamp(34px,3.4vw,52px);font-weight:700;
  line-height:.94;letter-spacing:.02em;text-transform:uppercase;text-wrap:balance;
}
.c-q-hint{display:block;margin:0 0 26px;color:rgba(244,241,232,.55);font-size:12.5px;line-height:1.6}
.c-q .c-chips{justify-content:center;max-width:640px}
.c-q .c-field{width:100%;max-width:440px;text-align:left}
.c-q .c-field-short{max-width:340px}
.c-q .c-you{width:100%;max-width:460px;grid-template-columns:1fr;gap:18px;text-align:left}

/* box footer */
.c-box-foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px clamp(20px,2.4vw,30px) 18px;
  border-top:1px solid rgba(235,226,195,.16);
}
.c-back{
  display:inline-flex;align-items:center;gap:10px;padding:12px 6px;
  border:0;background:transparent;color:rgba(244,241,232,.7);cursor:pointer;
  font-size:8px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  transition:color 200ms ease,opacity 200ms ease;
}
.c-back .icon{width:15px;height:15px;transform:rotate(180deg);transition:transform 320ms var(--c-ease)}
.c-back:hover{color:#fffdf5}
.c-back:hover .icon{transform:rotate(180deg) translateX(3px)}
.c-back[disabled]{opacity:.28;pointer-events:none}
.c-box-key{color:rgba(235,226,195,.35);font-size:9px;letter-spacing:.08em;white-space:nowrap}
.c-box .c-next-btn{min-width:200px;background:var(--c-gold-lit);border-color:var(--c-gold-lit);color:#0d3025}
.c-box .c-next-btn::before{background:#fffdf5}
.c-box .c-next-btn.is-skip{background:transparent;color:#e7ce87;border-color:rgba(226,199,126,.5)}
.c-box .c-next-btn.is-skip::before{background:var(--c-gold-lit)}
.c-box .c-next-btn.is-skip:hover{color:#0d3025}
.c-box .c-next-btn:focus-visible{outline-color:var(--c-gold-lit)}

/* chips + fields inside the dark box */
.c-box .c-chip span{background:transparent;border-color:rgba(235,226,195,.32);color:#f4f1e8}
.c-box .c-chip span::before{border-color:rgba(235,226,195,.5)}
.c-box .c-chip:hover span{border-color:var(--c-gold-lit)}
.c-box .c-chip input:checked+span{background:var(--c-gold-lit);border-color:var(--c-gold-lit);color:#0d3025}
.c-box .c-chip input:checked+span::before{background:#0d3025;border-color:#0d3025}
.c-box .c-chip input:focus-visible+span{outline-color:var(--c-gold-lit)}
.c-box .c-chip-quiet span{border-style:dashed}
.c-box .c-field label,.c-box .c-field-label{color:rgba(235,226,195,.62)}
.c-box .c-field label i{color:var(--c-gold-lit)}
.c-box .c-field input,.c-box .c-field textarea{background:rgba(255,255,255,.04);border-color:rgba(235,226,195,.28);color:#f4f1e8}
.c-box .c-field input::placeholder,.c-box .c-field textarea::placeholder{color:rgba(244,241,232,.38)}
.c-box .c-field input:hover,.c-box .c-field textarea:hover{border-color:rgba(235,226,195,.5)}
.c-box .c-field input:focus,.c-box .c-field textarea:focus{border-color:var(--c-gold-lit);box-shadow:0 0 0 3px rgba(208,170,86,.2)}
.c-box .c-field.is-invalid input,.c-box .c-field.is-invalid textarea{border-color:#e07a68;background:rgba(224,122,104,.08)}
.c-box .c-error{color:#f0a294}
.c-box .c-count{color:rgba(235,226,195,.4)}
.c-box .c-status{margin:0;border:0;background:transparent;padding:clamp(34px,3.6vw,50px) clamp(22px,3vw,44px)}
.c-box .c-status h3{color:#f4f1e8}
.c-box .c-status p{color:rgba(244,241,232,.72)}
.c-box .c-status .c-status-brief{background:rgba(235,226,195,.06);color:#f4f1e8}
.c-box .c-status-actions a,.c-box .c-status-actions button{border-color:rgba(226,199,126,.5);color:#e7ce87}
.c-box .c-status-actions a:hover,.c-box .c-status-actions button:hover{background:var(--c-gold-lit);border-color:var(--c-gold-lit);color:#0d3025}
.c-form.is-sent .c-box-head,.c-form.is-sent .c-stage,.c-form.is-sent .c-box-foot{display:none}
.c-submit-note{margin:18px 0 0;color:#6d7b73;font-size:12px;line-height:1.6}

/* --- chips --- */
.c-chips{display:flex;flex-wrap:wrap;gap:10px}
.c-chips-tight{gap:8px}
.c-chip{position:relative;display:inline-flex;cursor:pointer}
.c-chip input{position:absolute;inset:0;z-index:2;opacity:0;margin:0;cursor:pointer}
.c-chip span{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 18px 12px 16px;
  border:1px solid rgba(18,55,44,.3);border-radius:2px;
  background:#fffdf8;color:#1c4536;
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  transition:background-color 220ms ease,border-color 220ms ease,color 220ms ease,transform 300ms var(--c-ease);
}
.c-chip span::before{
  content:"";width:6px;height:6px;flex:none;
  border:1px solid rgba(18,55,44,.45);transform:rotate(45deg);
  transition:background-color 220ms ease,border-color 220ms ease,transform 380ms var(--c-ease);
}
.c-chip:hover span{border-color:var(--c-ink);transform:translateY(-1px)}
.c-chip input:checked+span{background:var(--c-ink);border-color:var(--c-ink);color:#f6f2e8}
.c-chip input:checked+span::before{background:var(--c-gold-lit);border-color:var(--c-gold-lit);transform:rotate(45deg) scale(1.15)}
.c-chip input:focus-visible+span{outline:2px solid var(--c-gold);outline-offset:3px}
.c-chip-quiet span{background:transparent;border-style:dashed}

/* --- text fields --- */
.c-field{position:relative;display:grid;gap:8px;min-width:0}
.c-field-short{max-width:360px}
.c-field label,.c-field-label{
  color:#40564b;font-size:8px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.c-field label i{color:var(--c-gold);font-style:normal;margin-left:2px}
.c-field input,.c-field textarea{
  width:100%;padding:14px 16px;
  border:1px solid rgba(18,55,44,.3);border-radius:2px;
  background:#fffdf8;color:var(--c-ink);
  font-size:15px;line-height:1.5;
  transition:border-color 200ms ease,box-shadow 200ms ease,background-color 200ms ease;
}
.c-field textarea{resize:vertical;min-height:120px}
.c-field input::placeholder,.c-field textarea::placeholder{color:#9aa69f}
.c-field input:hover,.c-field textarea:hover{border-color:rgba(18,55,44,.55)}
.c-field input:focus,.c-field textarea:focus{outline:0;border-color:var(--c-ink);box-shadow:0 0 0 3px rgba(184,142,54,.22)}
.c-field.is-invalid input,.c-field.is-invalid textarea{border-color:#9a3b2e;background:#fff8f6}
.c-error{display:none;color:#9a3b2e;font-size:11.5px;line-height:1.5}
.c-field.is-invalid .c-error{display:block}
.c-count{justify-self:end;color:#8b978f;font-size:10px;letter-spacing:.06em}

.c-you{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.c-you .c-field-pref{grid-column:1 / -1}
.c-you [data-for]{display:none}
.c-you [data-for].is-on{display:grid}

/* --- honeypot --- */
.c-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* --- buttons --- */
.c-btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:space-between;gap:38px;
  min-width:260px;padding:19px 22px;border:1px solid var(--c-ink);border-radius:2px;
  background:var(--c-ink);color:#f6f2e8;cursor:pointer;
  font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  transition:transform 220ms var(--c-ease),box-shadow 220ms var(--c-ease),opacity 200ms ease;
}
.c-btn::before{content:"";position:absolute;inset:0;background:var(--c-gold);transform:translateY(101%);transition:transform 380ms var(--c-ease)}
.c-btn>*{position:relative;z-index:2}
.c-btn .icon{width:18px;height:18px;transition:transform 320ms var(--c-ease)}
.c-btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(18,55,44,.18)}
.c-btn:hover::before{transform:translateY(0)}
.c-btn:hover .icon{transform:translateX(4px)}
.c-btn:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px}
.c-btn[disabled]{opacity:.6;pointer-events:none}
.c-submit-note a{color:var(--c-ink);font-weight:600;box-shadow:inset 0 -1px 0 rgba(18,55,44,.35)}
.c-submit-note a:hover{color:var(--c-gold);box-shadow:inset 0 -1px 0 var(--c-gold)}

/* --- status / success --- */
.c-status{margin-top:26px;padding:22px 24px;border:1px solid rgba(18,55,44,.22);border-radius:2px;background:#fffdf8}
.c-status[hidden]{display:none}
.c-status.is-error{border-color:#9a3b2e;background:#fff8f6}
.c-status-k{display:block;margin-bottom:8px;color:var(--c-gold);font-size:8px;font-weight:700;letter-spacing:.24em}
.c-status h3{margin:0 0 8px;font-size:30px;font-weight:600;line-height:1;letter-spacing:.02em;text-transform:uppercase}
.c-status p{margin:0;color:#4d5f55;font-size:13.5px;line-height:1.7}
.c-status .c-status-brief{margin-top:14px;padding:14px 16px;border-left:2px solid var(--c-gold);background:rgba(18,55,44,.04);color:var(--c-ink);font-size:14px;line-height:1.7}
.c-status-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.c-status-actions a,.c-status-actions button{
  display:inline-flex;align-items:center;gap:10px;padding:12px 16px;
  border:1px solid rgba(18,55,44,.3);border-radius:2px;background:transparent;color:var(--c-ink);cursor:pointer;
  font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease;
}
.c-status-actions a:hover,.c-status-actions button:hover{background:var(--c-ink);border-color:var(--c-ink);color:#f6f2e8}

/* ============================================================ SIDEBAR === */
.c-side{display:grid;grid-template-rows:1fr auto;gap:clamp(20px,2vw,26px);min-width:0}

.c-preview{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  padding:24px 26px 22px;
  background:var(--c-forest);color:#f4f1e8;
  border:1px solid rgba(18,55,44,.2);
  box-shadow:0 26px 52px rgba(21,45,36,.2);
}
.c-preview::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 3px);
}
.c-preview::after{
  content:"";position:absolute;right:-90px;top:-90px;width:240px;height:240px;
  border:1px solid rgba(196,157,70,.16);border-radius:50%;
  box-shadow:0 0 0 40px rgba(196,157,70,.03);pointer-events:none;
}
.c-preview>*{position:relative}
.c-preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(235,226,195,.2)}
.c-preview-k{color:var(--c-gold-lit);font-size:8px;font-weight:700;letter-spacing:.24em}
.c-preview-state{color:rgba(235,226,195,.5);font-size:10px;letter-spacing:.04em}
.c-preview-text{
  flex:1;margin:18px 0 0;min-height:112px;
  font-size:clamp(16px,1.35vw,19px);line-height:1.62;color:#f4f1e8;
  text-wrap:pretty;
}
.c-preview-empty{color:rgba(244,241,232,.5)}

@keyframes c-flash{0%{background:rgba(208,170,86,.32)}100%{background:transparent}}
.c-preview-foot{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(235,226,195,.2);color:rgba(235,226,195,.55);font-size:9px;font-weight:700;letter-spacing:.2em}
.c-preview-dot{width:6px;height:6px;background:var(--c-gold);transform:rotate(45deg)}

.c-next{margin:0;padding:0;list-style:none;display:grid;align-content:end}
.c-next li{position:relative;display:grid;gap:6px;padding:17px 0 17px 48px;border-top:1px solid var(--c-line)}
.c-next li:last-child{border-bottom:1px solid var(--c-line)}
.c-next-num{position:absolute;left:0;top:17px;font-family:"Barlow Condensed",sans-serif;font-size:21px;font-weight:600;line-height:1;color:var(--c-gold)}
.c-next strong{font-family:"Barlow Condensed",sans-serif;font-size:21px;font-weight:600;line-height:1;letter-spacing:.03em;text-transform:uppercase}
.c-next span:not(.c-next-num){color:#5c6d63;font-size:12.5px;line-height:1.65}

/* ============================================================== DOCK ==== */
.c-dock{
  position:fixed;z-index:60;left:12px;right:12px;bottom:12px;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:12px 12px 12px 16px;
  background:rgba(13,48,37,.96);color:#f4f1e8;
  border:1px solid rgba(235,226,195,.2);box-shadow:0 18px 40px rgba(8,37,29,.35);
  backdrop-filter:blur(8px);
  transform:translateY(calc(100% + 16px));transition:transform 420ms var(--c-ease);
}
.c-dock.is-on{transform:none}
.c-dock[hidden]{display:none}
.c-dock-k{color:var(--c-gold-lit);font-size:8px;font-weight:700;letter-spacing:.22em}
.c-dock-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;color:rgba(244,241,232,.9)}
.c-dock-text .c-hl{box-shadow:none;animation:none}
.c-dock-go{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(226,199,126,.5);color:#e7ce87;font-size:16px}

.contact-page .site-footer{background:#0a2b21}

/* ============================================================= MOTION === */
.c-reveal,.c-fade{transition:opacity 720ms var(--c-ease),transform 720ms var(--c-ease)}
.contact-motion .c-reveal:not(.is-visible),
.contact-motion .c-fade:not(.is-visible){opacity:0;transform:translateY(22px)}

/* ========================================================= RESPONSIVE === */
@media(max-width:1240px){

  .c-brief-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:40px}
}

@media(max-width:1020px){

  .c-routes{grid-template-columns:1fr 1fr}
  .c-brief-grid{grid-template-columns:1fr;grid-template-areas:"head" "side" "form";row-gap:clamp(26px,3vw,34px)}
  .c-form,.c-side{grid-template-rows:auto auto}
  .c-next{display:none}
  .c-dock:not([hidden]){display:grid}
}

@media(max-width:760px){
  .services-wrap{width:calc(100% - 40px)}

  .c-hero{padding-top:24px}

  .c-routes{grid-template-columns:1fr;gap:12px}
  .c-route{padding:22px 22px 20px}
  .c-route-big{font-size:28px}
  .c-route-icon{right:20px;top:20px;width:22px;height:22px}

  .c-brief{padding:56px 0 110px}
  .c-form-head h2{font-size:clamp(36px,9.4vw,46px)}
  .c-form-head>p{font-size:13px}
  .c-stage{min-height:400px}
  .c-q{padding:30px 18px 26px}
  .c-q-title{font-size:clamp(28px,7.8vw,34px)}
  .c-q-ghost{font-size:84px;left:12px;top:10px}
  .c-q-tile{width:44px;height:44px;margin-bottom:18px}
  .c-q-tile svg{width:20px;height:20px}
  .c-chip span{padding:11px 14px 11px 13px;font-size:10.5px}
  .c-box-head,.c-box-foot{padding-inline:16px}
  .c-box-key{display:none}
  .c-box .c-next-btn{min-width:0;flex:1;justify-content:space-between;gap:14px;padding:17px 16px}
  .c-btn-text{white-space:nowrap}
  .c-back{padding:12px 10px 12px 0}
  .c-preview{padding:20px 20px 18px}
  .c-preview-text{font-size:15.5px;min-height:0}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .contact-page *,.contact-page *::before,.contact-page *::after{transition-duration:1ms!important;animation-duration:1ms!important}
  .contact-motion .c-reveal:not(.is-visible),.contact-motion .c-fade:not(.is-visible){opacity:1;transform:none}

  .c-dock{transform:none}
}

/* ----------------------------------------------- ROUTES (under the hero) ---
   The page intro now lives in the top hero, so this section keeps only the
   three ways in, set side by side. */
.c-hero--routes{padding-top:0}
.c-hero--routes .c-routes{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.2vw,18px);
  padding:clamp(40px,4.5vw,72px) 0;
}
.c-hero--routes .c-route{align-content:start;min-height:170px}
@media(max-width:900px){
  .c-hero--routes .c-routes{grid-template-columns:1fr}
  .c-hero--routes .c-route{min-height:0}
}

/* the error message inside the dark brief box: keep the light type on a dark,
   red-tinted panel (the generic `.c-status.is-error` is a near-white card) */
.c-box .c-status.is-error{
  margin:clamp(18px,2.4vw,28px);
  padding:clamp(22px,2.6vw,32px) clamp(20px,2.6vw,32px);
  border:1px solid rgba(232,140,118,.55);
  border-left:3px solid #e08a74;
  border-radius:3px;
  background:rgba(120,38,26,.28);
}
.c-box .c-status.is-error .c-status-k{color:#f0a893}
.c-box .c-status.is-error h3{color:#fbf7ea}
.c-box .c-status.is-error p{color:rgba(248,242,232,.86)}
.c-box .c-status.is-error a{color:#fbf7ea;font-weight:600;box-shadow:inset 0 -1px 0 rgba(240,168,147,.7)}
