/* ========================================================
   FINERO — GRD Design System · Green-Brown Concept
   ======================================================== */

/* 0. Reset */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;font-family:var(--vg-font-body);color:var(--vg-on-surface);background:var(--vg-bg);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;overflow-x:hidden;}
p,h1,h2,h3,h4,li,span,a,dt,dd{word-break:keep-all;overflow-wrap:break-word;}
img,svg{max-width:100%;height:auto;vertical-align:middle;}
button,input,select,textarea{font:inherit;color:inherit;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;padding:0;margin:0;}
h1,h2,h3,h4{margin:0;}
p{margin:0;}
:focus-visible{outline:2px solid var(--vg-secondary);outline-offset:3px;}
::selection{background:var(--vg-secondary);color:#fff;}

/* 1. Design Tokens */
:root{
  --vg-bg:#f5f2eb;
  --vg-primary:#1a1200;
  --vg-primary-container:#182a10;
  --vg-on-primary:#fff;
  --vg-secondary:#5c7a2a;
  --vg-secondary-container:#72982f;
  --vg-on-surface:#1a1200;
  --vg-on-surface-variant:#4a4030;
  --vg-surface:#f5f2eb;
  --vg-surface-container:#e8e0cc;
  --vg-surface-container-low:#f0ebe0;
  --vg-outline:#7a7060;
  --vg-outline-variant:#c2b89e;
  --vg-font-h:"Public Sans",system-ui,sans-serif;
  --vg-font-body:"Public Sans",system-ui,sans-serif;
  --vg-font-caps:"Inter",system-ui,sans-serif;
  --vg-fs-h1:clamp(1.9rem,4.5vw,3rem);
  --vg-fs-h2:clamp(1.4rem,3vw,2rem);
  --vg-fs-h3:clamp(1rem,1.8vw,1.375rem);
  --vg-fs-body-lg:1.0625rem;
  --vg-fs-body:1rem;
  --vg-fs-caps:0.6875rem;
  --vg-gutter:clamp(16px,2.5vw,32px);
  --vg-section-gap:clamp(64px,10vw,128px);
  --vg-margin:clamp(20px,4.5vw,64px);
  --vg-max-w:1440px;
  --vg-header-h:60px;
  --vg-sticky-h:52px;
  --vg-radius:0.25rem;
  --vg-shadow-sm:0 1px 4px rgba(26,18,0,.08);
  --vg-shadow-md:0 4px 16px rgba(26,18,0,.10);
  --vg-ease:cubic-bezier(.22,1,.36,1);
}
@media(min-width:900px){:root{--vg-header-h:64px;}}

/* 2. Grid Background */
body{
  background-color:var(--vg-bg);
  background-size:32px 32px;
  background-image:
    linear-gradient(to right,rgba(180,165,130,.35) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(180,165,130,.35) 1px,transparent 1px);
}

/* 3. Layout */
.vg-container{width:100%;max-width:var(--vg-max-w);margin:0 auto;padding:0 var(--vg-margin);}
.vg-grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--vg-gutter);row-gap:var(--vg-section-gap);}
.vg-col-12{grid-column:span 12;}
@media(min-width:768px){
  .vg-col-8{grid-column:span 8;}
  .vg-col-6{grid-column:span 6;}
  .vg-col-4{grid-column:span 4;}
}

/* 4. Scroll Progress */
#vg-scroll-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:var(--vg-secondary);z-index:200;transition:width .1s linear;}

