@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&family=Montserrat:ital,wght@0,600;0,700;1,700;1,800&display=swap');

:root { --ink:#0b0e11; --ink-2:#11161b; --paper:#f2f3ef; --white:#fff; --lime:#d8ff3e; --muted:#687078; --line:#daddd7; --dark-line:rgba(255,255,255,.15); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"IBM Plex Sans KR",sans-serif; word-break:keep-all; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
.wrap { width:min(1280px,calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:10px 15px; color:#000; background:var(--lime); transform:translateY(-150%); }
.skip-link:focus { transform:none; }

.site-header { position:fixed; inset:0 0 auto; z-index:30; height:88px; padding:0 clamp(24px,5vw,80px); display:flex; align-items:center; justify-content:space-between; color:#fff; border-bottom:1px solid var(--dark-line); background:linear-gradient(180deg,rgba(5,8,11,.82),transparent); transition:.3s; }
.site-header.is-scrolled { height:72px; background:rgba(8,11,14,.94); backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; gap:12px; font:700 15px/1 Montserrat,sans-serif; letter-spacing:.14em; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border:2px solid var(--lime); color:var(--lime); transform:skew(-8deg); font-style:italic; }
.desktop-nav { display:flex; gap:clamp(16px,2.2vw,34px); font-size:13px; }
.desktop-nav a { color:#d5d8da; transition:color .2s; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { color:var(--lime); }
.desktop-nav a[aria-current="page"] { color:var(--lime); }
.header-shop { padding:13px 18px; border:1px solid rgba(255,255,255,.5); font-size:13px; font-weight:600; transition:.2s; }
.header-shop:hover { color:var(--ink); border-color:var(--lime); background:var(--lime); }
.menu-toggle { display:none; width:42px; height:42px; border:0; background:none; cursor:pointer; }
.menu-toggle span { display:block; width:24px; height:2px; margin:7px auto; background:#fff; transition:.25s; }
.mobile-menu { position:fixed; z-index:25; inset:0; padding:120px 24px 36px; display:flex; flex-direction:column; justify-content:center; gap:18px; color:#fff; background:#0b0e11; visibility:hidden; opacity:0; transition:.25s; }
.mobile-menu a { font-size:clamp(26px,8vw,38px); font-weight:700; letter-spacing:-.04em; }
.mobile-menu .mobile-store { margin-top:24px; padding-top:24px; color:var(--lime); border-top:1px solid var(--dark-line); font-size:18px; }
.mobile-menu a[aria-current="page"] { color:var(--lime); }
.menu-open .mobile-menu { visibility:visible; opacity:1; }
.menu-open .menu-toggle span:first-child { transform:translateY(4.5px) rotate(45deg); }
.menu-open .menu-toggle span:last-child { transform:translateY(-4.5px) rotate(-45deg); }

.hero { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; color:#fff; background:#0e1822 url("assets/beanstalks-hero.png") center/cover no-repeat; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,8,11,.95) 0%,rgba(5,8,11,.66) 38%,rgba(5,8,11,.08) 72%),linear-gradient(0deg,rgba(5,8,11,.74),transparent 48%); }
.hero-content { position:relative; z-index:2; padding-top:85px; }
.eyebrow,.kicker { margin:0; color:#7b850d; font:700 11px/1.2 Montserrat,sans-serif; letter-spacing:.23em; }
.eyebrow { display:flex; align-items:center; gap:12px; color:var(--lime); }
.eyebrow span { width:30px; height:2px; background:var(--lime); }
h1 { margin:28px 0 24px; font-size:clamp(52px,7.1vw,104px); line-height:.98; letter-spacing:-.065em; }
h1 em { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.82); font-style:normal; }
.hero-copy { color:#cbd0d4; font-size:clamp(15px,1.2vw,18px); line-height:1.9; }
.hero-actions { display:flex; gap:12px; margin-top:38px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:54px; padding:0 25px; border:1px solid transparent; font-size:14px; font-weight:700; transition:transform .2s,background .2s,color .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:#10130d; background:var(--lime); }
.button-primary:hover { background:#e4ff78; }
.button-ghost { border-color:rgba(255,255,255,.48); }
.button-ghost:hover { color:var(--ink); background:#fff; }
.button-dark { color:#fff; background:var(--ink); }
.hero-meta { position:absolute; z-index:2; right:clamp(24px,5vw,80px); bottom:55px; display:flex; align-items:flex-start; gap:15px; }
.hero-meta span { color:var(--lime); font:700 11px Montserrat,sans-serif; }
.hero-meta p { margin:0; font:600 12px/1.45 Montserrat,sans-serif; letter-spacing:.15em; }
.scroll-cue { position:absolute; z-index:2; left:clamp(24px,5vw,80px); bottom:0; display:flex; flex-direction:column; align-items:center; gap:10px; color:#aeb4b9; font:600 9px Montserrat,sans-serif; letter-spacing:.2em; }
.scroll-cue span { writing-mode:vertical-rl; }
.scroll-cue i { width:1px; height:42px; background:var(--lime); }

.promise-strip { color:#fff; background:var(--ink); border-top:1px solid var(--dark-line); }
.promise-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.promise-grid p { margin:0; padding:28px clamp(12px,3vw,42px); display:flex; gap:18px; align-items:center; border-right:1px solid var(--dark-line); }
.promise-grid p:first-child { border-left:1px solid var(--dark-line); }
.promise-grid b { color:var(--lime); font:700 11px Montserrat,sans-serif; letter-spacing:.15em; }
.promise-grid span { color:#bfc4c7; font-size:13px; }

.section { padding:clamp(90px,10vw,150px) 0; }
.section h2,.jack-copy h2,.store-content h2 { margin:16px 0 0; font-size:clamp(42px,5vw,72px); line-height:1.1; letter-spacing:-.055em; }
.about { background:#fff; }
.about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; align-items:start; }
.about-copy { padding-top:12px; }
.about-copy .lead { margin:0 0 26px; max-width:640px; font-size:clamp(22px,2vw,31px); font-weight:600; line-height:1.55; letter-spacing:-.025em; }
.about-copy>p:not(.lead) { max-width:620px; color:#60676d; font-size:16px; line-height:1.9; }
.text-link { display:inline-flex; gap:50px; margin-top:22px; padding-bottom:10px; border-bottom:1px solid var(--ink); font-size:14px; font-weight:700; }
.about-actions { display:flex; flex-wrap:wrap; gap:14px 34px; margin-top:26px; }
.about-actions .text-link { margin-top:0; gap:32px; }
.text-link-muted { color:#626a70; border-bottom-color:#aeb3b5; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:90px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.value-card { min-height:240px; padding:30px; border-right:1px solid var(--line); }
.value-card:last-child { border-right:0; }
.value-card>span { color:#8b9297; font:700 11px Montserrat,sans-serif; }
.value-card h3 { margin:55px 0 15px; font:700 18px Montserrat,sans-serif; }
.value-card p { max-width:270px; margin:0; color:var(--muted); font-size:14px; line-height:1.75; }

.products { background:var(--paper); }
.section-row { display:flex; align-items:end; justify-content:space-between; margin-bottom:48px; }
.section-row>p { margin:0 0 7px; color:var(--muted); font-size:14px; line-height:1.75; }
.product-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.product-card { position:relative; background:#fff; overflow:hidden; }
.product-card--wide { grid-column:span 2; display:grid; grid-template-columns:1.18fr .82fr; }
.product-media { position:relative; min-height:350px; display:grid; place-items:center; overflow:hidden; background:#e8ebe6; }
.product-media:after { content:""; position:absolute; inset:0; border:1px solid rgba(11,14,17,.08); pointer-events:none; }
.product-media img { width:100%; height:100%; padding:28px; display:block; object-fit:contain; transition:transform .45s ease; }
.product-card:hover .product-media img { transform:scale(1.035); }
.product-card--wide .product-media { min-height:540px; }
.product-badge { position:absolute; z-index:2; top:22px; left:22px; padding:9px 12px; color:#fff; background:rgba(11,14,17,.88); font:700 9px Montserrat,sans-serif; letter-spacing:.13em; }
.product-copy { padding:30px; display:flex; flex-direction:column; align-items:flex-start; }
.product-card--wide .product-copy { padding:clamp(38px,5vw,68px); color:#fff; background:var(--ink); justify-content:center; }
.product-label { margin:0 0 17px; color:#777f84; font:700 10px Montserrat,sans-serif; letter-spacing:.15em; }
.product-card--wide .product-label { color:var(--lime); }
.product-copy h3 { margin:0; font-size:clamp(19px,1.7vw,27px); line-height:1.55; letter-spacing:-.03em; }
.product-card--wide .product-copy h3 { font-size:clamp(25px,2.5vw,38px); line-height:1.45; }
.product-scene { margin:20px 0 32px; color:#687078; font-size:14px; line-height:1.75; }
.product-card--wide .product-scene { color:#a8afb4; font-size:15px; }
.product-bottom { width:100%; margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:22px; border-top:1px solid var(--line); }
.product-card--wide .product-bottom { border-top-color:var(--dark-line); }
.product-bottom strong { flex:none; font:700 18px Montserrat,sans-serif; }
.product-bottom .button { min-height:48px; padding:0 18px; gap:18px; font-size:12px; }
.product-visual { position:relative; min-height:330px; padding:26px; overflow:hidden; color:#fff; background:#1a2026; }
.product-card--wide .product-visual { min-height:440px; }
.product-visual:before { content:""; position:absolute; inset:0; background:linear-gradient(125deg,transparent 15%,rgba(255,255,255,.11),transparent 52%); transform:translateX(-50%); transition:transform .5s; }
.product-card:hover .product-visual:before { transform:translateX(50%); }
.category-code { position:relative; z-index:2; font:700 10px Montserrat,sans-serif; letter-spacing:.16em; }
.product-visual strong { position:absolute; z-index:1; left:26px; bottom:22px; color:rgba(255,255,255,.9); font:800 clamp(44px,7vw,100px)/.8 Montserrat,sans-serif; letter-spacing:-.08em; font-style:italic; }
.product-visual i { position:absolute; right:8%; top:50%; width:clamp(130px,22vw,300px); aspect-ratio:1; border:1px solid rgba(216,255,62,.72); border-radius:50%; transform:translateY(-50%); box-shadow:0 0 0 26px rgba(216,255,62,.04),0 0 80px rgba(216,255,62,.14); }
.visual-helmet { background:radial-gradient(circle at 76% 50%,#48535b,transparent 28%),linear-gradient(135deg,#11161b,#2c353d); }
.visual-com { background:radial-gradient(circle at 75% 30%,#465464,transparent 25%),linear-gradient(135deg,#10151a,#273039); }
.visual-cam { background:radial-gradient(circle at 74% 45%,#654e28,transparent 28%),linear-gradient(135deg,#131517,#36312a); }
.visual-mask { background:radial-gradient(circle at 76% 45%,#485a4f,transparent 28%),linear-gradient(135deg,#141817,#2d3934); }
.visual-accessory { background:radial-gradient(circle at 77% 45%,#4d4057,transparent 28%),linear-gradient(135deg,#151418,#322d38); }
.product-info { display:flex; justify-content:space-between; align-items:end; gap:16px; padding:24px 26px 27px; }
.product-info p { margin:0 0 8px; color:#858b8f; font-size:12px; }
.product-info h3 { margin:0; font-size:clamp(17px,1.7vw,23px); letter-spacing:-.03em; }
.product-price { flex:none; font:600 14px Montserrat,sans-serif; }
.product-card>a { position:absolute; inset:0; z-index:3; }
.center-action { display:flex; justify-content:center; margin-top:46px; }

.kicker-light { color:var(--lime); }
.jack-hero { --jack-red:#c3001c; position:relative; padding:clamp(100px,11vw,160px) 0 0; overflow:hidden; color:#fff; background:#080808; }
.jack-hero:before { position:absolute; inset:0 0 auto; height:5px; background:var(--jack-red); content:""; }
.jack-intro { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(55px,8vw,120px); align-items:center; }
.jack-kicker { margin:0 0 24px; color:#f06b7d; font:700 10px Montserrat,sans-serif; letter-spacing:.2em; }
.jack-lockup { display:inline-flex; align-items:end; gap:14px; padding:12px 16px 11px; border:2px solid var(--jack-red); }
.jack-wordmark { margin:0; font:800 clamp(24px,3vw,42px) Montserrat,sans-serif; font-style:italic; letter-spacing:-.06em; }
.jack-lockup>span { padding-bottom:3px; color:#ef7182; font:700 8px Montserrat,sans-serif; letter-spacing:.18em; white-space:nowrap; }
.jack-copy h2 { margin:35px 0 30px; font:800 clamp(48px,6vw,92px)/.85 Montserrat,sans-serif; letter-spacing:-.08em; }
.jack-copy h2 em { color:var(--jack-red); font-style:normal; }
.jack-copy>p:not(.jack-kicker) { max-width:520px; margin:0; color:#aaaeb1; font-size:15px; line-height:1.9; }
.jack-range { max-width:520px; margin:28px 0 0; padding:17px 0; display:flex; flex-wrap:wrap; gap:10px 26px; border-top:1px solid #343434; border-bottom:1px solid #343434; list-style:none; }
.jack-range li { color:#ddd; font:700 9px Montserrat,sans-serif; letter-spacing:.14em; }
.jack-range li:before { margin-right:9px; color:var(--jack-red); content:"/"; }
.jack-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:38px; }
.jack-button { color:#fff; background:var(--jack-red); }
.jack-button:hover { background:#e00026; }
.jack-text-link { padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.5); font-size:13px; font-weight:700; }
.jack-collage { position:relative; min-height:660px; }
.jack-collage figure { position:absolute; margin:0; overflow:hidden; background:#1a1a1a; }
.jack-collage img { width:100%; height:100%; display:block; object-fit:cover; }
.jack-collage-main { inset:0 14% 8% 0; }
.jack-collage-main img { object-position:center; }
.jack-collage-sub { right:0; bottom:0; width:39%; aspect-ratio:1; border:8px solid #080808; }
.jack-collage-sub img { object-position:left center; }
.jack-collage-note { position:absolute; top:20px; right:-6px; padding:13px 18px; color:#fff; background:var(--jack-red); font:700 9px Montserrat,sans-serif; letter-spacing:.18em; }
.jack-marquee { margin-top:clamp(70px,8vw,110px); display:flex; width:max-content; color:#fff; background:var(--jack-red); font:800 clamp(30px,4.5vw,70px)/1 Montserrat,sans-serif; letter-spacing:-.045em; white-space:nowrap; transform:translateX(-1%); }
.jack-marquee span { padding:24px 0 28px; }

.guide { background:#fff; }
.guide-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.guide-feature { grid-row:span 2; }
.guide-card { display:grid; grid-template-columns:1fr 1.05fr; min-height:280px; border:1px solid var(--line); background:#fff; }
.guide-feature { grid-template-columns:1fr; }
.guide-thumb { position:relative; min-height:280px; padding:24px; overflow:hidden; color:#fff; background:#1a2025; }
.guide-feature .guide-thumb { min-height:370px; }
.guide-thumb span { position:relative; z-index:1; font:700 10px Montserrat,sans-serif; letter-spacing:.15em; }
.guide-thumb b { position:absolute; bottom:20px; right:20px; text-align:right; font:800 clamp(44px,6vw,82px)/.8 Montserrat,sans-serif; font-style:italic; letter-spacing:-.08em; opacity:.9; }
.thumb-one { background:linear-gradient(145deg,#10161c,#384954); }
.thumb-two { background:linear-gradient(145deg,#101416,#34413c); }
.thumb-three { background:linear-gradient(145deg,#181510,#4b3c27); }
.guide-body { padding:28px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.guide-body>p { margin:0 0 20px; color:#7b8389; font:700 10px Montserrat,sans-serif; letter-spacing:.12em; }
.guide-body h3 { margin:0; font-size:clamp(20px,2vw,27px); line-height:1.5; letter-spacing:-.035em; }
.guide-body a { margin-top:30px; padding-bottom:7px; border-bottom:1px solid var(--ink); font-size:13px; font-weight:700; }
.guide-body a span { margin-left:25px; }

.home-stories { background:#fff; }
.home-story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.home-story-card { min-height:310px; display:flex; flex-direction:column; padding:30px; border:1px solid var(--line); background:var(--paper); transition:transform .25s,background .25s,color .25s; }
.home-story-card:hover { color:#fff; background:var(--ink); transform:translateY(-5px); }
.home-story-card time { color:#7b8389; font:700 10px Montserrat,sans-serif; letter-spacing:.13em; }
.home-story-card h3 { margin:45px 0 15px; font-size:clamp(20px,2vw,27px); line-height:1.45; letter-spacing:-.04em; }
.home-story-card p { margin:0; color:#687078; font-size:14px; line-height:1.8; }
.home-story-card:hover time { color:var(--lime); }
.home-story-card:hover p { color:#aeb5b9; }
.home-story-card .story-arrow { margin-top:auto; padding-top:28px; color:#7b8389; font:700 11px Montserrat,sans-serif; }
.home-story-card:hover .story-arrow { color:var(--lime); }
.story-loading,.story-error { grid-column:1/-1; margin:0; padding:60px 0; color:var(--muted); text-align:center; }

.faq { background:var(--paper); }
.faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:9vw; }
.faq .section-heading>p:not(.kicker) { max-width:300px; margin:25px 0 0; color:var(--muted); font-size:14px; line-height:1.75; }
.faq-list { border-top:2px solid var(--ink); }
.faq-list details { border-bottom:1px solid #cfd2cc; }
.faq-list summary { position:relative; padding:28px 50px 28px 0; display:flex; gap:22px; font-size:17px; font-weight:600; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:#8a9094; font:700 10px Montserrat,sans-serif; }
.faq-list summary i,.faq-list summary i:after { position:absolute; right:5px; top:50%; width:15px; height:1px; background:var(--ink); content:""; transition:.2s; }
.faq-list summary i:after { right:0; top:0; transform:rotate(90deg); }
.faq-list details[open] summary i:after { transform:rotate(0); }
.faq-list details>p { margin:0; padding:0 55px 28px 34px; color:var(--muted); font-size:14px; line-height:1.8; }

.store-cta { position:relative; min-height:650px; display:flex; align-items:center; overflow:hidden; color:#fff; background:#111820 url("assets/beanstalks-hero.png") center 60%/cover no-repeat; }
.store-cta:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,9,12,.96),rgba(6,9,12,.55) 55%,rgba(6,9,12,.18)),linear-gradient(0deg,rgba(6,9,12,.7),transparent); }
.store-road { position:absolute; right:11%; bottom:-140px; width:300px; height:800px; border-left:2px solid rgba(216,255,62,.55); transform:rotate(32deg); opacity:.5; }
.store-content { position:relative; z-index:1; }
.store-content h2 em { color:var(--lime); font-style:normal; }
.store-content>p:not(.kicker) { margin:28px 0 35px; color:#c7cbce; }

.site-footer { padding:65px 0 28px; color:#c1c6c9; background:#080a0c; }
.footer-top { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr); gap:60px; padding-bottom:55px; }
.footer-company>p { margin:22px 0 8px; color:#c1c6c9; font-size:13px; font-weight:700; }
.footer-company address { color:#747c82; font-size:12px; font-style:normal; line-height:1.8; }
.footer-info { display:grid; grid-template-columns:repeat(3,minmax(140px,1fr)); gap:34px 40px; }
.footer-info a { color:#fff; transition:color .2s; }
.footer-info a:hover,.footer-info a:focus-visible { color:var(--lime); }
.footer-info p { margin:0; display:flex; flex-direction:column; gap:12px; font-size:12px; line-height:1.7; }
.footer-info b { color:#747c82; font-size:11px; }
.footer-bottom { padding-top:25px; display:flex; justify-content:space-between; gap:30px; border-top:1px solid var(--dark-line); color:#61696f; font-size:10px; line-height:1.7; }
.footer-bottom p { margin:0; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none} }

@media (max-width:1100px) {
  .desktop-nav,.header-shop { display:none; }
  .menu-toggle { display:block; }
}

@media (max-width:900px) {
  .site-header { height:72px; padding:0 20px; }
  .hero { min-height:760px; background-position:63% center; }
  .hero-overlay { background:linear-gradient(90deg,rgba(5,8,11,.92),rgba(5,8,11,.24)),linear-gradient(0deg,rgba(5,8,11,.86),transparent 65%); }
  .hero-content { padding-top:150px; padding-bottom:130px; align-self:flex-end; }
  .hero-meta { display:none; }
  .about-grid,.jack-intro,.faq-grid { grid-template-columns:1fr; gap:55px; }
  .jack-collage { min-height:600px; }
  .guide-grid { grid-template-columns:1fr; }
  .home-story-grid { grid-template-columns:1fr; }
  .guide-feature { grid-row:auto; }
  .guide-feature,.guide-card { grid-template-columns:1fr 1.05fr; }
  .guide-feature .guide-thumb { min-height:280px; }
  .footer-top { grid-template-columns:1fr; }
  .product-card--wide { grid-template-columns:1fr; }
  .product-card--wide .product-media { min-height:450px; }
}

@media (max-width:640px) {
  .wrap { width:min(100% - 36px,1280px); }
  .hero { min-height:720px; }
  .hero-content { padding-bottom:105px; }
  h1 { font-size:clamp(46px,14vw,68px); }
  .hero-copy br { display:none; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .scroll-cue { display:none; }
  .promise-grid { grid-template-columns:1fr; }
  .promise-grid p,.promise-grid p:first-child { border:0; border-bottom:1px solid var(--dark-line); padding:20px 0; }
  .section { padding:85px 0; }
  .section h2,.store-content h2 { font-size:40px; }
  .about-copy .lead { font-size:21px; }
  .value-grid { grid-template-columns:1fr; margin-top:60px; }
  .value-card { min-height:0; padding:28px 0; border-right:0; border-bottom:1px solid var(--line); }
  .value-card h3 { margin:28px 0 10px; }
  .section-row { align-items:start; flex-direction:column; gap:22px; }
  .product-grid { grid-template-columns:1fr; gap:16px; }
  .product-card--wide { grid-column:auto; }
  .product-card--wide { display:block; }
  .product-media,.product-card--wide .product-media { min-height:0; aspect-ratio:4/3; }
  .product-media img { padding:20px; }
  .product-card--wide .product-copy { padding:30px 24px; }
  .product-bottom { align-items:flex-start; flex-direction:column; }
  .product-bottom .button { width:100%; }
  .product-visual,.product-card--wide .product-visual { min-height:290px; }
  .product-visual strong { font-size:52px; }
  .product-info { align-items:start; flex-direction:column; }
  .jack-copy h2 { font-size:clamp(48px,15vw,68px); }
  .jack-lockup { align-items:start; flex-direction:column; gap:5px; }
  .jack-collage { min-height:470px; }
  .jack-collage-main { inset:0 8% 5% 0; }
  .jack-collage-sub { width:42%; border-width:5px; }
  .guide-feature,.guide-card { grid-template-columns:1fr; }
  .home-story-card { min-height:270px; }
  .guide-thumb,.guide-feature .guide-thumb { min-height:270px; }
  .guide-body { min-height:230px; }
  .store-cta { min-height:640px; background-position:65% center; }
  .footer-info { grid-template-columns:1fr; gap:25px; }
  .footer-bottom { flex-direction:column; }
}
