/* =====================================================
   ㈜SY가스 — 디자인 시스템
   Dark-mode first · Pretendard + Space Grotesk · Zero heavy libs
   ===================================================== */

/* --------- 1. TOKENS (Light Theme) --------- */
:root{
  /* Primary (Navy — used for accent / text) */
  --sy-navy-900:#0F1B3D;
  --sy-navy-800:#1E2C5A;
  --sy-navy-700:#2E4274;
  --sy-navy-600:#475569;

  /* Green (brand swoosh) */
  --sy-green-500:#6DB33F;
  --sy-green-400:#8DC63F;
  --sy-green-300:#A4D95C;

  /* Accent */
  --sy-ignite:#F59E0B;
  --sy-h2-orange:#EA580C;
  --sy-lox-cyan:#0EA5E9;

  /* Background tiers (light) */
  --bg-base:#FFFFFF;
  --bg-elev-1:#F8FAFC;
  --bg-elev-2:#F1F5F9;
  --bg-glass:rgba(255,255,255,.85);

  /* Text tiers (dark for light bg) */
  --text-hi:#0F1B3D;
  --text-md:#475569;
  --text-lo:#94A3B8;
  --text-accent:#6DB33F;

  /* Borders & shadows */
  --border-subtle:rgba(15,27,61,.08);
  --border-strong:rgba(109,179,63,.4);
  --shadow-sm:0 1px 3px rgba(15,27,61,.06);
  --shadow-md:0 8px 24px -8px rgba(15,27,61,.12);
  --shadow-lg:0 16px 40px -12px rgba(15,27,61,.16);
  --shadow-glow:0 0 32px rgba(109,179,63,.22);

  /* Gradients */
  --grad-hero:linear-gradient(135deg,#FFFFFF 0%,#F0F9FF 50%,#ECFDF5 100%);
  --grad-section:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%);
  --grad-border:linear-gradient(135deg,#6DB33F 0%,#0EA5E9 100%);

  /* Type */
  --ff-kr:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", sans-serif;
  --ff-en:"Space Grotesk", var(--ff-kr);
  --ff-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;

  /* Layout */
  --container:1360px;
  --side-pad:clamp(1.25rem, 5vw, 6rem);
  --section-pad:clamp(64px, 10vh, 160px);

  /* Motion */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-bounce:cubic-bezier(.34,1.56,.64,1);
}

/* --------- 2. RESET & BASE --------- */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg-base);color:var(--text-hi);font-family:var(--ff-kr);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
html{scroll-behavior:smooth;overflow-x:hidden}
body{overflow-x:hidden;line-height:1.6;word-break:keep-all;max-width:100vw}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:transparent;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
::selection{background:var(--sy-green-500);color:var(--sy-navy-900)}
h1,h2,h3,h4,h5{margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.15}
p{margin:0}

.container{max-width:var(--container);margin:0 auto;padding-left:var(--side-pad);padding-right:var(--side-pad)}

/* Section head */
.section-head{display:flex;align-items:center;gap:20px;margin-bottom:28px;opacity:0;transform:translateY(16px);transition:all .8s var(--ease)}
.is-visible .section-head,.section-head.is-visible{opacity:1;transform:translateY(0)}
.section-num{font-family:var(--ff-en);font-size:.875rem;letter-spacing:.15em;color:var(--sy-green-500);font-weight:500}
.section-kicker{font-family:var(--ff-en);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-lo)}

/* --------- 3. LOADER --------- */
.loader{position:fixed;inset:0;background:var(--bg-base);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .5s var(--ease), transform .6s var(--ease)}
.loader.is-done{opacity:0;transform:translateY(-100%);pointer-events:none}
.loader__logo-img{width:min(60vw,400px);height:auto;opacity:0;animation:loaderFade 1.6s var(--ease) forwards}
@keyframes loaderFade{0%{opacity:0;transform:scale(.92)}30%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}

/* --------- 4. CUSTOM CURSOR --------- */
.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:9998;mix-blend-mode:screen;display:none}
@media (min-width:1280px) and (hover:hover){.cursor{display:block}}
.cursor__dot{position:absolute;top:0;left:0;width:8px;height:8px;border-radius:50%;background:var(--sy-green-500);transform:translate(-50%,-50%);transition:transform .15s var(--ease)}
.cursor__ring{position:absolute;top:0;left:0;width:36px;height:36px;border:1px solid var(--sy-green-500);border-radius:50%;transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease),border-color .2s}
.cursor.is-hover .cursor__ring{width:64px;height:64px;border-color:var(--sy-green-300)}

/* --------- 5. NAV --------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:500;transition:all .35s var(--ease);padding:16px 0;background:rgba(255,255,255,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent}
.nav.is-scrolled{padding:10px 0;background:rgba(255,255,255,.95);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}
.nav__inner{max-width:var(--container);margin:0 auto;padding:0 var(--side-pad);display:flex;align-items:center;gap:32px}
.nav__brand{display:flex;align-items:center}
.nav__logo-img{height:42px;width:auto;transition:all .35s var(--ease)}
.nav.is-scrolled .nav__logo-img{height:36px}
.nav__menu{display:flex;gap:28px;margin-left:auto;font-size:.92rem;color:var(--sy-navy-900);font-weight:500}
.nav__menu a{position:relative;padding:6px 2px;transition:color .2s}
.nav__menu a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--sy-green-500);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav__menu a:hover{color:var(--sy-green-500)}
.nav__menu a:hover::after{transform:scaleX(1)}
.nav__cta{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:999px;background:linear-gradient(135deg,#3F7D1E 0%,#6DB33F 100%);color:#fff;font-weight:600;font-size:.9rem;transition:all .25s var(--ease)}
.nav__cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow)}
.nav__burger{display:none;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav__burger span{width:22px;height:1.5px;background:var(--sy-navy-900);transition:all .3s var(--ease)}
.nav.is-open .nav__burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav.is-open .nav__burger span:nth-child(2){opacity:0}
.nav.is-open .nav__burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

@media (max-width:900px){
  .nav__menu{position:fixed;top:64px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg-elev-1);border-top:1px solid var(--border-subtle);padding:12px var(--side-pad) 20px;transform:translateY(-120%);opacity:0;transition:all .4s var(--ease);pointer-events:none}
  .nav.is-open .nav__menu{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav__menu a{padding:14px 0;border-bottom:1px solid var(--border-subtle)}
  .nav__cta{display:none}
  .nav__burger{display:flex;margin-left:auto}
}

/* --------- 6. BUTTONS --------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:.95rem;letter-spacing:-.005em;transition:all .3s var(--ease);cursor:pointer}
.btn--primary{background:var(--sy-green-500);color:var(--sy-navy-900)}
.btn--primary:hover{background:var(--sy-green-400);transform:translateY(-2px);box-shadow:var(--shadow-glow)}
.btn--ghost{background:transparent;color:var(--text-hi);border:1px solid var(--border-strong)}
.btn--ghost:hover{background:rgba(141,198,63,.08);border-color:var(--sy-green-500)}

/* --------- 7. HERO --------- */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#FFFFFF 0%,#F0F9FF 50%,#E0F2FE 100%)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(109,179,63,.08) 0%,transparent 55%),radial-gradient(circle at 20% 80%,rgba(46,90,172,.08) 0%,transparent 55%);pointer-events:none}


