
:root{--red:#E1352B;--red2:#C2261D;--ink:#151312;--ink2:#3A3735;--muted:#6E6A67;--faint:#9C9895;
--paper:#FFFFFF;--off:#F6F4F2;--line:rgba(21,19,18,.12);--line-w:rgba(255,255,255,.24);
--disp:'Familjen Grotesk',system-ui,sans-serif;--body:'Figtree',system-ui,sans-serif;--edge:clamp(18px,4vw,52px);--r:18px;--r-lg:26px;--ease:cubic-bezier(.2,.7,.3,1);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);background:var(--paper);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}ul{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--red);color:#fff}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 var(--edge)}.sec{padding:clamp(58px,8vw,116px) 0}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:600;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.eyebrow::before{content:"";width:20px;height:2px;background:currentColor}
.h2{font-family:var(--disp);font-weight:700;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.03;letter-spacing:-.03em}
.lead{color:var(--muted);font-size:1.08rem;max-width:560px}.center{text-align:center}.center .lead{margin-inline:auto}
.red-txt{color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--disp);font-weight:600;font-size:.96rem;padding:15px 28px;border-radius:999px;transition:transform .22s var(--ease),background .22s,color .22s,border-color .22s}
.btn--red{background:var(--red);color:#fff}.btn--red:hover{background:var(--red2);transform:translateY(-2px)}
.btn--ink{background:var(--ink);color:#fff}.btn--ink:hover{transform:translateY(-2px)}
.btn--wht{background:#fff;color:var(--red2)}.btn--wht:hover{transform:translateY(-2px)}
.btn--outw{border:1.5px solid var(--line-w);color:#fff}.btn--outw:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.btn--lg{padding:17px 32px;font-size:1.02rem}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom-color:var(--line)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-family:var(--disp);font-weight:700;font-size:1.42rem;letter-spacing:-.02em;display:inline-flex;align-items:baseline;gap:7px}
.brand .r{color:var(--red)}.brand span{font-weight:500;font-size:.98rem;color:var(--muted)}
.nav__links{display:flex;gap:30px}.nav__links a{font-weight:500;font-size:.95rem;color:var(--ink2)}.nav__links a:hover{color:var(--red)}
.nav__tog{display:none;width:44px;height:40px;border:1px solid var(--line);border-radius:11px;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav__tog span{width:19px;height:2px;background:var(--ink);border-radius:2px}
.nav__drawer{display:none;border-top:1px solid var(--line);background:#fff;padding:14px var(--edge) 22px;flex-direction:column;gap:2px}.nav.open .nav__drawer{display:flex}
.nav__drawer a{padding:13px 4px;color:var(--ink2);border-bottom:1px solid var(--line);font-weight:500}.nav__drawer .btn{margin-top:12px}
/* red hero */
.hero{background:var(--red);color:#fff;padding-top:clamp(128px,16vh,180px);padding-bottom:clamp(56px,8vw,100px);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;width:620px;height:620px;border-radius:50%;background:rgba(255,255,255,.07);top:-220px;right:-140px}
.hero__in{position:relative;z-index:1}
.hero .eyebrow{color:#fff;opacity:.9}
.hero h1{font-family:var(--disp);font-weight:700;font-size:clamp(2.7rem,7vw,5.6rem);line-height:.98;letter-spacing:-.04em;margin:22px 0 20px;max-width:16ch}
.hero__sub{font-size:clamp(1.08rem,1.6vw,1.35rem);max-width:560px;margin-bottom:32px;color:rgba(255,255,255,.92)}
.hero__btns{display:flex;gap:13px;flex-wrap:wrap}
.hero__logos{display:flex;flex-wrap:wrap;gap:30px;align-items:center;margin-top:48px;opacity:.85}
.hero__logos span{font-family:var(--disp);font-weight:700;font-size:1.2rem;color:#fff;opacity:.7}
/* services */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -30px rgba(225,53,43,.4);border-color:#F3C7C4}
.card .n{font-family:var(--disp);font-weight:700;font-size:.9rem;color:var(--red);letter-spacing:.05em}
.card h3{font-family:var(--disp);font-weight:700;font-size:1.28rem;margin:8px 0 10px}.card p{color:var(--muted);font-size:.96rem}
/* results band */
.band{background:var(--ink);color:#fff}
.stg{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat b{font-family:var(--disp);font-weight:700;font-size:clamp(2.1rem,4.4vw,3.4rem);color:var(--red);display:block;line-height:1;letter-spacing:-.02em}
.stat span{display:block;margin-top:10px;color:#B8B4B1;font-size:.9rem}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step .n{width:48px;height:48px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:1.2rem;margin-bottom:16px}
.step h3{font-family:var(--disp);font-weight:700;font-size:1.14rem;margin-bottom:8px}.step p{color:var(--muted);font-size:.94rem}
/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{background:var(--off);border-radius:var(--r-lg);padding:28px 26px}
.quote .st{color:var(--red);letter-spacing:2px}.quote p{margin:14px 0;color:var(--ink2)}.quote .by{color:var(--muted);font-size:.9rem}.quote .by b{color:var(--ink);font-family:var(--disp)}
/* cta */
.cta{background:var(--red);border-radius:var(--r-lg);padding:clamp(46px,6vw,84px);text-align:center;color:#fff;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.08);top:-160px;left:-100px}
.cta h2{font-family:var(--disp);font-weight:700;font-size:clamp(2rem,4.6vw,3.4rem);letter-spacing:-.03em;position:relative;z-index:1}.cta p{max-width:500px;margin:14px auto 28px;color:rgba(255,255,255,.9);position:relative;z-index:1}.cta .btn{position:relative;z-index:1}
/* footer */
.foot{background:var(--ink);color:#B8B4B1;padding:clamp(50px,7vw,78px) 0 30px}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:34px}
.foot .brand{color:#fff;margin-bottom:14px}.foot .brand span{color:#B8B4B1}.foot__brand p{color:#8F8B88;max-width:280px;font-size:.95rem}
.foot h5{font-family:var(--disp);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#8F8B88;margin-bottom:16px}
.foot__col a,.foot__col p{display:block;color:#B8B4B1;margin-bottom:10px;font-size:.95rem}.foot__col a:hover{color:var(--red)}
.foot__bar{border-top:1px solid #2A2725;margin-top:38px;padding-top:24px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#7C7875;font-size:.86rem}.foot__bar a:hover{color:#fff}
/* contact */
.chead{padding-top:clamp(120px,14vh,168px)}
.cgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;margin-top:clamp(30px,4vw,50px);align-items:start}
.icard{background:var(--off);border-radius:var(--r);padding:22px;margin-bottom:16px}
.icard .k{font-family:var(--disp);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red);display:block;margin-bottom:8px}
.icard a,.icard p{color:var(--ink2);font-size:1.05rem}.icard a:hover{color:var(--red)}
.form{border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,38px)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fld{margin-bottom:18px}
.fld label{font-family:var(--disp);font-weight:600;font-size:.85rem;margin-bottom:8px;display:block}
.fld input,.fld textarea{width:100%;background:var(--off);border:1px solid var(--line);border-radius:12px;padding:13px 15px;font-family:var(--body);font-size:1rem;color:var(--ink)}
.fld textarea{min-height:130px;resize:vertical}.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(225,53,43,.14)}
.form .btn{width:100%}.form__note{font-size:.82rem;color:var(--faint);margin-top:12px;text-align:center}
/* legal */
.legal{padding-top:clamp(120px,14vh,168px)}
.legalcard{border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,4vw,52px);max-width:820px;margin:clamp(24px,3vw,40px) auto 0}
.legalcard .note{background:var(--off);border-radius:12px;padding:16px 18px;color:var(--ink2);font-size:.9rem;margin-bottom:30px}
.legalcard h3{font-family:var(--disp);font-weight:700;font-size:1.2rem;margin:28px 0 9px}.legalcard p{color:var(--muted);margin-bottom:12px}.legalcard a{color:var(--red)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.rv.in{opacity:1;transform:none}
@media(max-width:900px){.nav__links,.nav__in>.btn{display:none}.nav__tog{display:flex}.grid3{grid-template-columns:1fr 1fr}.stg{grid-template-columns:1fr 1fr;gap:30px 20px}.steps{grid-template-columns:1fr 1fr}.quotes{grid-template-columns:1fr}.cgrid{grid-template-columns:1fr}.foot__grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:560px){.grid3{grid-template-columns:1fr}.stg{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.form .row{grid-template-columns:1fr}.foot__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
