
:root{--bg:#F7F6F3;--bg2:#EFEDE8;--surface:#FFFFFF;--ink:#171614;--ink2:#3B3A36;--muted:#6E6C66;--faint:#9B998F;
--coral:#FF5A36;--coral2:#E8431F;--coral-soft:#FFE4DC;--line:rgba(23,22,20,.13);--line2:rgba(23,22,20,.07);
--disp:'Red Hat Display',system-ui,sans-serif;--body:'Red Hat Text',system-ui,sans-serif;--edge:clamp(20px,5vw,64px);--r:16px;--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(--bg);color:var(--ink);line-height:1.65;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(--coral);color:#fff}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 var(--edge)}.sec{padding:clamp(64px,10vw,150px) 0}
.kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--coral2)}
.kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--coral)}
.h2{font-family:var(--disp);font-weight:800;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.04;letter-spacing:-.025em}
.lead{color:var(--muted);font-size:1.1rem;max-width:560px}.center{text-align:center}.center .lead{margin-inline:auto}.center .kicker::before{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:.92rem;padding:15px 30px;border-radius:999px;transition:transform .24s var(--ease),background .24s,color .24s,border-color .24s,box-shadow .24s}
.btn--coral{background:var(--coral);color:#fff;box-shadow:0 14px 30px -12px rgba(255,90,54,.6)}.btn--coral:hover{background:var(--coral2);transform:translateY(-2px)}
.btn--ink{background:var(--ink);color:#fff}.btn--ink:hover{transform:translateY(-2px)}
.btn--out{background:transparent;color:var(--ink);border:1.5px solid var(--line)}.btn--out:hover{border-color:var(--ink);transform:translateY(-2px)}
.btn--lg{padding:17px 36px;font-size:1rem}
.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(247,246,243,.86);backdrop-filter:blur(12px);border-bottom-color:var(--line2)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:800;font-size:1.28rem;letter-spacing:-.02em}
.brand .orb{width:22px;height:22px;position:relative;flex:none}
.brand .orb::before{content:"";position:absolute;inset:0;border:1.5px solid var(--ink);border-radius:50%}
.brand .orb::after{content:"";position:absolute;width:7px;height:7px;background:var(--coral);border-radius:50%;top:-1px;left:50%;transform:translateX(-50%)}
.nav__links{display:flex;gap:32px}.nav__links a{font-weight:500;font-size:.94rem;color:var(--ink2)}.nav__links a:hover{color:var(--coral2)}
.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(--line2);background:var(--bg);padding:14px var(--edge) 22px;flex-direction:column;gap:2px}.nav.open .nav__drawer{display:flex}
.nav__drawer a{padding:14px 2px;color:var(--ink2);border-bottom:1px solid var(--line2);font-weight:500}
/* hero spacious + orbit */
.hero{position:relative;padding-top:clamp(140px,20vh,210px);padding-bottom:clamp(70px,10vw,130px);text-align:center;overflow:hidden}
.hero__orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-46%);width:min(120vw,1000px);height:min(120vw,1000px);pointer-events:none;z-index:0}
.hero__orbit svg{width:100%;height:100%}
.hero__in{position:relative;z-index:1}
.hero h1{font-family:var(--disp);font-weight:800;font-size:clamp(2.8rem,7vw,5.6rem);line-height:1.02;letter-spacing:-.035em;margin:22px auto 22px;max-width:16ch}
.hero h1 em{font-style:normal;color:var(--coral2)}
.hero__sub{color:var(--ink2);font-size:clamp(1.1rem,1.6vw,1.3rem);max-width:560px;margin:0 auto 32px}
.hero__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.caps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:clamp(40px,6vw,68px)}
.cap{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:10px 20px;font-family:var(--disp);font-weight:600;font-size:.9rem}
/* services spacious grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.5vw,28px)}
.scard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,3.4vw,40px);transition:transform .26s var(--ease),box-shadow .26s}
.scard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -40px rgba(23,22,20,.5)}
.scard .ic{width:50px;height:50px;border-radius:14px;background:var(--coral-soft);display:grid;place-items:center;margin-bottom:20px}.scard .ic svg{width:24px;height:24px;stroke:var(--coral2);fill:none;stroke-width:1.9}
.scard h3{font-family:var(--disp);font-weight:700;font-size:1.3rem;margin-bottom:10px}.scard p{color:var(--muted);font-size:.97rem}
.band{background:var(--ink);color:#fff;border-radius:var(--r-lg);position:relative;overflow:hidden}
.band__orbit{position:absolute;right:-120px;top:50%;transform:translateY(-50%);width:420px;height:420px;opacity:.5}
.stg{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:clamp(36px,4.5vw,60px);position:relative;z-index:1}
.stat b{font-family:var(--disp);font-weight:800;font-size:clamp(2.2rem,4.4vw,3.4rem);display:block;line-height:1;letter-spacing:-.02em;color:#fff}.stat b em{font-style:normal;color:var(--coral)}
.stat span{display:block;margin-top:10px;color:#A5A39B;font-size:.9rem}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px}
.quote .st{color:var(--coral)}.quote p{margin:12px 0;color:var(--ink2)}.quote .by{color:var(--muted);font-size:.9rem}.quote .by b{color:var(--ink);font-family:var(--disp)}
.cta{background:var(--coral);border-radius:var(--r-lg);padding:clamp(48px,7vw,96px);text-align:center;color:#fff;position:relative;overflow:hidden}
.cta__orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:130%;height:130%;opacity:.25}
.cta__in{position:relative;z-index:1}.cta h2{font-family:var(--disp);font-weight:800;font-size:clamp(2rem,4.6vw,3.4rem);letter-spacing:-.02em;line-height:1.04}.cta p{max-width:500px;margin:14px auto 28px;color:rgba(255,255,255,.9)}
.btn--white{background:#fff;color:var(--coral2)}.btn--white:hover{transform:translateY(-2px)}
.foot{background:var(--ink);color:#A5A39B;padding:clamp(52px,7vw,84px) 0 30px}
.foot__grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr;gap:34px}
.foot .brand{color:#fff;margin-bottom:14px}.foot .brand .orb::before{border-color:#fff}.foot__brand p{color:#87857D;max-width:290px;font-size:.95rem}
.foot h5{font-family:var(--disp);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#87857D;margin-bottom:16px}
.foot__col a,.foot__col p{display:block;color:#A5A39B;margin-bottom:10px;font-size:.95rem}.foot__col a:hover{color:var(--coral)}
.foot__bar{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:24px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#6B695F;font-size:.85rem}.foot__bar a:hover{color:#fff}
/* CONTACT two cards */
.chead{padding-top:clamp(128px,15vh,180px);text-align:center}
.chead h1{font-family:var(--disp);font-weight:800;font-size:clamp(2.6rem,6vw,4.4rem);letter-spacing:-.03em;line-height:1.03;margin:16px 0 12px}.chead h1 em{font-style:normal;color:var(--coral2)}
.chead p{color:var(--muted);max-width:520px;margin:0 auto}
.ccards{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(18px,2.6vw,28px);margin-top:clamp(40px,5vw,60px);align-items:start}
.ccard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,3.4vw,44px)}
.ccard h2{font-family:var(--disp);font-weight:700;font-size:1.4rem;margin-bottom:20px}
.ccard--visit .vis{aspect-ratio:16/10;border-radius:var(--r);background:var(--bg2);position:relative;overflow:hidden;margin-bottom:22px;display:grid;place-items:center}
.ccard--visit .vis .pin{width:16px;height:16px;border-radius:50% 50% 50% 0;background:var(--coral);transform:rotate(-45deg);box-shadow:0 0 0 6px var(--coral-soft)}
.ccard--visit .row{padding:14px 0;border-top:1px solid var(--line2)}
.ccard--visit .k{font-family:var(--disp);font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--coral2);display:block;margin-bottom:5px}
.ccard--visit a,.ccard--visit p{color:var(--ink2);font-size:1rem}
.cform .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:.8rem;margin-bottom:8px;display:block}
.fld input,.fld textarea{width:100%;background:var(--bg);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:120px;resize:vertical}.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}
.cform .btn{width:100%}.cform__note{font-size:.82rem;color:var(--faint);margin-top:12px;text-align:center}
.legal{padding-top:clamp(120px,14vh,168px)}
.legalcard{background:var(--surface);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(--coral-soft);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(--coral2)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.rv.in{opacity:1;transform:none}
@media(max-width:900px){.nav__links,.nav__in>.btn{display:none}.nav__tog{display:flex}.grid{grid-template-columns:1fr;gap:16px}.stg{grid-template-columns:1fr 1fr;gap:30px 20px}.quotes{grid-template-columns:1fr}.ccards{grid-template-columns:1fr}.foot__grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:560px){.stg{grid-template-columns:1fr 1fr}.cform .row{grid-template-columns:1fr}.foot__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}.rv{opacity:1;transform:none}}