/* centered single-column */
.hero__container{position:relative;z-index:2;max-width:900px;margin:0 auto;width:100%;padding:140px var(--side-pad) 80px;text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center}

.hero__content{color:var(--text-hi)}

/* Badge */
.hero__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(109,179,63,.1);border:1px solid rgba(109,179,63,.3);color:#3F7D1E;padding:8px 20px;border-radius:50px;font-family:var(--ff-en);font-size:.85rem;font-weight:600;margin:0 auto 32px;backdrop-filter:blur(8px)}
.hero__badge-dot{width:8px;height:8px;background:#6DB33F;border-radius:50%;flex-shrink:0;animation:heropulse 2s infinite}
@keyframes heropulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}

/* Title */
.hero__h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:900;line-height:1.2;margin:0 0 24px;letter-spacing:-.5px;color:var(--sy-navy-900)}
.hero__highlight{background:linear-gradient(135deg,#3F7D1E 0%,#6DB33F 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Description */
.hero__sub{font-size:1.15rem;color:var(--text-md);line-height:1.8;margin:0 auto 40px;max-width:640px}
.hero__sub strong{color:var(--sy-navy-900);font-weight:600}

/* Buttons */
.hero__actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.hero__btn-primary{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#3F7D1E 0%,#6DB33F 100%);color:#fff;padding:16px 36px;border-radius:50px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .4s cubic-bezier(.25,.46,.45,.94)}
.hero__btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(109,179,63,.35)}
.hero__btn-secondary{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--sy-navy-900);color:var(--sy-navy-900);padding:16px 36px;border-radius:50px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .4s cubic-bezier(.25,.46,.45,.94)}
.hero__btn-secondary:hover{background:var(--sy-navy-900);color:#fff;transform:translateY(-3px)}

/* Molecule visual */
.hero__visual{position:relative;display:flex;justify-content:center;align-items:center}
.hero__molecule{position:relative;width:420px;height:420px}

.mol-ring{position:absolute;border-radius:50%;animation:rotateRing 20s linear infinite}
.mol-ring:nth-child(1){inset:0;border:1px solid rgba(109,179,63,.15)}
.mol-ring:nth-child(2){inset:40px;border:1px solid rgba(46,90,172,.2);animation-direction:reverse;animation-duration:25s}
.mol-ring:nth-child(3){inset:80px;border:1px solid rgba(109,179,63,.25);animation-duration:30s}
@keyframes rotateRing{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

.mol-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.mol-center img{width:150px;filter:brightness(0) invert(1);animation:molFloat 4s ease-in-out infinite}
@keyframes molFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.mol-node{position:absolute;width:60px;height:60px;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.05) 100%);border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(12px);color:#fff;font-family:var(--ff-en);font-size:.75rem;font-weight:700;animation:molFloat 3s ease-in-out infinite}
.mol-node:nth-child(5){top:0;left:50%;transform:translateX(-50%);animation-delay:0s}
.mol-node:nth-child(6){top:20%;right:0;animation-delay:.5s}
.mol-node:nth-child(7){bottom:20%;right:5%;animation-delay:1s}
.mol-node:nth-child(8){bottom:0;left:50%;transform:translateX(-50%);animation-delay:1.5s}
.mol-node:nth-child(9){bottom:20%;left:0;animation-delay:2s}
.mol-node:nth-child(10){top:20%;left:5%;animation-delay:2.5s}


/* KPI Strip */
.hero__kpi{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding:36px var(--side-pad);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);position:relative;z-index:2;background:rgba(255,255,255,.6);backdrop-filter:blur(8px)}
.kpi{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.kpi__num-wrap{display:flex;align-items:baseline;justify-content:center;gap:4px}
.kpi__num{font-family:var(--ff-mono);font-size:clamp(1.75rem,3.2vw,2.75rem);font-weight:700;color:var(--sy-navy-900);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
.kpi__unit{font-family:var(--ff-en);font-size:.88rem;color:var(--sy-green-500);font-weight:500}
.kpi__label{font-size:.78rem;color:var(--text-lo);letter-spacing:.02em}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

@media (max-width:1100px){
  .hero__kpi{grid-template-columns:repeat(3,1fr);gap:24px}
}
@media (max-width:900px){
  .hero__container{padding:120px var(--side-pad) 60px}
  .hero__kpi{grid-template-columns:repeat(2,1fr);gap:18px;padding:28px var(--side-pad)}
}
@media (max-width:520px){
  .hero__kpi{grid-template-columns:1fr 1fr}
  .kpi__num{font-size:1.65rem}
}

/* --------- 8. REVEAL --------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0)*80ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* --------- 9. STATEMENT --------- */
.statement{padding:var(--section-pad) 0;background:var(--grad-section);position:relative}
.statement__h2{font-size:clamp(2.25rem,4vw + 1rem,4.5rem);margin-bottom:48px}
.accent{color:var(--sy-green-500)}
.statement__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:80px}
.statement__lead{font-size:1.25rem;color:var(--text-md);line-height:1.75}
.statement__body{font-size:1.05rem;color:var(--text-md);line-height:1.8}
.statement__body strong{color:var(--text-hi);font-weight:600}
@media (max-width:900px){.statement__grid{grid-template-columns:1fr;gap:32px}}

.statement__visual{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.vshot{margin:0;border-radius:20px;overflow:hidden;position:relative;border:1px solid var(--border-subtle)}
.vshot img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform 1.2s var(--ease)}
.vshot:hover img{transform:scale(1.05)}
.vshot figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 24px;background:linear-gradient(180deg,transparent,rgba(15,27,61,.85));font-size:.85rem;color:#fff;letter-spacing:.01em}
@media (max-width:900px){.statement__visual{grid-template-columns:1fr}}

/* --------- 10. HERITAGE / TIMELINE --------- */
.heritage{padding:var(--section-pad) 0;background:var(--bg-base);position:relative;overflow:hidden}
.heritage::before{content:"";position:absolute;top:20%;right:-10%;width:60%;height:60%;background:radial-gradient(circle,rgba(141,198,63,.08) 0%,transparent 60%);pointer-events:none}
.heritage__h2{font-size:clamp(2rem,3.5vw + 1rem,4rem);margin-bottom:72px;max-width:900px}
.heritage__h2 .arrow{color:var(--sy-green-500);font-family:var(--ff-en);font-weight:400}
.timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;position:relative}
.timeline::before{content:"";position:absolute;top:40px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong),transparent);display:none}
@media (min-width:1100px){.timeline::before{display:block}}
.timeline__item{position:relative;padding:32px 28px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:20px;transition:all .4s var(--ease)}
.timeline__item::before{content:"";position:absolute;top:-1px;left:28px;width:32px;height:2px;background:var(--sy-green-500);box-shadow:0 0 12px var(--sy-green-500)}
.timeline__item:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}
.timeline__item.highlight{background:linear-gradient(135deg,rgba(141,198,63,.08),rgba(15,27,61,.04));border-color:var(--border-strong)}
.timeline__year{display:inline-block;font-family:var(--ff-en);font-size:.78rem;letter-spacing:.12em;color:var(--sy-green-500);margin-bottom:14px;font-weight:500}
.timeline__item h3{font-size:1.125rem;margin-bottom:8px;color:var(--text-hi)}
.timeline__item p{font-size:.92rem;color:var(--text-md);line-height:1.65}

