/* OWNBRUSH 리뉴얼 (KO 2026-11-04 · EN/JA 2026-11-05) — 햇빛 든 잔디 · 포레스트 잉크 · 올리브 프레임.
   body.ob (FB.mount 가 모든 로케일에서 붙임) 아래에서만 동작한다. site.css 뒤에 읽어서 토큰을 갈아 끼우고,
   헤더 · 전체 메뉴 · 퀵 메뉴 · 푸터 · 메인 히어로는 새로 그린다. 일본어 글꼴 · 크기는 맨 끝 JA 장. */

/* ============================================================
   1. 토큰 · 타이포 · 브라우저 표면
   ============================================================ */
body.ob{
  --ob-forest:#194E2A;   /* 로고 */
  --ob-forest-2:#226338; /* 포레스트 hover */
  --ob-deep:#0F2A18;     /* 깊은 밴드 · 푸터 · 전체 메뉴 */
  --ob-night:#0A1C10;    /* 잔디 그늘 */
  --ob-moss:#3E6B2E;
  --ob-olive:#DFE2B7;    /* 프레임(카드) — 참고 이미지의 게시물 카드 색 */
  --ob-olive-2:#EAECCF;
  --ob-olive-3:#C9CE96;
  --ob-paper:#F3F4E7;    /* 읽는 면 */
  --ob-ink:#142313;
  --ob-sub:#4A5843;
  --ob-line:#CFD3B3;
  --ob-lime:#E3EB9B;     /* 어두운 면 위 주 버튼 · 강조 */
  --ob-lime-h:#EEF4B6;
  --ob-cream:#ECEFC9;    /* 사진 위 헤드라인 */
  --ob-blush:#E58C9C;    /* 분홍 샌들 — 좋아요 · 작은 표시에만 */
  --ob-r-card:22px;--ob-r-media:14px;--ob-r-btn:14px;
  --ob-shadow:0 30px 60px -28px rgba(10,28,16,.45),0 10px 22px -14px rgba(10,28,16,.28);
  --ob-ease:cubic-bezier(.16,1,.3,1);
  --ob-display:'Wanted Sans Variable','Wanted Sans','Pretendard Variable',Pretendard,system-ui,sans-serif;

  /* site.css 토큰 재매핑 — 기존 컴포넌트가 새 팔레트를 그대로 따른다 */
  --deep:var(--ob-deep);--deep-2:#173B22;--brand:var(--ob-forest);
  --lav:var(--ob-olive);--lav-pale:var(--ob-olive-2);--mint-bg:var(--ob-olive-2);
  --yellow:var(--ob-lime);--yellow-h:var(--ob-lime-h);
  --gray-band:var(--ob-paper);--ink:var(--ob-ink);--sub:var(--ob-sub);--line:var(--ob-line);
  --r-btn:var(--ob-r-btn);
  --tn-h:84px;--anno-h:0px;--fb-max:1240px;
  /* style.css 기본 토큰 재매핑 (문진 · 결과 · 마이페이지가 직접 쓰는 값) */
  --mint:var(--ob-forest);--mint-deep:#13401F;--wash:var(--ob-olive-3);--coral:var(--ob-ink);
  --base:var(--ob-paper);--base2:var(--ob-olive-2);--surface:#FBFBF5;--r-card:var(--ob-r-card);--r-box:18px;
  --sh-card:0 18px 34px -24px rgba(10,28,16,.4),0 2px 6px -3px rgba(10,28,16,.12);--sh-pill:0 2px 8px rgba(10,28,16,.06);
  --sh-cta:0 14px 30px -14px rgba(25,78,42,.55);

  background:var(--ob-paper);color:var(--ob-ink);
  font-family:'Pretendard Variable',Pretendard,system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16.5px;line-height:1.65;letter-spacing:-0.012em;
  caret-color:var(--ob-forest);accent-color:var(--ob-forest);
  -webkit-font-smoothing:antialiased
}
html:has(body.ob){scrollbar-color:var(--ob-olive-3) var(--ob-paper);background:var(--ob-paper)}
body.ob ::selection{background:var(--ob-lime);color:var(--ob-deep)}
body.ob :focus-visible{outline:2.5px solid var(--ob-forest);outline-offset:3px}
body.ob .ob-dark :focus-visible,body.ob .band-deep :focus-visible,body.ob .ob-menu :focus-visible,body.ob .ob-ft :focus-visible,
body.ob .ob-hd.is-over.on-dark :focus-visible,body.ob .ob-quick.is-over.on-dark :focus-visible{outline-color:var(--ob-lime)}
body.ob a{text-underline-offset:.22em;text-decoration-thickness:1.5px}
body.ob h1,body.ob h2,body.ob h3,body.ob h4{
  font-family:var(--ob-display);font-weight:800;letter-spacing:-0.034em;line-height:1.16;text-wrap:balance;word-break:keep-all
}
body.ob p,body.ob li{word-break:keep-all;text-wrap:pretty}
/* 헤딩 위 작은 라벨(eyebrow)은 쓰지 않는다 — 헤딩이 스스로 말한다 */
body.ob .eyebrow,body.ob .eng,body.ob .tl-kicker,body.ob .pp-eyebrow,body.ob .pdx-eb,body.ob .pick-eng{display:none}
/* 본문 속 맨 링크 */
body.ob main p a:not([class]),body.ob main li a:not([class]),body.ob main label a:not([class]){color:var(--ob-forest);text-decoration:underline;font-weight:600}
body.ob main .ob-hero p a:not([class]){color:#fff}
body.ob main .ob-dark p a:not([class]),body.ob main .band-deep p a:not([class]),body.ob main .duo-deep p a:not([class]),body.ob main .ob-dark li a:not([class]),body.ob main .band-deep li a:not([class]){color:var(--ob-lime)}
body.ob .pr,body.ob .price,body.ob [class*="-price"],body.ob .qty{font-variant-numeric:tabular-nums}
@media(max-width:760px){body.ob{--tn-h:72px;font-size:16px}}

/* 고정 헤더 아래로 본문을 내린다 (히어로가 화면을 덮는 페이지는 제외) */
body.ob:not(.ob-has-hero) > main{padding-top:var(--tn-h);min-height:68vh}
body.ob .skip-link:focus{z-index:120}

/* ============================================================
   2. 버튼
   ============================================================ */
body.ob .ob-btn,body.ob .ebtn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 24px;
  border-radius:var(--ob-r-btn);border:1.5px solid transparent;font:inherit;font-size:15.5px;font-weight:700;
  letter-spacing:-0.01em;text-decoration:none;cursor:pointer;
  transition:background-color .25s var(--ob-ease),color .25s var(--ob-ease),border-color .25s var(--ob-ease),transform .25s var(--ob-ease),box-shadow .25s var(--ob-ease)
}
body.ob .ob-btn svg{transition:transform .3s var(--ob-ease)}
body.ob .ob-btn:hover svg{transform:translateX(3px)}
body.ob .ob-btn:active,body.ob .ebtn:active{transform:translateY(1px)}
/* 밝은 면: 포레스트 주 버튼 / 어두운 면: 라임 주 버튼 */
body.ob .ob-btn-primary,body.ob .ebtn-y,body.ob .ebtn-dark{background:var(--ob-forest);color:#F3F6DD;border-color:var(--ob-forest)}
body.ob .ob-btn-primary:hover,body.ob .ebtn-y:hover,body.ob .ebtn-dark:hover{background:var(--ob-forest-2);border-color:var(--ob-forest-2)}
body.ob .ob-btn-ghost,body.ob .ebtn-lav{background:transparent;color:var(--ob-forest);border-color:rgba(25,78,42,.45)}
body.ob .ob-btn-ghost:hover,body.ob .ebtn-lav:hover{background:rgba(25,78,42,.07);border-color:var(--ob-forest)}
body.ob .ebtn-out{background:transparent;color:var(--ob-forest);border-color:rgba(25,78,42,.45)}
body.ob .ebtn-out:hover{background:rgba(25,78,42,.07);border-color:var(--ob-forest)}
body.ob .ob-dark .ob-btn-primary,body.ob .band-deep .ebtn-y,body.ob .band-brand .ebtn-y,body.ob .duo-deep .ebtn-y,
body.ob .ob-dark .ebtn-y{background:var(--ob-lime);color:var(--ob-deep);border-color:var(--ob-lime)}
body.ob .ob-dark .ob-btn-primary:hover,body.ob .band-deep .ebtn-y:hover,body.ob .band-brand .ebtn-y:hover,body.ob .duo-deep .ebtn-y:hover,
body.ob .ob-dark .ebtn-y:hover{background:var(--ob-lime-h);border-color:var(--ob-lime-h)}
body.ob .ob-dark .ob-btn-ghost,body.ob .band-deep .ebtn-out,body.ob .band-deep .ebtn-lav,body.ob .duo-deep .ebtn-lav,body.ob .duo-deep .ebtn-out,
body.ob .band-brand .ebtn-out{color:var(--ob-olive);border-color:rgba(223,226,183,.5);background:transparent}
body.ob .ob-dark .ob-btn-ghost:hover,body.ob .band-deep .ebtn-out:hover,body.ob .band-deep .ebtn-lav:hover,body.ob .duo-deep .ebtn-lav:hover,
body.ob .duo-deep .ebtn-out:hover{background:rgba(223,226,183,.1);border-color:var(--ob-olive)}
/* 기존 .btn 계열 */
body.ob .btn{border-radius:var(--ob-r-btn);font-weight:700;min-height:52px}
body.ob .btn-p{background:var(--ob-forest);color:#F3F6DD;border:1.5px solid var(--ob-forest)}
body.ob .btn-p:hover{background:var(--ob-forest-2)}
body.ob .btn-p:disabled{background:#D9DCC6;color:#6B735F;border-color:#D9DCC6;cursor:not-allowed}
body.ob .btn-o{background:transparent;color:var(--ob-forest);border:1.5px solid rgba(25,78,42,.45)}
body.ob .btn-o:hover{background:rgba(25,78,42,.07);border-color:var(--ob-forest)}
body.ob .btn-ghost:hover{color:var(--ob-forest)}

/* ============================================================
   3. 헤더 — 겹침(is-over) → 박스(is-boxed)
   ============================================================ */
body.ob .ob-hd{position:fixed;top:0;left:0;right:0;z-index:70;padding:12px clamp(10px,1.6vw,22px) 0;pointer-events:none}
body.ob .ob-hd-bar{
  pointer-events:auto;max-width:1480px;margin:0 auto;height:60px;display:flex;align-items:center;gap:18px;
  padding:0 8px 0 20px;border-radius:18px;border:1px solid transparent;color:var(--ob-ink);
  transition:background-color .45s var(--ob-ease),box-shadow .45s var(--ob-ease),border-color .45s var(--ob-ease),color .3s
}
body.ob .ob-hd.is-boxed .ob-hd-bar{
  background:rgba(223,226,183,.94);border-color:rgba(255,255,255,.35);
  box-shadow:0 18px 36px -22px rgba(10,28,16,.5),0 2px 6px -2px rgba(10,28,16,.12);
  -webkit-backdrop-filter:saturate(1.2) blur(12px);backdrop-filter:saturate(1.2) blur(12px)
}
body.ob .ob-hd-brand{display:block;position:relative;flex:none;width:114px;height:27px}
body.ob .ob-logo{display:block;height:27px;width:auto;transition:opacity .35s var(--ob-ease)}
body.ob .ob-hd-brand .ob-logo-f{position:absolute;left:0;top:0}
body.ob .ob-hd .ob-logo-w{opacity:0}
body.ob .ob-hd.is-over.on-dark .ob-logo-w{opacity:1}
body.ob .ob-hd.is-over.on-dark .ob-logo-f{opacity:0}
body.ob .ob-hd.is-over.on-dark .ob-hd-bar{color:#F4F6E4}
body.ob .ob-hd-nav{display:flex;gap:4px;margin-left:18px}
body.ob .ob-hd-nav a{
  padding:8px 14px;border-radius:999px;font-size:15px;font-weight:600;color:inherit;text-decoration:none;
  transition:background-color .25s var(--ob-ease)
}
body.ob .ob-hd-nav a:hover{background:rgba(20,35,19,.07)}
body.ob .ob-hd.is-over.on-dark .ob-hd-nav a:hover{background:rgba(255,255,255,.12)}
body.ob .ob-hd-nav a[aria-current="page"]{background:rgba(25,78,42,.1);color:var(--ob-forest)}
body.ob .ob-hd.is-over.on-dark .ob-hd-nav a[aria-current="page"]{background:rgba(255,255,255,.16);color:#fff}
body.ob .ob-hd-right{margin-left:auto;display:flex;align-items:center;gap:4px}
body.ob .ob-hd-cta{
  display:inline-flex;align-items:center;height:40px;padding:0 18px;margin-right:6px;border-radius:999px;
  background:var(--ob-forest);color:#F3F6DD;font-size:14.5px;font-weight:700;text-decoration:none;
  transition:background-color .25s var(--ob-ease),color .25s
}
body.ob .ob-hd-cta:hover{background:var(--ob-forest-2)}
body.ob .ob-hd.is-over.on-dark .ob-hd-cta{background:var(--ob-lime);color:var(--ob-deep)}
body.ob .ob-hd.is-over.on-dark .ob-hd-cta:hover{background:var(--ob-lime-h)}
body.ob .ob-hd-ic{
  position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:inherit;
  transition:background-color .25s var(--ob-ease)
}
body.ob .ob-hd-ic:hover{background:rgba(20,35,19,.07)}
body.ob .ob-hd.is-over.on-dark .ob-hd-ic:hover{background:rgba(255,255,255,.12)}
body.ob .cart-badge{
  position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:var(--ob-blush);color:#2A0E14;font-size:11px;font-weight:800;line-height:18px;text-align:center;
  font-variant-numeric:tabular-nums;display:none
}
body.ob .cart-badge.show{display:block}
body.ob .ob-hd-menu,body.ob .ob-menu-x{
  display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 12px 0 14px;border:0;border-radius:12px;
  background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color .25s var(--ob-ease)
}
body.ob .ob-hd-menu:hover{background:rgba(20,35,19,.07)}
body.ob .ob-hd.is-over.on-dark .ob-hd-menu:hover{background:rgba(255,255,255,.12)}
body.ob .ob-hd-menu-t{font-family:var(--ob-display);font-size:13px;font-weight:800;letter-spacing:.12em}
body.ob .ob-burger{display:grid;gap:6px;width:22px}
body.ob .ob-burger i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .35s var(--ob-ease),width .35s var(--ob-ease)}
body.ob .ob-burger i:last-child{width:15px;justify-self:end}
body.ob .ob-hd-menu:hover .ob-burger i:last-child{width:22px}
@media(max-width:1079px){
  body.ob .ob-hd-nav{display:none}
}
@media(max-width:760px){
  body.ob .ob-hd{padding:8px 8px 0}
  body.ob .ob-hd-bar{height:56px;padding:0 4px 0 14px;gap:6px;border-radius:16px}
  body.ob .ob-hd-cta,body.ob .ob-hd-acc,body.ob .ob-hd-menu-t{display:none}
  body.ob .ob-hd-brand{width:100px;height:24px}
  body.ob .ob-logo{height:24px}
}

/* ============================================================
   4. 전체 메뉴 — 버튼 자리에서 원이 퍼진다
   ============================================================ */
body.ob .ob-menu{
  position:fixed;inset:0;z-index:90;background:var(--ob-deep);color:var(--ob-olive);overflow:auto;overscroll-behavior:contain;
  clip-path:circle(0 at var(--mx,95%) var(--my,40px));transition:clip-path .6s cubic-bezier(.7,0,.2,1)
}
body.ob .ob-menu.is-open{clip-path:circle(150vmax at var(--mx,95%) var(--my,40px));transition:clip-path .75s cubic-bezier(.65,0,.15,1)}
body.ob.ob-menu-open{overflow:hidden}
body.ob .ob-menu::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;
  background:url(/storage/brand/hero-lawn-1400.webp) center/cover no-repeat;mix-blend-mode:luminosity
}
body.ob .ob-menu-in{
  position:relative;min-height:100%;max-width:1480px;margin:0 auto;padding:12px clamp(10px,1.6vw,22px) 40px;
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:0 clamp(24px,5vw,90px)
}
body.ob .ob-menu-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 8px 0 21px}
body.ob .ob-menu-x{color:#F4F6E4}
body.ob .ob-menu-x:hover{background:rgba(255,255,255,.1)}
body.ob .ob-menu-big{align-self:center;padding:clamp(28px,6vh,72px) 0 clamp(24px,5vh,56px) 21px}
body.ob .ob-menu-big ol{list-style:none;margin:0;padding:0;display:grid;gap:clamp(2px,.6vh,8px)}
body.ob .ob-menu-big a{
  display:inline-block;font-family:var(--ob-display);font-weight:800;letter-spacing:-0.04em;line-height:1.08;
  font-size:clamp(40px,6.4vw,92px);color:#EEF1D3;text-decoration:none;
  transition:color .3s var(--ob-ease),transform .45s var(--ob-ease)
}
body.ob .ob-menu-big a:hover,body.ob .ob-menu-big a:focus-visible{color:var(--ob-lime);transform:translateX(10px)}
body.ob .ob-menu-big a[aria-current="page"]{color:var(--ob-lime)}
body.ob .ob-menu-big li{opacity:0;transform:translateY(26px);transition:opacity .5s var(--ob-ease),transform .7s var(--ob-ease)}
body.ob .ob-menu.is-open .ob-menu-big li{opacity:1;transform:none;transition-delay:calc(.18s + var(--i) * .055s)}
body.ob .ob-menu-side{
  align-self:center;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 28px;padding:clamp(20px,5vh,56px) 8px;
  opacity:0;transition:opacity .5s var(--ob-ease) .1s
}
body.ob .ob-menu.is-open .ob-menu-side{opacity:1;transition-delay:.45s}
body.ob .ob-menu-col h2{font-size:13px;font-weight:700;letter-spacing:.02em;color:rgba(223,226,183,.62);margin:0 0 12px;font-family:inherit}
body.ob .ob-menu-col ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
body.ob .ob-menu-col a{color:#EEF1D3;text-decoration:none;font-size:17px;font-weight:600;padding:4px 0;display:inline-block}
body.ob .ob-menu-col a:hover{color:var(--ob-lime);text-decoration:underline}
body.ob .ob-menu-lang{grid-column:1/-1}
body.ob .ob-menu-ship{margin:14px 0 0;font-size:14px;color:rgba(223,226,183,.72)}
body.ob .ob-menu-cta{
  grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;
  margin:0 8px 0 21px;padding:12px 20px 12px 12px;border-radius:var(--ob-r-card);background:var(--ob-olive);color:var(--ob-ink);
  text-decoration:none;opacity:0;transform:translateY(18px);transition:opacity .5s var(--ob-ease),transform .7s var(--ob-ease),background-color .25s
}
body.ob .ob-menu.is-open .ob-menu-cta{opacity:1;transform:none;transition-delay:.55s,.55s,0s}
body.ob .ob-menu-cta:hover{background:var(--ob-olive-2)}
body.ob .ob-menu-cta img{width:72px;height:90px;object-fit:cover;border-radius:10px}
body.ob .ob-menu-cta b{display:block;font-family:var(--ob-display);font-size:19px;letter-spacing:-0.03em}
body.ob .ob-menu-cta span span{display:block;font-size:14.5px;color:var(--ob-sub)}
body.ob .ob-menu-cta-go{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px;border-radius:12px;background:var(--ob-forest);color:#F3F6DD;font-weight:700;white-space:nowrap}
body.ob .ob-lang{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(223,226,183,.1)}
body.ob .ob-lang .lang-opt{display:inline-grid;place-items:center;min-width:46px;height:36px;padding:0 12px;border-radius:999px;color:#EEF1D3;font-size:13px;font-weight:800;letter-spacing:.06em;text-decoration:none}
body.ob .ob-lang .lang-opt:hover{background:rgba(223,226,183,.14)}
body.ob .ob-lang .lang-opt.on{background:var(--ob-olive);color:var(--ob-deep)}
@media(max-width:860px){
  body.ob .ob-menu-in{grid-template-columns:1fr;padding:8px 8px 28px}
  body.ob .ob-menu-top{padding:0 4px 0 14px;height:56px}
  body.ob .ob-menu-big{padding:28px 0 18px 14px}
  body.ob .ob-menu-side{padding:10px 14px 26px;gap:26px 18px}
  body.ob .ob-menu-cta{margin:0 6px;grid-template-columns:auto minmax(0,1fr);padding:10px 14px 10px 10px}
  body.ob .ob-menu-cta-go{grid-column:1/-1;justify-content:center}
}

/* ============================================================
   5. 퀵 메뉴 — 우측 중단, 겹침 → 박스
   ============================================================ */
body.ob .ob-quick{
  position:fixed;right:clamp(10px,1.4vw,22px);top:50%;z-index:65;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:999px;border:1px solid transparent;color:var(--ob-forest);
  transition:background-color .45s var(--ob-ease),box-shadow .45s var(--ob-ease),border-color .45s var(--ob-ease),color .3s
}
body.ob .ob-quick.is-over.on-dark{color:#F4F6E4}
body.ob .ob-quick.is-boxed{
  background:var(--ob-olive);border-color:rgba(255,255,255,.4);
  box-shadow:0 22px 40px -22px rgba(10,28,16,.55),0 3px 8px -3px rgba(10,28,16,.16)
}
body.ob .ob-q{
  position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:0;background:transparent;
  color:inherit;cursor:pointer;text-decoration:none;transition:background-color .25s var(--ob-ease),transform .25s var(--ob-ease)
}
body.ob .ob-quick.is-over .ob-q{background:rgba(20,35,19,.06)}
body.ob .ob-quick.is-over.on-dark .ob-q{background:rgba(10,28,16,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
body.ob .ob-q:hover{background:rgba(25,78,42,.12)}
body.ob .ob-quick.is-over.on-dark .ob-q:hover{background:rgba(10,28,16,.5)}
body.ob .ob-q-fit{background:var(--ob-forest)!important;color:#F3F6DD;box-shadow:none!important}
body.ob .ob-q-fit:hover{background:var(--ob-forest-2)!important}
body.ob .ob-quick .cart-badge{top:-2px;right:-2px}
body.ob .ob-q-lbl{
  position:absolute;right:calc(100% + 12px);top:50%;transform:translate(6px,-50%);white-space:nowrap;pointer-events:none;
  padding:7px 12px;border-radius:10px;background:var(--ob-deep);color:#EEF1D3;font-size:13px;font-weight:700;
  opacity:0;transition:opacity .2s,transform .3s var(--ob-ease)
}
body.ob .ob-q:hover .ob-q-lbl,body.ob .ob-q:focus-visible .ob-q-lbl{opacity:1;transform:translate(0,-50%)}
body.ob .ob-q-top{height:0;opacity:0;overflow:hidden;margin-top:-4px;transition:height .35s var(--ob-ease),opacity .25s,margin .35s var(--ob-ease)}
body.ob .ob-q-top svg{transform:rotate(180deg)}
body.ob .ob-q-top.show{height:46px;opacity:1;margin-top:0;overflow:visible}
body.ob.ob-menu-open .ob-quick{opacity:0;pointer-events:none}
/* 히어로가 없는 페이지 맨 위: 어두운 밴드 위에서도 보이도록 올리브 칩 */
body.ob .ob-quick.is-over:not(.on-dark) .ob-q:not(.ob-q-fit){background:rgba(223,226,183,.92);box-shadow:0 6px 14px -8px rgba(10,28,16,.4)}
body.ob .ob-quick.is-over:not(.on-dark) .ob-q:not(.ob-q-fit):hover{background:var(--ob-olive-3)}
/* 모바일: 본문을 가리지 않게 오른쪽 아래로 내리고, 히어로를 지나 박스가 된 뒤에만 보인다 */
@media(max-width:760px){
  body.ob .ob-quick{right:10px;top:auto;bottom:calc(14px + env(safe-area-inset-bottom));transform:none;padding:4px;gap:2px}
  body.ob .ob-quick.is-over{opacity:0;visibility:hidden;transform:translateY(12px)}
  body.ob .ob-quick.is-boxed{opacity:1;visibility:visible;transition:opacity .35s var(--ob-ease),transform .45s var(--ob-ease),visibility 0s}
  body.ob .ob-q{width:42px;height:42px}
  body.ob .ob-q-top.show{height:42px}
  body.ob .ob-q-acc,body.ob .ob-q-mail,body.ob .ob-quick a[href$="/cart"]{display:none}
  body.ob.pg-pdp .ob-quick{bottom:calc(88px + env(safe-area-inset-bottom))}
  body.ob .ob-q-lbl{display:none}
}

/* ============================================================
   6. 푸터
   ============================================================ */
body.ob .ob-ft{background:var(--ob-deep);color:rgba(223,226,183,.82);position:relative}
body.ob .ob-ft-in{max-width:var(--fb-max);margin:0 auto;padding:clamp(56px,7vw,96px) var(--fb-gut) 28px}
body.ob .ob-ft-brand{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;padding-bottom:clamp(36px,5vw,64px);border-bottom:1px solid rgba(223,226,183,.16)}
body.ob .ob-ft-brand img{width:min(420px,70vw);height:auto;display:block}
body.ob .ob-ft-brand p{max-width:30ch;margin:0;font-size:16px;line-height:1.6;color:rgba(223,226,183,.82)}
body.ob .ob-ft-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:36px 0}
body.ob .ob-ft-col h2{font-family:inherit;font-size:13px;font-weight:700;color:rgba(223,226,183,.58);margin:0 0 12px;letter-spacing:.02em}
body.ob .ob-ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
body.ob .ob-ft-col a{color:#EEF1D3;text-decoration:none;font-size:15.5px}
body.ob .ob-ft-col a:hover{color:var(--ob-lime);text-decoration:underline}
body.ob .ob-ft-notes{display:grid;gap:4px;padding:22px 0;border-top:1px solid rgba(223,226,183,.16);font-size:13.5px;color:rgba(223,226,183,.66)}
body.ob .ob-ft-notes p{margin:0}
body.ob .ob-ft-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;padding-top:18px;border-top:1px solid rgba(223,226,183,.16);font-size:13.5px}
body.ob .ob-ft-bottom p{margin:0}
body.ob .ob-ft-legal{display:flex;gap:18px}
body.ob .ob-ft-legal a{color:rgba(223,226,183,.82)}
body.ob .ob-lang-ft{margin-left:auto}
@media(max-width:760px){
  body.ob .ob-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ob .ob-lang-ft{margin-left:0}
}

/* ============================================================
   7. 메인 히어로 — 잔디 사진 위 올리브 게시물 프레임
   ============================================================ */
body.ob section.ob-hero{
  position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;overflow:hidden;isolation:isolate;
  background:var(--ob-night);color:#F4F6E4;padding:100px 16px 92px
}
body.ob .ob-hero-bg{position:absolute;inset:-3% -3%;z-index:-2;will-change:transform}
body.ob .ob-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:55% 52%;display:block}
body.ob .ob-hero::before{ /* 위: 헤더 글자 읽기 · 가장자리: 나무 그늘 */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(8,22,10,.55) 0%,rgba(8,22,10,0) 22%,rgba(8,22,10,0) 70%,rgba(8,22,10,.5) 100%),
    radial-gradient(120% 90% at 52% 50%,rgba(8,22,10,0) 45%,rgba(8,22,10,.55) 100%)
}
body.ob .ob-post{
  position:relative;width:min(420px,100%);padding:12px 12px 16px;border-radius:var(--ob-r-card);
  background:var(--ob-olive);color:var(--ob-ink);box-shadow:0 50px 90px -34px rgba(4,14,5,.8),0 16px 30px -16px rgba(4,14,5,.5)
}
body.ob .ob-post-hd{display:flex;align-items:center;gap:10px;padding:2px 4px 12px}
body.ob .ob-post-av{width:34px;height:34px;border-radius:50%;display:block;flex:none}
body.ob .ob-post-who{display:grid;line-height:1.25}
body.ob .ob-post-who b{font-size:15px;font-weight:700;letter-spacing:-0.01em}
body.ob .ob-post-who span{font-size:12.5px;color:var(--ob-sub)}
body.ob .ob-post-more{margin-left:auto;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:0;background:transparent;color:var(--ob-ink);cursor:pointer}
body.ob .ob-post-more:hover{background:rgba(20,35,19,.08)}
body.ob .ob-post-media{position:relative;border-radius:var(--ob-r-media);overflow:hidden;aspect-ratio:4/5;max-height:calc(100svh - 470px);min-height:280px;width:100%;background:#2b4a1d}
body.ob .ob-post-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
body.ob .ob-post-media::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,rgba(10,26,10,0),rgba(10,26,10,.62));pointer-events:none}
body.ob .ob-post-h{
  position:absolute;left:18px;right:18px;bottom:16px;z-index:1;margin:0;color:var(--ob-cream);
  font-family:var(--ob-display);font-weight:900;letter-spacing:-0.04em;line-height:1.02;text-shadow:0 2px 18px rgba(8,22,10,.35)
}
body.ob .ob-post-h .l1{display:block;font-size:clamp(54px,6.2vw,74px)}
body.ob .ob-post-h .l2{display:block;font-size:clamp(23px,2.35vw,29px);letter-spacing:-0.03em;margin-top:6px;line-height:1.15}
body.ob .ob-post-act{display:flex;align-items:center;gap:4px;padding:10px 0 2px}
body.ob .ob-post-act > :last-child{margin-left:auto}
body.ob .ob-ic-btn{
  display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:0;background:transparent;color:var(--ob-ink);cursor:pointer;
  text-decoration:none;transition:background-color .2s,transform .3s var(--ob-ease)
}
body.ob .ob-ic-btn:hover{background:rgba(20,35,19,.08)}
body.ob .ob-like svg path{transition:fill .25s,stroke .25s}
body.ob .ob-like[aria-pressed="true"]{color:#C9415C}
body.ob .ob-like[aria-pressed="true"] svg path{fill:var(--ob-blush);stroke:#C9415C}
body.ob .ob-like.pop svg{animation:ob-pop .55s var(--ob-ease)}
@keyframes ob-pop{0%{transform:scale(1)}35%{transform:scale(1.32)}100%{transform:scale(1)}}
body.ob .ob-post-cap{margin:6px 4px 14px;font-size:14.5px;line-height:1.55;color:var(--ob-ink)}
body.ob .ob-post-cap b{font-weight:700;margin-right:4px}
body.ob .ob-post-cap .tag{display:inline;white-space:nowrap;background:none;padding:0;border-radius:0;font-size:inherit;color:var(--ob-forest);font-weight:600}
body.ob .ob-post-cta{display:grid;grid-template-columns:1.25fr 1fr;gap:8px}
body.ob .ob-post-cta .ob-btn{min-height:50px;padding:0 14px;font-size:15px}
body.ob .ob-share-pop{
  position:absolute;right:12px;top:52px;z-index:5;min-width:180px;padding:6px;border-radius:14px;background:var(--ob-deep);color:#EEF1D3;
  box-shadow:var(--ob-shadow)
}
body.ob .ob-share-pop button,body.ob .ob-share-pop a{display:flex;width:100%;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:14.5px;text-align:left;cursor:pointer;text-decoration:none}
body.ob .ob-share-pop button:hover,body.ob .ob-share-pop a:hover{background:rgba(223,226,183,.12)}
body.ob .ob-hero-foot{
  position:absolute;left:0;right:0;bottom:22px;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;
  padding:0 clamp(16px,3vw,40px);font-size:14px;color:rgba(244,246,228,.88)
}
body.ob .ob-hero-foot a{color:#fff;font-weight:600}
body.ob .ob-hero-marks{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
body.ob .ob-hero-marks li{display:inline-flex;align-items:center;gap:7px}
body.ob .ob-hero-marks svg{opacity:.85}
@media(max-width:760px){
  body.ob section.ob-hero{padding:76px 10px 76px;place-items:start center}
  body.ob .ob-post{padding:10px 10px 14px}
  body.ob .ob-post-media{max-height:none;min-height:0;aspect-ratio:1/1}
  body.ob .ob-post-h .l1{font-size:clamp(44px,13vw,58px)}
  body.ob .ob-post-h .l2{font-size:clamp(20px,5.6vw,24px)}
  body.ob .ob-hero-foot{bottom:16px;justify-content:center;text-align:center;font-size:13px}
  body.ob .ob-hero-marks{display:none}
}
@media(max-width:760px) and (max-height:700px){body.ob .ob-post-media{aspect-ratio:5/4}}
/* 첫 화면 연출: 배경이 가라앉고, 프레임 속 사진이 초점을 찾은 뒤 헤드라인이 올라온다 */
@media(prefers-reduced-motion:no-preference){
  body.ob .ob-hero.is-ready .ob-hero-bg{animation:ob-settle 2.2s var(--ob-ease) both}
  body.ob .ob-hero.is-ready .ob-post{animation:ob-rise 1.1s var(--ob-ease) .15s both}
  body.ob .ob-hero.is-ready .ob-post-media img{animation:ob-focus 1.6s var(--ob-ease) .3s both}
  body.ob .ob-hero.is-ready .ob-post-h .l1,body.ob .ob-hero.is-ready .ob-post-h .l2{animation:ob-line .9s var(--ob-ease) both}
  body.ob .ob-hero.is-ready .ob-post-h .l1{animation-delay:.95s}
  body.ob .ob-hero.is-ready .ob-post-h .l2{animation-delay:1.08s}
}
@keyframes ob-settle{from{transform:scale(1.1);filter:blur(6px)}to{transform:none;filter:none}}
@keyframes ob-rise{from{opacity:0;transform:translateY(36px) scale(.97)}to{opacity:1;transform:none}}
@keyframes ob-focus{from{transform:scale(1.22);filter:blur(10px) saturate(.6)}to{transform:none;filter:none}}
@keyframes ob-line{from{opacity:0;transform:translateY(22px);clip-path:inset(-40% -12% 100% -12%)}to{opacity:1;transform:none;clip-path:inset(-40% -12% -40% -12%)}}

/* ============================================================
   8. 메인 섹션
   ============================================================ */
body.ob section.ob-sec{position:relative;padding:clamp(72px,9vw,132px) var(--fb-gut)}
body.ob .ob-sec-in{max-width:var(--fb-max);margin:0 auto}
body.ob .ob-sec-h{font-size:clamp(32px,4.2vw,58px);margin:0 0 18px;max-width:18ch}
body.ob .ob-sec-p{font-size:clamp(16.5px,1.35vw,19px);line-height:1.65;color:var(--ob-sub);max-width:52ch;margin:0}
body.ob .ob-dark{background:var(--ob-deep);color:#EEF1D3}
body.ob .ob-dark .ob-sec-p{color:rgba(223,226,183,.82)}
body.ob .ob-olive{background:var(--ob-olive)}

/* 8-1 맞춤 사양판 — 13칸 중 하나가 "찾았다" */
body.ob .ob-fit{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px);align-items:center}
body.ob .ob-fit-copy .ob-btn{margin-top:30px}
body.ob .ob-fit-rules{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px;max-width:50ch}
body.ob .ob-fit-rules li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;font-size:15.5px;color:var(--ob-sub);padding-top:12px;border-top:1px solid var(--ob-line)}
body.ob .ob-fit-rules b{color:var(--ob-ink);font-weight:700}
body.ob .ob-board{
  position:relative;padding:clamp(14px,2vw,22px);border-radius:var(--ob-r-card);background:var(--ob-olive);box-shadow:var(--ob-shadow)
}
body.ob .ob-board-hd{display:grid;grid-template-columns:64px repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px;font-size:12.5px;font-weight:700;color:var(--ob-sub);text-align:center;line-height:1.3}
body.ob .ob-board-hd span:first-child{visibility:hidden}
body.ob .ob-board-row{display:grid;grid-template-columns:64px repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}
body.ob .ob-board-row > b{display:grid;place-items:center;font-family:var(--ob-display);font-size:18px;font-weight:800;color:var(--ob-forest)}
body.ob .ob-cell{
  position:relative;display:grid;place-items:center;aspect-ratio:1.35/1;border-radius:12px;background:var(--ob-olive-2);
  color:var(--ob-sub);font-size:12.5px;font-weight:600;text-align:center;line-height:1.25;padding:6px;
  transition:background-color .35s var(--ob-ease),color .35s,transform .45s var(--ob-ease),box-shadow .45s var(--ob-ease)
}
body.ob .ob-cell i{display:block;width:26px;height:12px;margin:0 auto 6px;border-radius:3px;background:currentColor;opacity:.22;
  -webkit-mask:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 5px);mask:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 5px)}
body.ob .ob-cell.scan{background:#F6F7E6;color:var(--ob-ink)}
body.ob .ob-cell.found{background:var(--ob-forest);color:#F3F6DD;transform:scale(1.06);box-shadow:0 14px 26px -12px rgba(25,78,42,.7)}
body.ob .ob-cell.found i{opacity:.5}
body.ob .ob-board-v{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px}
body.ob .ob-board-v > b{display:grid;place-items:center;font-family:var(--ob-display);font-size:14px;font-weight:800;color:var(--ob-forest)}
body.ob .ob-board-v .ob-cell{aspect-ratio:auto;min-height:52px;grid-template-columns:auto auto;gap:10px;justify-content:center}
body.ob .ob-board-v .ob-cell i{margin:0}
body.ob .ob-board-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 6px 2px;border-top:1px solid var(--ob-line);font-size:14.5px}
body.ob .ob-board-foot output{font-weight:700;color:var(--ob-forest)}
body.ob .ob-board-foot button{border:0;background:transparent;color:var(--ob-forest);font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px}
body.ob .ob-board-foot button:hover{background:rgba(25,78,42,.08)}
@media(max-width:900px){
  body.ob .ob-fit{grid-template-columns:1fr}
  body.ob .ob-board-hd,body.ob .ob-board-row{grid-template-columns:40px repeat(4,minmax(0,1fr));gap:5px}
  body.ob .ob-board-v{grid-template-columns:40px minmax(0,1fr);gap:5px}
  body.ob .ob-cell{font-size:11px;padding:4px;border-radius:10px}
  body.ob .ob-cell i{width:20px;margin-bottom:4px}
  body.ob .ob-board-hd{font-size:11px}
  body.ob .ob-fit-rules li{grid-template-columns:76px minmax(0,1fr)}
}

/* 8-2 정해지는 과정 — 깊은 밴드, 4단계 */
body.ob .ob-steps{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:st}
body.ob .ob-steps li{position:relative;padding:28px 26px 4px 0;border-top:1px solid rgba(223,226,183,.22)}
body.ob .ob-steps li::before{
  counter-increment:st;content:counter(st);display:block;font-family:var(--ob-display);font-weight:800;font-size:clamp(56px,6vw,88px);
  line-height:1;letter-spacing:-0.04em;color:var(--ob-lime);margin-bottom:22px
}
body.ob .ob-steps h3{font-size:clamp(21px,1.8vw,26px);margin:0 0 10px;color:#F4F6E4}
body.ob .ob-steps p{margin:0;font-size:15.5px;line-height:1.65;color:rgba(223,226,183,.8);max-width:30ch}
body.ob .ob-steps-cta{margin-top:clamp(40px,5vw,60px);display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:900px){body.ob .ob-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}}
@media(max-width:520px){
  body.ob .ob-steps{grid-template-columns:1fr}
  body.ob .ob-steps li{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:8px;padding:22px 0 18px}
  body.ob .ob-steps li::before{grid-row:1/3;font-size:44px;margin:0}
  body.ob .ob-steps h3,body.ob .ob-steps p{grid-column:2}
}

/* 8-3 라인업 */
body.ob .ob-line-hd{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 40px;margin-bottom:clamp(28px,4vw,48px)}
body.ob .ob-line-hd .ob-sec-h{margin:0}
body.ob .ob-line-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body.ob .ob-line-grid .pcard:first-child{grid-column:span 2;grid-row:span 2}
body.ob .ob-line-grid .pcard:first-child .thumb{flex:1;aspect-ratio:auto;min-height:320px;position:relative}
body.ob .ob-line-grid .pcard:first-child .thumb img{position:absolute;inset:0}
body.ob .ob-line-grid .pcard:first-child .nm{font-family:var(--ob-display);font-size:clamp(20px,1.8vw,26px);font-weight:800;letter-spacing:-0.03em}
body.ob .pc-spec{display:inline-flex;width:auto;align-self:flex-start;padding:3px 10px;font-size:12.5px;font-weight:700}
@media(max-width:1000px){body.ob .ob-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.ob .ob-line-grid .pcard:first-child{grid-column:1/-1;grid-row:auto}}

/* 8-4 후기 — 게시물 프레임 */
body.ob .ob-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(32px,4vw,52px);align-items:start}
body.ob .ob-feed article{border-radius:var(--ob-r-card);background:var(--ob-paper);padding:16px 18px 18px;box-shadow:var(--ob-shadow)}
body.ob .ob-feed article:nth-child(2){margin-top:44px}
body.ob .ob-feed header{display:flex;align-items:center;gap:10px;margin-bottom:14px}
body.ob .ob-feed .av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ob-forest);color:var(--ob-lime);font-family:var(--ob-display);font-weight:800;font-size:13px;letter-spacing:.02em}
body.ob .ob-feed header b{display:block;font-size:15px}
body.ob .ob-feed header span{font-size:12.5px;color:var(--ob-sub)}
body.ob .ob-feed blockquote{margin:0;font-size:16px;line-height:1.7}
body.ob .ob-feed .flag{display:inline-block;margin-top:14px;font-size:12px;font-weight:700;color:#7A3A47;background:rgba(229,140,156,.22);padding:4px 10px;border-radius:999px}
body.ob .ob-feed-note{margin:26px 0 0;font-size:14px;color:var(--ob-sub)}
@media(max-width:900px){body.ob .ob-feed{grid-template-columns:1fr}body.ob .ob-feed article:nth-child(2){margin-top:0}}

/* 8-5 전문가 — 깊은 밴드 2단 */
body.ob .ob-pro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,90px);align-items:start}
body.ob .ob-pro-list{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:0}
body.ob .ob-pro-list li{padding:16px 0;border-top:1px solid rgba(223,226,183,.2);font-size:16px;color:rgba(223,226,183,.86)}
body.ob .ob-pro-list b{color:var(--ob-lime)}
body.ob .ob-pro-card{border-radius:var(--ob-r-card);background:var(--ob-olive);color:var(--ob-ink);padding:clamp(22px,3vw,34px)}
body.ob .ob-pro-card h3{font-size:clamp(24px,2.4vw,32px);margin:0 0 10px}
body.ob .ob-pro-card p{margin:0 0 22px;color:var(--ob-sub)}
body.ob .ob-pro-card .ebtn-row,body.ob .ob-row{display:flex;flex-wrap:wrap;gap:10px}
/* 어두운 밴드 안의 올리브 카드는 밝은 면 버튼으로 되돌린다 */
body.ob .ob-dark .ob-pro-card .ob-btn-primary{background:var(--ob-forest);color:#F3F6DD;border-color:var(--ob-forest)}
body.ob .ob-dark .ob-pro-card .ob-btn-primary:hover{background:var(--ob-forest-2)}
body.ob .ob-dark .ob-pro-card .ob-btn-ghost{color:var(--ob-forest);border-color:rgba(25,78,42,.45)}
body.ob .ob-dark .ob-pro-card .ob-btn-ghost:hover{background:rgba(25,78,42,.07);border-color:var(--ob-forest)}
body.ob .ob-dark .ob-pro-card :focus-visible{outline-color:var(--ob-forest)}
body.ob .ob-fine{margin:22px 0 0;font-size:13.5px;color:rgba(223,226,183,.62)}
@media(max-width:900px){body.ob .ob-pro{grid-template-columns:1fr}}

/* 8-6 마지막 — 샌들 사진 위 프레임 */
body.ob section.ob-close{position:relative;overflow:hidden;isolation:isolate;padding:clamp(90px,12vw,170px) 16px;display:grid;place-items:center;color:var(--ob-ink)}
body.ob .ob-close > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
body.ob .ob-close::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(90% 90% at 50% 50%,rgba(8,22,10,.1),rgba(8,22,10,.55))}
body.ob .ob-close-card{width:min(560px,100%);border-radius:var(--ob-r-card);background:var(--ob-olive);padding:clamp(26px,4vw,44px);text-align:center;box-shadow:0 50px 90px -34px rgba(4,14,5,.8)}
body.ob .ob-close-card h2{font-size:clamp(30px,3.6vw,46px);margin:0 0 12px}
body.ob .ob-close-card p{margin:0 auto 26px;color:var(--ob-sub);max-width:36ch}
body.ob .ob-close-card .ob-row{justify-content:center}

/* 스크롤 등장 — 이미 보이는 상태가 기본, JS 가 있을 때만 아래에서 올라온다 */
@media(prefers-reduced-motion:no-preference){
  body.ob.ob-js [data-ob-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ob-ease),transform 1.1s var(--ob-ease)}
  body.ob.ob-js [data-ob-reveal].in{opacity:1;transform:none}
}

/* ============================================================
   9. 기존 컴포넌트 재도색 (서브 페이지 공통)
   ============================================================ */
body.ob .band-gray,body.ob .band-white,body.ob .band-lav{background:var(--ob-paper)}
body.ob .band-brand{background:var(--ob-forest)}
body.ob .band-deep,body.ob .duo-deep{background:var(--ob-deep);color:#EEF1D3}
body.ob .band-scrim{background:linear-gradient(180deg,rgba(10,28,16,.2) 0%,rgba(10,28,16,.55) 50%,rgba(10,28,16,.92) 100%)}
body.ob .band-head h2{font-size:clamp(30px,3.6vw,48px)}
body.ob .deco-dots,body.ob .deco-blob{display:none}
/* 상품 카드 */
body.ob .card{border-radius:var(--ob-r-card);border:0;background:var(--ob-olive-2);box-shadow:none;overflow:hidden;transition:transform .45s var(--ob-ease),box-shadow .45s var(--ob-ease),background-color .3s}
body.ob a.card:hover{transform:translateY(-4px);box-shadow:var(--ob-shadow);background:var(--ob-olive)}
body.ob .pcard .thumb{border-radius:var(--ob-r-media);margin:10px 10px 0;overflow:hidden;background:#fff}
body.ob .pcard .info{padding:14px 16px 18px}
body.ob .pcard .nm{font-weight:700;font-size:16.5px;letter-spacing:-0.02em;color:var(--ob-ink)}
body.ob .pcard .sb{color:var(--ob-sub);font-size:14px}
body.ob .pcard .pr{font-family:var(--ob-display);font-weight:800;font-size:18px;color:var(--ob-forest);margin-top:8px}
body.ob .pcard .pr s{font-family:inherit;font-weight:500;color:var(--ob-sub);font-size:14px;margin-right:6px}
body.ob .badge{background:var(--ob-forest);color:var(--ob-lime);border-radius:999px;font-weight:700}
body.ob .tag,body.ob .pc-spec{background:rgba(25,78,42,.08);color:var(--ob-forest);border-radius:999px}
/* 입력 */
body.ob input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),body.ob select,body.ob textarea{
  border-radius:12px;border-color:var(--ob-line);background:#FBFBF5;color:var(--ob-ink)
}
body.ob input:focus,body.ob select:focus,body.ob textarea:focus{border-color:var(--ob-forest);box-shadow:0 0 0 3px rgba(25,78,42,.14);outline:none}
body.ob input::placeholder,body.ob textarea::placeholder{color:#6E7766}
body.ob .search-pill{border-radius:999px;background:#FBFBF5;border:1px solid var(--ob-line)}
body.ob .search-pill button{background:var(--ob-forest);color:#F3F6DD}
/* 문진 · 선택지 · 입력 — site.css / survey-img.css 에 박혀 있는 보라 그림자를 포레스트로 */
body.ob .opt:hover{box-shadow:0 10px 22px -14px rgba(10,28,16,.45)}
body.ob .opt.on,body.ob .opt.img-opt.on,body.ob .opt.img-opt[aria-pressed="true"],body.ob #seg-cat.cat-grid .opt.on{
  border-color:var(--ob-forest);background:var(--ob-olive-2);box-shadow:0 10px 22px -12px rgba(25,78,42,.45)
}
body.ob .field input:focus,body.ob .field textarea:focus,body.ob.pg-checkout .field select:focus{border-color:var(--ob-forest);box-shadow:0 0 0 3px rgba(25,78,42,.16)}
body.ob .card .thumb.dual,body.ob .rb-img,body.ob .cl .cl-th,body.ob .ttile.ttile-pale{background:var(--ob-olive-2)}
body.ob.pg-pdp{--pdp-img:var(--ob-olive-2)}
body.ob .gcard{box-shadow:0 14px 30px -22px rgba(10,28,16,.5)}
body.ob .pg-dot{background:rgba(25,78,42,.25)}
body.ob .pg-dot.on{background:var(--ob-forest)}
/* 상품 상세 하단 구매 바 · 전문가 문진 표시 */
body.ob .pdp-bar{background:var(--ob-paper);border-top-color:var(--ob-line);box-shadow:0 -14px 30px -22px rgba(10,28,16,.5)}
body.ob .pro-tag{display:none}
/* 토스트 */
body.ob .toast{background:var(--ob-deep);color:#EEF1D3;border-radius:14px}

@media(prefers-reduced-motion:reduce){
  body.ob *,body.ob *::before,body.ob *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ============================================================
   10. 마감 검토 반영 (2026-11-04)
   ============================================================ */
/* 데스크톱: 콘텐츠가 오른쪽 퀵 메뉴 박스와 겹치지 않게 폭을 줄인다 (1280~1366 에서 겹쳤다) */
@media(min-width:761px){body.ob{--fb-max:min(1240px,calc(100vw - 184px))}}
/* 흰 바탕 페이지도 종이색 */
body.ob.has-topnav.pg-white{background:var(--ob-paper)}
/* 스토어는 메인 라인업과 같은 폭 */
body.ob.pg-shop main.wrap,body.ob.has-topnav main.wrap.wrap-shop{max-width:var(--fb-max)}
/* 큰 라인업 카드: 사진이 남는 높이를 채우고, 잘리지 않게 */
body.ob .ob-line-grid .pcard:first-child .info,body.ob .ob-line-grid .pcard:first-child .sb{flex:none}
body.ob .ob-line-grid .pcard:first-child .thumb img{object-fit:contain}
body.ob .ob-line-err{grid-column:1/-1;margin:0;color:var(--ob-sub)}
/* 예전 박스형 카드 → 올리브 프레임 */
body.ob .confirm-box,body.ob .sum,body.ob .notice-box,body.ob .cart-item,body.ob .review,body.ob .reco-card,
body.ob .step,body.ob .mx,body.ob .privacy{border-radius:var(--ob-r-card);border-color:transparent;background:var(--ob-olive-2)}
body.ob .step .no{display:none}
body.ob .feature-card{border-radius:var(--ob-r-card);background:var(--ob-paper)}
/* 맞춤 진단 · 전문가 페이지: 어두운 첫 밴드 위로 헤더가 겹친다 */
body.ob.pg-fit main > .hero{padding-top:calc(var(--tn-h) + clamp(28px,4vw,56px))}
/* 사양판 아래 줄: 모바일에서 세로로 */
body.ob .ob-board-foot button{white-space:nowrap;flex:none}
@media(max-width:900px){body.ob .ob-board-foot{flex-direction:column;align-items:flex-start}}
/* 모바일 전체 메뉴: 진단 CTA 가 항상 보이게, 큰 링크는 조금 작게 */
@media(max-width:860px){
  body.ob .ob-menu-cta{position:sticky;bottom:10px;z-index:1}
  body.ob .ob-menu-big a{font-size:clamp(32px,9vw,40px)}
}
/* 모바일 퀵 메뉴: 진단 원 하나만, 아래로 읽는 동안엔 비켜 둔다, 상품 상세는 구매 바가 대신한다 */
@media(max-width:760px){
  body.ob .ob-q-top,body.ob .ob-q-top.show{display:none}
  body.ob .ob-quick{padding:0;background:transparent!important;border-color:transparent!important;box-shadow:none!important}
  body.ob .ob-quick .ob-q-fit{width:52px;height:52px;box-shadow:0 14px 26px -12px rgba(10,28,16,.6)!important}
  body.ob .ob-quick.is-hide{opacity:0;visibility:hidden;transform:translateY(16px)}
  body.ob.pg-pdp .ob-quick{display:none}
}
/* 스크롤 등장은 몇 곳만, 이미 보이는 상태에서 살짝 올라온다 */
@media(prefers-reduced-motion:no-preference){
  body.ob.ob-js [data-ob-reveal]{opacity:.25;transform:translateY(22px)}
  body.ob.ob-js [data-ob-reveal].in{opacity:1;transform:none}
}
/* 남은 흰 상자 두 개 (상품 상세 선택 사양 · 맞춤 진단 선택 카드) */
body.ob .pp-sel{background:var(--ob-olive-2);border-color:transparent;border-radius:16px}
body.ob.pg-fit .pick-card{background:var(--ob-olive-2);border-radius:var(--ob-r-card)}
body.ob.pg-fit .pick-card:hover{background:var(--ob-olive)}

/* 마무리 — 밝은 유리병 사진: 병은 왼쪽에 보이게 두고 카드는 오른쪽에 앉힌다 */
body.ob .ob-close > img{object-position:22% 50%}
body.ob .ob-close::before{background:linear-gradient(90deg,rgba(15,42,24,0) 35%,rgba(15,42,24,.18))}
body.ob .ob-close-card{box-shadow:0 40px 80px -36px rgba(15,42,24,.55)}
@media(min-width:901px){
  body.ob section.ob-close{place-items:center end;padding-inline:calc((100vw - var(--fb-max)) / 2)}
  body.ob .ob-close-card{width:min(500px,100%)}
}

/* ============================================================
   JA (html lang="ja") — 2026-11-05 EN/JA 리뉴얼
   Wanted Sans 는 한국식 한자 · 가나 글리프를 갖고 있어 일본어 글자 모양이 바뀐다 → JA 는 헤딩도 Noto Sans JP
   (web/ja/*.html 이 400–900 을 로드). 줄바꿈 · 자간 기본값은 site.css 12장(html:lang(ja))을 따르고, 큰 글자만 다시 잡는다.
   ============================================================ */
html:lang(ja) body.ob{--ob-display:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic UI','Yu Gothic',Meiryo,system-ui,sans-serif}
html:lang(ja) body.ob .ob-post-h{letter-spacing:0;line-height:1.08}
html:lang(ja) body.ob .ob-post-h .l1{font-size:clamp(46px,4.6vw,60px)}
html:lang(ja) body.ob .ob-post-h .l2{font-size:clamp(19px,1.9vw,24px);letter-spacing:.01em;line-height:1.35;margin-top:8px}
html:lang(ja) body.ob :is(.ob-sec-h,.ob-close-card h2,.ob-menu-big a){letter-spacing:0;line-height:1.3}
html:lang(ja) body.ob .ob-sec-h{font-size:clamp(28px,3.4vw,46px);max-width:none}
@media(max-width:760px){
  html:lang(ja) body.ob .ob-post-h .l1{font-size:clamp(38px,10.5vw,48px)}
  html:lang(ja) body.ob .ob-post-h .l2{font-size:clamp(17px,4.6vw,20px)}
}

/* EN(미국) 결제 폼 — site.css 의 흰 상자 · 보라 선택 화살표를 새 팔레트로 (KO/JA 장바구니엔 이 폼이 없다) */
body.ob.pg-checkout .co-sec{background:var(--ob-olive-2);border:0;border-radius:var(--ob-r-card)}
body.ob.pg-checkout .field input,body.ob.pg-checkout .field textarea,body.ob.pg-checkout .field select{background-color:#FBFBF5;border-color:var(--ob-line)}
body.ob.pg-checkout .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23194E2A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
body.ob.pg-checkout .co-bd ul{background:var(--ob-olive)}
