/* ===== v4: modern redesign layer ===== */
:root{--red:#b3121b;--red-d:#8e0d14;--ink:#14110f;--mute:#6b6461;--line:#ece6e3;--soft:#f8f4f2;--r:22px}
body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:16.5px;-webkit-font-smoothing:antialiased}
h1,h2,h3,.logo,.stats b,.steps div:before,.chip b,.imgstack .badge b,.simg .num,.marq div{font-family:"Plus Jakarta Sans",system-ui,sans-serif!important}
h1,h2{font-weight:800;letter-spacing:-.035em}
h3{font-weight:700;letter-spacing:-.02em}
.wrap{max-width:1240px}
/* top + nav */
.top{font-size:13px}
header.nav{background:rgba(255,255,255,.96);border-bottom:0}
header.nav .wrap{height:76px}
.logo{font-weight:800;font-size:20px;letter-spacing:-.02em}
.logo small{letter-spacing:.14em;font-size:10px}
nav.links{gap:4px}
nav.links a:not(.btn){padding:9px 14px;border-radius:10px;font-size:14.5px;transition:background .2s,color .2s}
nav.links a:not(.btn):after{display:none}
nav.links a:not(.btn):hover{background:var(--soft)}
nav.links a.on{background:#fbe9ea;color:var(--red)}
nav.links .btn{margin-left:10px}
/* buttons */
.btn{border-radius:14px;padding:15px 24px;font-weight:700;letter-spacing:-.01em;border-width:0}
.btn.sm{padding:11px 18px;border-radius:12px}
.btn.line{border:1.5px solid var(--line);color:var(--ink);background:#fff}
.btn.line:hover{border-color:var(--red);color:var(--red);background:#fff}
.btn.white{background:#fff;color:var(--ink)}
.btn.white:hover{background:#fff;color:var(--red)}
/* hero */
.hero2{padding:18px 0 0;overflow:hidden}
.hbox{position:relative;border-radius:32px;overflow:hidden;min-height:640px;display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:center;padding:64px;color:#fff;isolation:isolate}
.hbox:before{content:"";position:absolute;inset:0;background:var(--bg) center 30%/cover;z-index:-2;animation:kenburns 22s ease-in-out infinite alternate}
.hbox:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,6,6,.88) 0%,rgba(18,6,6,.62) 48%,rgba(18,6,6,.2) 100%);z-index:-1}
@keyframes kenburns{to{transform:scale(1.1) translateX(-2%)}}
.hbox .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;padding:8px 14px;border-radius:40px;text-transform:none;letter-spacing:0;font-size:13.5px;font-weight:600}
.hbox .eyebrow .i{width:16px;height:16px;color:#ffc53d}
.hbox h1{font-size:clamp(40px,5.6vw,76px);line-height:1.02;margin:22px 0 20px}
.hbox h1 em{font-style:normal;color:#ff6b6b}
.hbox .lead{color:rgba(255,255,255,.82);font-size:19px;max-width:520px;margin-bottom:30px}
.hbox .cta{display:flex;gap:12px;flex-wrap:wrap}
.hbox .facts{gap:0;margin-top:44px;border-top:1px solid rgba(255,255,255,.18);padding-top:24px;max-width:520px}
.hbox .facts div{flex:1;color:rgba(255,255,255,.7);font-size:13.5px}
.hbox .facts b{color:#fff;font-size:34px;font-weight:800;letter-spacing:-.03em}
.hform{border-radius:24px;padding:30px;border:0;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35);animation:cardin .9s .5s cubic-bezier(.2,.8,.2,1) both}
.hform h3{font-size:24px}
.hform .sub{margin-bottom:6px}
.hform label{font-size:12.5px;color:var(--mute);font-weight:600}
.hform form .btn{border-radius:14px}
input,select,textarea{border-radius:12px;border:1.5px solid var(--line);background:var(--soft);padding:12px 14px}
input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--red)}
.road{height:110px;margin-top:-10px;border-bottom:5px solid #1d1d1d}
.truck{width:230px}
.city{opacity:.07}
.marq{background:var(--red);padding:18px 0}
.marq div{font-weight:700;font-size:19px;letter-spacing:-.01em}
.marq i{color:rgba(255,255,255,.45)}
/* sections */
section.blk{padding:110px 0}
section.alt{background:var(--soft)}
.head{max-width:680px;margin-bottom:52px}
.head h2{font-size:clamp(32px,4.2vw,52px);line-height:1.05;margin-bottom:14px}
.head p{font-size:18px}
/* service cards */
.grid3{gap:24px}
.svc{border:0!important;border-radius:var(--r);background:#fff;box-shadow:0 1px 0 var(--line),0 0 0 1px var(--line)}
.svc:before{display:none}
.svc:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(70,10,10,.13)}
.svc:hover *{color:inherit!important}
.svc .sim{margin:10px 10px 0;border-radius:16px;aspect-ratio:16/11}
.svc .sbody{border-top:0;padding:26px 24px 26px}
.svc .ico{top:-34px;right:24px;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.svc h3{font-size:22px;margin-bottom:8px}
.svc .n{color:var(--red)!important;margin-bottom:6px}
.svc p{color:var(--mute)!important}
.svc .ask{color:var(--red)!important;display:inline-flex;align-items:center;gap:6px;padding:9px 14px;background:#fbe9ea;border-radius:10px}
.svc:hover .ask{background:var(--red);color:#fff!important;transform:none}
/* stats as red panel */
.stats{background:none;padding:0;margin-top:-30px}
.stats .wrap{background:var(--red);border-radius:28px;padding:54px 40px;position:relative;overflow:hidden}
.stats .wrap:before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;background:url(logo.svg) center/contain no-repeat;opacity:.12;filter:brightness(0) invert(1)}
.stats b{font-size:56px;font-weight:800;letter-spacing:-.04em}
.stats .wrap>div{color:rgba(255,255,255,.78);border-color:rgba(255,255,255,.2)!important;font-weight:500}
/* why */
.imgstack img{border-radius:24px}
.imgstack img.sm{border-radius:20px;border-width:8px}
.imgstack .badge{border-radius:18px;padding:18px 22px}
.feat{gap:18px}
.feat>div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;transition:transform .3s,box-shadow .3s,border-color .3s}
.feat>div:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(70,10,10,.08);border-color:transparent}
/* steps */
.steps{gap:20px}
.steps div{background:#fff;border-radius:22px;padding:30px 26px;border:0;box-shadow:0 0 0 1px var(--line)}
.steps div:before{font-weight:800;font-size:15px;color:#fff;background:var(--red);width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px}
.steps div:after{left:26px;right:26px;width:0;top:auto;bottom:0;border-radius:2px}
.steps div.in:after{width:calc(100% - 52px)}
.steps h3{font-size:20px}
/* packing list */
ul.tick li{border-bottom:1px dashed var(--line);padding:12px 0 12px 34px}
ul.tick li:before{width:20px;height:20px;border:0;transform:none;top:13px;left:0;border-radius:50%;background:#fbe9ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23b3121b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.imgone{border-radius:28px}
/* reviews */
.quotes{gap:20px}
.quotes blockquote{border:0;border-radius:22px;padding:30px;font-family:"Plus Jakarta Sans",sans-serif;font-size:18px;font-weight:500;line-height:1.5;box-shadow:0 0 0 1px var(--line);position:relative}
.quotes blockquote:before{content:"\201C";display:block;font-size:64px;line-height:.6;color:var(--red);font-weight:800;margin-bottom:12px}
.quotes cite{display:flex;align-items:center;gap:8px;margin-top:18px;font-weight:600}
.quotes cite:before{content:"G";width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--line);display:grid;place-items:center;font-weight:800;color:#4285f4;font-size:13px}
/* faq */
.faq details{border:0;background:#fff;border-radius:16px;padding:0;margin-bottom:10px;box-shadow:0 0 0 1px var(--line);transition:box-shadow .3s}
.faq details[open]{box-shadow:0 0 0 1.5px var(--red)}
.faq summary{list-style:none;padding:20px 56px 20px 22px;position:relative;font-size:16.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:9px;background:var(--soft);display:grid;place-items:center;font-size:18px;color:var(--red);transition:transform .3s}
.faq details[open] summary:after{transform:translateY(-50%) rotate(45deg);background:#fbe9ea}
.faq details p{padding:0 22px 20px;margin:0}
/* cta band */
.band{background:none;padding:0 0 90px;color:#fff}
.band:before{display:none}
.band .wrap{background:var(--ink);border-radius:32px;padding:60px 56px;overflow:hidden;position:relative}
.band .wrap:after{content:"";position:absolute;right:-40px;bottom:-80px;width:320px;height:320px;border-radius:50%;background:var(--red);opacity:.9;z-index:0}
.band .wrap>*{position:relative;z-index:1}
.band h2{font-size:clamp(28px,3.6vw,44px)}
.band .btn{background:var(--wa);color:#fff}
.band .btn.ghost{background:#fff;color:var(--ink)}
/* page heads */
.pagehead{padding:0;background:none;border:0}
.pagehead .wrap{background:var(--soft);border-radius:32px;padding:80px 64px;margin-top:18px;position:relative;overflow:hidden}
.pagehead.withimg{background:none;padding:0;color:#fff}
.pagehead.withimg .wrap{background:linear-gradient(90deg,rgba(18,6,6,.86),rgba(18,6,6,.35)),var(--bg) center/cover;padding:120px 64px 90px}
.pagehead h1{font-size:clamp(36px,5vw,64px);line-height:1.04}
.pagehead p{font-size:18px}
.crumb{display:inline-flex;gap:6px;background:rgba(255,255,255,.14);padding:6px 12px;border-radius:30px}
.pagehead:not(.withimg) .crumb{background:#fff}
/* detail / misc */
.simg{border-radius:28px}
.sdetail{border:0;padding:56px 0}
.sdetail h2{font-size:42px}
.vals .card,.card{border-radius:24px}
.masonry figure{border-radius:20px}
.chips a{border-width:1.5px;font-weight:600}
.ct{border-radius:20px;border-width:1.5px}
.map{border-radius:24px}
footer{background:#fff;color:var(--mute);border-top:1px solid var(--line)}
footer h4{color:var(--ink)}
footer a:hover{color:var(--red)}
footer .copy{border-color:var(--line)}
.logo.light{color:var(--ink)}
.rail a{border-radius:16px 0 0 16px}
@media(max-width:1000px){.hbox{grid-template-columns:1fr;padding:44px 28px;min-height:0}.hbox:after{background:linear-gradient(180deg,rgba(18,6,6,.75),rgba(18,6,6,.88))}}
@media(max-width:700px){.hero2 .wrap,.pagehead>.wrap,.band>.wrap,.stats>.wrap{margin-left:12px;margin-right:12px}
 .hbox{border-radius:24px;padding:34px 20px}.pagehead .wrap{padding:56px 24px;border-radius:24px}.pagehead.withimg .wrap{padding:80px 24px 60px}
 .band .wrap{padding:40px 24px;border-radius:24px}.stats .wrap{padding:40px 20px}.stats b{font-size:42px}
 section.blk{padding:72px 0}.steps{grid-template-columns:1fr}.hbox .facts b{font-size:26px}}
html,body{overflow-x:hidden}
.hbox>*{min-width:0}
@media(max-width:1000px){.hbox{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.hero2>.wrap,.pagehead>.wrap,.band>.wrap,.stats>.wrap{margin-left:12px;margin-right:12px;width:auto}
 .hero2>.wrap{padding:0}.hbox h1{font-size:38px}.hform{padding:22px}.hbox .cta .btn{flex:1;justify-content:center}
 .marq div{font-size:16px}}
.facts b,.hbox .facts b{font-family:"Plus Jakarta Sans",system-ui,sans-serif!important}
/* fixed rail fix: body must not carry a transform (it breaks position:fixed) */
body{animation:fadein .5s ease both}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.rail{right:0;top:auto;bottom:90px;transform:none}
.rail a{animation:none;opacity:1;transform:translateX(calc(100% - 54px))}
.rail .r-wa{animation:pulse 2.4s 1.5s infinite}
.rail a:hover,.rail a:focus-visible{transform:none}
@media(max-width:700px){.rail{bottom:76px}.rail a{transform:translateX(calc(100% - 50px))}}
