:root{
  --navy:#10233f;
  --navy-deep:#09182c;
  --navy-soft:#173254;
  --orange:#f36f2d;
  --orange-dark:#dc581a;
  --cream:#f5f3ee;
  --paper:#ffffff;
  --ink:#152238;
  --muted:#687487;
  --line:#dfe4ea;
  --green:#2bb673;
  --radius:22px;
  --container:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:'Pretendard',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
.skip{position:fixed;left:12px;top:-80px;z-index:999;background:#fff;color:#111;padding:10px 16px;border-radius:8px;box-shadow:0 6px 18px #0002}
.skip:focus{top:12px}
.section{padding:112px 0}
.section-label{font-size:12px;line-height:1;font-weight:850;letter-spacing:.18em;color:var(--orange);margin-bottom:22px}
.section-label-light{color:#ff9b65}

/* Header */
.site-header{height:82px;position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.95);border-bottom:1px solid rgba(16,35,63,.08);backdrop-filter:blur(14px);transition:box-shadow .25s,background .25s}
.site-header.is-scrolled{box-shadow:0 10px 35px rgba(14,29,50,.08);background:rgba(255,255,255,.98)}
.header-inner{height:100%;display:flex;align-items:center;gap:34px}
.logo{display:flex;align-items:center;gap:11px;flex:none}
.logo-mark{width:38px;height:38px;background:var(--navy);border-radius:11px;position:relative;overflow:hidden;display:block}
.logo-mark:before{content:"";position:absolute;left:8px;right:8px;bottom:9px;height:5px;background:var(--orange);border-radius:6px 6px 3px 3px}
.logo-mark:after{content:"";position:absolute;width:19px;height:11px;left:9px;bottom:13px;border:3px solid #fff;border-bottom:0;border-radius:8px 8px 2px 2px}
.logo-mark i{position:absolute;z-index:2;width:5px;height:5px;bottom:7px;background:#fff;border:2px solid var(--navy);border-radius:50%}
.logo-mark i:first-child{left:10px}.logo-mark i:last-child{right:10px}
.logo>span:last-child{display:flex;flex-direction:column}
.logo strong{font-size:19px;line-height:1.1;font-weight:900;letter-spacing:-.04em}
.logo small{font-size:8px;line-height:1;margin-top:5px;color:#6b7688;letter-spacing:.15em;font-weight:750}
.gnb{margin-left:auto;display:flex;align-items:center;gap:32px}
.gnb a{font-size:14px;font-weight:700;color:#405067;position:relative;transition:color .2s}
.gnb a:after{content:"";height:2px;position:absolute;left:0;right:100%;bottom:-9px;background:var(--orange);transition:right .2s}
.gnb a:hover{color:var(--navy)}.gnb a:hover:after{right:0}
.header-call{display:flex;align-items:center;gap:10px;background:var(--navy);color:#fff;border-radius:11px;padding:10px 15px;transition:background .2s,transform .2s}
.header-call:hover{background:var(--navy-soft);transform:translateY(-1px)}
.header-call span{font-size:10px;color:#b9c5d3}.header-call strong{font-size:14px;letter-spacing:.02em}
.menu-button{display:none;width:40px;height:40px;border:0;background:none;padding:9px;cursor:pointer}
.menu-button span{height:2px;background:var(--navy);display:block;margin:5px 0;transition:transform .2s,opacity .2s}
.mobile-menu{display:none}

/* Hero */
.hero{min-height:760px;padding:158px 0 78px;background:var(--cream);position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;right:-270px;top:-230px;background:rgba(243,111,45,.12);filter:blur(3px)}
.hero:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;left:-210px;bottom:-230px;border:80px solid rgba(16,35,63,.04)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(16,35,63,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,35,63,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,black,transparent 48%)}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:68px;position:relative;z-index:2}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.04em;font-weight:800;color:var(--navy)}
.eyebrow span{width:8px;height:8px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 6px rgba(243,111,45,.13)}
.hero h1{margin-top:25px;font-size:clamp(48px,5.2vw,76px);line-height:1.1;letter-spacing:-.065em;font-weight:900;color:var(--navy)}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero-lead{font-size:18px;line-height:1.75;color:#586578;margin-top:28px;max-width:550px}
.hero-actions{display:flex;gap:12px;margin-top:38px}
.button{height:56px;border-radius:12px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:15px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button svg{width:19px;height:19px;stroke:none;fill:currentColor}
.button-primary{background:var(--orange);color:#fff;box-shadow:0 13px 26px rgba(243,111,45,.24)}
.button-primary:hover{background:var(--orange-dark);box-shadow:0 15px 30px rgba(243,111,45,.32)}
.button-ghost{background:#fff;color:var(--navy);border:1px solid rgba(16,35,63,.12)}
.button-ghost span{font-size:19px}
.hero-points{display:flex;gap:19px;margin-top:27px;flex-wrap:wrap;color:#546174;font-size:13px;font-weight:650}
.hero-points span{display:flex;align-items:center;gap:6px}
.hero-points i{font-style:normal;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(43,182,115,.12);color:#118850;font-size:10px;font-weight:900}
.hero-visual{height:518px;background:var(--navy-deep);border-radius:30px;box-shadow:0 35px 80px rgba(9,24,44,.24);position:relative;overflow:hidden;color:#fff;border:1px solid rgba(255,255,255,.12)}
.hero-visual:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(37,102,166,.35),transparent 44%);pointer-events:none}
.status-top{height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);color:#7f91a9;font-size:9px;letter-spacing:.16em;font-weight:800;position:relative;z-index:3}
.status-live{color:#a6b6c9;display:flex;align-items:center;gap:8px}.status-live i{width:7px;height:7px;background:#3de08b;border-radius:50%;box-shadow:0 0 0 5px rgba(61,224,139,.1)}
.lane{height:332px;position:relative;overflow:hidden;background:linear-gradient(to bottom,#0d2541 0,#122e50 52%,#102139 53%,#091525 100%)}
.lane:before{content:"";position:absolute;width:190px;height:290px;left:50%;top:13px;transform:translateX(-50%);border:2px solid rgba(93,176,255,.25);border-bottom:0;clip-path:polygon(22% 0,78% 0,100% 100%,0 100%)}
.lane:after{content:"";position:absolute;left:50%;bottom:0;width:390px;height:180px;transform:translateX(-50%);background:linear-gradient(to bottom,rgba(255,255,255,.03),rgba(255,255,255,.005));clip-path:polygon(25% 0,75% 0,100% 100%,0 100%)}
.lane-light{position:absolute;left:30px;top:31px;display:flex;gap:8px}.lane-light i{width:9px;height:9px;border-radius:50%;background:#24415e}.lane-light i:first-child{background:#ff7850;box-shadow:0 0 12px #ff7850aa}.lane-light i:nth-child(2){background:#f7bf45}
.lane-line{position:absolute;bottom:-10px;height:190px;width:2px;background:linear-gradient(to top,rgba(243,111,45,.9),transparent);transform-origin:bottom}
.lane-line-left{left:25%;transform:rotate(16deg)}.lane-line-right{right:25%;transform:rotate(-16deg)}
.scan-line{position:absolute;z-index:4;left:13%;right:13%;top:72px;height:1px;background:#4bb4ff;box-shadow:0 0 10px #4bb4ff,0 0 30px #4bb4ff;animation:scan 3.5s ease-in-out infinite}
@keyframes scan{0%,100%{transform:translateY(0);opacity:.2}50%{transform:translateY(195px);opacity:1}}
.car{position:absolute;z-index:2;width:232px;height:156px;left:50%;bottom:46px;transform:translateX(-50%)}
.car-body{position:absolute;left:12px;right:12px;bottom:25px;height:93px;border-radius:62px 62px 24px 24px;background:linear-gradient(145deg,#e6ebef,#8f9cab);box-shadow:inset 0 -15px 22px rgba(25,37,53,.34),0 18px 35px rgba(0,0,0,.35)}
.car-glass{position:absolute;z-index:1;left:48px;right:48px;top:16px;height:59px;border-radius:50px 50px 10px 10px;background:linear-gradient(160deg,#8ab6d6,#162e48 75%);border:5px solid #aeb8c1}
.car-body:before{content:"";position:absolute;left:15px;right:15px;top:43px;height:4px;background:#556474;border-radius:10px}
.wheel{position:absolute;z-index:4;bottom:7px;width:32px;height:45px;background:#07111d;border-radius:10px;box-shadow:inset 0 0 0 5px #1d2c3b}.wheel-left{left:28px}.wheel-right{right:28px}
.headlight{position:absolute;z-index:4;bottom:65px;width:38px;height:16px;background:#eaffff;border-radius:12px 4px;box-shadow:0 0 18px rgba(188,248,255,.7)}.headlight-left{left:22px}.headlight-right{right:22px;transform:scaleX(-1)}
.status-list{height:122px;display:grid;grid-template-columns:repeat(3,1fr);position:relative;z-index:3}
.status-list>div{padding:19px 18px;border-right:1px solid rgba(255,255,255,.08);position:relative}.status-list>div:last-child{border:0}
.status-list span{display:block;color:#55708e;font-size:10px;font-weight:800}.status-list p{font-size:13px;font-weight:800;margin-top:7px}.status-list strong{display:block;color:#4c6a88;font-size:8px;letter-spacing:.14em;margin-top:4px}.status-list>div:first-child strong{color:#38d889}

/* Quick info */
.quick-info{background:#fff;border-bottom:1px solid var(--line)}
.quick-grid{min-height:126px;display:grid;grid-template-columns:repeat(3,1fr)}
.quick-item{display:flex;align-items:center;gap:18px;padding:27px 37px;border-right:1px solid var(--line)}.quick-item:last-child{border-right:0}
.quick-icon{width:45px;height:45px;border-radius:13px;background:#f1f4f7;color:var(--navy);display:grid;place-items:center;flex:none}.quick-icon svg{width:22px;height:22px}
.quick-item small{display:block;color:#8a95a4;font-size:11px;font-weight:700;margin-bottom:4px}.quick-item strong{font-size:15px;letter-spacing:-.02em}

/* Services */
.inspection{background:#fff}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:53px}
.section-heading h2,.process-title h2,.guide-copy h2,.faq-title h2,.location-info h2,.contact-copy h2{font-size:clamp(34px,3.4vw,50px);line-height:1.2;letter-spacing:-.05em;font-weight:900}
.section-heading>p{color:var(--muted);font-size:16px;max-width:410px;margin-bottom:4px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{min-height:380px;border:1px solid var(--line);border-radius:var(--radius);padding:34px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(22,41,67,.1);border-color:transparent}
.service-main{background:var(--navy);border-color:var(--navy);color:#fff}
.service-main:after{content:"";position:absolute;width:220px;height:220px;border:45px solid rgba(255,255,255,.035);border-radius:50%;right:-85px;bottom:-90px}
.card-number{font-size:11px;letter-spacing:.12em;font-weight:800;color:#9aa5b3}
.service-main .card-number{color:#8295ad}
.service-icon{margin-top:35px;width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#f2f5f7;color:var(--navy)}
.service-main .service-icon{background:var(--orange);color:#fff}
.service-icon svg{width:33px;height:33px}
.service-card h3{margin-top:27px;font-size:23px;letter-spacing:-.04em}.service-card p{color:var(--muted);font-size:15px;line-height:1.72;margin-top:13px}.service-main p{color:#b9c5d3}
.card-tag{font-size:9px;letter-spacing:.16em;font-weight:800;color:#a0a9b5;margin-top:auto}.service-main .card-tag{color:#71849c}
.service-card>a{margin-top:auto;font-weight:800;color:var(--orange);font-size:14px}.service-card>a span{float:right}
.period-note{margin-top:18px;min-height:94px;background:#fff8f3;border:1px solid #f6dfd2;border-radius:16px;padding:20px 24px;display:flex;align-items:center;gap:18px;transition:background .2s}
.period-note:hover{background:#fff3eb}
.note-badge{font-size:10px;font-weight:900;letter-spacing:.1em;background:var(--orange);color:#fff;padding:8px 9px;border-radius:8px}
.period-note p{display:flex;flex-direction:column;flex:1}.period-note strong{font-size:15px}.period-note small{font-size:12px;color:#8e776a;margin-top:3px}
.note-link{font-size:12px;font-weight:800;color:var(--orange-dark)}

/* Process */
.process-section{background:var(--navy-deep);color:#fff;position:relative;overflow:hidden}
.process-section:before{content:"";position:absolute;left:-160px;bottom:-240px;width:620px;height:620px;border:1px solid rgba(255,255,255,.04);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.018),0 0 0 160px rgba(255,255,255,.012)}
.process-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:105px;position:relative}
.process-title{position:sticky;top:128px;align-self:start}
.process-title h2{color:#fff}.process-title>p:not(.section-label){color:#98a8ba;margin-top:24px}.text-link{display:inline-flex;gap:12px;margin-top:44px;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:6px;font-size:14px;font-weight:800}.text-link span{color:var(--orange)}
.process-list{list-style:none}
.process-list li{min-height:135px;display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:20px;border-top:1px solid rgba(255,255,255,.13);position:relative;transition:padding .2s}
.process-list li:last-child{border-bottom:1px solid rgba(255,255,255,.13)}
.process-list li:hover{padding-left:10px}
.process-list li>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);color:#8597ac;font-size:11px;font-weight:850}
.process-list li h3{font-size:19px;letter-spacing:-.03em}.process-list li p{color:#8d9db0;font-size:14px;margin-top:4px}.process-list li i{font-style:normal;font-size:8px;letter-spacing:.16em;color:#53667d}

/* Guide */
.guide{background:var(--cream)}
.guide-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:95px}
.guide-copy{padding-top:10px}.guide-copy>p:not(.section-label){color:var(--muted);margin-top:25px;max-width:370px}
.guide-call{margin-top:49px;padding-top:23px;border-top:1px solid #d8d7d2;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.guide-call span{font-size:12px;color:#8390a0}.guide-call a{font-size:25px;font-weight:900;color:var(--navy);letter-spacing:-.02em}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.check-list article{background:#fff;border-radius:18px;padding:28px;min-height:215px;border:1px solid rgba(16,35,63,.06);transition:transform .25s,box-shadow .25s}.check-list article:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(24,39,62,.08)}
.check-list article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef2f6;color:var(--navy);font-size:10px;font-weight:900}
.check-list article h3{font-size:18px;margin-top:28px;letter-spacing:-.03em}.check-list article p{font-size:14px;color:var(--muted);margin-top:9px;line-height:1.65}

/* FAQ */
.faq-section{background:#fff}
.faq-layout{display:grid;grid-template-columns:.55fr 1fr;gap:110px}
.faq-title{padding-top:12px}.faq-title>p:not(.section-label){color:var(--muted);margin-top:19px}.faq-title>a{display:inline-block;color:var(--orange);font-size:21px;font-weight:900;margin-top:20px}
.faq-list{border-top:2px solid var(--navy)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;min-height:86px;padding:27px 54px 27px 4px;font-weight:800;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:before{content:"Q";display:inline-block;margin-right:17px;color:var(--orange);font-size:13px}
.faq-list summary span{position:absolute;right:7px;top:50%;width:20px;height:20px;transform:translateY(-50%)}.faq-list summary span:before,.faq-list summary span:after{content:"";position:absolute;background:var(--navy);left:3px;right:3px;top:9px;height:2px;transition:transform .2s}.faq-list summary span:after{transform:rotate(90deg)}
.faq-list details[open] summary span:after{transform:rotate(0)}
.faq-list details>div{padding:0 54px 27px 35px;color:var(--muted);font-size:14px;line-height:1.75}

/* Location */
.location{padding:112px 0;background:var(--navy);color:#fff}
.location-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:78px;align-items:stretch}
.location-info dl{margin-top:45px;border-top:1px solid rgba(255,255,255,.14)}.location-info dl>div{display:grid;grid-template-columns:72px 1fr;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px}.location-info dt{color:#71839a}.location-info dd{color:#d9e0e8;font-weight:650}
.map-buttons{display:flex;gap:9px;margin-top:26px}.map-buttons a{font-size:12px;font-weight:800;padding:11px 14px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.map-buttons a:hover{background:rgba(255,255,255,.15)}.map-buttons span{margin-left:12px;color:#8fa3bb}
.map-wrap{min-height:510px;border-radius:22px;overflow:hidden;position:relative;background:#dbe1e6}.map-wrap iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.8) contrast(.95)}
.map-label{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.96);color:var(--navy);padding:15px 18px;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.18);display:flex;flex-direction:column}.map-label strong{font-size:14px}.map-label span{font-size:11px;color:#798595;margin-top:2px}

/* Contact */
.contact-section{padding:105px 0;background:#fff}
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:95px}
.contact-copy>p:not(.section-label){color:var(--muted);margin-top:22px;max-width:390px}.contact-copy>a{display:flex;flex-direction:column;margin-top:40px;font-size:11px;color:#8b96a5}.contact-copy>a strong{font-size:23px;color:var(--orange);margin-top:4px}
.contact-form{background:#f5f7f9;border-radius:22px;padding:35px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:block;margin-bottom:17px}.contact-form label>span{display:block;font-size:12px;font-weight:800;color:#647185;margin-bottom:8px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #dfe4e8;background:#fff;border-radius:10px;padding:14px 15px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}.contact-form textarea{min-height:120px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(243,111,45,.12)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aab2bd}
.contact-form .agree{display:flex;align-items:center;gap:8px}.contact-form .agree input{width:16px;height:16px;accent-color:var(--orange);flex:none}.contact-form .agree span{margin:0;font-weight:500;color:#778294;font-size:11px}
.contact-form button{width:100%;height:54px;border:0;border-radius:11px;background:var(--orange);color:#fff;font-weight:850;cursor:pointer;padding:0 19px;display:flex;align-items:center;justify-content:space-between;transition:background .2s}.contact-form button:hover{background:var(--orange-dark)}.contact-form button:disabled{opacity:.65;cursor:wait}.form-message{display:none;font-size:12px;text-align:center;margin-top:12px}.form-message.show{display:block}.form-message.ok{color:#17804c}.form-message.error{color:#c83d2b}

/* Footer */
.footer{background:#081628;color:#fff}
.footer-top{padding:55px 0;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:40px;border-bottom:1px solid rgba(255,255,255,.09)}
.logo-footer .logo-mark{background:#fff}.logo-footer .logo-mark:after{border-color:var(--navy)}.logo-footer .logo-mark i{background:var(--navy);border-color:#fff}.logo-footer strong{color:#fff}.logo-footer small{color:#708399}
.footer-top>p{color:#8293a8;font-size:13px}.footer-call{font-size:21px;font-weight:900}.footer-call span{color:var(--orange);margin-left:14px}
.footer-bottom{min-height:84px;display:flex;align-items:center;gap:27px;color:#617388;font-size:10px}.footer-bottom p:last-child{margin-left:auto}
.floating-actions{display:none}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
[data-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none;transition:none}.scan-line{animation:none}}

/* Tablet */
@media(max-width:1024px){
  .container{width:min(calc(100% - 40px),var(--container))}
  .gnb{gap:20px}.gnb a{font-size:13px}.header-call span{display:none}
  .hero-inner{gap:35px}.hero h1{font-size:56px}.hero-visual{height:475px}.lane{height:300px}.status-list{height:111px}
  .service-card{padding:27px}
  .process-layout,.guide-grid{gap:60px}.faq-layout{gap:70px}.location-grid{gap:45px}.contact-grid{gap:55px}
}

/* Mobile */
@media(max-width:820px){
  html{scroll-padding-top:70px}
  body{padding-bottom:72px}
  .container{width:min(calc(100% - 32px),var(--container))}
  .section{padding:78px 0}
  .site-header{height:68px}
  .header-inner{justify-content:space-between}
  .logo-mark{width:34px;height:34px;border-radius:10px}.logo strong{font-size:17px}.logo small{font-size:7px}
  .gnb,.header-call{display:none}
  .menu-button{display:block}
  .menu-button.is-open span:first-child{transform:translateY(7px) rotate(45deg)}.menu-button.is-open span:nth-child(2){opacity:0}.menu-button.is-open span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{display:flex;position:absolute;left:0;right:0;top:68px;background:#fff;padding:12px 16px 20px;flex-direction:column;border-bottom:1px solid var(--line);box-shadow:0 20px 30px rgba(12,29,51,.1);transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s}
  .mobile-menu.is-open{opacity:1;visibility:visible;transform:none}.mobile-menu a{padding:12px 5px;border-bottom:1px solid #edf0f3;font-weight:750;font-size:14px}.mobile-menu .mobile-call{margin-top:10px;border:0;text-align:center;color:#fff;background:var(--orange);border-radius:9px}
  .hero{padding:118px 0 55px;min-height:auto}
  .hero-inner{grid-template-columns:1fr;gap:42px}
  .hero h1{font-size:clamp(44px,13vw,62px);margin-top:22px}.hero-lead{font-size:16px;margin-top:23px}
  .hero-actions{margin-top:30px}.button{height:52px;padding:0 17px;font-size:13px}.hero-points{gap:11px 15px}
  .hero-visual{height:430px;border-radius:22px}.lane{height:270px}.status-top{height:56px}.status-list{height:104px}.car{transform:translateX(-50%) scale(.88);transform-origin:bottom}
  .quick-grid{grid-template-columns:1fr}.quick-item{min-height:94px;border-right:0;border-bottom:1px solid var(--line);padding:20px 5px}.quick-item:last-child{border-bottom:0}
  .section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:20px;font-size:14px}.section-heading h2,.process-title h2,.guide-copy h2,.faq-title h2,.location-info h2,.contact-copy h2{font-size:36px}
  .service-grid{grid-template-columns:1fr}.service-card{min-height:330px}.period-note{align-items:flex-start;padding:18px;flex-wrap:wrap}.period-note p{width:calc(100% - 56px)}.note-link{margin-left:55px;margin-top:-8px}
  .process-layout{grid-template-columns:1fr;gap:42px}.process-title{position:relative;top:auto}.process-title>p:not(.section-label){font-size:14px}.text-link{margin-top:27px}.process-list li{grid-template-columns:52px 1fr;min-height:118px}.process-list li i{display:none}.process-list li p{font-size:13px}
  .guide-grid{grid-template-columns:1fr;gap:40px}.guide-copy>p:not(.section-label){font-size:14px}.guide-call{margin-top:32px}.check-list{grid-template-columns:1fr 1fr;gap:10px}.check-list article{padding:21px;min-height:205px}.check-list article h3{font-size:16px;margin-top:22px}.check-list article p{font-size:12px}
  .faq-layout{grid-template-columns:1fr;gap:37px}.faq-list summary{min-height:76px;padding:23px 42px 23px 2px;font-size:14px}.faq-list details>div{padding:0 30px 24px;font-size:13px}.faq-title>a{font-size:18px}
  .location{padding:78px 0}.location-grid{grid-template-columns:1fr;gap:38px}.location-info dl{margin-top:34px}.map-wrap{min-height:380px}
  .contact-section{padding:75px 0}.contact-grid{grid-template-columns:1fr;gap:37px}.contact-copy>a{margin-top:26px}.contact-form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}
  .footer-top{grid-template-columns:1fr;padding:43px 0;gap:27px}.footer-top>p{display:none}.footer-bottom{display:block;padding:24px 0 30px;min-height:0}.footer-bottom p{margin:4px 0!important}
  .floating-actions{position:fixed;z-index:90;display:grid;grid-template-columns:82px 1fr;left:0;right:0;bottom:0;height:72px;background:#fff;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:7px}.floating-actions>a:first-child{display:grid;place-items:center;border-radius:9px;background:#eef2f5;color:var(--navy);font-size:12px;font-weight:800}.floating-actions>a:last-child{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;background:var(--orange);color:#fff}.floating-actions span{font-size:11px}.floating-actions strong{font-size:15px}
}
@media(max-width:420px){
  .container{width:calc(100% - 28px)}
  .hero h1{font-size:43px}
  .hero-actions{display:grid;grid-template-columns:1.15fr .85fr}.button{padding:0 10px}.button svg{display:none}
  .hero-points{font-size:11px}
  .hero-visual{height:405px}.lane{height:250px}.status-list{height:99px}.status-list>div{padding:17px 10px}.status-list p{font-size:11px}
  .check-list{grid-template-columns:1fr}.check-list article{min-height:180px}
  .map-buttons{display:grid;grid-template-columns:1fr 1fr}
}


/* Inspection gallery */
.gallery-section{background:#edf1f5;overflow:hidden}
.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:42px}
.gallery-heading h2{font-size:clamp(34px,3.4vw,50px);line-height:1.2;letter-spacing:-.05em;font-weight:900}
.gallery-heading>span{font-size:9px;letter-spacing:.16em;color:#8b97a5;font-weight:800;margin-bottom:8px}
.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:280px 280px;gap:16px}
.gallery-card{position:relative;border-radius:20px;overflow:hidden;padding:24px;color:#fff;background:var(--navy);border:1px solid rgba(255,255,255,.1);box-shadow:0 14px 35px rgba(12,29,51,.12)}
.gallery-card-wide{grid-row:span 2}
.gallery-equipment{grid-column:span 2;background:#132c4b}
.gallery-reception{background:#f47735}
.gallery-result{background:#fff;color:var(--navy);border-color:#dce2e8}
.gallery-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}
.gallery-top span{font-size:10px;font-weight:900;opacity:.66}
.gallery-top i{font-style:normal;font-size:8px;letter-spacing:.16em;font-weight:800;opacity:.5}
.gallery-caption{position:absolute;z-index:4;left:24px;right:24px;bottom:22px;display:flex;flex-direction:column}
.gallery-caption strong{font-size:19px;letter-spacing:-.035em}
.gallery-caption span{font-size:11px;margin-top:3px;opacity:.6}
.gallery-lane{background:linear-gradient(160deg,#07182e,#153b63)}
.gallery-lane:before{content:"";position:absolute;left:50%;top:92px;bottom:0;width:360px;transform:translateX(-50%);clip-path:polygon(30% 0,70% 0,100% 100%,0 100%);background:linear-gradient(rgba(88,164,232,.1),rgba(255,255,255,.02));border-left:1px solid rgba(89,174,250,.16);border-right:1px solid rgba(89,174,250,.16)}
.gallery-car{position:absolute;width:270px;height:175px;left:50%;top:185px;transform:translateX(-50%)}
.gallery-car-body{position:absolute;left:15px;right:15px;bottom:24px;height:103px;background:linear-gradient(145deg,#edf2f5,#8d9aa8);border-radius:70px 70px 25px 25px;box-shadow:inset 0 -15px 25px rgba(16,35,63,.35),0 20px 34px rgba(0,0,0,.33)}
.gallery-car-roof{position:absolute;z-index:2;left:58px;right:58px;top:17px;height:65px;border:6px solid #bac3cb;background:linear-gradient(145deg,#80abc9,#142e49 75%);border-radius:55px 55px 9px 9px}
.gallery-car-wheel{position:absolute;z-index:3;bottom:4px;width:35px;height:48px;background:#050c15;border:5px solid #1a2d40;border-radius:11px}.gallery-car-wheel.left{left:33px}.gallery-car-wheel.right{right:33px}
.gallery-scan{position:absolute;z-index:4;left:-20px;right:-20px;top:10px;height:1px;background:#53bcff;box-shadow:0 0 12px #53bcff,0 0 32px #53bcff;animation:galleryScan 3.4s ease-in-out infinite}
@keyframes galleryScan{0%,100%{transform:translateY(0);opacity:.2}50%{transform:translateY(145px);opacity:1}}
.gallery-equipment:before{content:"";position:absolute;width:350px;height:350px;border:1px solid rgba(89,177,255,.08);border-radius:50%;right:-55px;top:-120px;box-shadow:0 0 0 45px rgba(89,177,255,.025),0 0 0 90px rgba(89,177,255,.018)}
.gallery-radar{position:absolute;width:150px;height:150px;right:15%;top:45%;transform:translateY(-50%);border:1px solid rgba(90,189,255,.22);border-radius:50%}
.gallery-radar i{position:absolute;inset:22px;border:1px solid rgba(90,189,255,.18);border-radius:50%}.gallery-radar i:nth-child(2){inset:44px}.gallery-radar i:nth-child(3){inset:68px;background:#4cc5ff;box-shadow:0 0 14px #4cc5ff}.gallery-radar:before,.gallery-radar:after{content:"";position:absolute;background:rgba(90,189,255,.18)}.gallery-radar:before{width:1px;top:0;bottom:0;left:50%}.gallery-radar:after{height:1px;left:0;right:0;top:50%}.gallery-radar b{position:absolute;left:50%;top:50%;width:50%;height:1px;background:linear-gradient(90deg,#59b9ff,transparent);transform-origin:left;animation:radar 3s linear infinite}
@keyframes radar{to{transform:rotate(360deg)}}
.gallery-icon{position:absolute;width:94px;height:94px;right:28px;top:58px;opacity:.9;stroke-width:1.5}
.gallery-result .gallery-icon{color:var(--orange)}
@media(max-width:820px){
  .gallery-heading{display:block;margin-bottom:28px}.gallery-heading>span{display:none}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:350px 230px 230px;gap:10px}
  .gallery-card{padding:19px;border-radius:16px}.gallery-card-wide{grid-column:span 2;grid-row:auto}.gallery-equipment{grid-column:auto}
  .gallery-caption{left:19px;right:19px;bottom:18px}.gallery-caption strong{font-size:16px}.gallery-caption span{font-size:10px}
  .gallery-car{top:103px;transform:translateX(-50%) scale(.8);transform-origin:top}.gallery-lane:before{top:64px}
  .gallery-radar{width:105px;height:105px;right:8%;top:43%}.gallery-radar i{inset:15px}.gallery-radar i:nth-child(2){inset:31px}.gallery-radar i:nth-child(3){inset:48px}
  .gallery-icon{width:65px;height:65px;right:17px;top:55px}
}
@media(max-width:420px){
  .gallery-grid{grid-template-rows:330px 210px 210px}
}


/* FAQ readability */
.faq-list summary{font-size:17px}
@media(max-width:820px){.faq-list summary{font-size:16px}}


/* Gallery 2 x 2 layout */
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:320px 320px}
.gallery-card-wide,.gallery-equipment{grid-column:auto;grid-row:auto}
.gallery-heading>span{display:none}
.gallery-car{top:72px;transform:translateX(-50%) scale(.72);transform-origin:top}
.gallery-lane:before{top:58px}
@media(max-width:820px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:230px 230px}
  .gallery-card-wide,.gallery-equipment{grid-column:auto;grid-row:auto}
  .gallery-car{top:54px;transform:translateX(-50%) scale(.48)}
  .gallery-lane:before{top:48px}
}
@media(max-width:420px){
  .gallery-grid{grid-template-rows:215px 215px}
}


/* Empty gallery cards */
.gallery-card,.gallery-lane,.gallery-equipment,.gallery-reception,.gallery-result{
  background:#e5e9ee!important;
  border:1px solid #d9dfe6;
  box-shadow:none;
}
.gallery-card:before,.gallery-card:after{display:none!important}


/* Larger process step titles */
.process-list li h3{font-size:24px;line-height:1.3}
@media(max-width:820px){.process-list li h3{font-size:20px}}


/* Larger visit guide titles */
.check-list article h3{font-size:22px;line-height:1.35}
@media(max-width:820px){.check-list article h3{font-size:19px}}


/* CMS gallery images */
.gallery-card{padding:0}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover}


/* Taller gallery cards */
.gallery-grid{grid-template-rows:420px 420px}
@media(max-width:820px){.gallery-grid{grid-template-rows:300px 300px}}
@media(max-width:420px){.gallery-grid{grid-template-rows:280px 280px}}