/* --------- 11. PILLARS --------- */
.pillars{padding:var(--section-pad) 0;background:var(--grad-section)}
.pillars__h2{font-size:clamp(2rem,3vw + 1rem,3.5rem);margin-bottom:64px;max-width:900px}
.pillars__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.pillar{position:relative;padding:40px 32px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:20px;transition:all .45s var(--ease);overflow:hidden;transform-style:preserve-3d}
.pillar::before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:var(--grad-border);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s}
.pillar:hover::before{opacity:1}
.pillar:hover{transform:translateY(-6px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg));box-shadow:var(--shadow-md)}
.pillar__head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}
.pillar__badge{font-family:var(--ff-en);font-size:.75rem;letter-spacing:.15em;color:var(--sy-green-500);font-weight:500}
.pillar__icon{width:44px;height:44px;color:var(--sy-green-500);transition:transform .6s var(--ease)}
.pillar:hover .pillar__icon{transform:rotate(18deg) scale(1.1)}
.pillar h3{font-size:1.5rem;margin-bottom:12px;color:var(--text-hi)}
.pillar p{font-size:.95rem;color:var(--text-md);line-height:1.7}
.pillar p strong{color:var(--sy-green-500);font-weight:600}

/* --------- 12. PRODUCTS / TABS --------- */
.products{padding:var(--section-pad) 0;background:var(--bg-base)}
.products__h2{font-size:clamp(2rem,3vw + 1rem,3.5rem);margin-bottom:40px}
.tabs{display:flex;gap:6px;margin-bottom:36px;padding:6px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:999px;width:fit-content;max-width:100%;overflow-x:auto}
.tab{padding:10px 22px;border-radius:999px;font-size:.9rem;font-weight:500;color:var(--text-md);transition:all .3s var(--ease);white-space:nowrap}
.tab:hover{color:var(--text-hi)}
.tab.is-active{background:var(--sy-green-500);color:var(--sy-navy-900);font-weight:600}

.panel{display:none;animation:fadeInPanel .5s var(--ease)}
.panel.is-active{display:block}
@keyframes fadeInPanel{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

.panel__spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;padding:28px 32px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:16px;margin-bottom:32px}
.panel__spec div{display:flex;flex-direction:column;gap:4px}
.panel__spec-k{font-family:var(--ff-en);font-size:.75rem;letter-spacing:.12em;color:var(--text-lo);text-transform:uppercase}
.panel__spec-v{font-size:1.05rem;font-weight:500;color:var(--text-hi)}

.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:900px){.chips{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.chips{grid-template-columns:1fr}}
.chip{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;padding:14px 16px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:12px;transition:all .3s var(--ease)}
.chip:hover{border-color:var(--border-strong);background:var(--bg-elev-2);transform:translateY(-2px)}
.chip__sym{width:76px;height:42px;display:flex;align-items:center;justify-content:center;padding:0 4px;border-radius:8px;background:rgba(141,198,63,.1);color:var(--c,var(--sy-green-500));font-family:var(--ff-mono);font-weight:700;font-size:.78rem;border:1px solid rgba(141,198,63,.25);letter-spacing:-.02em;line-height:1;white-space:nowrap;box-sizing:border-box;text-align:center;flex-shrink:0}
.chip div{min-width:0;font-size:.82rem;line-height:1.5;color:var(--text-md);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chip b{display:block;color:var(--text-hi);font-weight:600;font-size:.9rem;margin-bottom:2px;letter-spacing:-.01em}

/* --------- 13. NETWORK / AFFILIATES --------- */
.network{padding:var(--section-pad) 0;background:var(--grad-section);position:relative}
.network__h2{font-size:clamp(2rem,3vw + 1rem,3.5rem);margin-bottom:60px}
.network__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.affiliate{padding:32px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:20px;transition:all .4s var(--ease);display:flex;flex-direction:column;gap:20px}
.affiliate:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}
.affiliate header{border-bottom:1px solid var(--border-subtle);padding-bottom:18px}
.affiliate__tag{display:inline-block;padding:4px 10px;font-size:.72rem;font-family:var(--ff-en);letter-spacing:.1em;color:var(--sy-green-500);background:rgba(141,198,63,.1);border-radius:6px;margin-bottom:12px}
.affiliate h3{font-size:1.375rem;margin-bottom:6px;color:var(--text-hi)}
.affiliate__place{font-size:.85rem;color:var(--text-lo);line-height:1.55}
.affiliate__desc{font-size:.95rem;color:var(--text-md);line-height:1.7;flex:1}
.affiliate__desc strong{color:var(--text-hi);font-weight:600}
.affiliate__meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0;padding-top:16px;border-top:1px solid var(--border-subtle)}
.affiliate__meta div{display:flex;flex-direction:column;gap:2px}
.affiliate__meta dt{font-family:var(--ff-en);font-size:.68rem;letter-spacing:.15em;color:var(--text-lo);text-transform:uppercase;margin:0}
.affiliate__meta dd{margin:0;font-family:var(--ff-mono);font-size:.88rem;color:var(--text-hi)}