/* 5. Header */
.vg-skip{position:absolute;left:-9999px;top:-9999px;background:var(--vg-primary);color:#fff;padding:12px 20px;z-index:9999;font-family:var(--vg-font-caps);font-size:var(--vg-fs-caps);letter-spacing:.08em;}
.vg-skip:focus{left:16px;top:16px;}
.vg-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--vg-header-h);display:flex;align-items:center;background:rgba(245,242,235,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s;}
.vg-header[data-scrolled="true"]{border-bottom-color:var(--vg-outline-variant);background:rgba(245,242,235,.97);}
.vg-header__inner{width:100%;max-width:var(--vg-max-w);margin:0 auto;padding:0 var(--vg-margin);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.vg-header__left{display:flex;align-items:center;gap:24px;min-width:0;}
.vg-brand{display:flex;align-items:center;gap:10px;font-family:var(--vg-font-caps);font-size:.9rem;font-weight:700;letter-spacing:-.02em;color:var(--vg-on-surface);text-transform:uppercase;text-decoration:none;flex-shrink:0;}
.vg-brand__icon{width:34px;height:34px;background:var(--vg-primary-container);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.vg-brand__icon svg{color:rgba(255,255,255,.85);}
.vg-brand__sub{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vg-on-surface-variant);line-height:1.2;}
.vg-nav{display:none;}
.vg-nav__list{display:flex;align-items:center;gap:20px;}
.vg-nav__link{font-size:var(--vg-fs-body);font-weight:400;color:var(--vg-on-surface-variant);padding-bottom:2px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;}
.vg-nav__link:hover,.vg-nav__link.is-active{color:var(--vg-secondary);border-bottom-color:var(--vg-secondary);}
.vg-burger{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer;min-width:44px;min-height:44px;align-items:center;justify-content:center;touch-action:manipulation;}
.vg-burger span{display:block;width:22px;height:1.5px;background:var(--vg-on-surface);transition:transform .3s,opacity .3s;}
.vg-mnav{position:fixed;inset:var(--vg-header-h) 0 0 0;background:var(--vg-primary-container);padding:24px var(--vg-margin) calc(24px + env(safe-area-inset-bottom));overflow-y:auto;z-index:99;-webkit-overflow-scrolling:touch;}
.vg-mnav[hidden]{display:none;}
.vg-mnav__list li{border-bottom:1px solid rgba(255,255,255,.1);}
.vg-mnav__list a{display:block;padding:16px 0;font-family:var(--vg-font-caps);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85);min-height:44px;display:flex;align-items:center;}
.vg-mnav__cta-link{color:var(--vg-secondary-container) !important;}
@media(min-width:900px){
  .vg-nav{display:block;}
  .vg-burger{display:none;}
}

