/* Active Concept A v2.0. Shared styles and Concept B stay unchanged. */
:root{--paper:#fff;--ink:#171717;--accent:#f20d20;--yellow:#ffc928;--secondary:#555;--line:#d1d1d1;--soft:#f5f5f5}

header{height:110px}.brand{padding:0}.brand::before{content:none}.brand span{letter-spacing:5px}
.hero{isolation:isolate;overflow:clip;overflow-clip-margin:0;padding-top:40px;margin-right:-4.95%;padding-right:4.72%}
.hero h1{display:grid;grid-template-columns:max-content 1fr;column-gap:.18em;row-gap:0;width:83%;max-width:none;font-size:clamp(64px,8.4vw,144px);line-height:.99;letter-spacing:-.072em;margin:56px 0 26px}
.hero h1 .intro{grid-column:1/-1;font-size:clamp(28px,4.05vw,70px);line-height:1.15;letter-spacing:-.055em;margin-bottom:16px}
.hero h1 .line{white-space:nowrap}.hero h1 .offset{margin-left:0;justify-self:start;padding-right:.04em}.hero h1 .line:last-child{grid-column:1/-1;justify-self:end}
.hero-ribbons{position:absolute;right:0;bottom:0;width:37%;height:72%;pointer-events:none;z-index:-1}
.hero-bottom{padding:0 0 54px;grid-template-columns:1fr 1fr}.hero-bottom p{font-size:17px;max-width:450px;margin-bottom:27px}.hero-note{font-size:11px}
.button{background:var(--accent);color:#fff;min-height:56px}.button:hover{background:#cf0014;color:#fff}.nav-cta{border-color:var(--accent)}.nav-cta:hover{color:var(--accent)}.dot{background:var(--accent)}
.ribbon{border-color:var(--line)}.audit{background:var(--soft);border-top:1px solid var(--line)}.body-copy,.service p,.steps p,.audit p{color:var(--secondary)}
/* Small accent labels need a darker solid red to retain normal-text contrast. */
.service .num,.audit .label{color:#d6091b}.audit p.label{color:var(--secondary)}
@media(min-width:1600px){header{height:126px}.hero{padding-top:47px}.hero h1{margin-top:62px}.hero-bottom p{font-size:20px;max-width:510px}.hero-bottom{padding-bottom:64px}.hero .button{font-size:18px;padding:20px 28px}.hero-note{font-size:12px}}
@media(max-width:850px){header{height:95px}.hero h1{width:91%;font-size:8.4vw;margin-top:43px}.hero-bottom{grid-template-columns:1.4fr 1fr;gap:24px}.hero-note{gap:18px;align-items:end}.hero-ribbons{height:43%;width:29%}.hero-bottom p{font-size:15px}.eyebrow{font-size:9px}}
@media(max-width:600px){header{height:90px}.brand{font-size:21px}.hero{margin-right:-6.82%;padding-right:6.38%;padding-top:25px}.hero h1{width:100%;grid-template-columns:1fr;font-size:12vw;margin:34px 0 26px;row-gap:.04em}.hero h1 .intro{font-size:28px;white-space:normal;margin-bottom:17px;letter-spacing:-.045em}.hero h1 .offset{justify-self:center}.hero h1 .line:last-child{justify-self:end}.hero-bottom{grid-template-columns:1fr;gap:30px;padding-bottom:120px}.hero-note{gap:20px}.hero-ribbons{height:100px;width:47%;bottom:0}.hero-bottom p{font-size:15px}.hero .button{gap:30px}}
@media(min-width:851px){.hero h1{line-height:.94;margin-bottom:16px}.hero h1 .intro{margin-bottom:8px}.hero .button{font-size:17px;padding:19px 26px;gap:45px}.hero-ribbons{height:66%}}
