/* =========================================================================
   BNI Korea Marketing — landing MVP
   Korean-magazine / editorial design system  (see docs/WEBSITE-PLAN.md §4)
   ========================================================================= */

:root {
  /* palette */
  --paper:       #FBF8F2;
  --paper-2:     #F4F1EA;
  --paper-edge:  #EDE6D6;
  --ink:         #173A2B;
  --green:       #1F6B45;
  --green-dark:  #0E3B27;
  --green-soft:  #E4EFE7;
  --pink:        #E5567A;
  --pink-deep:   #C8345C;
  --pink-soft:   #FBE0E8;
  --gold:        #F4D58A;
  --gold-tape:   rgba(244, 213, 138, .60);
  --pink-tape:   rgba(229, 86, 122, .28);
  --shadow:      0 14px 34px rgba(20, 45, 35, .16);
  --shadow-sm:   0 6px 16px rgba(20, 45, 35, .12);

  /* type */
  --sans: "Noto Sans TC", "Noto Sans KR", system-ui, -apple-system, sans-serif;
  --disp: "Fredoka", "Noto Sans TC", sans-serif;
  --hand: "Gaegu", "Noto Sans TC", cursive;

  --maxw: 1120px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  font-family: var(--sans);
  color: var(--ink);
  background-color: var(--paper);
  background-image:
    radial-gradient(circle at 18% 12%, rgba(244,213,138,.18), transparent 42%),
    radial-gradient(circle at 82% 0%,  rgba(229,86,122,.10), transparent 38%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
:lang(ko) { --sans: "Noto Sans KR", "Noto Sans TC", sans-serif; }

img { max-width: 100%; display: block; }
a { color: inherit; }

.wrap { width: min(100% - 2.4rem, var(--maxw)); margin-inline: auto; }

/* ---------- header / language switch ---------------------------------- */
.header {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: .55rem clamp(.9rem, 4vw, 2rem);
  background: rgba(251, 248, 242, .82);
  backdrop-filter: blur(10px) saturate(1.2);
  border-bottom: 1px solid rgba(31,107,69,.12);
}
.brand { display: flex; align-items: center; gap: .55rem; font-weight: 900; letter-spacing: .02em; }
.brand .dot { width: 30px; height: 30px; border-radius: 9px; background: var(--green);
  color: var(--gold); display: grid; place-items: center; font-family: var(--disp); font-size: .95rem; box-shadow: var(--shadow-sm); }
.brand small { display: block; font-weight: 500; font-size: .66rem; color: var(--green); letter-spacing: .14em; }
.header-right { display: flex; align-items: center; gap: .6rem; }
.lang-switch { display: inline-flex; background: var(--paper-2); border: 1px solid rgba(31,107,69,.18);
  border-radius: 999px; padding: 3px; box-shadow: var(--shadow-sm); }
.lang-switch button {
  border: 0; background: transparent; cursor: pointer; font-family: var(--sans);
  font-weight: 700; font-size: .8rem; color: var(--green); padding: .32rem .7rem; border-radius: 999px;
  transition: background .2s, color .2s;
}
.lang-switch button[aria-pressed="true"] { background: var(--green); color: #fff; }
.header .btn-primary { padding: .5rem 1rem; font-size: .82rem; }
@media (max-width: 620px){ .header .btn-primary{ display:none; } }

/* ---------- buttons --------------------------------------------------- */
.btn-primary {
  display: inline-flex; align-items: center; gap: .5rem; cursor: pointer;
  font-family: var(--sans); font-weight: 800; font-size: 1rem; color: #fff; text-decoration: none;
  background: linear-gradient(180deg, var(--pink), var(--pink-deep));
  border: 0; border-radius: 999px; padding: .85rem 1.7rem;
  box-shadow: 0 10px 22px rgba(229,86,122,.38); transition: transform .15s, box-shadow .15s;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(229,86,122,.46); }
.btn-ghost {
  display:inline-flex; align-items:center; gap:.45rem; cursor:pointer; text-decoration:none;
  font-weight:800; color: var(--green); background: #fff; border:2px solid var(--green);
  border-radius:999px; padding:.78rem 1.5rem; transition: background .15s,color .15s;
}
.btn-ghost:hover { background: var(--green); color:#fff; }

/* ---------- decorative texture --------------------------------------- */
.tape {
  position: absolute; width: 96px; height: 30px; background: var(--gold-tape);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); transform: rotate(-7deg);
  -webkit-mask: linear-gradient(90deg, transparent 0 4%, #000 4% 96%, transparent 96%);
          mask: linear-gradient(90deg, transparent 0 4%, #000 4% 96%, transparent 96%);
}
.tape.pink { background: var(--pink-tape); }
.polaroid {
  background: #fff; padding: .5rem .5rem 1.6rem; border-radius: 4px; box-shadow: var(--shadow);
  position: relative; transition: transform .25s ease;
}
.polaroid img { border-radius: 2px; aspect-ratio: 4/3; object-fit: cover; }
.polaroid figcaption { position:absolute; bottom:.35rem; left:0; right:0; text-align:center;
  font-family: var(--hand); font-size: 1rem; color: var(--green); }
.polaroid:hover { transform: rotate(0) translateY(-4px) scale(1.02); z-index: 5; }

.star, .heart { position: absolute; pointer-events: none; }
.dotline { height: 2px; background-image: linear-gradient(90deg, var(--green) 0 8px, transparent 8px 16px);
  background-size: 16px 2px; opacity:.5; }

/* torn paper dividers between bands */
.torn { position: relative; }
.torn-top::before, .torn-bottom::after {
  content:""; position:absolute; left:0; right:0; height: 26px; z-index: 2;
  background-repeat: repeat-x; background-size: 80px 26px;
}
.torn-top::before { top:-1px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='26'%3E%3Cpath d='M0 26 L0 10 Q10 2 20 9 T40 9 T60 9 T80 8 L80 26 Z' fill='%23FBF8F2'/%3E%3C/svg%3E"); }

/* ---------- section frame -------------------------------------------- */
.section { padding: clamp(3rem, 7vw, 5.5rem) 0; position: relative; }
.eyebrow { display:inline-block; font-family: var(--disp); font-weight:700; letter-spacing:.08em;
  color: var(--green); background: var(--green-soft); padding:.25rem .8rem; border-radius:999px; font-size:.82rem; }
.h2 { font-size: clamp(1.8rem, 4.6vw, 3rem); font-weight: 900; line-height: 1.12; margin:.7rem 0 .4rem; letter-spacing: -.01em; }
.lead { font-size: clamp(1rem, 2vw, 1.18rem); color: #3a5347; max-width: 46ch; }
.hi { color: var(--pink); }
.hi-g { color: var(--green); }
.underline-pen { background: linear-gradient(transparent 62%, var(--gold) 62% 92%, transparent 92%); padding: 0 .1em; }

/* ---------- hero ------------------------------------------------------ */
.hero { padding: clamp(2.4rem,6vw,4rem) 0 clamp(4.5rem,8vw,7rem); position: relative; }
.hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap: clamp(1.4rem,4vw,3rem); align-items:center; }
.hero .kicker { font-family: var(--hand); color: var(--pink-deep); font-size: 1.3rem; transform: rotate(-2deg); display:inline-block; }
.hero h1 { font-size: clamp(2.3rem, 6.2vw, 4.4rem); font-weight: 900; line-height: 1.07; margin:.4rem 0 .8rem; letter-spacing:-.02em; }
.hero h1 .big5 { font-family: var(--disp); color: var(--pink); font-size: 1.12em; }
.naver-badges { display:flex; align-items:center; gap:.5rem; margin:.4rem 0 1rem; flex-wrap:wrap; }
.nv { display:inline-flex; align-items:center; gap:.35rem; font-weight:800; color:#fff; background:#03C75A;
  padding:.28rem .7rem; border-radius:8px; font-size:.86rem; box-shadow: var(--shadow-sm); }
.nv.blog { background:#03C75A; }
.nv .tag { background: rgba(255,255,255,.22); padding:0 .35rem; border-radius:4px; font-size:.72rem; }
.naver-badge { height: 34px; width: auto; display: inline-block; filter: drop-shadow(0 3px 6px rgba(20,45,35,.12)); }
.naver-badges .x { font-weight: 900; color: #9aa89f; font-size: 1.1rem; }
.benefit-chips { list-style:none; margin:1.1rem 0 1.4rem; padding:0; display:flex; flex-wrap:wrap; gap:.5rem; }
.benefit-chips li { background:#fff; border:1px solid rgba(31,107,69,.2); color: var(--green-dark);
  padding:.42rem .8rem; border-radius:999px; font-weight:700; font-size:.86rem; box-shadow: var(--shadow-sm); }
.benefit-chips li::before { content:"✓"; color: var(--pink); font-weight:900; margin-right:.35rem; }
.hero-cta { display:flex; gap:.7rem; flex-wrap:wrap; align-items:center; }
.hero-cta .note { font-size:.8rem; color:#5a6f63; }
.hero-collage { position: relative; min-height: 520px; perspective: 1100px; transform-style: preserve-3d; transition: transform .25s ease-out; }
.hero-collage > * { transition: transform .2s ease-out; will-change: transform; }
.hero-collage .polaroid { position:absolute; width: 34%; }
.hero-collage .polaroid img { aspect-ratio: 3/4; }
.hero-collage .c-jiufen  { top:2%;  left:0;    transform: rotate(-6deg); z-index:2; }
.hero-collage .c-food    { top:0;   right:0;   transform: rotate(5deg);  z-index:2; }
.hero-collage .c-market  { top:31%; left:-3%;  transform: rotate(-4deg); z-index:1; width:31%; }
.hero-collage .c-rainbow { top:34%; right:-3%; transform: rotate(4deg);  z-index:1; width:31%; }
.hero-collage .hero-travelers {
  position:absolute; bottom:4%; left:50%; transform: translateX(-50%);
  width:90%; max-width:450px; z-index:5;
  filter: drop-shadow(0 16px 18px rgba(20,45,35,.22));
}

/* journey strip (cover slide bottom flow) */
.journey { background: var(--paper-2); border-top:1px solid rgba(31,107,69,.12); border-bottom:1px solid rgba(31,107,69,.12); padding: 1.1rem 0; }
.journey-row { display:flex; align-items:flex-start; justify-content:space-between; gap:.3rem; }
.j-step { display:flex; flex-direction:column; align-items:center; gap:.45rem; text-align:center; flex:1 1 0; min-width:0; font-weight:700; font-size:.82rem; color:var(--green-dark); }
.j-step img, .j-step svg { width:38px; height:38px; object-fit:contain; }
.j-arr { color: var(--pink); font-weight:900; align-self:center; padding-top:18px; }
@media (max-width:700px){
  .journey-row { flex-wrap:wrap; gap:.9rem .4rem; }
  .j-arr { display:none; }
  .j-step { flex-basis:30%; font-size:.74rem; }
}
.speech { position:absolute; background:#fff; border:2px solid var(--green); color:var(--green-dark);
  font-family: var(--hand); font-size:1.05rem; padding:.3rem .7rem; border-radius:14px; box-shadow: var(--shadow-sm); }
.speech::after{ content:""; position:absolute; bottom:-9px; left:18px; border:8px solid transparent; border-top-color: var(--green); }

/* ---------- stats ----------------------------------------------------- */
.stat { text-align:center; }
.stat .num { font-family: var(--disp); font-weight: 700; line-height: 1; letter-spacing:-.02em;
  font-size: clamp(2.2rem, 6vw, 3.6rem); color: var(--pink); }
.stat .num.g { color: var(--green); }
.stat .unit { font-size:.5em; font-weight:700; }
.stat .cap { font-size:.86rem; color:#4b6157; margin-top:.35rem; font-weight:600; }
.stat-row { display:grid; grid-template-columns: repeat(4, 1fr); gap:1rem; }

/* ---------- case study band ------------------------------------------ */
.band-green { background: linear-gradient(180deg, var(--green), var(--green-dark)); color: #fdfbf4; }
.band-green .h2, .band-green .eyebrow { color:#fff; }
.band-green .eyebrow { background: rgba(255,255,255,.16); }
.band-green .lead { color: rgba(255,255,255,.86); }
.band-green .stat .num { color: var(--gold); }
.band-green .stat .num.g { color:#fff; }
.band-green .stat .cap { color: rgba(255,255,255,.8); }
.venues { display:grid; grid-template-columns: repeat(3,1fr); gap:1rem; margin-top:1.6rem; }
.kr-quotes { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1.4rem; }
.kr-quotes span { background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
  padding:.4rem .8rem; border-radius:999px; font-family: var(--hand); }

/* ---------- power team ------------------------------------------------ */
.team-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: clamp(1rem,3vw,1.8rem); margin-top:2rem; }
.team-card { background:#fff; border-radius:16px; box-shadow: var(--shadow); padding:1.2rem; position:relative; }
.team-card .role { position:absolute; top:-12px; left:1rem; font-size:.72rem; font-weight:800; color:#fff;
  background: var(--green); padding:.25rem .7rem; border-radius:999px; box-shadow: var(--shadow-sm); }
.team-card.lead .role { background: var(--pink); }
.team-card .photo { aspect-ratio: 1/1; border-radius:12px; object-fit:cover; margin:.7rem 0 .6rem; background: var(--paper-2); }
.team-card h3 { margin:.2rem 0 0; font-size:1.35rem; font-weight:900; }
.team-card .org { color: var(--green); font-weight:700; font-size:.9rem; margin-bottom:.5rem; }
.team-card ul { margin:.4rem 0 0; padding-left:1.1rem; font-size:.84rem; color:#3c5448; }
.team-card ul li { margin:.18rem 0; }

/* ---------- market / bars -------------------------------------------- */
.split { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(1.2rem,4vw,2.6rem); }
.bars { margin-top:.6rem; }
.bar { margin:.55rem 0; }
.bar .barlab { display:flex; justify-content:space-between; font-weight:700; font-size:.9rem; margin-bottom:.2rem; }
.bar .track { height:12px; background: var(--paper-2); border-radius:999px; overflow:hidden; }
.bar .fill { height:100%; width:0; border-radius:999px; background: linear-gradient(90deg, var(--green), #2f9160); transition: width 1.1s cubic-bezier(.2,.7,.2,1); }
.bar.pink .fill { background: linear-gradient(90deg, var(--pink), #f07b98); }
.scene-list { list-style:none; margin:.4rem 0 0; padding:0; }
.scene-list li { display:flex; align-items:center; gap:.7rem; padding:.45rem 0; border-bottom:1px dashed rgba(31,107,69,.2); }
.scene-list .rank { width:26px; height:26px; border-radius:50%; background: var(--pink); color:#fff; font-weight:800; display:grid; place-items:center; font-size:.82rem; }
.scene-list .pct { margin-left:auto; font-family: var(--disp); font-weight:700; color: var(--green); }
.megastat { text-align:center; background:#fff; border-radius:18px; padding:1.6rem; box-shadow: var(--shadow); }
.megastat .num { font-family: var(--disp); font-size: clamp(2.6rem,7vw,4rem); color: var(--pink); line-height:1; }

/* ---------- method ---------------------------------------------------- */
.method-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:1.6rem; }
.naver-card { background:#fff; border-radius:18px; box-shadow: var(--shadow); padding:1.4rem; border-top:6px solid #03C75A; }
.naver-card h3 { margin:.2rem 0; font-size:1.4rem; font-weight:900; }
.naver-card .sub { color:#5a6f63; font-weight:600; margin-bottom:.6rem; }
.naver-card ul { margin:.5rem 0 0; padding-left:1.1rem; }
.naver-card li { margin:.3rem 0; }
.naver-card .big { font-family: var(--disp); font-weight:700; color: var(--green); }
.funnel { display:flex; align-items:center; justify-content:center; gap:.5rem; flex-wrap:wrap; margin-top:1.6rem;
  background: var(--pink-soft); border-radius:16px; padding:1rem; }
.funnel .step { font-weight:800; color: var(--green-dark); }
.funnel .arr { color: var(--pink); font-weight:900; }

/* ---------- plans / pricing ------------------------------------------ */
.plans { display:grid; grid-template-columns: repeat(3,1fr); gap:1.1rem; margin-top:2rem; align-items:stretch; }
.plan-card { background:#fff; border-radius:18px; box-shadow: var(--shadow); padding:1.5rem 1.3rem; display:flex; flex-direction:column; position:relative; border:2px solid transparent; }
.plan-card.featured { border-color: var(--gold); background: linear-gradient(180deg,#fff, #fffdf6); }
.ribbon { position:absolute; top:-12px; right:14px; background: var(--pink); color:#fff; font-weight:800; font-size:.74rem;
  padding:.3rem .7rem; border-radius:999px; box-shadow: var(--shadow-sm); }
.plan-card .tier { font-size:.78rem; font-weight:800; color: var(--green); letter-spacing:.05em; }
.plan-card h3 { margin:.2rem 0 .6rem; font-size:1.2rem; font-weight:900; line-height:1.25; }
.plan-card ul { margin:0 0 1rem; padding-left:1.1rem; font-size:.85rem; color:#3c5448; flex:1; }
.plan-card ul li { margin:.28rem 0; }
.price { font-family: var(--disp); font-weight:700; font-size: 2rem; color: var(--pink); line-height:1; }
.price-old { text-decoration: line-through; color:#9aa89f; font-weight:600; font-size:.95rem; margin-left:.4rem; }
.price-note { font-size:.78rem; color:#5a6f63; margin-top:.3rem; }

/* ---------- forms / register ----------------------------------------- */
.panel { background:#fff; border-radius:20px; box-shadow: var(--shadow); padding: clamp(1.4rem,4vw,2.4rem); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.2rem; margin-top:1.2rem; }
.field { display:flex; flex-direction:column; gap:.3rem; }
.field.full { grid-column: 1 / -1; }
.field label { font-weight:700; font-size:.86rem; }
.field label .req { color: var(--pink); }
.field input { font:inherit; padding:.72rem .85rem; border:1.5px solid rgba(31,107,69,.25); border-radius:10px; background: var(--paper); }
.field input:focus { outline:none; border-color: var(--green); box-shadow:0 0 0 3px rgba(31,107,69,.15); }
.consent { display:flex; gap:.55rem; align-items:flex-start; font-size:.82rem; color:#3c5448; margin-top:.4rem; }
.form-actions { margin-top:1.3rem; display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; }

/* deposit / schedule */
.steps { display:grid; grid-template-columns: repeat(3,1fr); gap:1rem; margin-top:1.4rem; }
.step-card { background: var(--paper-2); border-radius:14px; padding:1.1rem; border:1px dashed rgba(31,107,69,.3); }
.step-card .n { width:28px; height:28px; border-radius:50%; background: var(--green); color:#fff; font-weight:800; display:grid; place-items:center; }
.locked { opacity:.55; filter: grayscale(.3); }
.badge-mvp { display:inline-block; background: var(--gold); color: var(--green-dark); font-weight:800; font-size:.7rem; padding:.18rem .5rem; border-radius:6px; letter-spacing:.04em; }
.deposit-amt { font-family: var(--disp); font-weight:700; font-size:2.6rem; color: var(--pink); }

/* slot picker */
.slots { display:flex; gap:.55rem; flex-wrap:wrap; margin-top:1rem; }
.slot { border:1.5px solid rgba(31,107,69,.3); background:#fff; border-radius:10px; padding:.55rem .9rem; cursor:pointer; font-weight:700; color: var(--green-dark); }
.slot[aria-pressed="true"] { background: var(--green); color:#fff; border-color: var(--green); }

/* ---------- reserve band + booking modal ----------------------------- */
.reserve-band { background: linear-gradient(180deg, var(--pink-soft), var(--paper)); text-align:center; }
.btn-lg { font-size: 1.1rem; padding: 1rem 2.4rem; }
.reserve-note { margin-top:.85rem; font-size:.85rem; color:#5a6f63; }

.modal-overlay { position: fixed; inset: 0; z-index: 100; background: rgba(20,45,35,.55);
  backdrop-filter: blur(3px); display: grid; place-items: center; padding: 1.2rem; overflow-y: auto; }
.modal-overlay[hidden] { display: none; }
.modal { background: var(--paper); width: min(100%, 560px); border-radius: 20px; position: relative;
  box-shadow: 0 30px 70px rgba(0,0,0,.35); padding: clamp(1.4rem,4vw,2.2rem);
  max-height: calc(100vh - 2.4rem); overflow-y: auto; animation: modalIn .25s ease-out; }
@keyframes modalIn { from { opacity:0; transform: translateY(16px) scale(.98); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .modal { animation: none; } }
.modal-close { position: absolute; top:.7rem; right:.9rem; width:36px; height:36px; border:0; border-radius:50%;
  background: var(--paper-2); font-size:1.4rem; line-height:1; cursor:pointer; color: var(--ink); }
.modal-close:hover { background: var(--pink-soft); }
.modal-steps { display:flex; gap:.4rem; list-style:none; margin:0 0 1.2rem; padding:0; }
.modal-steps .mstep { flex:1; display:flex; align-items:center; gap:.4rem; font-size:.8rem; font-weight:700; color:#9aa89f; }
.modal-steps .mstep i { font-style: normal; }
.modal-steps .mstep span { width:24px; height:24px; border-radius:50%; background: var(--paper-2); color:#9aa89f;
  display:grid; place-items:center; font-family: var(--disp); font-size:.8rem; flex:none; }
.modal-steps .mstep.is-active { color: var(--ink); }
.modal-steps .mstep.is-active span { background: var(--pink); color:#fff; }
.modal-steps .mstep.is-done { color: var(--green); }
.modal-steps .mstep.is-done span { background: var(--green); color:#fff; }
.modal-title { font-size: 1.5rem; font-weight: 900; margin:.2rem 0 .3rem; }
.modal-sub { color:#4b6157; font-size:.92rem; margin:0 0 1.1rem; }
.deposit-row { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; background: var(--paper-2);
  border-radius:14px; padding:1rem; margin-bottom:1rem; }

/* ---------- contact / footer ----------------------------------------- */
.contact-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap: clamp(1.2rem,4vw,2.4rem); align-items:center; }
.qr-box { background:#fff; border-radius:16px; padding:1.2rem; text-align:center; box-shadow: var(--shadow); }
.qr-box .qr { width:160px; height:160px; margin:0 auto .6rem; background:
  repeating-conic-gradient(var(--green-dark) 0% 25%, #fff 0% 50%) 50%/16px 16px; border-radius:8px; opacity:.8; }
.line-btn { background:#06C755; color:#fff; }
footer { background: var(--green-dark); color: rgba(255,255,255,.8); padding:2rem 0; text-align:center; font-size:.84rem; }
footer .src { font-size:.72rem; opacity:.6; margin-top:.6rem; }

/* ---------- reveal animation ----------------------------------------- */
.reveal { opacity:0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } .bar .fill{ transition:none; } }

/* ---------- responsive ------------------------------------------------ */
@media (max-width: 900px){
  .hero-grid, .split, .method-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero-collage { min-height: 300px; margin-top:1rem; }
  .team-grid, .plans { grid-template-columns: 1fr; }
  .stat-row { grid-template-columns: 1fr 1fr; }
  .venues { grid-template-columns:1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .steps { grid-template-columns:1fr; }
}
@media (max-width: 420px){
  .polaroid, .team-card, .speech { transform: none !important; }
  .stat-row { grid-template-columns: 1fr 1fr; }
}