/* 6. Buttons */
.vg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;min-height:44px;min-width:44px;font-family:var(--vg-font-caps);font-size:var(--vg-fs-caps);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;border-radius:var(--vg-radius);transition:background .2s,color .2s;white-space:nowrap;touch-action:manipulation;}
.vg-btn--primary{background:var(--vg-primary-container);color:#fff;}
.vg-btn--primary:hover{background:#243d18;}
.vg-btn--secondary{background:var(--vg-secondary);color:#fff;}
.vg-btn--secondary:hover{background:var(--vg-secondary-container);}
.vg-btn--outline{background:transparent;color:var(--vg-on-surface);border:1px solid var(--vg-outline-variant);}
.vg-btn--outline:hover{background:var(--vg-surface-container);}
.vg-btn--ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);}
.vg-btn--ghost:hover{background:rgba(255,255,255,.18);}
.vg-btn--lg{padding:14px 28px;}
.vg-btn .vg-btn__arrow{transition:transform .25s var(--vg-ease);}
.vg-btn:hover .vg-btn__arrow{transform:translateX(4px);}

/* 7. Ref Tag */
.vg-ref-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--vg-outline-variant);background:var(--vg-surface);padding:4px 8px;margin-bottom:16px;}
.vg-ref-tag__label{font-family:var(--vg-font-caps);font-size:var(--vg-fs-caps);font-weight:500;color:var(--vg-on-surface-variant);}
.vg-ref-tag__value{font-family:var(--vg-font-caps);font-size:var(--vg-fs-caps);font-weight:700;color:var(--vg-primary);}
.vg-ref-tag--dark{border-color:rgba(255,255,255,.2);background:rgba(0,0,0,.35);}
.vg-ref-tag--dark .vg-ref-tag__label{color:rgba(255,255,255,.65);}
.vg-ref-tag--dark .vg-ref-tag__value{color:#fff;}

/* 8. Section Header */
.vg-section-header{grid-column:span 12;padding-bottom:28px;border-bottom:1px solid var(--vg-outline-variant);}
.vg-section-header h2{font-family:var(--vg-font-h);font-size:var(--vg-fs-h2);font-weight:700;letter-spacing:-.02em;color:var(--vg-primary);margin-top:8px;line-height:1.2;}
.vg-section-header p{font-size:var(--vg-fs-body-lg);color:var(--vg-on-surface-variant);max-width:720px;margin-top:12px;line-height:1.6;}
.vg-label-caps{font-family:var(--vg-font-caps);font-size:var(--vg-fs-caps);font-weight:700;letter-spacing:.08em;text-transform:uppercase;}

/* 9. Main layout */
.vg-main{padding-top:calc(var(--vg-header-h) + 48px);padding-bottom:var(--vg-section-gap);}
.vg-main--video-hero{padding-top:0;}
.vg-subpage-main{padding-top:calc(var(--vg-header-h) + 28px);padding-bottom:var(--vg-section-gap);}

/* 10. Hero — Ken Burns Slideshow */
.vg-fullbleed-hero{position:relative;width:100%;height:100svh;min-height:520px;max-height:900px;overflow:hidden;background:var(--vg-primary-container);display:flex;align-items:flex-end;}
.vg-hero-slide{position:absolute;inset:0;overflow:hidden;opacity:0;animation:vg-fade-cycle 24s linear infinite;}
.vg-hero-slide--1{animation-delay:0s;}
.vg-hero-slide--2{animation-delay:8s;}
.vg-hero-slide--3{animation-delay:16s;}
.vg-hero-slide img{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;object-position:center 30%;}
.vg-hero-slide--1 img{animation:vg-kb-1 24s linear infinite;}
.vg-hero-slide--2 img{animation:vg-kb-2 24s linear infinite;animation-delay:8s;}
.vg-hero-slide--3 img{animation:vg-kb-3 24s linear infinite;animation-delay:16s;}
@keyframes vg-fade-cycle{0%{opacity:0;}5%{opacity:1;}33%{opacity:1;}38%{opacity:0;}100%{opacity:0;}}
@keyframes vg-kb-1{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.1) translate(-2%,-1%);}}
@keyframes vg-kb-2{0%{transform:scale(1.05) translate(2%,.5%);}100%{transform:scale(1.12) translate(0,-1.5%);}}
@keyframes vg-kb-3{0%{transform:scale(1) translate(-1%,1%);}100%{transform:scale(1.08) translate(1%,-.5%);}}
.vg-fullbleed-hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,18,5,.95) 0%,rgba(10,18,5,.55) 40%,rgba(10,18,5,.1) 80%,transparent 100%),linear-gradient(to right,rgba(10,18,5,.45) 0%,transparent 55%);pointer-events:none;z-index:1;}
.vg-fullbleed-hero__content{position:relative;z-index:2;width:100%;max-width:var(--vg-max-w);margin:0 auto;padding:0 var(--vg-margin) clamp(72px,9vh,96px);}
.vg-fullbleed-hero__h1{font-family:var(--vg-font-h);font-size:clamp(2rem,5.5vw,3.8rem);font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1.1;margin:0;}
.vg-fullbleed-hero__desc{font-size:clamp(.9rem,2vw,1.05rem);color:rgba(255,255,255,.75);line-height:1.75;max-width:500px;margin:0;}
.vg-hero-badge--dark{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);backdrop-filter:blur(6px);padding:5px 12px;font-family:var(--vg-font-caps);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.9);}
.vg-fullbleed-hero__source{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-family:var(--vg-font-caps);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);}
.vg-fullbleed-hero__scroll{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.35);animation:hero-scroll-cue 2.2s ease-in-out infinite;}
@keyframes hero-scroll-cue{0%,100%{transform:translateX(-50%) translateY(0);opacity:.35;}50%{transform:translateX(-50%) translateY(6px);opacity:.75;}}
/* 모바일: 슬라이드 2/3 비활성화 (배터리 절약) */
@media(max-width:767px){
  .vg-hero-slide--2,.vg-hero-slide--3{display:none;}
  .vg-hero-slide--1{opacity:1;animation:none;}
  .vg-hero-slide--1 img{animation:vg-kb-1 20s linear infinite;animation-play-state:paused;}
}
@media(prefers-reduced-motion:reduce){
  .vg-hero-slide{animation:none;}
  .vg-hero-slide--1{opacity:1;}
  .vg-hero-slide--2,.vg-hero-slide--3{opacity:0;}
  .vg-hero-slide img,.vg-hero-slide--1 img{animation:none;}
}
/* safe area for notch/home indicator */
@supports(padding-bottom:env(safe-area-inset-bottom)){
  .vg-fullbleed-hero__content{padding-bottom:calc(clamp(72px,9vh,96px) + env(safe-area-inset-bottom));}
}

