:root { --ct-red:#d51f2b; --ct-red-dark:#ad141e; --ct-ink:#101b24; --ct-slate:#59666f; --ct-line:#dce2e5; --ct-soft:#f2f5f6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ct-ink); background:#fff; font-family:Inter,Arial,sans-serif; line-height:1.65; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
button,input,textarea { font:inherit; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Barlow Condensed",Arial,sans-serif; line-height:1.04; }
h1 { max-width:820px; margin-bottom:22px; font-size:clamp(3.5rem,7vw,6.35rem); font-weight:800; letter-spacing:-.025em; }
h2 { margin-bottom:18px; font-size:clamp(2.35rem,4.2vw,4.1rem); font-weight:800; letter-spacing:-.015em; }
h3 { font-size:1.55rem; }
.ct-shell { width:min(1160px,calc(100% - 44px)); margin-inline:auto; }
.ct-kicker { margin:0 0 12px; color:var(--ct-red); font-size:.73rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ct-button { display:inline-flex; min-height:54px; padding:13px 23px; align-items:center; justify-content:center; color:#fff; border:0; background:var(--ct-red); cursor:pointer; font-weight:800; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.ct-button:hover { background:var(--ct-red-dark); transform:translateY(-2px); }
.ct-hero { position:relative; overflow:hidden; color:#fff; background:var(--ct-ink); }
.ct-hero::before { position:absolute; inset:0; content:""; background:radial-gradient(circle at 10% 15%,rgba(213,31,43,.31),transparent 33%),linear-gradient(125deg,transparent 60%,rgba(255,255,255,.035)); }
.ct-hero-grid { position:relative; display:grid; grid-template-columns:1.2fr .8fr; gap:78px; min-height:610px; padding-top:72px; padding-bottom:78px; align-items:center; }
.ct-hero .ct-kicker { color:#ff8189; }
.ct-lead { max-width:700px; margin:0; color:#cad5db; font-size:1.13rem; }
.ct-actions { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:32px; }
.ct-actions > a:not(.ct-button) { color:#fff; font-weight:800; text-underline-offset:5px; }
.ct-hero-card { padding:38px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.055); }
.ct-hero-card h2 { margin-bottom:24px; font-size:2.5rem; }
.ct-hero-card ul { margin:0 0 25px; padding:0; list-style:none; }
.ct-hero-card li { position:relative; padding:10px 0 10px 25px; color:#d1dade; border-bottom:1px solid rgba(255,255,255,.12); font-size:.86rem; }
.ct-hero-card li::before { position:absolute; left:0; color:#ff8189; content:"✓"; font-weight:900; }
.ct-hero-card > a { color:#fff; font-size:.82rem; font-weight:800; text-decoration:none; }
.ct-contact-strip { color:#fff; background:var(--ct-red); }
.ct-contact-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.ct-contact-grid a { min-height:150px; padding:27px; border-right:1px solid rgba(255,255,255,.25); text-decoration:none; transition:background .2s ease; }
.ct-contact-grid a:first-child { border-left:1px solid rgba(255,255,255,.25); }
.ct-contact-grid a:hover { background:var(--ct-red-dark); }
.ct-contact-grid span,.ct-contact-grid strong,.ct-contact-grid small { display:block; }
.ct-contact-grid span { color:#ffd2d5; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ct-contact-grid strong { margin-top:19px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.45rem; line-height:1.1; overflow-wrap:anywhere; }
.ct-contact-grid small { margin-top:7px; color:#ffdcdf; font-size:.72rem; }
.ct-form-section { padding:105px 0; }
.ct-form-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:start; }
.ct-form-panel { padding:42px; border:1px solid var(--ct-line); background:#fff; box-shadow:0 18px 55px rgba(16,27,36,.07); }
.ct-form-intro { margin-bottom:30px; color:var(--ct-slate); }
.ct-form-intro a { color:var(--ct-red); font-weight:700; }
.ct-status:empty { display:none; }
.ct-status { margin-bottom:24px; padding:15px 17px; border-left:4px solid var(--ct-red); background:#fff0f1; font-size:.84rem; font-weight:700; }
.ct-status.is-success { color:#155b34; border-color:#2e9d5b; background:#ecf8f1; }
.ct-status.is-error { color:#861a22; }
.ct-field { margin-bottom:21px; }
.ct-field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ct-field label { display:block; margin-bottom:7px; font-size:.78rem; font-weight:800; }
.ct-field label span { color:var(--ct-red); }
.ct-field input,.ct-field textarea { display:block; width:100%; padding:13px 14px; color:var(--ct-ink); border:1px solid #cfd7db; border-radius:0; outline:none; background:#fff; }
.ct-field input { min-height:50px; }
.ct-field textarea { min-height:180px; resize:vertical; }
.ct-field input:focus,.ct-field textarea:focus { border-color:var(--ct-red); box-shadow:0 0 0 3px rgba(213,31,43,.1); }
.ct-field small { display:block; margin-top:6px; color:var(--ct-slate); font-size:.68rem; }
.ct-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ct-privacy-note { margin:17px 0 0; color:var(--ct-slate); font-size:.7rem; }
.ct-sidebar { display:grid; gap:18px; }
.ct-address-card,.ct-quote-card { padding:32px; border:1px solid var(--ct-line); }
.ct-address-card h2,.ct-quote-card h2 { font-size:2.1rem; }
.ct-address-card address { margin-bottom:24px; color:var(--ct-slate); font-style:normal; }
.ct-address-card > a,.ct-quote-card > a { color:var(--ct-red); font-size:.82rem; font-weight:800; text-decoration:none; }
.ct-quote-card { color:#fff; border-color:var(--ct-ink); background:var(--ct-ink); }
.ct-quote-card > span { color:#ff8189; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ct-quote-card h2 { margin-top:17px; }
.ct-quote-card p { color:#bdc9cf; font-size:.86rem; }
.ct-quote-card > a { color:#ff8189; }
.ct-map-section { padding:100px 0; background:var(--ct-soft); }
.ct-section-head { display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:end; margin-bottom:42px; }
.ct-section-head h2 { margin:0; }
.ct-section-head > p { margin-bottom:8px; color:var(--ct-slate); }
.ct-map-frame { overflow:hidden; border:1px solid var(--ct-line); background:#fff; }
.ct-map-frame iframe { display:block; width:100%; height:520px; }
.ct-products { padding:105px 0; }
.ct-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.ct-product-grid a { min-height:300px; padding:27px 24px; border:1px solid var(--ct-line); border-top:4px solid var(--ct-red); text-decoration:none; transition:border-color .2s ease,transform .2s ease; }
.ct-product-grid a:hover { border-color:var(--ct-red); transform:translateY(-4px); }
.ct-product-grid span { color:var(--ct-red); font-size:.68rem; font-weight:800; }
.ct-product-grid h3 { margin:38px 0 10px; }
.ct-product-grid p { color:var(--ct-slate); font-size:.82rem; }
.ct-product-grid strong { display:block; margin-top:28px; color:var(--ct-red); font-size:.78rem; }
.ct-faq { padding:105px 0; background:var(--ct-soft); }
.ct-faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; align-items:start; }
.ct-faq-grid > div:first-child > p:last-child { color:var(--ct-slate); }
.ct-accordion { border-top:1px solid var(--ct-line); }
.ct-accordion details { border-bottom:1px solid var(--ct-line); }
.ct-accordion summary { position:relative; padding:23px 45px 23px 0; cursor:pointer; font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.35rem; font-weight:800; list-style:none; }
.ct-accordion summary::-webkit-details-marker { display:none; }
.ct-accordion summary::after { position:absolute; top:22px; right:5px; color:var(--ct-red); content:"+"; font-family:Inter,Arial,sans-serif; }
.ct-accordion details[open] summary::after { content:"−"; }
.ct-accordion details p { max-width:760px; margin:0; padding:0 45px 24px 0; color:var(--ct-slate); font-size:.9rem; }
.ct-footer { padding-top:60px; color:#bdc8ce; background:#0a1117; }
.ct-footer-grid { display:grid; grid-template-columns:1.5fr .85fr .75fr 1fr; gap:50px; padding-bottom:42px; }
.ct-footer img { width:205px; margin-bottom:16px; }
.ct-footer p { max-width:350px; font-size:.82rem; }
.ct-footer h2 { margin-bottom:15px; color:#fff; font-size:1.05rem; letter-spacing:.06em; text-transform:uppercase; }
.ct-footer a { display:block; margin:7px 0; color:#bdc8ce; font-size:.82rem; text-decoration:none; }
.ct-footer a:hover { color:#fff; }
.ct-footer-bottom { padding-top:20px; padding-bottom:20px; border-top:1px solid rgba(255,255,255,.12); font-size:.75rem; }
@media (max-width:980px) {
  .ct-hero-grid,.ct-form-grid,.ct-faq-grid { grid-template-columns:1fr; gap:45px; }
  .ct-section-head { grid-template-columns:1fr; gap:30px; }
  .ct-product-grid { grid-template-columns:repeat(2,1fr); }
  .ct-footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .ct-footer-grid > div:last-child { grid-column:2/4; }
}
@media (max-width:700px) {
  .ct-contact-grid { grid-template-columns:1fr; }
  .ct-contact-grid a { min-height:120px; border-left:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
}
@media (max-width:650px) {
  .ct-shell { width:calc(100% - 28px); }
  h1 { font-size:clamp(3rem,15vw,4.3rem); }
  .ct-hero-grid { min-height:auto; padding-top:55px; padding-bottom:66px; }
  .ct-hero-card,.ct-form-panel,.ct-address-card,.ct-quote-card { padding:26px 22px; }
  .ct-form-section,.ct-map-section,.ct-products,.ct-faq { padding:72px 0; }
  .ct-field-row,.ct-product-grid,.ct-footer-grid { grid-template-columns:1fr; }
  .ct-map-frame iframe { height:420px; }
  .ct-footer-grid > div:last-child { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .ct-button,.ct-product-grid a { transition:none; } }
