/* =========================================================
     Chewstep · Landing (single file)
     Hero(ver.1.2) 디자인 토큰 계승 · Premium SaaS 톤
     ========================================================= */
  :root {
    --ink:#0b0d10; --ink-2:#3a4048; --ink-soft:#6b7280;
    --line:#e7e9ee; --bg:#ffffff; --bg-soft:#f7f8fa;
    --brand:#0e9f6e; --brand-deep:#0a7d57; --brand-tint:#e9f7f1;
    --amber:#b7791f; --amber-tint:#fdf6e7; --amber-dot:#e0a53b;
    /* 미래(비전) 전용 톤 — 현재 기능과 구분 */
    --future:#5b6bd8; --future-tint:#eef0fc; --future-line:#cdd4f6;
    --radius:20px;
    --shadow-sm:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.06);
    --shadow-md:0 10px 30px rgba(16,24,40,.08),0 2px 8px rgba(16,24,40,.05);
    --shadow-lg:0 30px 60px -12px rgba(16,24,40,.18),0 8px 24px rgba(16,24,40,.08);
    --font:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Segoe UI","Malgun Gothic","Noto Sans KR",Roboto,sans-serif;
    --nav-h:64px;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 12px); }
  body {
    font-family:var(--font); color:var(--ink-2); background:var(--bg);
    line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
    word-break:keep-all;
  }
  a { color:inherit; }
  img { max-width:100%; }

  /* 접근성: 키보드 포커스 */
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
    outline:3px solid rgba(14,159,110,.45); outline-offset:2px; border-radius:6px;
  }
  .skip {
    position:absolute; left:-999px; top:8px; background:#fff; color:var(--ink);
    padding:10px 16px; border-radius:10px; z-index:200; box-shadow:var(--shadow-md);
  }
  .skip:focus { left:8px; }

  .wrap { width:100%; max-width:1160px; margin:0 auto; padding:0 24px; }
  section { padding:96px 0; }
  .sec-soft { background:var(--bg-soft); }
  .eyebrow {
    display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700;
    color:var(--brand-deep); background:var(--brand-tint); padding:7px 14px; border-radius:999px;
  }
  .eyebrow .dot { width:7px;height:7px;border-radius:50%;background:var(--brand); }
  h2 {
    color:var(--ink); font-size:clamp(26px,3.4vw,40px); line-height:1.24;
    letter-spacing:-.028em; font-weight:800; text-wrap:balance; margin:18px 0 16px;
  }
  .lead { font-size:clamp(15px,1.4vw,18px); color:var(--ink-soft); max-width:44em; text-wrap:pretty; }
  .btn {
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    font-family:var(--font); font-size:16px; font-weight:700; letter-spacing:-.01em;
    padding:14px 24px; border-radius:14px; cursor:pointer; text-decoration:none;
    border:1px solid transparent; transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .22s,border-color .2s,background .2s;
  }
  .btn-primary { color:#fff; background:linear-gradient(145deg,var(--brand),var(--brand-deep));
    box-shadow:0 6px 18px rgba(14,159,110,.28),inset 0 1px 0 rgba(255,255,255,.18); }
  .btn-primary:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(14,159,110,.34); }
  .btn-primary .arrow { transition:transform .2s; }
  .btn-primary:hover .arrow { transform:translateX(3px); }
  .btn-ghost { color:var(--ink); background:#fff; border-color:var(--line); box-shadow:var(--shadow-sm); }
  .btn-ghost:hover { transform:translateY(-2px); border-color:#d3d7df; box-shadow:var(--shadow-md); }

  /* ===== Header (sticky) ===== */
  .site-head {
    position:sticky; top:0; z-index:100; height:var(--nav-h);
    background:rgba(255,255,255,.82); backdrop-filter:saturate(160%) blur(12px);
    border-bottom:1px solid var(--line);
  }
  .nav { height:var(--nav-h); display:flex; align-items:center; justify-content:space-between; gap:16px; }
  .brand { display:flex; align-items:center; gap:10px; font-weight:800; color:var(--ink); font-size:18px; letter-spacing:-.01em; text-decoration:none; }
  .brand .logo { width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,var(--brand),var(--brand-deep));display:grid;place-items:center;color:#fff;font-size:16px;box-shadow:var(--shadow-sm); }
  .nav-menu { display:flex; align-items:center; gap:4px; }
  .nav-menu a { font-size:14.5px; font-weight:600; color:var(--ink-soft); text-decoration:none; padding:9px 14px; border-radius:10px; transition:color .2s,background .2s; }
  .nav-menu a:hover { color:var(--ink); background:var(--bg-soft); }
  .nav-cta { display:flex; align-items:center; gap:10px; }
  .nav-cta .btn { padding:10px 18px; font-size:14.5px; border-radius:12px; }
  .hamburger { display:none; width:44px;height:44px; border:1px solid var(--line); background:#fff; border-radius:12px; cursor:pointer; align-items:center; justify-content:center; }
  .hamburger span, .hamburger span::before, .hamburger span::after {
    content:""; display:block; width:18px; height:2px; background:var(--ink); border-radius:2px; position:relative; transition:.25s;
  }
  .hamburger span::before { position:absolute; top:-6px; } .hamburger span::after { position:absolute; top:6px; }
  .mobile-menu { display:none; }

  @media (max-width:860px) {
    .nav-menu, .nav-cta .btn-primary { display:none; }
    .hamburger { display:flex; }
    .mobile-menu { display:block; position:fixed; inset:var(--nav-h) 0 auto 0; background:#fff; border-bottom:1px solid var(--line);
      transform:translateY(-120%); transition:transform .28s cubic-bezier(.2,.7,.3,1); z-index:99; box-shadow:var(--shadow-md); }
    .mobile-menu.open { transform:translateY(0); }
    .mobile-menu a { display:block; padding:16px 24px; font-weight:600; color:var(--ink); text-decoration:none; border-top:1px solid var(--line); }
    .mobile-menu .btn { margin:16px 24px 20px; }
  }

  /* ===== Hero ===== */
  .hero { position:relative; overflow:hidden;
    background:radial-gradient(60% 55% at 85% 8%,rgba(14,159,110,.06),transparent 70%),
      radial-gradient(50% 50% at 8% 100%,rgba(14,159,110,.04),transparent 70%),var(--bg);
    padding:72px 0 96px; }
  .hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
  .hero-center { max-width:780px; margin:0 auto; text-align:center; }
  .hero-center .sub { margin-left:auto; margin-right:auto; }
  .hero-center .ctas { justify-content:center; }
  .hero-center .trust { justify-content:center; }
  .hero h1 { color:var(--ink); font-size:clamp(34px,5vw,56px); line-height:1.14; letter-spacing:-.032em; font-weight:800; text-wrap:balance; margin:22px 0 20px; }
  .hero h1 .accent { color:var(--brand-deep); background:linear-gradient(180deg,transparent 62%,rgba(14,159,110,.16) 62%); padding:0 .04em; }
  .hero .sub { font-size:clamp(16px,1.5vw,19px); line-height:1.62; color:var(--ink-soft); max-width:32em; text-wrap:pretty; margin-bottom:20px; }
  .privacy-note { display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--brand-deep); background:var(--brand-tint); padding:9px 14px; border-radius:12px; margin-bottom:26px; }
  .privacy-note::before { content:"🔒"; }
  .ctas { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
  .trust { display:flex; flex-wrap:wrap; gap:10px 22px; padding-top:24px; border-top:1px solid var(--line); }
  .trust span { display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ink-soft); }
  .trust .chk { width:18px;height:18px;border-radius:50%;background:var(--brand-tint);color:var(--brand-deep);display:grid;place-items:center;font-size:11px;font-weight:900;flex:none; }

  /* Hero 결과 Mockup */
  .mock-stage { position:relative; display:flex; justify-content:center; }
  .app { position:relative; width:100%; max-width:410px; background:#fff; border:1px solid var(--line);
    border-radius:26px; box-shadow:var(--shadow-lg); padding:22px; animation:floatY 6s ease-in-out infinite; }
  @keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
  .app-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
  .app-title { display:flex; align-items:center; gap:10px; }
  .app-title .ic { width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--brand),var(--brand-deep));display:grid;place-items:center;color:#fff;font-size:17px; }
  .app-title b { color:var(--ink); font-size:15px; font-weight:700; }
  .app-title .sub-t { display:block; font-size:11.5px; color:var(--ink-soft); font-weight:600; margin-top:1px; }
  .app-tag { font-size:11.5px; font-weight:700; color:var(--ink-soft); background:var(--bg-soft); border:1px solid var(--line); padding:5px 10px; border-radius:999px; }
  .metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:14px; }
  .metric { background:var(--bg-soft); border:1px solid var(--line); border-radius:13px; padding:11px 10px; }
  .metric .k { font-size:11px; color:var(--ink-soft); font-weight:600; margin-bottom:6px; }
  .metric .v { display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--ink); }
  .metric .v .dot { width:7px;height:7px;border-radius:50%;flex:none; }
  .dot.warn { background:var(--amber-dot); box-shadow:0 0 0 3px var(--amber-tint); }
  .dot.ok { background:var(--brand); box-shadow:0 0 0 3px var(--brand-tint); }
  .rblock { border-top:1px solid var(--line); padding-top:12px; margin-top:2px; }
  .rblock .rk { font-size:11px; font-weight:800; color:var(--brand-deep); letter-spacing:.01em; margin-bottom:5px; }
  .rblock p { font-size:12.8px; line-height:1.55; color:var(--ink-2); margin-bottom:12px; }
  .rblock p b { color:var(--ink); }
  .rnote { font-size:11px; color:var(--ink-soft); background:var(--bg-soft); border:1px solid var(--line); border-radius:10px; padding:9px 11px; line-height:1.5; }

  /* ===== 공통 카드/그리드 ===== */
  .cards { display:grid; gap:16px; margin-top:36px; }
  .cols-2 { grid-template-columns:repeat(2,1fr); }
  .cols-3 { grid-template-columns:repeat(3,1fr); }
  .card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow-sm); }
  .card h3 { color:var(--ink); font-size:16.5px; font-weight:700; margin-bottom:8px; letter-spacing:-.01em; }
  .card p { font-size:14.5px; color:var(--ink-soft); }

  /* 부모 고민 */
  .worry { display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--ink-2); }
  .worry::before { content:"“"; color:var(--brand); font-weight:800; font-size:26px; line-height:1; flex:none; }
  .worry::after { content:"”"; color:var(--brand); font-weight:800; font-size:26px; line-height:1; flex:none; align-self:flex-end; }

  /* 비교 (기존 앱 vs Chewstep) */
  .compare { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:36px; }
  .compare .col { border-radius:18px; padding:26px; }
  .compare .old { background:#fff; border:1px solid var(--line); }
  .compare .new { background:linear-gradient(180deg,var(--brand-tint),#fff 70%); border:1px solid #bfe6d5; }
  .compare h3 { font-size:15px; letter-spacing:-.01em; margin-bottom:16px; color:var(--ink); }
  .compare ul { list-style:none; display:grid; gap:11px; }
  .compare li { display:flex; gap:10px; align-items:flex-start; font-size:14.5px; color:var(--ink-2); }
  .compare .old li::before { content:"·"; color:var(--ink-soft); font-weight:800; }
  .compare .new li::before { content:"✓"; color:var(--brand-deep); font-weight:900; flex:none; }
  .keyline { margin-top:26px; font-size:clamp(16px,1.7vw,20px); font-weight:700; color:var(--ink); letter-spacing:-.01em; text-wrap:balance; }
  .keyline span { color:var(--brand-deep); }

  /* Steps */
  .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:36px; counter-reset:step; }
  .step { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; position:relative; }
  .step .n { width:36px;height:36px;border-radius:11px;background:var(--brand-tint);color:var(--brand-deep);display:grid;place-items:center;font-weight:800;font-size:16px;margin-bottom:14px; }
  .step h3 { color:var(--ink); font-size:16.5px; font-weight:700; margin-bottom:8px; }
  .step p { font-size:14px; color:var(--ink-soft); }
  .step .qs { margin-top:12px; display:grid; gap:7px; }
  .step .qs li { list-style:none; font-size:13.5px; color:var(--ink-2); display:flex; gap:8px; }
  .step .qs li::before { content:"–"; color:var(--brand); }

  /* 5 관점 */
  .perspectives { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:36px; }
  .persp { background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 16px; }
  .persp .pn { font-size:12px; font-weight:800; color:var(--brand-deep); margin-bottom:8px; }
  .persp b { display:block; color:var(--ink); font-size:14.5px; letter-spacing:-.01em; }
  .scope-note { margin-top:22px; display:flex; gap:12px; align-items:flex-start; background:var(--amber-tint); border:1px solid #f0e2bf; border-radius:14px; padding:16px 18px; font-size:14px; color:#6b5518; }
  .scope-note::before { content:"ℹ️"; flex:none; }

  /* 미래 비전 (구분되는 톤) */
  .vision { background:
      repeating-linear-gradient(135deg,rgba(91,107,216,.03) 0 12px,transparent 12px 24px), var(--future-tint); }
  .vision .box { border:1.5px dashed var(--future-line); border-radius:20px; padding:36px; background:rgba(255,255,255,.7); }
  .badge-future { display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:800; color:var(--future);
    background:#fff; border:1px solid var(--future-line); padding:7px 14px; border-radius:999px; }
  .badge-future::before { content:"✦"; }
  .vision h2 { margin-top:16px; }
  .vision .notice { margin-top:22px; display:inline-flex; gap:10px; align-items:flex-start; font-size:14px; font-weight:600;
    color:var(--future); background:#fff; border:1px solid var(--future-line); border-radius:12px; padding:12px 16px; }
  .vision .disclaim { margin-top:12px; font-size:13px; color:var(--ink-soft); }

  /* 결과 미리보기 (큰 카드) */
  .preview-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:36px; }
  .result-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px; box-shadow:var(--shadow-md); }
  .result-card .tag { display:inline-block; font-size:12px; font-weight:700; color:var(--brand-deep); background:var(--brand-tint); padding:5px 12px; border-radius:999px; margin-bottom:18px; }
  .rrow { padding:14px 0; border-top:1px solid var(--line); }
  .rrow:first-of-type { border-top:none; }
  .rrow .rk { font-size:12px; font-weight:800; color:var(--brand-deep); letter-spacing:.01em; margin-bottom:6px; }
  .rrow p { font-size:14.5px; line-height:1.6; color:var(--ink-2); }
  .rrow p b { color:var(--ink); }
  .rlimit { margin-top:16px; font-size:12.5px; color:var(--ink-soft); background:var(--bg-soft); border:1px solid var(--line); border-radius:10px; padding:11px 13px; }

  /* 왜 AI / 개인정보 / 의료 경계 리스트 */
  .facts { list-style:none; display:grid; gap:12px; margin-top:24px; max-width:52em; }
  .facts li { display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--ink-2); }
  .facts li::before { content:"✓"; color:var(--brand-deep); font-weight:900; flex:none; margin-top:1px; }
  .callout { border-left:4px solid var(--brand); background:var(--bg-soft); border-radius:0 14px 14px 0; padding:20px 22px; margin-top:24px; }
  .callout strong { color:var(--ink); }

  /* FAQ */
  .faq { max-width:820px; margin:36px auto 0; }
  .faq details { border:1px solid var(--line); border-radius:14px; margin-bottom:12px; background:#fff; overflow:hidden; }
  .faq summary { list-style:none; cursor:pointer; padding:18px 22px; font-weight:700; color:var(--ink); font-size:15.5px; display:flex; justify-content:space-between; gap:16px; align-items:center; }
  .faq summary::-webkit-details-marker { display:none; }
  .faq summary::after { content:"+"; color:var(--brand-deep); font-weight:800; font-size:20px; flex:none; transition:transform .2s; }
  .faq details[open] summary::after { transform:rotate(45deg); }
  .faq .a { padding:0 22px 20px; font-size:14.5px; color:var(--ink-soft); line-height:1.65; }

  /* 사전 신청 폼 */
  .apply { background:linear-gradient(180deg,var(--brand-tint),#fff 60%); }
  .form { max-width:560px; margin:32px auto 0; background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px; box-shadow:var(--shadow-md); }
  .field { margin-bottom:16px; }
  .field label { display:block; font-size:13.5px; font-weight:700; color:var(--ink); margin-bottom:7px; }
  .field input, .field select {
    width:100%; font-family:var(--font); font-size:15px; color:var(--ink); background:#fff;
    border:1px solid var(--line); border-radius:12px; padding:13px 14px; transition:border-color .2s;
  }
  .field input:focus, .field select:focus { border-color:var(--brand); outline:none; }
  .consent { display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--ink-soft); }
  .consent input { width:18px; height:18px; margin-top:2px; flex:none; }
  .form .btn { width:100%; margin-top:8px; }
  .form-msg { margin-top:14px; font-size:13.5px; padding:12px 14px; border-radius:10px; display:none; }
  .form-msg.show { display:block; }
  .form-msg.info { background:var(--amber-tint); color:#6b5518; border:1px solid #f0e2bf; }

  /* Footer */
  footer { background:#0b0d10; color:#9aa2ad; padding:56px 0 40px; }
  footer .cols { display:flex; flex-wrap:wrap; gap:32px 64px; justify-content:space-between; }
  footer .brand { color:#fff; }
  footer .brand .logo { box-shadow:none; }
  footer .fdesc { font-size:13.5px; max-width:26em; margin-top:14px; line-height:1.6; }
  footer nav { display:flex; flex-wrap:wrap; gap:10px 26px; }
  footer nav a { font-size:13.5px; color:#c4cbd4; text-decoration:none; }
  footer nav a:hover { color:#fff; }
  footer .legal { margin-top:32px; padding-top:24px; border-top:1px solid #23272e; font-size:12.5px; line-height:1.7; }
  footer .legal b { color:#e7e9ee; }

  /* ===== 카카오 상담 플로팅 버튼 (우측 하단 고정) ===== */
  .kakao-fab {
    position:fixed; right:22px; bottom:22px; z-index:90;
    display:inline-flex; align-items:center; gap:10px;
    padding:15px 22px 15px 18px; border-radius:999px;
    background:#FEE500; color:#3a1d1d;
    font-family:var(--font); font-size:15.5px; font-weight:800; letter-spacing:-.01em;
    text-decoration:none; border:none; cursor:pointer;
    box-shadow:0 12px 28px rgba(0,0,0,.18),0 3px 10px rgba(0,0,0,.10);
    transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .22s;
  }
  .kakao-fab:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(0,0,0,.24),0 4px 12px rgba(0,0,0,.12); }
  .kakao-fab:active { transform:translateY(-1px); }
  .kakao-fab:focus-visible { outline:3px solid rgba(58,29,29,.5); outline-offset:3px; border-radius:999px; }
  .kakao-fab .kic { width:24px; height:24px; flex:none; display:grid; place-items:center; }
  .kakao-fab .kic svg { width:24px; height:24px; display:block; }
  /* 주목 유도 링 — reduced-motion에서 비활성 */
  .kakao-fab::before {
    content:""; position:absolute; inset:0; border-radius:999px; pointer-events:none;
    animation:kakaoPulse 2.6s ease-out infinite;
  }
  @keyframes kakaoPulse {
    0%   { box-shadow:0 0 0 0 rgba(254,229,0,.55); }
    70%  { box-shadow:0 0 0 16px rgba(254,229,0,0); }
    100% { box-shadow:0 0 0 0 rgba(254,229,0,0); }
  }
  @media (max-width:480px) {
    .kakao-fab { right:16px; bottom:16px; padding:14px 18px 14px 15px; font-size:14.5px; }
  }
  @media (prefers-reduced-motion:reduce) {
    .kakao-fab::before { animation:none; }
    .kakao-fab { transition:none; }
  }

  /* ===== 이메일 문의 플로팅 버튼 ===== */
  .mail-fab {
    position:fixed; right:22px; bottom:22px; z-index:90;
    display:inline-flex; align-items:center; gap:10px;
    padding:15px 22px 15px 18px; border-radius:999px;
    background:linear-gradient(145deg,var(--brand),var(--brand-deep)); color:#fff;
    font-family:var(--font); font-size:15.5px; font-weight:800; letter-spacing:-.01em;
    text-decoration:none; border:none; cursor:pointer;
    box-shadow:0 12px 28px rgba(14,159,110,.28),0 3px 10px rgba(0,0,0,.10);
    transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .22s;
  }
  .mail-fab:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(14,159,110,.34); }
  .mail-fab:active { transform:translateY(-1px); }
  .mail-fab:focus-visible { outline:3px solid rgba(14,159,110,.5); outline-offset:3px; border-radius:999px; }
  .mail-fab .kic { width:22px; height:22px; flex:none; display:grid; place-items:center; }
  .mail-fab .kic svg { width:22px; height:22px; display:block; }
  @media (max-width:480px) {
    .mail-fab { right:16px; bottom:16px; padding:14px 18px 14px 15px; font-size:14.5px; }
  }
  @media (prefers-reduced-motion:reduce) { .mail-fab { transition:none; } }

  /* 진입 애니메이션 */
  .reveal { opacity:0; transform:translateY(16px); transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1); }
  .reveal.in { opacity:1; transform:none; }
  @media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .reveal { opacity:1; transform:none; transition:none; }
    .app { animation:none; }
  }

  /* 반응형 */
  @media (max-width:940px) {
    section { padding:72px 0; }
    .hero-grid { grid-template-columns:1fr; gap:48px; }
    .mock-stage { order:2; }
    .compare, .preview-grid { grid-template-columns:1fr; }
    .cols-2, .cols-3, .steps { grid-template-columns:1fr; }
    .perspectives { grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:480px) {
    .wrap { padding:0 18px; }
    .ctas .btn { flex:1 1 100%; }
    .perspectives { grid-template-columns:1fr; }
  }