/* 11. Bento Grid */
.vg-bento-grid{grid-column:span 12;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--vg-gutter);}
.vg-bento-card{grid-column:span 12;height:240px;position:relative;background:var(--vg-surface-container);border:1px solid var(--vg-outline-variant);overflow:hidden;transition:border-color .3s;}
@media(min-width:480px){.vg-bento-card{height:280px;}}
@media(min-width:768px){
  .vg-bento-card{grid-column:span 4;height:380px;}
  .vg-bento-card--half{grid-column:span 6;height:260px;}
}
.vg-bento-card:hover{border-color:var(--vg-secondary);}
.vg-bento-card img{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;object-position:center 30%;filter:none;transition:transform .7s var(--vg-ease);}
.vg-bento-card:hover img{transform:scale(1.05);}
.vg-bento-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,18,5,.82) 0%,rgba(10,18,5,.15) 45%,transparent 70%);}
.vg-card-index{position:absolute;top:12px;right:12px;width:40px;height:40px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-family:var(--vg-font-h);font-size:1rem;font-weight:700;color:#fff;z-index:2;}
.vg-bento-card__content{position:absolute;bottom:0;left:0;padding:16px 20px;z-index:2;}
.vg-bento-card__content h3{font-family:var(--vg-font-h);font-size:1rem;font-weight:600;color:#fff;margin-bottom:4px;line-height:1.3;}
.vg-bento-card__content p{font-size:.875rem;color:rgba(255,255,255,.8);line-height:1.5;}

/* 12. KPI */
.vg-kpi-grid{grid-column:span 12;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--vg-gutter);}
@media(min-width:600px){.vg-kpi-grid{grid-template-columns:repeat(4,1fr);}}
.vg-kpi-card{border:1px solid var(--vg-outline-variant);background:var(--vg-surface);padding:20px 24px;}
.vg-kpi-card__number{font-family:var(--vg-font-h);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;letter-spacing:-.02em;color:var(--vg-primary);line-height:1;}
.vg-kpi-card__label{margin-top:10px;font-family:var(--vg-font-caps);font-size:var(--vg-fs-caps);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vg-on-surface-variant);}

