
/* YESON design refinement / motion edition */
:root{--green:#123c32;--paper:#f8faf7;--line:#d8e1d9;--lime:#dfebbc;--ink:#172d24;--muted:#5c6c61}
@view-transition{navigation:auto}::view-transition-old(root){animation:180ms ease-out both dissolve-out}::view-transition-new(root){animation:350ms ease-out both dissolve-in}@keyframes dissolve-out{to{opacity:0}}@keyframes dissolve-in{from{opacity:0}}
.page-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:#87ac68;transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}.header{height:88px;background:#f8faf7f2;transition:box-shadow .35s,background .35s}.header.is-scrolled{background:#f8faf7fb;box-shadow:0 4px 28px #123c320b}.brand-mark{height:42px;width:38px;border-radius:0 12px 0 0}.brand small{font-size:11px;letter-spacing:.23em}.nav a{position:relative;padding:8px 0}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .35s}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.header-phone{font-weight:600;font-size:14px}.btn{border-radius:3px;position:relative;overflow:hidden;box-shadow:0 0 0 transparent;transition:background .3s,box-shadow .3s}.btn:hover{box-shadow:0 8px 24px #123c3220}.btn-light{background:#e0ebbe;border-color:#e0ebbe}.btn:active{transform:scale(.98)}
.hero{padding:0;background:#0b241c}.hero>.wrap{max-width:none;padding:0}.hero-grid{position:relative;display:block;height:min(780px,calc(100svh - 88px));min-height:600px;overflow:hidden}.hero-copy{position:absolute;left:max(7.3vw,calc((100vw - 1280px)/2));top:50%;transform:translateY(-56%);z-index:3;pointer-events:none;max-width:640px}.hero-copy .actions{pointer-events:auto}.hero .eyebrow{font-size:12px;letter-spacing:.35em;color:#f0f6de;margin-bottom:26px}.hero h1{font-size:clamp(3.5rem,5.7vw,6rem);font-weight:600;line-height:1.17;letter-spacing:-.055em;margin-bottom:30px}.hero-line{display:block;overflow:hidden}.hero h1 em{color:#e0edc5}.hero p{font-size:16px;line-height:1.9;color:#edf3ee;max-width:420px}.hero .actions{margin-top:34px}.hero .btn{min-height:54px;padding:14px 30px}.hero .btn-outline{background:#ffffff08;backdrop-filter:blur(8px);border-color:#ffffff75}.hero-media{position:absolute;inset:0;min-height:0;height:100%;width:100%;overflow:hidden}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#09231ee6 0%,#102b22b0 28%,#102b2230 66%,#102b2240 100%);pointer-events:none}.hero-slides{height:100%;width:100%;position:relative}.hero-media .hero-slide{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;opacity:0;visibility:hidden;object-position:center}.hero-media .hero-slide.is-active{opacity:1;visibility:visible}.hero-caption{z-index:2;bottom:42px;right:6.5vw;left:auto;padding:0;background:transparent;color:white;text-align:right;pointer-events:none}.hero-caption span{font-size:11px;letter-spacing:.2em;color:#dfe9e0;margin-bottom:9px}.hero-caption strong{display:block;font-size:20px;font-weight:500}.hero-caption small{display:block;font-size:12px;color:#e0e9df;margin-top:7px}.hero-controls{position:absolute;z-index:4;left:max(7.3vw,calc((100vw - 1280px)/2));bottom:40px;display:flex;gap:10px;align-items:center}.slide-button{padding:8px 12px;background:transparent;color:#dce4da;border:0;border-bottom:1px solid #ffffff35;font-size:14px;min-width:46px;position:relative}.slide-button.active{color:#edf8cf;border-bottom-color:#edf8cf}.slide-button.active:after{content:"";height:2px;position:absolute;bottom:-1px;left:0;background:#dfebbc;width:100%;transform-origin:left;animation:slide-time 7s linear forwards}.hero-controls.paused .slide-button.active:after{animation-play-state:paused}.slide-pause{margin-left:12px;background:transparent;color:#e3ece2;border:1px solid #ffffff40;padding:6px 12px;font-size:12px}@keyframes slide-time{from{transform:scaleX(0)}to{transform:scaleX(1)}}.hero-bottom{padding:25px 7.3vw;margin:0;border-top:1px solid #ffffff25;font-size:13px;color:#c7d6cb;align-items:center}.hero-bottom strong{font-size:11px;margin-right:14px;color:#d9e9bb}.hero-bottom span:last-child{letter-spacing:.015em}
.section{padding:110px 0}.section-title{margin-bottom:46px}.section-title h2{font-size:clamp(2.1rem,3.6vw,3.6rem);line-height:1.23;font-weight:550}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:500}.text-link{font-size:14px;padding:7px 0;border-bottom-color:#8c9e8f;transition:border-color .3s}.text-link:hover{border-bottom-color:var(--green)}.projects-grid{gap:48px 32px}.project-card .photo{border-radius:5px;aspect-ratio:1.55;background:#dbe4da}.project-card:first-child .photo{aspect-ratio:2.55}.project-card .photo:after{content:"시공사례 보기";position:absolute;right:20px;bottom:20px;background:#f8faf7ed;color:var(--green);font-size:13px;padding:9px 17px;border-radius:2px;opacity:0;transform:translateY(8px);transition:.35s}.project-card:hover .photo:after,.project-card:focus-visible .photo:after{opacity:1;transform:none}.project-card:hover img{transform:scale(1.045)}.project-card .tag{font-size:12px;padding:7px 13px;backdrop-filter:blur(10px);background:#f8faf7e8;border-radius:2px}.card-meta{font-size:12px;letter-spacing:.04em;margin-top:20px}.project-card h3{font-size:1.35rem;line-height:1.6;letter-spacing:-.035em}.project-card:first-child h3{font-size:1.65rem}.service-section{background:#eaf0e8;position:relative}.service-layout>div:first-child{align-self:start;position:sticky;top:135px}.service-layout{gap:100px}.service-row{padding:30px 0}.service-row h3{font-size:1.4rem}.service-row small{color:#64775d;font-size:12px}.service-row p{font-size:15px;color:#586b5b}.service-row a{font-size:13px}.intro-photo{border-radius:5px;aspect-ratio:1.12}.intro h2{font-size:clamp(2rem,3.2vw,3.1rem);font-weight:550}.contact-band{padding:85px 0;background:#123c32}.contact-band h2{font-size:clamp(2rem,3vw,3.3rem);font-weight:550}.footer{background:#eef3eb;padding-top:60px}.page-head{padding-top:84px}.page-head h1{font-weight:550;font-size:clamp(2.7rem,4.2vw,4.5rem)}.filter-btn{border-radius:3px;background:white}.filter-btn:hover{border-color:#789774}.archive-toolbar{padding:22px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin-top:16px}.archive-list{border-top:0}.archive-row{padding:28px 12px;transition:background .25s}.archive-row .row-category{width:max-content;padding:4px 9px;background:#eaf0e6;border-radius:2px;font-size:12px}.archive-row h3{font-weight:500}.archive-row:hover h3{color:#456c32}.pagination button{border-radius:3px}.pagination button:hover{background:#e7eee1}.pagination button.active{background:var(--green)}.article h1{font-weight:550}.article-cover{border-radius:5px}.article-summary{border-left:0;border-radius:4px;padding:28px 32px;background:#eaf0e5}.gallery{gap:20px}.gallery img{border-radius:4px;object-fit:cover}.gallery button{width:100%}.info-grid{border-top-color:#6e856e}.original-box{scroll-margin-top:115px;border-radius:6px;margin-top:64px;padding:34px;background:#fff;border-color:#cbd9c6;box-shadow:0 12px 48px #153d3208}.original-box h2{font-size:1.8rem;font-weight:550}.original-box .actions{margin-top:20px}.original-box iframe{display:block;height:calc(100svh - 155px);min-height:650px;border-radius:3px;background:#f8faf7}.original-box:focus{outline:none}.source-content{padding-top:40px}.contact-phone{border-radius:5px;padding:44px}.contact-tips{padding:15px 0}.draft-form textarea{border-radius:4px}.about-wide img{border-radius:5px}.about-statements h3{font-size:1.4rem}.lightbox{border-radius:5px}
@media(max-width:1100px){.hero-copy{left:5vw;max-width:530px}.hero h1{font-size:4.8rem}.hero-controls{left:5vw}.hero-caption{right:5vw}.hero-bottom{padding-left:5vw;padding-right:5vw}.service-layout{gap:50px}}
@media(max-width:760px){.header{height:74px}.nav{top:74px}.hero-grid{height:700px;min-height:620px;max-height:calc(100svh - 74px);display:block}.hero-copy{left:24px;right:24px;top:36%;transform:translateY(-35%);max-width:none;padding:0}.hero h1{font-size:clamp(2.7rem,8.4vw,3.5rem);line-height:1.24;margin-bottom:20px}.hero .eyebrow{font-size:11px;letter-spacing:.25em;margin-bottom:19px}.hero p{font-size:14px;max-width:320px}.hero .actions{margin-top:25px;gap:10px}.hero .btn{font-size:13px;padding:12px 20px;min-height:48px}.hero-media{margin:0;height:100%;min-height:0}.hero-media .hero-slide{height:100%;object-position:65% center}.hero-media:after{background:linear-gradient(90deg,#09231ed9,#12332965),linear-gradient(0deg,#0a241cca 0%,transparent 60%)}.hero-caption{left:24px;right:auto;bottom:98px;text-align:left}.hero-caption strong{font-size:16px}.hero-caption span{font-size:10px;letter-spacing:.14em}.hero-caption small{font-size:11px}.hero-controls{left:24px;bottom:34px;gap:6px}.slide-button{font-size:13px;padding:8px 10px;min-width:43px}.hero-bottom{padding:20px 24px;gap:12px 17px;font-size:11px;justify-content:start}.hero-bottom strong{margin-right:7px}.hero-bottom span:last-child{width:100%;margin-top:3px}.section{padding:68px 0}.section-title h2{font-size:2.25rem}.projects-grid{gap:30px}.project-card:first-child .photo{aspect-ratio:1.4}.project-card h3,.project-card:first-child h3{font-size:1.25rem}.project-card .tag{left:14px;top:14px;font-size:11px}.project-card .photo:after{display:none}.card-meta{font-size:12px;margin-top:14px}.service-layout{gap:26px}.service-layout>div:first-child{position:static}.service-row h3{font-size:1.2rem}.intro-photo{aspect-ratio:1.35}.intro h2{font-size:2.1rem}.contact-band{padding:54px 0}.contact-band h2{font-size:2rem}.page-head{padding:48px 0 30px}.page-head h1{font-size:2.5rem}.archive-toolbar{padding:17px 0}.archive-row{padding:21px 4px}.original-box{padding:26px 18px;scroll-margin-top:88px;margin-top:40px}.original-box h2{font-size:1.5rem}.original-box iframe{height:calc(100svh - 140px);min-height:570px}.article-summary{padding:22px}.article h1{font-size:2rem}.contact-phone{padding:29px}.footer{padding-top:45px;padding-bottom:105px}.gallery{gap:12px}.gallery img{height:240px}.about-wide img{height:400px}}
@media(prefers-reduced-motion:reduce){.slide-button.active:after{animation:none}.hero-slide,.project-card img,.header,.btn,.nav a:after{transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}.page-progress{display:none}}

/* QA fixes: hidden state, touch targets and narrow archive rows */
[hidden]{display:none!important}
.slide-button,.slide-pause{min-height:44px;min-width:44px}
.original-box:focus-visible{outline:3px solid #8aa342;outline-offset:5px}
@media(max-width:760px){.archive-row>div{grid-column:1/-1;grid-row:2;min-width:0}.archive-row h3{overflow-wrap:anywhere}.hero-caption{max-width:calc(100% - 48px)}.hero-caption strong{overflow-wrap:anywhere}.hero-copy{position:relative;left:auto;right:auto;top:auto;transform:none;padding:54px 24px 200px}.hero-grid{height:auto;min-height:620px;max-height:none}.hero h1{overflow-wrap:anywhere}.hero p{font-size:16px}.hero .btn{font-size:14px}.original-box iframe{min-height:0;height:calc(100svh - 180px);height:max(350px,calc(100svh - 180px))}}