/* --------- 14. QUALITY --------- */
.quality{padding:var(--section-pad) 0;background:var(--bg-base)}
.quality__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.quality__text h2{font-size:clamp(2rem,2.8vw + 1rem,3.25rem);margin-bottom:28px}
.quality__text p{font-size:1.05rem;color:var(--text-md);line-height:1.85;margin-bottom:20px}
.quality__text p b{color:var(--text-hi);font-weight:600}
.quality__certs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.quality__certs li{padding:24px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:16px;transition:all .3s var(--ease)}
.quality__certs li:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.quality__badge{display:inline-block;font-family:var(--ff-en);font-size:.7rem;letter-spacing:.15em;color:var(--sy-green-500);margin-bottom:10px}
.quality__certs h4{font-size:1rem;margin-bottom:6px;color:var(--text-hi)}
.quality__certs p{font-size:.85rem;color:var(--text-md);line-height:1.55;margin:0}
@media (max-width:900px){.quality__grid{grid-template-columns:1fr;gap:40px}}

/* --------- 15. CEO --------- */
.ceo{padding:var(--section-pad) 0;background:var(--grad-section);position:relative;overflow:hidden}
.ceo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,rgba(141,198,63,.12) 0%,transparent 50%);pointer-events:none}
.ceo__inner{position:relative;max-width:920px;text-align:center}
.ceo__quotemark{font-family:var(--ff-en);font-size:10rem;color:var(--sy-green-500);line-height:1;margin-bottom:-30px;opacity:.5}
.ceo__quote{margin:0}
.ceo__quote p{font-size:clamp(1rem,1.4vw + .4rem,1.5rem);line-height:1.55;color:var(--text-hi);font-weight:500;letter-spacing:-.015em;margin-bottom:24px}
.ceo__quote em{font-style:italic;color:var(--sy-green-300)}
.ceo__quote footer{display:flex;flex-direction:column;gap:4px;align-items:center}
.ceo__sig{font-family:var(--ff-kr);font-size:1.25rem;font-weight:600;letter-spacing:.3em;color:var(--text-hi)}
.ceo__sig small{font-size:.85rem;color:var(--text-lo);letter-spacing:.15em;margin-left:8px}
.ceo__title{font-family:var(--ff-en);font-size:.82rem;letter-spacing:.15em;color:var(--text-lo);text-transform:uppercase}

/* --------- 16. CONTACT --------- */
.contact{padding:var(--section-pad) 0;background:var(--bg-base)}
.contact__inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact__left h2{font-size:clamp(2rem,3vw + 1rem,3.5rem);margin:12px 0 24px}
.contact__lead{font-size:1.05rem;color:var(--text-md);line-height:1.75;margin-bottom:40px}
.contact__lead b{color:var(--sy-green-500);font-weight:600}
.contact__info{margin:0;display:flex;flex-direction:column;gap:18px;padding:28px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:16px}
.contact__info div{display:grid;grid-template-columns:100px 1fr;gap:14px;align-items:baseline}
.contact__info dt{font-family:var(--ff-en);font-size:.72rem;letter-spacing:.15em;color:var(--text-lo);text-transform:uppercase;margin:0}
.contact__info dd{margin:0;font-size:.95rem;color:var(--text-hi)}
.contact__info a{color:var(--sy-green-500);font-family:var(--ff-mono);font-weight:500}