/* 13. Case Cards */
.vg-case-grid{grid-column:span 12;display:grid;grid-template-columns:1fr 1fr;gap:var(--vg-gutter);}
@media(min-width:768px){.vg-case-grid{grid-template-columns:repeat(3,1fr);}}
.vg-case-card{height:200px;position:relative;background:var(--vg-surface-container);border:1px solid var(--vg-outline-variant);overflow:hidden;}
@media(min-width:480px){.vg-case-card{height:240px;}}
@media(min-width:768px){.vg-case-card{height:360px;}}
.vg-case-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.2);transition:transform .7s var(--vg-ease),filter .4s;}
.vg-case-card:hover img{transform:scale(1.05);filter:grayscale(0);}
.vg-case-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(24,42,16,.88) 0%,rgba(24,42,16,.15) 55%,transparent 100%);}
.vg-case-card__index{position:absolute;top:10px;right:10px;width:36px;height:36px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-family:var(--vg-font-h);font-size:.75rem;font-weight:700;color:#fff;z-index:2;}
.vg-case-card__content{position:absolute;bottom:0;left:0;padding:12px 16px;z-index:2;}
.vg-case-card__content h3{font-family:var(--vg-font-h);font-size:.875rem;font-weight:600;color:#fff;margin-bottom:4px;line-height:1.3;}
.vg-case-card__content p{font-size:.75rem;color:rgba(255,255,255,.75);}

/* 14. Why Cards */
.vg-why-grid{grid-column:span 12;display:grid;grid-template-columns:1fr;gap:var(--vg-gutter);}
@media(min-width:600px){.vg-why-grid{grid-template-columns:repeat(3,1fr);}}
.vg-why-card{border-top:2px solid var(--vg-secondary);padding-top:20px;}
.vg-why-card__icon{width:44px;height:44px;background:var(--vg-primary-container);color:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.vg-why-card h3{font-family:var(--vg-font-h);font-size:var(--vg-fs-h3);font-weight:600;color:var(--vg-on-surface);margin-bottom:10px;}
.vg-why-card p{font-size:var(--vg-fs-body);color:var(--vg-on-surface-variant);line-height:1.65;}

/* 15. Review Marquee */
.vg-marquee{grid-column:span 12;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);}
.vg-marquee__inner{display:flex;gap:16px;width:max-content;animation:vg-marquee-scroll 60s linear infinite;}
.vg-marquee__inner:hover{animation-play-state:paused;}
@keyframes vg-marquee-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.vg-review-card-m{width:clamp(240px,75vw,300px);flex-shrink:0;background:#fff;border:1px solid var(--vg-outline-variant);padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--vg-shadow-sm);}
.vg-review-card-m__stars{color:var(--vg-secondary);font-size:.9rem;letter-spacing:.06em;line-height:1;}
.vg-review-card-m__body{font-size:.9rem;color:var(--vg-on-surface-variant);line-height:1.75;flex:1;}
.vg-review-card-m__name{font-family:var(--vg-font-caps);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vg-outline);}

/* 16. FAQ */
.vg-faq{grid-column:span 12;max-width:860px;}
.vg-faq__item{border-top:1px solid var(--vg-outline-variant);}
.vg-faq__item:last-child{border-bottom:1px solid var(--vg-outline-variant);}
.vg-faq__q{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;cursor:pointer;list-style:none;font-family:var(--vg-font-h);font-size:var(--vg-fs-body-lg);font-weight:600;color:var(--vg-on-surface);user-select:none;min-height:44px;}
.vg-faq__q::-webkit-details-marker{display:none;}
.vg-faq__toggle{font-size:1.2rem;color:var(--vg-secondary);width:24px;text-align:center;flex-shrink:0;transition:transform .3s;}
.vg-faq__a{display:none;padding:0 0 20px;font-size:var(--vg-fs-body-lg);color:var(--vg-on-surface-variant);line-height:1.75;}
.vg-faq__item[open]>.vg-faq__a{display:block;}

/* 17. Panels */
.vg-panel-light{border:1px solid var(--vg-outline-variant);background:var(--vg-surface);padding:24px;}
.vg-panel-light h3{font-family:var(--vg-font-h);font-size:var(--vg-fs-h3);font-weight:600;color:var(--vg-on-surface);border-bottom:1px solid var(--vg-outline-variant);padding-bottom:14px;margin-bottom:14px;}
.vg-panel-dark{background:var(--vg-primary-container);color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:center;}
.vg-panel-dark h3{font-family:var(--vg-font-h);font-size:var(--vg-fs-h3);font-weight:600;color:#fff;margin-bottom:14px;}
.vg-panel-dark p{color:rgba(255,255,255,.8);font-size:var(--vg-fs-body-lg);line-height:1.6;margin-bottom:28px;}

/* 18. Info Grid */
.vg-info-grid{grid-column:span 12;display:grid;grid-template-columns:1fr;gap:var(--vg-gutter);}
@media(min-width:600px){.vg-info-grid{grid-template-columns:repeat(3,1fr);}}
.vg-info-item{border:1px solid var(--vg-outline-variant);background:var(--vg-surface);padding:20px;}
.vg-info-item h3{font-family:var(--vg-font-h);font-size:.9375rem;font-weight:600;color:var(--vg-primary);margin-bottom:8px;}
.vg-info-item p{font-size:var(--vg-fs-body);color:var(--vg-on-surface-variant);line-height:1.65;}

/* 19. Reveal Animations */
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .7s var(--vg-ease),transform .7s var(--vg-ease);}
[data-reveal].is-visible{opacity:1;transform:none;}
[data-reveal="slide-left"]{opacity:0;transform:translateX(-28px);}
[data-reveal="slide-left"].is-visible{opacity:1;transform:none;}
[data-reveal="scale"]{opacity:0;transform:scale(.94);}
[data-reveal="scale"].is-visible{opacity:1;transform:scale(1);}
[data-reveal-delay="100"]{transition-delay:.1s;}
[data-reveal-delay="150"]{transition-delay:.15s;}
[data-reveal-delay="200"]{transition-delay:.2s;}
[data-reveal-delay="250"]{transition-delay:.25s;}
[data-reveal-delay="300"]{transition-delay:.3s;}
[data-reveal-delay="350"]{transition-delay:.35s;}
@media(prefers-reduced-motion:reduce){
  [data-reveal],[data-reveal="slide-left"],[data-reveal="scale"]{opacity:1;transform:none;transition:none;}
}

/* 20. Sticky Mobile CTA */
.vg-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr;background:var(--vg-primary-container);transform:translateY(100%);transition:transform .4s var(--vg-ease);padding-bottom:env(safe-area-inset-bottom,0px);}
.vg-sticky-cta[data-visible="true"]{transform:translateY(0);}
.vg-sticky-cta a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 12px;height:var(--vg-sticky-h);font-family:var(--vg-font-caps);font-size:var(--vg-fs-caps);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;touch-action:manipulation;}
.vg-sticky-cta__primary{background:var(--vg-secondary);}
.vg-sticky-cta__primary:active{background:var(--vg-secondary-container);}
.vg-sticky-cta__secondary:active{background:rgba(255,255,255,.12);}
@media(min-width:769px){.vg-sticky-cta{display:none;}}

