:root{--g:#1b493a;--g2:#2d6853;--lime:#cee56b;--cream:#f4f2ea;--ink:#17251f;--muted:#68736e;--line:#dde2de}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Noto Sans KR',sans-serif;color:var(--ink);line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}header{height:88px;position:fixed;inset:0 0 auto;z-index:20;color:#fff;border-bottom:1px solid #ffffff28;transition:.3s}header.on{height:72px;background:#14382fee;backdrop-filter:blur(12px)}.head{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:11px;line-height:1}.logo>i{width:39px;height:39px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;color:var(--lime);font-style:normal;font-weight:900}.logo span{display:flex;flex-direction:column;gap:5px}.logo b{font:700 16px 'DM Sans';letter-spacing:1px}.logo small{font-size:10px;letter-spacing:4px}.head nav{display:flex;align-items:center;gap:36px}.head nav>a,.navdrop>button{background:none;border:0;color:inherit;font-weight:600;padding:30px 0;cursor:pointer}.navdrop{position:relative}.navdrop>div{position:absolute;top:76px;left:-20px;width:180px;background:#fff;color:var(--ink);padding:10px;box-shadow:0 16px 40px #0002;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.navdrop>div.wide{width:430px;display:grid;grid-template-columns:1fr 1fr}.navdrop:hover>div{opacity:1;visibility:visible;transform:none}.navdrop div a{display:block;padding:9px 12px;font-size:13px}.navdrop div a:hover{background:#eef4f0;color:var(--g2)}.head nav .navcta{padding:12px 20px;background:var(--lime);color:var(--ink)}.hamb{display:none}.homehero{min-height:820px;background:radial-gradient(circle at 85% 40%,#356554 0,transparent 35%),var(--g);color:white;padding-top:88px;overflow:hidden}.herogrid{min-height:730px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.over{font:700 11px 'DM Sans';letter-spacing:2.5px;color:var(--g2);margin:0 0 16px}.homehero .over,.process .over,.subhero .over{color:var(--lime)}h1{font-size:clamp(48px,6vw,80px);line-height:1.14;letter-spacing:-3px;margin:0 0 25px}em{font-style:normal;color:var(--lime)}.lead{color:#ffffffb8;font-size:16px}.actions{display:flex;align-items:center;gap:34px;margin-top:34px;font-weight:700}.btn,.whitebtn{display:inline-flex;align-items:center;justify-content:center;min-height:55px;padding:0 27px;border:0;font-weight:700;background:var(--lime);color:var(--ink);cursor:pointer}.whitebtn{background:white}.stats{display:flex;gap:45px;border-top:1px solid #ffffff2b;margin-top:55px;padding-top:25px}.stats b{font:700 22px 'DM Sans';display:flex;flex-direction:column}.stats small{font:400 10px 'Noto Sans KR';color:#ffffff88}.visual{position:relative}.ph{min-height:205px;background:linear-gradient(145deg,#d7ded9,#edf0ed);display:grid;place-items:center;color:#65716b;font-size:14px;font-weight:600;position:relative}.ph:after{content:'';position:absolute;inset:13px;border:1px solid #1b493a22}.photo .ph>img{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:cover;display:block;z-index:0}.photo .ph:after{z-index:1;pointer-events:none}.heroimg{height:510px;background:linear-gradient(145deg,#497767,#183c30);color:#ffffffaa;clip-path:polygon(10% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%)}.heroimg:after{border-color:#ffffff2a}.heroimg img{width:100%;height:100%;object-fit:cover;display:block}.visual aside{position:absolute;bottom:30px;left:-35px;background:#fff;color:var(--ink);padding:18px 23px;display:flex;gap:12px;align-items:center}.visual aside>span{display:flex;flex-direction:column}.visual aside small{font:600 8px 'DM Sans';color:#87918c}.visual aside b{font-size:13px}.section{padding:115px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.photo{position:relative;padding:0 45px 50px 0}.tall{height:590px}.inset{position:absolute;width:220px;min-height:185px;right:0;bottom:0;border:9px solid white}.photo>i{position:absolute;left:-25px;top:45px;width:115px;height:115px;border-radius:50%;background:var(--g);color:white;display:grid;place-content:center;text-align:center;font:600 8px 'DM Sans';font-style:normal}.photo>i b{font-size:29px;color:var(--lime)}
@media(max-width:950px){.hamb{display:block;background:none;border:0;color:white;font-size:25px;z-index:3}.head nav{position:fixed;inset:0;background:var(--g);padding:100px 30px;display:flex;flex-direction:column;align-items:stretch;gap:0;transform:translateX(100%);transition:.3s;overflow:auto}.menu .head nav{transform:none}.head nav>a,.navdrop>button{display:block;text-align:left;width:100%;padding:14px 0;border-bottom:1px solid #ffffff20}.navdrop>div,.navdrop>div.wide{position:static;width:100%;display:none;opacity:1;visibility:visible;transform:none;background:#ffffff0b;color:white}.navdrop.open>div{display:grid}.herogrid,.split,.location,.detailintro,.terms,.contactgrid{grid-template-columns:1fr;gap:50px}.herogrid{padding:80px 0}.homehero{min-height:auto}.visual{width:80%;margin-left:auto}.cards{grid-template-columns:1fr 1fr}.guide{grid-template-columns:repeat(2,1fr);gap:35px}.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.wrap{width:calc(100% - 30px)}header{height:72px}.homehero{padding-top:72px}h1,.subhero h1{font-size:41px;letter-spacing:-2px}.herogrid{padding:65px 0}.actions{align-items:flex-start;flex-direction:column;gap:15px}.stats{gap:18px;justify-content:space-between}.visual{width:100%}.heroimg{height:330px}.section{padding:70px 0}.tall{height:420px}.photo{padding-right:25px}.inset{width:145px;min-height:125px}.secthead{display:block}.secthead>p{margin-top:20px}.cards,.steps,.profile,.gallery,.formgrid{grid-template-columns:1fr}.steps>div{border-bottom:1px solid #ffffff2b;padding-left:0}.subhero{height:380px}.subhero>.wrap{height:308px}.panorama,.map,.busbig{height:340px}.gallery .ph{height:260px}.detailcta{display:block;padding:30px 22px}.detailcta .btn{margin-top:20px}.guide{grid-template-columns:1fr}.contact form{padding:27px 19px}.foot{grid-template-columns:1fr 1fr}}

/* Scroll-driven page transitions */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:100;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;background:var(--lime);transform:scaleX(0);transform-origin:left center;will-change:transform}
.scroll-reveal{opacity:0;transform:translate3d(0,42px,0);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.scroll-reveal.from-left{transform:translate3d(-48px,0,0)}.scroll-reveal.from-right{transform:translate3d(48px,0,0)}.scroll-reveal.scale-in{transform:translate3d(0,22px,0) scale(.96)}
.scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);will-change:auto}
.homehero .herogrid>div:first-child{position:relative;z-index:2}.homehero .visual{will-change:transform}.homehero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(to bottom,transparent,rgba(8,34,26,.16));pointer-events:none}.homehero{position:relative}
.intro-section{position:relative;overflow:hidden}.intro-section:before{content:'GREEN HANA';position:absolute;right:-20px;top:35px;font:800 clamp(70px,11vw,160px) 'DM Sans';letter-spacing:-7px;color:rgba(27,73,58,.035);white-space:nowrap;pointer-events:none}
.fleet .card{overflow:hidden}.fleet .card .ph{transition:transform .55s cubic-bezier(.22,1,.36,1)}.fleet .card:hover .ph{transform:scale(1.025)}
.fleet .card .ph{height:205px;min-height:0}.fleet .card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.fleet .card .ph:after{pointer-events:none}
.section-marker{position:absolute;left:20px;margin-top:12px;font:600 9px 'DM Sans';letter-spacing:2px;color:#84918b;writing-mode:vertical-rl}
@media(max-width:950px){.scroll-reveal.from-left,.scroll-reveal.from-right{transform:translate3d(0,35px,0)}.scroll-reveal.from-left.is-visible,.scroll-reveal.from-right.is-visible{transform:none}.section-marker{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-reveal,.scroll-reveal.from-left,.scroll-reveal.from-right,.scroll-reveal.scale-in{opacity:1;transform:none;transition:none}.homehero .visual{transform:none!important}.scroll-progress{display:none}}

/* Applied only after index.js is ready, preventing an invisible page if JS fails. */
.scroll-reveal{opacity:1;transform:none}
.transition-ready .scroll-reveal{opacity:0;transform:translate3d(0,64px,0);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.transition-ready .scroll-reveal.from-left{transform:translate3d(-72px,22px,0)}
.transition-ready .scroll-reveal.from-right{transform:translate3d(72px,22px,0)}
.transition-ready .scroll-reveal.scale-in{transform:translate3d(0,48px,0) scale(.9)}
.transition-ready .scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.homehero .visual{transform:translate3d(0,var(--parallax-y,0),0)}
@media(max-width:950px){.transition-ready .scroll-reveal.from-left,.transition-ready .scroll-reveal.from-right{transform:translate3d(0,50px,0)}.transition-ready .scroll-reveal.is-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.transition-ready .scroll-reveal{transition-duration:.35s;transform:translate3d(0,15px,0)}.transition-ready .scroll-reveal.is-visible{transform:none}.scroll-progress{display:block}}

/* Native scroll timeline: works even when an observer/scroll script is unavailable. */
@keyframes section-enter{from{opacity:.05;transform:translate3d(0,90px,0) scale(.94)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes hero-enter-left{from{opacity:0;transform:translate3d(-80px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes hero-enter-right{from{opacity:0;transform:translate3d(80px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.homehero .herogrid>div:first-child{animation:hero-enter-left .9s .12s cubic-bezier(.16,1,.3,1) both}
.homehero .herogrid>.visual{animation:hero-enter-right 1s .24s cubic-bezier(.16,1,.3,1) both}
@supports (animation-timeline:view()){
  .intro-section .photo,.intro-section .copy,.fleet .secthead,.fleet .card,.process .secthead,.process .steps>div,.subhero+.section .wrap>*{animation-name:section-enter;animation-duration:1ms;animation-fill-mode:both;animation-timing-function:linear;animation-timeline:view();animation-range:entry 5% cover 34%}
  .fleet .card:nth-child(4n+2),.process .steps>div:nth-child(2){animation-range:entry 9% cover 38%}
  .fleet .card:nth-child(4n+3),.process .steps>div:nth-child(3){animation-range:entry 13% cover 42%}
  .fleet .card:nth-child(4n),.process .steps>div:nth-child(4){animation-range:entry 17% cover 46%}
  .transition-ready .scroll-reveal{transition:none}
}

/* Explicit reveal attributes used by theme/index/index.2026.php */
[data-reveal]{opacity:1;transform:none;animation:none!important}
.reveal-enabled [data-reveal].reveal-item{opacity:0;transition-property:opacity,transform;transition-duration:.9s;transition-timing-function:cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.reveal-enabled .reveal-item.reveal-up{transform:translate3d(0,70px,0)}
.reveal-enabled .reveal-item.reveal-left{transform:translate3d(-80px,0,0)}
.reveal-enabled .reveal-item.reveal-right{transform:translate3d(80px,0,0)}
.reveal-enabled .reveal-item.reveal-scale{transform:translate3d(0,35px,0) scale(.88)}
.reveal-enabled .reveal-item.revealed{opacity:1;transform:translate3d(0,0,0) scale(1);will-change:auto}
@media(max-width:950px){.reveal-enabled .reveal-item.reveal-left,.reveal-enabled .reveal-item.reveal-right{transform:translate3d(0,55px,0)}.reveal-enabled .reveal-item.revealed{transform:none}}

/* Restored page component styles */
h2{font-size:clamp(38px,4vw,58px);line-height:1.2;letter-spacing:-2px;margin:0 0 25px}.copy>p:not(.over),.secthead>p,.detailintro>p{color:var(--muted)}.copy em,.secthead em,.detailintro em{color:var(--g2)}.copy ul{list-style:none;padding:15px 0;border-block:1px solid var(--line)}.copy li{padding:7px 0;font-size:13px;font-weight:600}.copy li:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;background:var(--lime);border-radius:50%;margin-right:10px}
.fleet,.contact{background:var(--cream)}.secthead{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:50px}.secthead h2{margin:0}.secthead>p{font-size:13px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.card{background:white;padding-bottom:22px;position:relative;transition:transform .3s,box-shadow .3s;overflow:hidden}.card:hover{transform:translateY(-7px);box-shadow:0 16px 35px #14382f18}.card .ph{margin-bottom:19px;transition:transform .5s}.card:hover .ph{transform:scale(1.025)}.card>span,.card h3,.card p{margin-left:21px;margin-right:21px}.card>span{font:700 9px 'DM Sans';letter-spacing:1.5px;color:var(--g2)}.card h3{font-size:17px;margin-top:7px;margin-bottom:6px}.card p{font-size:11px;color:var(--muted)}.card>i{position:absolute;right:18px;bottom:24px;font-style:normal}
.process{background:var(--g);color:white}.process .secthead em{color:var(--lime)}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff2b}.steps>div{padding:38px 28px;border-right:1px solid #ffffff2b}.steps>div:first-child{padding-left:0}.steps span{font:700 10px 'DM Sans';color:var(--lime)}.steps i{display:block;font-size:30px;margin:15px 0}.steps p{font-size:11px;color:#ffffff88}
.subhero{height:470px;padding-top:88px;background:radial-gradient(circle at 80%,#356554,transparent 38%),var(--g);color:white}.subhero>.wrap{height:382px;display:flex;flex-direction:column;justify-content:center}.subhero h1{font-size:60px;margin-bottom:8px}.subhero p:last-child{color:#ffffffaa}.profile{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--g);margin-bottom:55px}.profile div{padding:25px;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.profile small,.info small{color:var(--muted)}.panorama{height:410px}.location{display:grid;grid-template-columns:1.4fr 1fr;gap:75px}.map{height:620px}.location h2{font-size:45px}.info{display:grid;grid-template-columns:75px 1fr;padding:16px 0;border-top:1px solid var(--line)}.location aside{background:var(--cream);padding:17px 20px;margin-top:12px;font-size:12px}.location aside p{color:var(--muted);margin:3px 0}
.detailintro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end;margin-bottom:50px}.detailintro h2{margin:0}.chips{display:block;background:var(--cream);padding:12px;margin-top:18px;color:var(--ink);font-size:12px}.busbig{height:580px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.gallery .ph{height:370px}.detailcta{margin-top:75px;padding:42px 50px;background:var(--cream);display:flex;justify-content:space-between;align-items:center}.detailcta h2{font-size:30px;margin:0}
.center{text-align:center;margin-bottom:65px}.center h2{font-size:48px;margin:0}.center>p:last-child{color:var(--muted)}.guide{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:100px}.guide>div{text-align:center;padding:0 12px}.guide small{color:var(--g2)}.guide i{display:grid;place-items:center;width:70px;height:70px;background:var(--g);color:var(--lime);border-radius:50%;margin:18px auto;font-size:27px}.guide h3{font-size:15px}.guide p{font-size:11px;color:var(--muted)}.terms{display:grid;grid-template-columns:1fr 1.5fr;gap:90px;padding-top:70px;border-top:1px solid var(--line)}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;padding:20px 0;display:flex;justify-content:space-between;font-weight:700;cursor:pointer}details p{font-size:12px;color:var(--muted);padding-bottom:20px}
.contactgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,75px);align-items:start}.contactinfo{display:grid;line-height:1.6;margin:30px 0 0;font-size:14px;font-weight:600}.contactinfo>div{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:16px;padding:17px 0;border-top:1px solid var(--line)}.contactinfo small{color:var(--muted);font-size:12px;font-weight:500}.contactinfo a,.contactinfo span{min-width:0;overflow-wrap:anywhere}.contact-lead{max-width:440px;color:var(--muted);font-size:15px;line-height:1.9}.contactcopy h2{font-size:clamp(34px,3.6vw,46px);line-height:1.3;letter-spacing:-1.5px;word-break:keep-all;margin-bottom:22px}.contact form{background:#fff;padding:45px}.contact form h2{font-size:27px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact label{display:block;font-size:11px;font-weight:600;margin-top:18px}.contact input,.contact select,.contact textarea{width:100%;display:block;border:1px solid var(--line);background:#fafbfa;padding:12px;margin-top:7px}.upload{height:145px;border:1px dashed #abb8b1;background:#f7f9f7;display:flex!important;flex-direction:column;justify-content:center;align-items:center;text-align:center}.upload input{display:none}.upload small{color:var(--muted)}.agree{margin:22px 0!important}.agree input{display:inline;width:auto}.contact form>.btn{width:100%}.notfound{height:700px;background:var(--g);color:white;display:grid;place-content:center;text-align:center}.notfound h1{font-size:80px;margin:0}
@media(max-width:950px){.herogrid,.split,.location,.detailintro,.terms,.contactgrid{grid-template-columns:1fr;gap:50px}.herogrid{padding:80px 0}.homehero{min-height:auto}.visual{width:80%;margin-left:auto}.cards{grid-template-columns:1fr 1fr}.guide{grid-template-columns:repeat(2,1fr);gap:35px}}
@media(max-width:600px){.homehero{padding-top:72px}h1,.subhero h1{font-size:41px;letter-spacing:-2px}.herogrid{padding:65px 0}.actions{align-items:flex-start;flex-direction:column;gap:15px}.stats{gap:18px;justify-content:space-between}.visual{width:100%}.heroimg{height:330px}.section{padding:70px 0}.tall{height:420px}.photo{padding-right:25px}.inset{width:145px;min-height:125px}.secthead{display:block}.secthead>p{margin-top:20px}.cards,.steps,.profile,.gallery,.formgrid{grid-template-columns:1fr}.steps>div{border-bottom:1px solid #ffffff2b;padding-left:0}.subhero{height:380px}.subhero>.wrap{height:308px}.panorama,.map,.busbig{height:340px}.gallery .ph{height:260px}.detailcta{display:block;padding:30px 22px}.detailcta .btn{margin-top:20px}.guide{grid-template-columns:1fr}.contact form{padding:27px 19px}}

.detailintro h2,.detailintro>p,.detailcta h2{word-break:keep-all;overflow-wrap:break-word}
.detailintro>p{font-size:clamp(14px,1.25vw,16px);line-height:1.9}
.chips{font-size:clamp(12px,1vw,13px);line-height:1.9;padding:12px 14px}
.detailcta{flex-wrap:wrap;gap:20px}
.detailcta h2{flex:1 1 360px;min-width:0;font-size:clamp(22px,2.5vw,30px);line-height:1.4}
.detailcta .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:600px){.subhero h1{word-break:keep-all}.detailcta h2{font-size:22px;margin-bottom:12px}}

.detailintro{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(36px,6vw,72px);align-items:center}
.location{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.location>.location-map-frame,.location>div:last-child{min-width:0}
.info{align-items:center}
.location aside p{overflow-wrap:anywhere;word-break:keep-all}
.split>.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.split>.ph:after{pointer-events:none}
.greeting-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(42px,6vw,88px)}
.greeting-image{height:590px;min-height:0;margin:0;overflow:hidden;background:var(--g)}
.greeting-image img{animation:greeting-image-drift 18s ease-in-out infinite alternate;transform-origin:center}
.greeting-image:after{z-index:1;border-color:#ffffff70;pointer-events:none}
.greeting-copy{max-width:650px}
.greeting-copy h2{font-size:clamp(32px,3vw,42px);line-height:1.32;letter-spacing:-1.3px;margin:0 0 24px;word-break:keep-all}
.greeting-letter{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.greeting-letter>p{font-size:14px;line-height:1.95;letter-spacing:-.015em;margin:0 0 17px;color:var(--muted);word-break:keep-all;overflow-wrap:break-word}
.greeting-letter>p.greeting-lead{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:22px}
.greeting-letter strong{color:var(--g);font-weight:800;background:linear-gradient(transparent 62%,rgba(206,229,107,.48) 62%);background-size:0 100%;background-repeat:no-repeat;transition:background-size .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--highlight-delay,0ms);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.greeting-letter>p:nth-of-type(2) strong{--highlight-delay:120ms}
.greeting-letter>p:nth-of-type(3) strong{--highlight-delay:260ms}
.greeting-letter>p:nth-of-type(4) strong{--highlight-delay:400ms}
.greeting-letter>p:nth-of-type(5) strong{--highlight-delay:540ms}
.greeting-copy.revealed .greeting-letter strong{background-size:100% 100%}
.greeting-letter>p.greeting-closing{margin-top:24px;margin-bottom:0;color:var(--ink);font-weight:600}
.greeting-signature{display:flex;justify-content:flex-end;border-top:1px solid var(--line);margin-top:23px;padding-top:16px;color:var(--g)}
.greeting-signature strong{font-size:14px}
@keyframes greeting-image-drift{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(max-width:950px){.greeting-layout{grid-template-columns:minmax(0,1fr);gap:38px}.greeting-copy{max-width:none}.greeting-image{height:clamp(320px,65vw,520px)}}
@media(max-width:600px){.greeting-copy h2{font-size:clamp(32px,8vw,40px);margin-bottom:19px}.greeting-letter>p{font-size:14px;line-height:1.9}.greeting-letter>p.greeting-lead{font-size:14px}.greeting-image{height:clamp(300px,90vw,430px)}}
@media(prefers-reduced-motion:reduce){.greeting-image img{animation:none}.greeting-letter strong{transition:none;background-size:100% 100%}}
@media(max-width:950px){.location{grid-template-columns:minmax(0,1fr)}}
.busbig img,.gallery .ph img,.panorama img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.busbig:after,.gallery .ph:after{pointer-events:none}
.detailintro h2{font-size:clamp(32px,3.4vw,46px);line-height:1.28;letter-spacing:-1px}
.detailintro>p{max-width:470px;justify-self:end;line-height:1.9}
.chips{background:transparent;border-top:1px solid var(--line);padding:14px 0 0;margin-top:20px;font-size:13px}
.contactgrid{align-items:stretch}
.contactcopy{display:flex;flex-direction:column;min-width:0}
.contactphoto{flex:none;min-height:0;height:auto;aspect-ratio:442/547;margin-top:28px}
.contactphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.contactphoto:after{border-color:#ffffff70;pointer-events:none}
@media(max-width:950px){.contactphoto{height:auto;min-height:0}}
@media(max-width:600px){.contactphoto{height:auto}}
@media(max-width:950px){.detailintro{grid-template-columns:1fr;gap:24px}.detailintro>p{max-width:620px;justify-self:start}}
@media(max-width:600px){.detailintro h2{font-size:clamp(30px,8vw,40px);line-height:1.3;letter-spacing:-.8px}.chips{font-size:12px}}
.hana-image-story .hana-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.hana-image-story .hana-media>span{position:relative;z-index:1;color:#fff;text-shadow:0 2px 12px #0008}
@media(prefers-reduced-motion:reduce){.hana-image-story .hana-media>img{transform:none!important}}
/* GREEN HANA brand introduction */
.hana-brand{background:#f4f3ee;color:#101712;overflow:clip}.hana-opening{height:100svh;min-height:720px;background:#102d24;color:white;position:relative;display:grid;place-items:center;overflow:hidden}.hana-opening:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 55%,rgba(92,145,116,.34),transparent 48%)}.hana-opening__word{position:relative;width:min(1380px,92vw);display:flex;flex-direction:column;font:800 clamp(88px,18vw,280px)/.72 'DM Sans';letter-spacing:-.09em;color:white;transform:scale(var(--brand-scale,1));opacity:var(--brand-opacity,1);will-change:transform,opacity}.hana-opening__word span:last-child{align-self:flex-end;padding-right:.08em;color:var(--lime)}.hana-opening__caption{position:absolute;left:4vw;top:115px;font:600 10px 'DM Sans';letter-spacing:3px;color:#ffffff88}.hana-opening__scroll{position:absolute;right:4vw;bottom:45px;font:600 9px 'DM Sans';letter-spacing:2px;display:flex;align-items:center;gap:12px}.hana-opening__scroll i{width:45px;height:1px;background:var(--lime)}
.hana-film{height:220vh;background:#081d17;position:relative}.hana-film__sticky{position:sticky;top:0;height:100vh;overflow:hidden}.hana-media{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;background:linear-gradient(135deg,#d8ddd9,#eef0ed);color:#52605a;overflow:hidden}.hana-media:after{content:'';position:absolute;inset:20px;border:1px solid currentColor;opacity:.22}.hana-media span{font:600 10px 'DM Sans';letter-spacing:3px}.hana-media strong{font-size:22px}.hana-film .hana-media{position:absolute;inset:0;background:linear-gradient(135deg,#315e4e,#091f18);color:#ffffffaa;transform:scale(var(--film-scale,1.12));filter:brightness(var(--film-brightness,.62));will-change:transform,filter}.hana-film__copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;opacity:var(--film-copy-opacity,0);transform:translateY(var(--film-copy-y,55px));will-change:opacity,transform}.hana-film__copy p,.hana-kicker{font:700 10px 'DM Sans';letter-spacing:3px;color:var(--lime)}.hana-film__copy h1{font-size:clamp(40px,6vw,85px);letter-spacing:-4px;margin:15px 0;line-height:1.18}
.hana-statement{padding:160px 0}.hana-statement__grid{display:grid;grid-template-columns:.5fr 1.15fr 1fr;gap:65px;align-items:start}.hana-statement h2{font-size:clamp(48px,6vw,82px)}.hana-statement h2 em{color:var(--g2)}.hana-statement__body{padding-top:80px;color:var(--muted);font-size:14px}.hana-image-story{height:110vh;min-height:720px;position:relative;padding:0 4vw 5vw}.hana-image-story .hana-media{width:100%;height:100%}.hana-image-story__label{position:absolute;left:8vw;bottom:10vw;background:white;padding:32px 38px;display:flex;gap:28px;align-items:flex-start}.hana-image-story__label span{font:700 11px 'DM Sans';color:var(--g2)}.hana-image-story__label p{font-size:20px;font-weight:700;margin:0;line-height:1.5}
.hana-values{padding:150px 0;background:#fff}.hana-values__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:70px}.hana-values__head h2{margin:0}.hana-values__list{border-top:1px solid #bbc3be}.hana-value{display:grid;grid-template-columns:80px 1fr 1.2fr 40px;align-items:center;gap:30px;padding:35px 10px;border-bottom:1px solid #d5dad7}.hana-value>span{font:700 10px 'DM Sans';color:var(--g2)}.hana-value h3{font:700 clamp(28px,3vw,45px) 'DM Sans';margin:0}.hana-value p{color:var(--muted);font-size:13px}.hana-value i{font-size:25px;font-style:normal}.hana-mobility{min-height:100vh;background:#102d24;color:white;position:relative;display:flex;align-items:flex-end}.hana-mobility__visual{position:absolute;inset:0}.hana-mobility__visual .hana-media{height:100%;background:linear-gradient(135deg,#183e32,#071914);color:#ffffff99}.hana-mobility__visual:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#071914 2%,transparent 70%)}.hana-mobility__copy{position:relative;z-index:1;padding-bottom:90px}.hana-mobility__copy h2{font-size:clamp(48px,6vw,78px)}.hana-mobility__copy>p:last-child{max-width:480px;color:#ffffff99}.hana-numbers{padding:140px 0}.hana-numbers__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid #c8cfcb}.hana-numbers__grid>div{padding:50px 30px;border-right:1px solid #c8cfcb;display:flex;flex-direction:column}.hana-numbers__grid strong{font:700 clamp(65px,8vw,120px) 'DM Sans';color:var(--g)}.hana-numbers__grid span{font-size:12px;color:var(--muted)}.hana-closing{height:100vh;min-height:720px;position:relative;color:white}.hana-closing .hana-media{position:absolute;inset:0;background:linear-gradient(135deg,#315f4e,#0b251d);color:#ffffff99}.hana-closing:after{content:'';position:absolute;inset:0;background:#071b1580}.hana-closing__copy{position:absolute;z-index:1;left:8vw;bottom:10vh}.hana-closing__copy>p{font:700 10px 'DM Sans';letter-spacing:3px;color:var(--lime)}.hana-closing__copy h2{font-size:clamp(52px,7vw,95px);margin:15px 0 35px}
@media(max-width:950px){.hana-opening__word{line-height:.83}.hana-statement__grid{grid-template-columns:1fr;gap:20px}.hana-statement__body{padding-top:10px}.hana-values__head{display:block}.hana-value{grid-template-columns:45px 1fr}.hana-value p{grid-column:2}.hana-value i{display:none}.hana-numbers__grid{grid-template-columns:1fr}.hana-numbers__grid>div{border-right:0;border-bottom:1px solid #c8cfcb}.hana-image-story{height:85vh}}
@media(max-width:600px){.hana-opening{min-height:620px}.hana-opening__word{font-size:25vw}.hana-opening__caption{top:95px}.hana-film{height:100svh;min-height:620px}.hana-film__sticky{position:relative;top:auto;height:100svh;min-height:620px}.hana-film .hana-media{transform:none!important;filter:none!important}.hana-film__copy{opacity:1!important;transform:none!important}.hana-film__copy h1{font-size:37px;letter-spacing:-2px}.hana-statement,.hana-values,.hana-numbers{padding:90px 0}.hana-image-story{height:70vh;min-height:550px;padding:0}.hana-image-story__label{left:15px;bottom:15px;padding:22px}.hana-mobility__copy{padding-bottom:55px}.hana-closing__copy{left:20px;right:20px}}

/* Keep the brand statement on a deliberate two-column type grid. */
.hana-statement{padding:clamp(112px,11vw,156px) 0}
.hana-statement__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);grid-template-rows:auto auto;column-gap:clamp(72px,8vw,118px);row-gap:22px;align-items:center}
.hana-statement__grid>.hana-kicker{grid-column:1;grid-row:1;margin:0;color:var(--g2)}
.hana-statement__grid>h2{grid-column:1;grid-row:2;max-width:620px;margin:0;font-size:clamp(42px,4.2vw,64px);line-height:1.24;letter-spacing:-.045em;word-break:keep-all}
.hana-statement__grid>h2 em{color:var(--g2)}
.hana-statement__body{grid-column:2;grid-row:1/span 2;align-self:center;max-width:460px;padding:0 0 0 clamp(28px,3vw,42px);border-left:1px solid rgba(27,73,58,.2);font-size:14px;line-height:2}
.hana-statement__body p{margin:0}
.hana-statement__body p+p{margin-top:20px}
@media(max-width:950px){.hana-statement{padding:110px 0}.hana-statement__grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:20px}.hana-statement__grid>.hana-kicker,.hana-statement__grid>h2,.hana-statement__body{grid-column:1;grid-row:auto}.hana-statement__grid>h2{max-width:720px;font-size:clamp(42px,6.5vw,58px)}.hana-statement__body{max-width:620px;margin-top:12px;padding:0;border:0}}
@media(max-width:600px){.hana-statement{padding:84px 0}.hana-statement__grid{gap:14px}.hana-statement__grid>h2{font-size:clamp(36px,9.2vw,48px);line-height:1.3;letter-spacing:-.04em}.hana-statement__body{margin-top:10px;font-size:14px;line-height:1.9}.hana-statement__body p+p{margin-top:15px}}
.hana-mobility__visual .hana-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.hana-closing .hana-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.hana-closing .hana-media>span{position:relative;z-index:1}
.hana-film .hana-media--video>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.contact-message textarea{min-height:180px;padding:16px 18px;line-height:1.8;resize:vertical;transition:border-color .2s,background-color .2s,box-shadow .2s}
.contact-message textarea::placeholder{color:#87918b}
.contact-message textarea:focus{outline:0;border-color:var(--g2);background:#fff;box-shadow:0 0 0 3px #2d685322}
.contact .agree-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.contact .agree-row .agree{margin:22px 0!important}
.contact .agree{display:flex;align-items:center;gap:7px}
.contact .agree input{display:block;width:18px;height:18px;flex:0 0 18px;margin:0!important;padding:0;accent-color:var(--g2)}
.contact-privacy-open{padding:0;border:0;background:none;color:var(--g2);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}
.contact-privacy-open:hover{text-decoration:underline}
.contact-privacy-modal[hidden]{display:none}
.contact-privacy-modal{position:fixed;z-index:10030;inset:0;display:flex;padding:24px;align-items:center;justify-content:center}
.contact-privacy-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#091e159e;backdrop-filter:blur(3px);cursor:pointer}
.contact-privacy-dialog{position:relative;display:flex;width:min(720px,100%);max-height:calc(100vh - 48px);overflow:hidden;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 28px 80px #0005}
.contact-privacy-dialog>header{position:relative;inset:auto;z-index:auto;display:flex;min-height:68px;height:auto;padding:14px 24px;align-items:center;justify-content:space-between;color:var(--ink);background:#fff;border:0;border-bottom:1px solid var(--line)}
.contact-privacy-dialog>header p{margin:0 0 4px;color:var(--g2);font:700 9px 'DM Sans';letter-spacing:1.8px}
.contact-privacy-dialog>header h2{margin:0;font-size:19px;line-height:1.4}
.contact-privacy-dialog>header button{display:grid;width:38px;height:38px;padding:0;place-items:center;color:var(--muted);font-size:28px;line-height:1;background:transparent;border:0;cursor:pointer}
.contact-privacy-content{padding:24px;overflow-y:auto;color:var(--ink);font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.contact-privacy-modal-open{overflow:hidden}
@media(max-width:600px){.contact .agree-row{align-items:center}.contact-privacy-modal{padding:14px}.contact-privacy-dialog{max-height:calc(100vh - 28px);border-radius:13px}.contact-privacy-dialog>header{min-height:60px;padding:12px 17px}.contact-privacy-dialog>header h2{font-size:17px}.contact-privacy-content{padding:18px;font-size:13px}}
.subhero p:last-child{word-break:keep-all;overflow-wrap:break-word}
.contact-feedback{margin:20px 0;padding:14px 16px;border-left:3px solid var(--g2);background:#edf4ef;color:var(--g);font-size:13px;line-height:1.7}
.contact-feedback--error{border-left-color:#b84435;background:#fff2ef;color:#79352c}
.contact-feedback p{margin:0 0 6px;font-weight:700}
.contact-feedback ul{margin:0;padding-left:19px}
.contact form{border:1px solid #e8ece8;padding:clamp(26px,3.5vw,45px)}
.contact form>.over{margin-bottom:12px}
.contact form h2{margin:0 0 25px;font-size:clamp(23px,2.2vw,28px);line-height:1.4;letter-spacing:-.04em}
.contact form label{margin-top:16px;color:#34443d;font-size:12px;font-weight:600}
.contact form input:not([type=checkbox]),.contact form select{height:48px;padding:0 14px;border-color:#d9e0db;border-radius:2px;background:#f8faf8;color:var(--ink);font-size:13px;transition:border-color .18s,background .18s,box-shadow .18s}
.contact form textarea{padding:15px 14px;border-color:#d9e0db;border-radius:2px;background:#f8faf8;color:var(--ink);font-size:13px;line-height:1.8;transition:border-color .18s,background .18s,box-shadow .18s}
.contact form input:not([type=checkbox]):focus,.contact form select:focus,.contact form textarea:focus{outline:0;border-color:var(--g2);background:#fff;box-shadow:0 0 0 3px #2d68531a}
.contact form input::placeholder,.contact form textarea::placeholder{color:#89938d}
.contact form .agree-row{margin-top:5px}
.contact form .agree{font-size:12px}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact form>.btn{min-height:56px;margin-top:2px}
.contact-feedback{margin:0 0 10px}
@media(min-width:951px){
  .contact form{display:flex;height:100%;flex-direction:column}
  .contact form .contact-message{display:flex;min-height:0;flex:1;flex-direction:column}
  .contact form .contact-message textarea{min-height:220px;flex:1}
}
.contact.section{padding-bottom:0}
.contact-tour-promo{margin-top:40px;padding:18px 0 20px;background:#e8eddd;border-top:1px solid #dbe2cf}
.contact-tour-promo__link{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;align-items:center;min-height:68px;color:var(--ink)}
.contact-tour-promo .contact-tour-promo__link{animation:none!important;opacity:1!important;transform:none!important;will-change:auto!important}
.bus-index-fleet{padding-bottom:40px}
.bus-index-fleet+.contact-tour-promo{margin-top:0}
.bus-detail-section{padding-bottom:0}
.bus-detail-section+.contact-tour-promo{margin-top:40px}
.company-overview-section{padding-bottom:0}
.company-overview-section+.contact-tour-promo{margin-top:40px}
.company-location-section{padding-bottom:0}
.company-location-section+.contact-tour-promo{margin-top:40px}
.contact-tour-promo__link:focus-visible{outline:2px solid var(--g2);outline-offset:4px}
.contact-tour-promo__icon{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:var(--lime);color:var(--g)}
.contact-tour-promo__icon svg{width:40px;height:40px}
.contact-tour-promo__copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.contact-tour-promo__copy small{color:var(--g2);font:700 9px 'DM Sans';letter-spacing:2px}
.contact-tour-promo__copy strong{font-size:18px;line-height:1.5;word-break:keep-all}
.contact-tour-promo__copy em{color:var(--g2);font-style:normal}
.contact-tour-promo__copy>span{color:var(--muted);font-size:12px;line-height:1.5}
.contact-tour-promo__action{display:flex;min-height:46px;align-items:center;gap:10px;padding:0 16px;background:var(--g);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.contact-tour-promo__action svg{width:16px;height:16px;flex:0 0 16px}
@media(max-width:600px){
  html,body{max-width:100%;overflow-x:hidden}
  .bus-detail-section>.wrap{width:calc(100% - 30px);max-width:none}
  .bus-detail-section .busbig,.bus-detail-section .gallery,.bus-detail-section .detailcta{width:100%;max-width:100%;min-width:0}
  .bus-index-fleet{padding-bottom:28px}
  .bus-detail-section+.contact-tour-promo{margin-top:28px}
  .contact-tour-promo{margin-top:28px;padding:14px 0 16px}
  .company-overview-section+.contact-tour-promo,.company-location-section+.contact-tour-promo{margin-top:28px}
  .contact-tour-promo__link{grid-template-columns:48px minmax(0,1fr) 42px;gap:12px;min-height:64px;padding-right:8px}
  .contact-tour-promo__icon{width:48px;height:48px}
  .contact-tour-promo__icon svg{width:34px;height:34px}
  .contact-tour-promo__copy small{font-size:8px;letter-spacing:1.5px}
  .contact-tour-promo__copy strong{font-size:14px;line-height:1.45}
  .contact-tour-promo__copy>span{font-size:10px}
  .contact-tour-promo__action{width:42px;height:42px;min-height:42px;justify-content:center;padding:0;border-radius:50%;background:var(--g);color:var(--lime)}
  .contact-tour-promo__action-label{display:none}
  .contact-tour-promo__action svg{width:19px;height:19px;flex-basis:19px}
}
@media(max-width:600px){
  .homehero .herogrid{min-height:0;align-content:start;padding:48px 0 42px;gap:34px}
  .homehero .herogrid>div:first-child{min-width:0}
  .homehero h1{font-size:clamp(38px,10vw,43px);line-height:1.18;letter-spacing:-.055em;word-break:keep-all}
  .homehero .lead{font-size:14px;line-height:1.85;word-break:keep-all}
  .homehero .actions{margin-top:24px;gap:14px}
  .homehero .visual{width:100%;margin:0}
  .homehero .heroimg{height:clamp(280px,82vw,350px)}
  .homehero .visual aside{left:0;bottom:16px;max-width:calc(100% - 12px);padding:13px 16px}
  .homehero .stats{gap:10px;margin-top:34px;padding-top:18px}
  .homehero .stats b{font-size:18px}
  .homehero .stats small{font-size:9px}
  .intro-section .photo{padding:0 20px 34px 0}
  .intro-section .photo>i{left:8px;top:20px;z-index:2;width:98px;height:98px;font-size:7px}
  .intro-section .photo>i b{font-size:24px}
  .intro-section .copy{min-width:0}
  .intro-section .copy h2{font-size:clamp(32px,8.5vw,40px);line-height:1.3;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:break-word}
  .intro-section .copy>p:not(.over),.intro-section .copy li{font-size:14px;line-height:1.85;word-break:keep-all;overflow-wrap:break-word}
  .fleet .secthead h2,.fleet .secthead>p,.process .secthead h2{word-break:keep-all;overflow-wrap:break-word}
  .fleet .secthead>p{font-size:13px;line-height:1.8}
  .process .secthead h2{font-size:clamp(32px,8.2vw,40px)}
  .process .secthead .whitebtn{margin-top:18px}
  .steps>div{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;align-items:start;padding:20px 0;border-right:0;border-bottom:1px solid #ffffff2b}
  .steps>div:first-child{padding-left:0}
  .steps span{grid-column:1;grid-row:1;padding-top:2px;font-size:10px}
  .steps i{display:none}
  .steps h3{grid-column:2;grid-row:1;margin:0;font-size:17px;line-height:1.45}
  .steps p{grid-column:2;grid-row:2;margin:5px 0 0;font-size:12px;line-height:1.7}
}