.contact__form{display:flex;flex-direction:column;gap:18px;padding:40px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:20px}
.contact__form label{display:flex;flex-direction:column;gap:8px}
.contact__form span{font-family:var(--ff-en);font-size:.75rem;letter-spacing:.12em;color:var(--text-lo);text-transform:uppercase}
.contact__form input,.contact__form textarea{padding:14px 16px;background:#fff;border:1px solid var(--border-subtle);border-radius:12px;font-size:.95rem;color:var(--text-hi);font-family:var(--ff-kr);transition:border-color .25s}
.contact__form input:focus,.contact__form textarea:focus{outline:none;border-color:var(--sy-green-500);box-shadow:0 0 0 3px rgba(141,198,63,.15)}
.contact__form textarea{resize:vertical;min-height:120px;line-height:1.6}
.contact__form .btn{align-self:flex-start;margin-top:10px}
@media (max-width:900px){.contact__inner{grid-template-columns:1fr;gap:40px}}

/* --------- 17. FOOTER --------- */
.footer{background:#F8FAFC;border-top:1px solid var(--border-subtle);padding-top:80px;color:var(--sy-navy-900)}
.footer__inner{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px;padding-bottom:60px}
.footer__col h5{font-family:var(--ff-en);font-size:.75rem;letter-spacing:.18em;color:#3F7D1E;margin-bottom:16px;text-transform:uppercase}
.footer__col a,.footer__col p{display:block;font-size:.9rem;color:var(--text-md);line-height:1.9;margin:0;transition:color .2s}
.footer__col a:hover{color:#3F7D1E}
.footer__brand{font-family:var(--ff-en);font-size:1.75rem;font-weight:700;letter-spacing:-.01em;margin-bottom:14px;color:var(--sy-navy-900)}
.footer__brand em{font-style:normal;color:#3F7D1E;font-weight:500}
.footer__tag{font-size:.95rem;color:var(--text-md);font-style:italic;line-height:1.6}
.footer__bar{display:flex;justify-content:space-between;padding:24px 0;border-top:1px solid var(--border-subtle);max-width:var(--container);margin:0 auto;padding-left:var(--side-pad);padding-right:var(--side-pad);font-family:var(--ff-en);font-size:.75rem;letter-spacing:.12em;color:var(--text-lo);text-transform:uppercase}
@media (max-width:900px){.footer__inner{grid-template-columns:1fr 1fr;gap:32px}.footer__bar{flex-direction:column;gap:10px;text-align:center}}

/* --------- 17b. RESPONSIVE (mobile-first refinements) --------- */

/* Tablet (≤1024) */
@media (max-width:1024px){
  .statement__grid{grid-template-columns:1fr;gap:28px}
  .quality__grid{grid-template-columns:1fr;gap:40px}
  .contact__inner{grid-template-columns:1fr;gap:40px}
  .footer__inner{grid-template-columns:1.4fr 1fr 1fr;gap:32px}
}

/* Small tablet / large phone (≤768) */
@media (max-width:768px){
  :root{
    --section-pad:72px;
    --side-pad:1.25rem;
  }

  /* Nav */
  .nav{padding:14px 0}
  .nav.is-scrolled{padding:8px 0}
  .nav__inner{gap:12px}
  .nav__logo-img{height:32px}

  /* Hero */
  .hero{min-height:auto}
  .hero__container{padding:96px var(--side-pad) 40px}
  .hero__badge{font-size:.72rem;padding:6px 14px;margin-bottom:20px;letter-spacing:.08em}
  .hero__h1{font-size:clamp(2rem,8vw,3.25rem);letter-spacing:-.03em;margin-bottom:20px}
  .hero__sub{font-size:.98rem;margin-bottom:28px;line-height:1.7}
  .hero__sub br{display:none}
  .hero__actions{gap:10px}
  .hero__btn-primary,.hero__btn-secondary{padding:13px 20px;font-size:.88rem;flex:1;justify-content:center;min-width:140px}

  /* KPI */
  .hero__kpi{grid-template-columns:repeat(3,1fr);gap:16px;padding:24px var(--side-pad)}
  .kpi__num{font-size:1.65rem}
  .kpi__unit{font-size:.76rem}
  .kpi__label{font-size:.72rem}

  /* Section heads */
  .section-head{gap:12px;margin-bottom:20px;flex-wrap:wrap}
  .section-num{font-size:.78rem}
  .section-kicker{font-size:.68rem;letter-spacing:.15em}

  /* Statement */
  .statement__h2{font-size:clamp(1.875rem,6vw,2.5rem);margin-bottom:32px}
  .statement__lead{font-size:1.08rem;line-height:1.7}
  .statement__body{font-size:.98rem;line-height:1.75}
  .statement__visual{grid-template-columns:1fr;gap:14px;margin-top:8px}
  .vshot figcaption{padding:16px 18px;font-size:.78rem}

  /* Heritage / Timeline */
  .heritage__h2{font-size:clamp(1.75rem,6vw,2.5rem);margin-bottom:44px}
  .heritage__h2 .arrow{padding:0 4px}
  .timeline{gap:12px}
  .timeline__item{padding:24px 22px}
  .timeline__item h3{font-size:1.05rem}
  .timeline__item p{font-size:.88rem}

  /* Pillars */
  .pillars__h2{font-size:clamp(1.75rem,6vw,2.5rem);margin-bottom:40px}
  .pillars__grid{grid-template-columns:1fr;gap:14px}
  .pillar{padding:28px 24px}
  .pillar h3{font-size:1.25rem}
  .pillar p{font-size:.9rem}

  /* Products */
  .products__h2{font-size:clamp(1.75rem,6vw,2.5rem);margin-bottom:28px}
  .tabs{width:100%;padding:4px;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:wrap}
  .tab{padding:10px 12px;font-size:.78rem;flex:1 1 auto;text-align:center;min-width:auto}
  .panel__spec{grid-template-columns:1fr;gap:14px;padding:20px 22px;margin-bottom:20px}
  .panel__spec-v{font-size:.98rem}
  .chip{grid-template-columns:68px 1fr;gap:10px;padding:12px 14px}
  .chip__sym{width:68px;height:40px;font-size:.74rem}
  .chip div{font-size:.82rem}
  .chip b{font-size:.88rem}

  /* Products page (products.html) */
  .prod-row{grid-template-columns:68px 1fr;gap:10px;padding:11px 12px}
  .prod-sym{width:68px;height:40px;font-size:.74rem}
  .prod-info h4{font-size:.88rem}
  .prod-info p{font-size:.78rem}

  /* Network */
  .network__h2{font-size:clamp(1.75rem,6vw,2.5rem);margin-bottom:36px}
  .network__grid{grid-template-columns:1fr;gap:14px}
  .affiliate{padding:26px 24px;gap:16px}
  .affiliate h3{font-size:1.2rem}
  .affiliate__desc{font-size:.9rem}

  /* Quality */
  .quality__text h2{font-size:clamp(1.75rem,6vw,2.5rem);margin-bottom:20px}
  .quality__text p{font-size:.98rem;line-height:1.8}
  .quality__certs{grid-template-columns:1fr;gap:10px}
  .quality__certs li{padding:18px 20px}

  /* CEO */
  .ceo__quotemark{font-size:5rem;margin-bottom:-14px}
  .ceo__quote p{font-size:clamp(.95rem,3.5vw,1.15rem);line-height:1.55;margin-bottom:18px}
  .ceo__sig{font-size:1.05rem;letter-spacing:.25em}

  /* Contact */
  .contact__left h2{font-size:clamp(1.75rem,6vw,2.5rem);margin:10px 0 18px}
  .contact__lead{font-size:.98rem;margin-bottom:28px}
  .contact__info{padding:22px 20px;gap:14px}
  .contact__info div{grid-template-columns:80px 1fr;gap:10px}
  .contact__info dt{font-size:.68rem}
  .contact__info dd{font-size:.9rem}
  .contact__form{padding:26px 22px;gap:14px}
  .contact__form input,.contact__form textarea{padding:12px 14px;font-size:.95rem}
  .contact__form .btn{width:100%;justify-content:center}

  /* Footer */
  .footer{padding-top:56px}
  .footer__inner{grid-template-columns:1fr 1fr;gap:28px;padding-bottom:40px}
  .footer__col--brand{grid-column:1/-1}
  .footer__brand{font-size:1.5rem}
  .footer__tag{font-size:.88rem}
  .footer__col h5{font-size:.7rem;margin-bottom:12px}
  .footer__col a,.footer__col p{font-size:.84rem;line-height:1.85}
  .footer__bar{flex-direction:column;gap:8px;padding:20px 0;text-align:center;font-size:.7rem}

  /* Additional sections on mobile */
  .edge{padding:24px 22px}
  .edge h3{font-size:1.1rem}
  .edge p{font-size:.9rem}
  .special-focus__head h2{font-size:clamp(1.6rem,6vw,2.2rem)}
  .sf-card{padding:24px 22px}
  .smart__h2{font-size:clamp(1.6rem,6vw,2.2rem);margin-bottom:36px}
  .smart__card{padding:28px 24px}
  .smart__card h3{font-size:1.25rem}
  .smart__num{font-size:2rem;top:20px;right:22px}
  .delivery-card{padding:24px 22px}
  .delivery-card h3{font-size:1.15rem}

  /* Page hero (sub pages) */
  .page-hero{padding:112px 0 48px}
  .page-hero__title{font-size:clamp(1.875rem,7vw,3rem)}
  .page-hero__sub{font-size:1rem}

  /* Product sections on mobile */
  .prod-section{padding:48px 0}
  .prod-section__head h2{font-size:clamp(1.5rem,6vw,2rem)}
  .prod-section__head h2 em{display:block;margin-left:0;margin-top:4px;font-size:.7em}
  .prod-section__spec{padding:16px 18px;margin-bottom:18px}
  .prod-index__card{padding:22px}
  .prod-index__grid{gap:12px}

  /* Resources on mobile */
  .res-tabs{gap:6px;margin-bottom:28px}
  .res-tab{padding:8px 14px;font-size:.85rem}
  .res-card{padding:22px}
  .res-card h3{font-size:1rem}
}

/* Small phone (≤480) */
@media (max-width:480px){
  :root{
    --section-pad:56px;
    --side-pad:1.125rem;
  }
  .hero__h1{font-size:clamp(1.75rem,8vw,2.5rem)}
  .hero__sub{font-size:.92rem}
  .hero__kpi{grid-template-columns:repeat(2,1fr);gap:14px 12px;padding:20px var(--side-pad)}
  .kpi__num{font-size:1.5rem}
  .kpi__unit{font-size:.7rem}
  .kpi__label{font-size:.68rem}
  .tab{padding:8px 6px;font-size:.72rem}
  .chip,.prod-row{grid-template-columns:64px 1fr;gap:10px;padding:10px 12px}
  .chip__sym,.prod-sym{width:64px;height:38px;font-size:.7rem}
  .chip div,.prod-info p{font-size:.78rem}
  .chip b,.prod-info h4{font-size:.85rem}
  .timeline__item{padding:22px 20px}
  .pillar{padding:24px 20px}
  .affiliate{padding:22px 20px}
  .contact__form{padding:22px 18px}
  .contact__info div{grid-template-columns:70px 1fr}
  .statement__grid{gap:20px}
  .ceo__quotemark{font-size:4rem}

  /* Page hero (sub pages) */
  .page-hero{padding:96px 0 40px}
  .page-hero__title{font-size:clamp(1.75rem,7vw,2.5rem)}
  .page-hero__sub{font-size:.95rem}
}

/* Very small devices (≤360) */
@media (max-width:360px){
  .hero__actions{flex-direction:column}
  .hero__actions .hero__btn-primary,.hero__actions .hero__btn-secondary{width:100%;flex:0 1 auto}
  .hero__kpi{grid-template-columns:1fr;gap:12px}
  .kpi{padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}
  .kpi:last-child{border-bottom:0;padding-bottom:0}
  .footer__inner{grid-template-columns:1fr}
  .footer__col--brand{grid-column:auto}
  .chip,.prod-row{grid-template-columns:58px 1fr;gap:8px;padding:9px 10px}
  .chip__sym,.prod-sym{width:58px;height:36px;font-size:.66rem}
}

/* Landscape phone — compact hero */
@media (max-width:900px) and (orientation:landscape){
  .hero{min-height:auto;padding:96px var(--side-pad) 32px}
  .hero__kpi{margin-top:36px}
}

/* Touch hints: disable hover-only transforms on touch devices */
@media (hover:none){
  .pillar:hover{transform:none}
  .timeline__item:hover{transform:none}
  .affiliate:hover{transform:none}
  .vshot:hover img{transform:none}
}

/* --------- 18. REDUCED MOTION --------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .hero__glow{animation:none}
  .hero__canvas{display:none}
}

/* --------- 19. UTILITIES --------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* =====================================================
   서브 페이지 (products.html / resources.html)
   ===================================================== */
.page{background:var(--bg-base)}
.page main{padding-top:80px}
.nav__menu a.is-current{color:var(--sy-green-500);font-weight:600}
.nav__menu a.is-current::after{transform:scaleX(1)}

/* Page hero (서브 페이지 상단) */
.page-hero{padding:140px 0 60px;background:linear-gradient(180deg,#FFFFFF 0%,#F0F9FF 100%);position:relative;border-bottom:1px solid var(--border-subtle)}
.page-hero .container{position:relative;z-index:2}
.page-hero__tag{display:inline-block;font-family:var(--ff-en);font-size:.78rem;letter-spacing:.18em;color:#3F7D1E;font-weight:600;margin-bottom:20px;padding:6px 14px;border:1px solid var(--border-strong);border-radius:999px;background:rgba(141,198,63,.08)}
.page-hero__title{font-size:clamp(2.25rem,4vw + 1rem,4rem);font-weight:800;line-height:1.15;margin:0 0 24px;letter-spacing:-.025em;color:var(--sy-navy-900)}
.page-hero__sub{font-size:1.15rem;color:var(--text-md);max-width:720px;line-height:1.7;margin:0}

/* ----- products.html ----- */
.prod-index{padding:60px 0;background:var(--bg-base)}
.prod-index__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.prod-index__card{display:block;padding:28px;border:1px solid var(--border-subtle);border-radius:16px;background:var(--bg-elev-1);transition:all .35s var(--ease);text-decoration:none;color:inherit}
.prod-index__card:hover{transform:translateY(-4px);border-color:var(--sy-green-500);box-shadow:var(--shadow-md)}
.prod-index__num{font-family:var(--ff-mono);font-size:.85rem;color:var(--sy-green-500);font-weight:600;letter-spacing:.05em}
.prod-index__card h3{font-size:1.2rem;margin:12px 0 8px;color:var(--text-hi)}
.prod-index__card p{font-size:.88rem;color:var(--text-md);line-height:1.55}

.prod-section{padding:60px 0;background:var(--bg-base)}
.prod-section.alt{background:var(--bg-elev-1)}
.prod-section__head{margin-bottom:28px;max-width:760px}
.prod-section__num{font-family:var(--ff-en);font-size:.875rem;color:var(--sy-green-500);font-weight:600;letter-spacing:.15em;margin-bottom:12px;display:block}
.prod-section__head h2{font-size:clamp(1.75rem,2.5vw + 1rem,2.75rem);color:var(--text-hi);margin:0 0 12px;letter-spacing:-.025em}
.prod-section__head h2 em{font-style:normal;font-size:.55em;color:var(--sy-green-500);margin-left:12px;letter-spacing:.02em;font-weight:400}
.prod-section__head p{color:var(--text-md);font-size:1.02rem;line-height:1.7;margin:0}

.prod-section__spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;padding:18px 22px;background:var(--bg-elev-2);border-radius:12px;border:1px solid var(--border-subtle);margin-bottom:22px}
.prod-section__spec > div{display:flex;flex-direction:column;gap:4px}
.prod-section__spec dt{font-size:.78rem;color:var(--text-lo);letter-spacing:.05em;text-transform:uppercase}
.prod-section__spec dd{font-size:1.05rem;color:var(--text-hi);font-weight:600;margin:0}

.prod-table{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:900px){.prod-table{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.prod-table{grid-template-columns:1fr}}
.prod-row{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;padding:12px 14px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:10px;transition:all .25s var(--ease)}
.prod-row:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.prod-row.highlight{background:linear-gradient(135deg,rgba(141,198,63,.08) 0%,#fff 100%);border-color:var(--border-strong)}
.prod-sym{width:76px;height:42px;display:flex;align-items:center;justify-content:center;font-family:var(--ff-mono);font-size:.78rem;font-weight:700;color:var(--c,var(--sy-green-500));border:1px solid currentColor;border-radius:6px;background:#fff;line-height:1;letter-spacing:-.02em;padding:0 4px;box-sizing:border-box;white-space:nowrap;text-align:center;flex-shrink:0}
.prod-info{min-width:0}
.prod-info h4{font-size:.92rem;color:var(--text-hi);margin:0 0 3px;font-weight:600;display:flex;align-items:center;gap:8px;letter-spacing:-.01em;line-height:1.3}
.prod-info p{font-size:.8rem;color:var(--text-md);margin:0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.badge-special{font-size:.7rem;background:var(--sy-green-500);color:var(--sy-navy-900);padding:2px 8px;border-radius:999px;font-weight:600;letter-spacing:.02em}

/* ----- resources.html ----- */
.res-section{padding:60px 0 100px;background:var(--bg-base)}
.res-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--border-subtle)}
.res-tab{padding:10px 18px;font-size:.92rem;font-weight:500;color:var(--text-md);background:transparent;border:1px solid var(--border-subtle);border-radius:999px;cursor:pointer;transition:all .25s var(--ease)}
.res-tab:hover{color:var(--text-hi);border-color:var(--border-strong)}
.res-tab.is-active{background:var(--sy-green-500);color:var(--sy-navy-900);border-color:var(--sy-green-500);font-weight:600}

.res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.res-card{display:flex;flex-direction:column;padding:28px;background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-radius:16px;transition:all .3s var(--ease);position:relative}
.res-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}
.res-card__icon{width:48px;height:48px;border-radius:12px;background:rgba(141,198,63,.1);color:var(--sy-green-500);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.res-card__cat{font-family:var(--ff-en);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sy-green-500);font-weight:600;margin-bottom:10px}
.res-card h3{font-size:1.1rem;color:var(--text-hi);margin:0 0 10px;line-height:1.4;letter-spacing:-.015em}
.res-card p{font-size:.92rem;color:var(--text-md);line-height:1.6;margin:0 0 18px;flex:1}
.res-card__date{font-size:.78rem;color:var(--text-lo);font-family:var(--ff-mono);padding-top:14px;border-top:1px dashed var(--border-subtle);margin-top:auto}

/* Page CTA (양쪽 페이지 공통) */
.page-cta{padding:80px 0;background:linear-gradient(135deg,#F0F9FF 0%,#ECFDF5 100%);text-align:center;border-top:1px solid var(--border-subtle)}
.page-cta h2{font-size:clamp(1.75rem,3vw + .5rem,2.5rem);color:var(--text-hi);margin:0 0 16px;letter-spacing:-.025em}
.page-cta p{font-size:1.05rem;color:var(--text-md);max-width:600px;margin:0 auto 32px;line-height:1.7}
.page-cta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@media (max-width:900px){
  .prod-row{grid-template-columns:60px 1fr;gap:14px;padding:14px 16px}
  .prod-sym{font-size:.85rem;padding:6px 0}
  .page-hero{padding:60px 0 40px}
  .res-section{padding:40px 0 60px}
}

/* =====================================================
   3대 경쟁 우위 (edge-grid)
   ===================================================== */
.edge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}
.edge{position:relative;padding:32px 28px;background:#fff;border:1px solid var(--border-subtle);border-radius:18px;transition:all .35s var(--ease);overflow:hidden}
.edge::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3F7D1E,#6DB33F)}
.edge:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}
.edge__num{font-family:var(--ff-mono);font-size:.85rem;color:var(--text-lo);letter-spacing:.05em;font-weight:600}
.edge__cat{display:block;font-family:var(--ff-en);font-size:.78rem;letter-spacing:.18em;color:var(--sy-green-500);text-transform:uppercase;font-weight:600;margin:8px 0 18px}
.edge h3{font-size:1.25rem;color:var(--sy-navy-900);margin:0 0 12px;letter-spacing:-.02em}
.edge p{font-size:.95rem;color:var(--text-md);line-height:1.65;margin:0}
.edge p strong{color:var(--sy-navy-900);font-weight:600}
@media (max-width:900px){.edge-grid{grid-template-columns:1fr;gap:14px;margin-top:40px}}

/* =====================================================
   Special Focus — Ammonia
   ===================================================== */
.special-focus{padding:var(--section-pad) 0;background:linear-gradient(135deg,#F0F9FF 0%,#ECFDF5 100%);position:relative;overflow:hidden}
.special-focus::before{content:"";position:absolute;top:-20%;right:-10%;width:50%;height:140%;background:radial-gradient(circle,rgba(109,179,63,.08) 0%,transparent 60%);pointer-events:none}
.special-focus__inner{position:relative;z-index:2}
.special-focus__head{max-width:820px;margin-bottom:48px}
.special-focus__tag{display:inline-block;font-family:var(--ff-en);font-size:.78rem;letter-spacing:.18em;color:#3F7D1E;font-weight:700;background:#fff;padding:6px 14px;border-radius:999px;border:1px solid var(--border-strong);margin-bottom:18px}
.special-focus__head h2{font-size:clamp(2rem,3vw + 1rem,3rem);color:var(--sy-navy-900);margin:0 0 18px;letter-spacing:-.025em;font-weight:700}
.special-focus__head h2 .accent{font-weight:600;font-size:.85em;display:block;margin-top:4px}
.special-focus__head p{font-size:1.05rem;color:var(--text-md);line-height:1.75;margin:0}

.special-focus__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sf-card{padding:32px 28px;background:#fff;border:1px solid var(--border-subtle);border-radius:18px;transition:all .35s var(--ease)}
.sf-card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}
.sf-card__icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,rgba(109,179,63,.12),rgba(109,179,63,.04));color:var(--sy-green-500);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.sf-card h4{font-size:1.15rem;color:var(--sy-navy-900);margin:0 0 10px;letter-spacing:-.015em;font-weight:700}
.sf-card p{font-size:.95rem;color:var(--text-md);line-height:1.65;margin:0}
.sf-card p strong{color:var(--sy-navy-900);font-weight:600}
@media (max-width:900px){.special-focus__grid{grid-template-columns:1fr}}

/* =====================================================
   Smart System (AMS / GPS)
   ===================================================== */
.smart{padding:var(--section-pad) 0;background:var(--bg-base);position:relative}
.smart__h2{font-size:clamp(2rem,3vw + 1rem,3.5rem);margin-bottom:60px;max-width:900px;color:var(--sy-navy-900);letter-spacing:-.025em}
.smart__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.smart__card{padding:36px 32px;background:#fff;border:1px solid var(--border-subtle);border-radius:20px;transition:all .35s var(--ease);position:relative;overflow:hidden}
.smart__card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}
.smart__num{font-family:var(--ff-mono);font-size:2.5rem;font-weight:600;color:rgba(109,179,63,.18);position:absolute;top:24px;right:32px;line-height:1;letter-spacing:-.02em}
.smart__cat{font-family:var(--ff-en);font-size:.75rem;letter-spacing:.16em;color:var(--sy-green-500);text-transform:uppercase;font-weight:600;margin-bottom:10px;display:block}
.smart__card h3{font-size:1.5rem;color:var(--sy-navy-900);margin:0 0 14px;letter-spacing:-.02em;font-weight:700}
.smart__card > p{font-size:.98rem;color:var(--text-md);line-height:1.7;margin:0 0 22px}
.smart__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.smart__list li{padding:14px 18px;background:var(--bg-elev-1);border-radius:12px;display:flex;flex-direction:column;gap:4px;border-left:3px solid var(--sy-green-500)}
.smart__list b{font-size:.92rem;color:var(--sy-navy-900);font-weight:600}
.smart__list span{font-size:.85rem;color:var(--text-md);line-height:1.55}
@media (max-width:900px){.smart__grid{grid-template-columns:1fr}}

/* =====================================================
   Closing message extras
   ===================================================== */
.ceo__slogan{font-size:1.05rem;color:var(--sy-green-500);font-weight:600;letter-spacing:-.01em;margin-top:24px}
.ceo__slogan-en{font-size:.88rem;color:var(--text-lo);font-family:var(--ff-en);letter-spacing:.02em;margin-top:6px;font-style:italic}

/* =====================================================
   prod-subhead + delivery-grid
   ===================================================== */
.prod-subhead{font-family:var(--ff-en);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sy-green-500);font-weight:700;margin:24px 0 10px;padding-left:10px;border-left:3px solid var(--sy-green-500)}

.delivery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.delivery-card{padding:32px 28px;background:#fff;border:1px solid var(--border-subtle);border-radius:18px;transition:all .35s var(--ease);position:relative;overflow:hidden}
.delivery-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}
.delivery-card.highlight{background:linear-gradient(135deg,rgba(109,179,63,.08) 0%,#fff 100%);border-color:var(--border-strong)}
.delivery-card__tag{display:flex;align-items:center;gap:10px;font-family:var(--ff-en);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sy-green-500);font-weight:600;margin-bottom:14px}
.delivery-card__star{background:var(--sy-green-500);color:#fff;padding:2px 10px;border-radius:999px;letter-spacing:.05em;font-size:.7rem}
.delivery-card h3{font-size:1.3rem;color:var(--sy-navy-900);margin:0 0 12px;letter-spacing:-.02em;font-weight:700}
.delivery-card__spec{font-family:var(--ff-mono);font-size:.92rem;color:var(--sy-navy-700);padding:10px 14px;background:var(--bg-elev-1);border-radius:8px;margin-bottom:14px;font-weight:500;line-height:1.5}
.delivery-card p{font-size:.95rem;color:var(--text-md);line-height:1.65;margin:0 0 12px}
.delivery-card__value{font-size:.88rem;color:var(--sy-navy-900);font-weight:600;padding-top:12px;border-top:1px dashed var(--border-subtle);margin-top:auto}
@media (max-width:900px){.delivery-grid{grid-template-columns:1fr}}

/* 일본어 슬로건 */
.ceo__slogan-jp{font-size:.88rem;color:var(--text-lo);letter-spacing:.02em;margin-top:4px;font-family:"Noto Sans JP",var(--ff-kr);font-style:normal}

/* 제품 페이지 법적 고지 문구 */
.prod-note{margin-top:28px;padding:14px 18px;font-size:.82rem;color:var(--text-lo);line-height:1.6;background:rgba(15,27,61,.025);border-left:2px solid var(--border-subtle);border-radius:4px;letter-spacing:-.005em}
.prod-disclaimer-section{padding:40px 0 20px;background:var(--bg-base)}
.prod-disclaimer{max-width:820px;margin:0 auto;font-size:.8rem;color:var(--text-lo);line-height:1.7;text-align:center;letter-spacing:-.005em}