/* 21. Privacy Modal */
.vg-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;}
.vg-modal[aria-hidden="false"]{display:flex;}
.vg-modal__backdrop{position:absolute;inset:0;background:rgba(24,42,16,.72);backdrop-filter:blur(4px);}
.vg-modal__panel{position:relative;z-index:1;width:min(600px,92vw);max-height:88vh;overflow-y:auto;background:var(--vg-surface);border:1px solid var(--vg-outline-variant);padding:clamp(24px,4vw,44px);-webkit-overflow-scrolling:touch;}
.vg-modal__close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:1.4rem;cursor:pointer;color:var(--vg-on-surface-variant);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
.vg-modal h2{font-family:var(--vg-font-h);font-size:var(--vg-fs-h3);font-weight:700;margin-bottom:14px;}
.vg-modal p,.vg-modal li{font-size:var(--vg-fs-body);color:var(--vg-on-surface-variant);line-height:1.65;}
.vg-modal h3{font-family:var(--vg-font-h);font-size:1rem;font-weight:600;margin:16px 0 6px;}

/* 22. Footer */
.vg-footer{background:#0d1a08;border-top:1px solid rgba(255,255,255,.06);}
.vg-footer__body{display:grid;grid-template-columns:1fr;gap:40px;max-width:var(--vg-max-w);margin:0 auto;padding:48px var(--vg-margin) 40px;border-bottom:1px solid rgba(255,255,255,.06);}
@media(min-width:768px){.vg-footer__body{grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-top:60px;}}
.vg-footer__col-label{font-family:var(--vg-font-caps);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vg-secondary);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.vg-footer__col-label::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08);}
.vg-footer__brand-name{font-family:var(--vg-font-h);font-size:20px;font-weight:700;letter-spacing:-.02em;color:#fff;margin-bottom:4px;}
.vg-footer__brand-sub{font-family:var(--vg-font-caps);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:16px;}
.vg-footer__brand-desc{font-size:13px;line-height:1.75;color:rgba(255,255,255,.45);}
.vg-footer__brand-desc strong{color:rgba(255,255,255,.7);font-weight:600;}
.vg-footer__info-list{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0;}
.vg-footer__info-list li{display:flex;gap:12px;font-family:var(--vg-font-caps);font-size:11px;letter-spacing:.02em;color:rgba(255,255,255,.45);line-height:1.6;}
.vg-fi-key{color:rgba(255,255,255,.22);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding-top:1px;min-width:56px;flex-shrink:0;}
.vg-fi-val{color:rgba(255,255,255,.65);}
.vg-footer__info-list a{color:inherit;text-decoration:none;}
.vg-footer__info-list a:hover{color:#fff;}
.vg-footer__links{display:flex;flex-direction:column;gap:0;list-style:none;padding:0;margin:0;}
.vg-footer__links a{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.45);padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);transition:color .2s;gap:8px;min-height:44px;}
.vg-footer__links a:last-child{border-bottom:none;}
.vg-footer__links a:hover{color:#fff;}
.vg-arrow{font-size:11px;opacity:.35;transition:transform .2s,opacity .2s;}
.vg-footer__links a:hover .vg-arrow{transform:translateX(3px);opacity:.8;}
.vg-footer__links a.is-cta{color:var(--vg-secondary-container);font-weight:600;border-bottom:none;margin-top:8px;padding:10px 14px;background:rgba(92,122,42,.12);border:1px solid rgba(92,122,42,.28);}
.vg-footer__links a.is-cta:hover{background:rgba(92,122,42,.22);color:#fff;}
.vg-footer__bottom{max-width:var(--vg-max-w);margin:0 auto;padding:16px var(--vg-margin);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.vg-footer__copy{font-family:var(--vg-font-caps);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.18);}
.vg-footer__privacy{font-family:var(--vg-font-caps);font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.18);cursor:pointer;background:none;border:none;padding:0;min-height:44px;min-width:44px;}
.vg-footer__privacy:hover{color:rgba(255,255,255,.5);}

/* 23. Breadcrumb */
.vg-breadcrumb{background:var(--vg-surface-container-low);border-bottom:1px solid var(--vg-outline-variant);padding:8px var(--vg-margin);}
.vg-breadcrumb__list{display:flex;align-items:center;flex-wrap:wrap;gap:6px;max-width:var(--vg-max-w);margin:0 auto;font-size:13px;color:var(--vg-on-surface-variant);}
.vg-breadcrumb__item+.vg-breadcrumb__item::before{content:'>';color:var(--vg-outline);font-size:13px;}
.vg-breadcrumb__link{color:var(--vg-on-surface-variant);}
.vg-breadcrumb__link:hover{color:var(--vg-secondary);text-decoration:underline;}
.vg-breadcrumb__item--current{color:var(--vg-on-surface);font-weight:500;}

/* 24. Page Header (subpages) */
.vg-page-header{grid-column:span 12;padding-bottom:28px;border-bottom:1px solid var(--vg-outline-variant);}
.vg-page-header h1{font-family:var(--vg-font-h);font-size:var(--vg-fs-h1);font-weight:700;letter-spacing:-.02em;color:var(--vg-primary);line-height:1.1;margin-top:10px;}
.vg-page-header p{font-size:var(--vg-fs-body-lg);color:var(--vg-on-surface-variant);max-width:720px;margin-top:14px;line-height:1.6;}

/* 25. CTA Photo Section */
.vg-cta-photo{position:relative;overflow:hidden;padding:clamp(72px,12vw,140px) var(--vg-margin);}
.vg-cta-photo__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.vg-cta-photo__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,14,3,.95) 0%,rgba(6,14,3,.82) 50%,rgba(24,42,16,.65) 100%);}
.vg-cta-photo__content{position:relative;z-index:2;max-width:var(--vg-max-w);margin:0 auto;}
.vg-cta-photo__content h2{font-family:var(--vg-font-h);font-size:var(--vg-fs-h2);font-weight:700;letter-spacing:-.02em;color:#fff;margin:14px 0;line-height:1.15;}
.vg-cta-photo__content p{color:rgba(255,255,255,.72);font-size:var(--vg-fs-body-lg);line-height:1.65;max-width:520px;margin-bottom:32px;}

/* 26. Consult Cards (consultation page) */
.vg-consult-grid{grid-column:span 12;display:grid;grid-template-columns:1fr;gap:var(--vg-gutter);}
@media(min-width:600px){.vg-consult-grid{grid-template-columns:repeat(2,1fr);}}
.vg-consult-card{border:1px solid var(--vg-outline-variant);background:var(--vg-surface);padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:border-color .3s,box-shadow .3s;}
.vg-consult-card::after{content:"";position:absolute;top:0;left:0;width:0;height:2px;background:var(--vg-secondary);transition:width .4s var(--vg-ease);}
.vg-consult-card:hover{border-color:var(--vg-secondary);box-shadow:var(--vg-shadow-md);}
.vg-consult-card:hover::after{width:100%;}
.vg-consult-card__icon{width:44px;height:44px;background:var(--vg-primary-container);color:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;}
.vg-consult-card__title{font-family:var(--vg-font-h);font-size:var(--vg-fs-h3);font-weight:600;color:var(--vg-primary);line-height:1.3;}
.vg-consult-card__hint{font-size:var(--vg-fs-body);color:var(--vg-on-surface-variant);line-height:1.65;}
.vg-consult-card__cta{margin-top:auto;align-self:flex-start;}

/* 27. Mobile global adjustments */
@media(max-width:767px){
  /* 섹션 간격 축소 */
  .vg-grid-12{row-gap:clamp(48px,8vw,80px);}
  /* 히어로 배지 크기 */
  .vg-hero-badge--dark{font-size:9px;padding:4px 10px;}
  /* 스크롤 힌트 숨김 (공간 절약) */
  .vg-fullbleed-hero__scroll{display:none;}
  /* 푸터 회사정보 flex 방향 */
  .vg-footer__info-list li{flex-direction:column;gap:1px;}
  .vg-fi-key{min-width:unset;}
  /* 모바일 하단 sticky CTA 공간 확보 */
  main{padding-bottom:var(--vg-sticky-h);}
}
@media(max-width:399px){
  .vg-fullbleed-hero__h1{font-size:1.75rem;}
  .vg-review-card-m{width:calc(100vw - var(--vg-margin) * 2 - 32px);}
}

/* ===== Case Region H2 Triggers ===== */
.case-region{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--vg-outline-variant);margin-bottom:clamp(32px,5vw,56px);}
.case-region-item{padding:20px 0;border-bottom:1px solid var(--vg-outline-variant);}
.case-region-item h2{font-family:var(--vg-font-h);font-size:var(--vg-fs-body-lg);font-weight:600;color:var(--vg-primary);letter-spacing:-.01em;margin-bottom:6px;word-break:keep-all;}
.case-region-item p{font-size:var(--vg-fs-body);color:var(--vg-on-surface-variant);line-height:1.65;word-break:keep-all;margin:0;}

/* ===== Sitemap Page ===== */
.sitemap-main{padding:calc(var(--vg-header-h) + clamp(48px,8vw,80px)) var(--vg-margin) clamp(64px,10vw,120px);}
.sitemap-main .container{width:100%;max-width:900px;margin:0 auto;}
.page-main-title{font-family:var(--vg-font-h);font-size:var(--vg-fs-h1);font-weight:700;letter-spacing:-.02em;color:var(--vg-primary);margin:0 0 8px;}
.page-sub{font-size:var(--vg-fs-body);color:var(--vg-on-surface-variant);margin:0 0 32px;}
.sitemap-search{display:block;width:100%;box-sizing:border-box;padding:12px 16px;font-size:var(--vg-fs-body);border:1px solid var(--vg-outline-variant);background:var(--vg-surface);color:var(--vg-on-surface);border-radius:var(--vg-radius);margin-bottom:20px;outline:none;-webkit-appearance:none;appearance:none;}
.sitemap-search:focus{border-color:var(--vg-secondary);box-shadow:0 0 0 2px rgba(92,122,42,.15);}
.sitemap-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;}
.filter-btn{padding:6px 14px;font-size:var(--vg-fs-caps);font-family:var(--vg-font-caps);letter-spacing:.06em;font-weight:600;border:1px solid var(--vg-outline-variant);background:var(--vg-surface);color:var(--vg-on-surface-variant);cursor:pointer;border-radius:var(--vg-radius);transition:background .15s,color .15s,border-color .15s;min-height:36px;}
.filter-btn:hover{border-color:var(--vg-secondary);color:var(--vg-secondary);}
.filter-btn.active{background:var(--vg-primary);color:#fff;border-color:var(--vg-primary);}
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.sitemap-card{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--vg-surface-container-low);border:1px solid var(--vg-outline-variant);border-radius:var(--vg-radius);text-decoration:none;color:inherit;transition:border-color .15s,background .15s;}
.sitemap-card:hover{border-color:var(--vg-secondary);background:var(--vg-surface-container);}
.sitemap-cat-badge{font-family:var(--vg-font-caps);font-size:var(--vg-fs-caps);letter-spacing:.06em;font-weight:700;color:var(--vg-on-surface-variant);text-transform:uppercase;}
.sitemap-card-title{font-family:var(--vg-font-h);font-size:var(--vg-fs-body);font-weight:600;color:var(--vg-primary);line-height:1.3;word-break:keep-all;}
.sitemap-noindex-badge{align-self:flex-start;font-size:.625rem;font-family:var(--vg-font-caps);letter-spacing:.04em;font-weight:700;padding:2px 6px;background:var(--vg-outline-variant);color:var(--vg-on-surface-variant);border-radius:2px;text-transform:uppercase;}
