/* === RESET === */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
    body { overscroll-behavior: none; -webkit-font-smoothing: antialiased; }
    img, video { max-width: 100%; display: block; }
    a { text-decoration: none; color: inherit; }
    button { cursor: pointer; border: none; background: none; font: inherit; }
    ::-webkit-scrollbar { display: none; }

    /* === DESIGN TOKENS === */
    :root {
      --color-surface:       #ffffff;
      --color-surface-low:   #f7f7f7;
      --color-surface-cont:  #f2f2f2;
      --color-surface-high:  #ebebeb;
      --color-white:         #ffffff;
      --color-on-surface:    #1a1a1a;
      --color-on-surface-v:  #4a4a4a;
      --color-inverse:       #1a1a1a;
      --color-inverse-on:    #f5f5f5;
      --color-outline:       #9e9e9e;
      --color-outline-v:     #e0e0e0;
      --color-primary:       #7a5736;
      --color-on-primary:    #ffffff;
      --color-primary-c:     #c89d76;
      --color-secondary:     #7a5735;
      --color-tertiary:      #615e56;
      --color-tert-c:        #aaa59b;
      --color-sec-fixed:     #ffdcbf;
      --color-sec-cont:      #fecea4;
      --font-d: 'Playfair Display', Georgia, serif;
      --font-b: 'Inter', system-ui, sans-serif;
      --text-display: clamp(2.375rem, 5.5vw, 3.5rem);
      --text-hl-xl:   clamp(1.875rem, 3.5vw, 2.5rem);
      --text-hl-lg:   clamp(1.5rem, 2.5vw, 2rem);
      --text-hl-md:   clamp(1.25rem, 2vw, 1.5rem);
      --text-title:   1.25rem;
      --text-body-lg: 1.0625rem;
      --text-body-md: 0.9375rem;
      --text-body-sm: 0.8125rem;
      --text-label:   0.6875rem;
      --sp-xs: 0.25rem; --sp-sm: 0.5rem; --sp-md: 1rem;
      --sp-lg: 1.75rem; --sp-xl: 3rem; --sp-2xl: 5rem;
      --mx: clamp(1.25rem, 5vw, 3.5rem);
      --max-w: 80rem;
      --r-sm: 0.125rem; --r-md: 0.25rem; --r-lg: 0.5rem; --r-xl: 0.75rem; --r-full: 9999px;
      --sh-low:  0 4px 20px -2px rgba(38,36,34,.05), 0 1px 4px rgba(0,0,0,.02);
      --sh-mid:  0 16px 40px -4px rgba(184,142,104,.1), 0 4px 12px rgba(38,36,34,.04);
      --sh-high: 0 24px 56px -8px rgba(38,36,34,.12), 0 6px 18px rgba(0,0,0,.05);
      --ease: cubic-bezier(0.16,1,0.3,1);
      --dur-f: 200ms; --dur-b: 350ms; --dur-s: 700ms;
    }

    /* === BASE === */
    body { font-family: var(--font-b); font-size: var(--text-body-md); line-height: 1.6; color: var(--color-on-surface); background: var(--color-surface); }
    .material-symbols-outlined { font-family: 'Material Symbols Outlined'; font-style: normal; line-height: 1; display: inline-block; vertical-align: middle; font-size: 1.25rem; }

    /* === TYPOGRAPHY CLASSES === */
    .fd { font-family: var(--font-d); font-size: var(--text-display); line-height: 1.08; letter-spacing: -0.02em; font-weight: 400; }
    .fhl { font-family: var(--font-d); font-size: var(--text-hl-xl); line-height: 1.18; letter-spacing: -0.015em; font-weight: 400; }
    .fhlg { font-family: var(--font-d); font-size: var(--text-hl-lg); line-height: 1.25; letter-spacing: -0.01em; font-weight: 400; }
    .fhm { font-family: var(--font-d); font-size: var(--text-hl-md); line-height: 1.33; font-weight: 500; }
    .ft { font-family: var(--font-d); font-size: var(--text-title); line-height: 1.4; font-weight: 600; }
    .fq { font-family: var(--font-d); font-size: 1.625rem; line-height: 1.4; font-weight: 400; }
    .flg { font-size: var(--text-body-lg); line-height: 1.65; font-weight: 300; letter-spacing: 0.01em; }
    .fsm { font-size: var(--text-body-sm); line-height: 1.54; }
    .fl { font-size: var(--text-label); line-height: 1.45; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }

    /* === LAYOUT === */
    .wrap { width: 100%; max-width: var(--max-w); margin-inline: auto; padding-inline: var(--mx); }
    .sec { padding-block: var(--sp-2xl); }
    .sec-bg-low { background: var(--color-surface-low); }
    .sec-dark { background: var(--color-inverse); color: var(--color-inverse-on); }
    .grid2 { display: grid; grid-template-columns: 1fr; gap: var(--sp-xl); align-items: center; }
    @media (min-width: 768px) { .grid2 { grid-template-columns: 6fr 5fr; } }
    .grid3 { display: grid; grid-template-columns: 1fr; gap: var(--sp-lg); }
    @media (min-width: 768px) { .grid3 { grid-template-columns: repeat(3, 1fr); } }
    .grid-set { display: grid; grid-template-columns: 1fr; gap: var(--sp-xl); align-items: start; }
    @media (min-width: 768px) { .grid-set { grid-template-columns: 7fr 5fr; } }
    .grid-exp { display: grid; grid-template-columns: 1fr; gap: var(--sp-xl); }
    @media (min-width: 1024px) { .grid-exp { grid-template-columns: 1fr 1fr; align-items: start; } }
    .grid-inq { display: grid; grid-template-columns: 1fr; gap: var(--sp-xl); align-items: start; }
    @media (min-width: 1024px) { .grid-inq { grid-template-columns: 5fr 7fr; } }
    .grid-mom { display: grid; grid-template-columns: 1fr; gap: var(--sp-xl); align-items: start; }
    @media (min-width: 768px) { .grid-mom { grid-template-columns: 8fr 4fr; } }

    /* === ANIMATIONS === */
    @keyframes fadeUp { from { opacity:0; transform: translateY(20px); } to { opacity:1; transform: none; } }
    @keyframes pulse  { 0%,100%{opacity:1;} 50%{opacity:.4;} }
    .afu { animation: fadeUp var(--dur-b) var(--ease) both; }
    .ap  { animation: pulse 2s ease-in-out infinite; }

    /* === LAZY IMG === */
    img[data-src] { opacity: 0; background: var(--color-surface-high); transition: opacity var(--dur-b) var(--ease); }
    img.loaded    { opacity: 1; }
    img.lazy-img  { background: var(--color-surface-high); }

    /* === NAV === */
    .nav { position: fixed; top:0; left:0; width:100%; z-index:100; background: rgba(254,248,245,.92); backdrop-filter: blur(14px) saturate(180%); -webkit-backdrop-filter: blur(14px) saturate(180%); border-bottom: 1px solid var(--color-outline-v); transition: box-shadow var(--dur-f); }
    .nav.scrolled { box-shadow: 0 1px 12px rgba(0,0,0,.05); }
    .nav-inner { display:flex; align-items:center; justify-content:space-between; min-height:6.5rem; padding-block:1rem; }
    .nav-brand { font-family:var(--font-d); font-size:1.25rem; font-weight:500; letter-spacing:-0.01em; transition: color var(--dur-f); }
    .nav-brand:hover { color: var(--color-primary); }
    .nav-links { display:none; align-items:center; gap:var(--sp-xl); list-style:none; }
    .nav-link { font-size:var(--text-label); font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-on-surface-v); transition: color var(--dur-f); }
    .nav-link:hover, .nav-link[aria-current] { color:var(--color-primary); }
    .nav-cta { padding:.625rem 1.25rem; background:var(--color-inverse); color:var(--color-inverse-on); border-radius:var(--r-lg); font-size:var(--text-label); font-weight:600; letter-spacing:0.12em; text-transform:uppercase; transition: background var(--dur-f), transform var(--dur-f); }
    .nav-cta:hover { background:var(--color-primary); transform:translateY(-1px); }
    .nav-ham { display:flex; padding:var(--sp-sm); color:var(--color-on-surface-v); }
    .nav-ham:hover { color:var(--color-on-surface); }
    .mobile-menu { display:none; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:rgba(254,248,245,.97); backdrop-filter:blur(20px); border-bottom:1px solid var(--color-outline-v); padding:var(--sp-lg) var(--mx); gap:var(--sp-lg); list-style:none; }
    .mobile-menu.open { display:flex; }
    .mobile-link { font-size:var(--text-label); font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-on-surface-v); padding-block:var(--sp-xs); border-bottom:1px solid var(--color-outline-v); transition:color var(--dur-f); }
    .mobile-link:hover { color:var(--color-primary); }
    @media (min-width:768px) { .nav-links{display:flex;} .nav-ham{display:none;} }

    /* === HERO === */
    .hero { position:relative; min-height:92vh; display:flex; align-items:flex-end; padding-top:5rem; overflow:hidden; background:var(--color-inverse); }
    .hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.04); transition:transform 8s ease-out; }
    .hero-bg.loaded { transform:scale(1); }
    .hero-scrim-b { position:absolute; inset:0; background:linear-gradient(to top, rgba(29,27,25,.88) 0%, rgba(29,27,25,.25) 50%, transparent); pointer-events:none; }
    .hero-scrim-l { position:absolute; inset:0; background:linear-gradient(to right, rgba(29,27,25,.6) 0%, transparent 65%); pointer-events:none; }
    .hero-badge { position:absolute; top:calc(5rem + 2rem); right:var(--mx); display:flex; align-items:center; gap:var(--sp-sm); padding:.5rem 1rem; border-radius:var(--r-full); background:rgba(255,255,255,.9); backdrop-filter:blur(12px); border:1px solid var(--color-outline-v); z-index:10; }
    .hero-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--color-primary); }
    .hero-content { position:relative; z-index:10; width:100%; padding-block:var(--sp-2xl); }
    .hero-eyebrow { display:flex; align-items:center; gap:var(--sp-sm); color:var(--color-surface-high); margin-bottom:var(--sp-lg); }
    .hero-title { font-family:var(--font-d); font-size:clamp(2.375rem,8vw,4.25rem); line-height:1.06; letter-spacing:-0.02em; font-weight:400; color:#fff; max-width:36rem; margin-bottom:var(--sp-lg); }
    .hero-body { color:var(--color-surface-high); max-width:32rem; margin-bottom:var(--sp-xl); }
    .hero-actions { display:flex; flex-wrap:wrap; gap:var(--sp-md); }

    /* === BUTTONS === */
    .btn { display:inline-flex; align-items:center; gap:var(--sp-sm); border-radius:var(--r-lg); font-size:var(--text-label); font-weight:600; letter-spacing:0.12em; text-transform:uppercase; transition: all var(--dur-f); }
    .btn-p { padding:1rem 2rem; background:var(--color-inverse); color:var(--color-inverse-on); border:1px solid var(--color-inverse); }
    .btn-p:hover { background:var(--color-primary); border-color:var(--color-primary); transform:translateY(-2px); box-shadow:var(--sh-mid); }
    .btn-g { padding:1rem 1.5rem; background:rgba(255,255,255,.12); backdrop-filter:blur(12px); color:#fff; border:1px solid rgba(255,255,255,.25); }
    .btn-g:hover { background:rgba(255,255,255,.22); }
    .btn-sub { width:100%; padding:1rem 2rem; background:var(--color-inverse); color:var(--color-inverse-on); border-radius:var(--r-lg); font-size:var(--text-label); font-weight:600; letter-spacing:0.12em; text-transform:uppercase; display:flex; align-items:center; justify-content:center; gap:var(--sp-sm); transition:all var(--dur-f); }
    .btn-sub:hover { background:var(--color-primary); transform:translateY(-2px); box-shadow:var(--sh-mid); }
    .btn-sub .material-symbols-outlined { transition:transform var(--dur-f); }
    .btn-sub:hover .material-symbols-outlined { transform:translateX(4px); }
    .btn-s { display:inline-flex; align-items:center; gap:var(--sp-sm); padding:1rem 1.75rem; border:1px solid rgba(246,240,236,.4); color:var(--color-inverse-on); border-radius:var(--r-lg); font-size:var(--text-label); font-weight:600; letter-spacing:0.12em; text-transform:uppercase; opacity:.75; transition:opacity var(--dur-f); }
    .btn-s:hover { opacity:1; }

    /* === CARDS === */
    .card { background:var(--color-white); border:1px solid var(--color-outline-v); border-radius:var(--r-xl); padding:var(--sp-lg); box-shadow:var(--sh-low); transition: box-shadow var(--dur-b), transform var(--dur-b); }
    .card:hover { box-shadow:var(--sh-mid); transform:translateY(-3px); }
    .card-footer { display:flex; align-items:center; justify-content:space-between; padding-top:var(--sp-md); margin-top:var(--sp-lg); border-top:1px solid var(--color-outline-v); color:var(--color-tertiary); }

    /* === IMG FRAME === */
    .img-f { position:relative; overflow:hidden; border-radius:var(--r-xl); border:1px solid var(--color-outline-v); box-shadow:var(--sh-low); }
    .img-f img { width:100%; height:100%; object-fit:cover; transition:transform var(--dur-s) var(--ease); }
    .img-f:hover img { transform:scale(1.04); }

    /* === QUOTE FLOAT === */
    .qfloat { position:absolute; bottom:-1.5rem; right:-.75rem; max-width:18rem; padding:var(--sp-md) var(--sp-lg); background:var(--color-white); border:1px solid var(--color-outline-v); border-radius:var(--r-xl); box-shadow:var(--sh-high); z-index:2; }
    @media (min-width:768px) { .qfloat { bottom:-2rem; right:-2rem; } }

    /* === EXPERIENCE CARDS === */
    .exp-card { background:var(--color-white); border:1px solid var(--color-outline-v); border-radius:var(--r-xl); padding:var(--sp-lg); cursor:pointer; box-shadow:var(--sh-low); transition:all var(--dur-b) var(--ease); }
    .exp-card:hover { box-shadow:var(--sh-mid); transform:translateY(-3px); border-color:var(--color-outline); }
    .exp-card-hdr { display:flex; align-items:flex-start; justify-content:space-between; }
    .exp-card-meta { display:flex; align-items:center; gap:var(--sp-md); }
    .exp-card-num { font-family:var(--font-d); font-size:1.5rem; color:var(--color-primary-c); font-weight:400; }
    .exp-card-tog { width:2rem; height:2rem; border-radius:50%; background:var(--color-surface-cont); display:flex; align-items:center; justify-content:center; color:var(--color-on-surface-v); transition:transform var(--dur-f), background var(--dur-f); flex-shrink:0; }
    .exp-card.open .exp-card-tog { transform:rotate(45deg); background:var(--color-primary); color:var(--color-on-primary); }
    .exp-card-body { display:none; margin-top:var(--sp-md); padding-top:var(--sp-sm); }
    .exp-card.open .exp-card-body { display:block; }
    .exp-prompt { background:var(--color-surface-cont); border-radius:var(--r-lg); padding:var(--sp-md); border-left:3px solid var(--color-primary-c); }
    .exp-footer { display:flex; align-items:center; justify-content:space-between; margin-top:var(--sp-md); color:var(--color-tertiary); }

    /* === METRICS === */
    .metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-md); padding:var(--sp-lg); background:var(--color-surface-cont); border:1px solid var(--color-outline-v); border-radius:var(--r-xl); }
    .metric-num { font-family:var(--font-d); font-size:clamp(2rem,5vw,2.5rem); color:var(--color-primary); line-height:1; margin-bottom:var(--sp-xs); }

    /* === SET === */
    .set-hero-img { position:relative; border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh-high); }
    .set-hero-img img { width:100%; display:block; }
    .set-caption { position:absolute; bottom:1rem; left:1rem; right:1rem; display:flex; align-items:center; justify-content:space-between; padding:var(--sp-sm) var(--sp-md); background:rgba(254,248,245,.9); backdrop-filter:blur(12px); border-radius:var(--r-lg); border:1px solid var(--color-outline-v); }

    /* === PROGRESS === */
    .prog-bar { width:100%; height:4px; background:var(--color-surface-high); border-radius:var(--r-full); overflow:hidden; }
    .prog-fill { height:100%; border-radius:var(--r-full); background:var(--color-primary-c); transform-origin:left; transform:scaleX(0); transition:transform 1.2s var(--ease); }
    .prog-fill.on { transform:scaleX(1); }

    /* === MOMENTS === */
    .mom-hero { border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh-high); background:var(--color-surface-cont); position:relative; }
    .mom-hero img { width:100%; display:block; }
    .mom-badge-wrap { position:absolute; bottom:1.5rem; left:1.5rem; right:1.5rem; display:flex; align-items:center; justify-content:space-between; }
    .mom-badge { display:flex; align-items:center; gap:var(--sp-sm); padding:var(--sp-xs) var(--sp-md); border-radius:var(--r-full); background:rgba(50,48,46,.65); backdrop-filter:blur(12px); color:var(--color-sec-fixed); }
    .trip-card { background:var(--color-white); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh-low); transition: box-shadow var(--dur-b), transform var(--dur-b); display:flex; flex-direction:column; height:100%; }
    .trip-card:hover { box-shadow:var(--sh-high); transform:translateY(-4px); }
    .trip-card-img { position:relative; overflow:hidden; margin-bottom:var(--sp-sm); }
    .trip-card-img img { width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform var(--dur-s) var(--ease); }
    .trip-card:hover .trip-card-img img { transform:scale(1.06); }
    .trip-card-body { padding:var(--sp-lg); display:flex; flex-direction:column; flex:1; }
    .trip-card-foot { display:flex; align-items:center; justify-content:space-between; padding-top:var(--sp-sm); margin-top:auto; border-top:1px solid var(--color-outline-v); color:var(--color-tertiary); }

    /* === PLAYER === */
    .player-w { background:var(--color-surface-high); border-radius:var(--r-xl); padding:var(--sp-lg); box-shadow:var(--sh-low); }
    .waveform { display:flex; align-items:center; gap:3px; height:2.5rem; flex:1; overflow:hidden; }
    .w-bar { width:4px; border-radius:var(--r-full); background:var(--color-primary-c); flex-shrink:0; transition:height var(--dur-f); }
    .play-btn { width:3rem; height:3rem; border-radius:50%; background:var(--color-primary); color:var(--color-on-primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:var(--sh-low); transition:background var(--dur-f), transform var(--dur-f); }
    .play-btn:hover { background:var(--color-secondary); transform:scale(1.06); }

    /* === FORM === */
    .form-panel { background:var(--color-white); border-radius:var(--r-xl); padding:clamp(2rem,5vw,3rem); box-shadow:var(--sh-high); }
    .form-field { display:flex; flex-direction:column; gap:var(--sp-xs); }
    .form-field label { font-size:var(--text-label); font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-on-surface-v); display:flex; align-items:center; justify-content:space-between; }
    .form-field label .hint { font-size:0.625rem; letter-spacing:0; text-transform:lowercase; font-weight:400; color:var(--color-tertiary); }
    .form-inp { width:100%; padding:.875rem 1rem; background:var(--color-surface-low); border:1px solid var(--color-outline-v); border-radius:var(--r-lg); color:var(--color-on-surface); font-size:var(--text-body-md); transition:border-color var(--dur-f), box-shadow var(--dur-f), background var(--dur-f); }
    .form-inp::placeholder { color:var(--color-tert-c); }
    .form-inp:focus { outline:none; background:var(--color-white); border-color:var(--color-primary-c); box-shadow:0 0 0 3px rgba(200,157,118,.18); }
    .form-fields { display:flex; flex-direction:column; gap:var(--sp-xl); }
    .venue-chips { display:flex; flex-wrap:wrap; gap:.375rem; margin-top:var(--sp-xs); }
    .vchip { padding:.25rem .625rem; border-radius:var(--r-md); background:var(--color-surface-cont); border:1px solid var(--color-outline-v); font-size:0.625rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-on-surface-v); transition:background var(--dur-f), color var(--dur-f); }
    .vchip:hover { background:var(--color-sec-cont); color:var(--color-on-surface); }
    .conf-box { display:flex; align-items:flex-start; gap:var(--sp-sm); padding:var(--sp-md); background:var(--color-surface-cont); border-radius:var(--r-lg); }
    .success { display:none; flex-direction:column; align-items:center; text-align:center; padding:var(--sp-2xl) var(--sp-xl); gap:var(--sp-md); }
    .success.on { display:flex; animation:fadeUp var(--dur-b) var(--ease); }
    .success-ico { width:4rem; height:4rem; border-radius:50%; background:var(--color-sec-cont); display:flex; align-items:center; justify-content:center; }

    /* === CTA BAND === */
    .cta-band { display:flex; flex-direction:column; gap:var(--sp-lg); align-items:flex-start; }
    @media (min-width:768px) { .cta-band { flex-direction:row; align-items:center; justify-content:space-between; } }
    .cta-actions { display:flex; flex-wrap:wrap; gap:var(--sp-md); flex-shrink:0; }

    /* === FOOTER === */
    .footer { background:var(--color-surface-low); border-top:1px solid var(--color-outline-v); }
    .footer-inner { display:flex; flex-direction:column; gap:var(--sp-lg); align-items:center; text-align:center; padding-block:var(--sp-xl); }
    @media (min-width:768px) { .footer-inner { flex-direction:row; text-align:left; justify-content:space-between; align-items:center; } }
    .footer-links { display:flex; align-items:center; gap:var(--sp-lg); }
    .footer-link { transition:color var(--dur-f); }
    .footer-link:hover { color:var(--color-primary); }

    /* === UTILS === */
    .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .tp { color:var(--color-primary); }
    .tm { color:var(--color-on-surface-v); }
    .tt { color:var(--color-tertiary); }
    .tg { color:var(--color-sec-fixed); }
    .ti { color:var(--color-inverse-on); }
    .divh { width:2rem; height:1px; background:var(--color-on-surface); display:inline-block; }
    .mt-xs{margin-top:var(--sp-xs);} .mt-sm{margin-top:var(--sp-sm);} .mt-md{margin-top:var(--sp-md);} .mt-lg{margin-top:var(--sp-lg);} .mt-xl{margin-top:var(--sp-xl);}
    .mb-sm{margin-bottom:var(--sp-sm);} .mb-md{margin-bottom:var(--sp-md);} .mb-lg{margin-bottom:var(--sp-lg);} .mb-xl{margin-bottom:var(--sp-xl);}
    .row { display:flex; } .col { flex-direction:column; } .aic { align-items:center; } .jb { justify-content:space-between; } .wrap-flex { flex-wrap:wrap; }
    .hidden { display:none !important; }
    @media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }.logo-horizontal { height: 4.2rem; width: auto; display: block; }
@media (min-width: 768px) { .logo-horizontal { height: 5.4rem; } }
.logo-vertical { height: auto; max-width: 195px; display: block; margin-inline: auto; }
@media (min-width: 768px) { .logo-vertical { max-width: 230px; margin-inline: 0; } }

/* === FAQ ACCORDION === */
.faq-accordion {
  border-top: 1px solid var(--color-outline-v);
}
.faq-item {
  border-bottom: 1px solid var(--color-outline-v);
}
.faq-item::marker,
.faq-item::-webkit-details-marker {
  display: none;
}
.faq-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-lg) 0;
  cursor: pointer;
  list-style: none;
}
.faq-summary::-webkit-details-marker {
  display: none;
}
.faq-q {
  font-family: var(--font-title-lg);
  font-size: var(--text-title-lg);
  line-height: var(--line-height-title-lg);
  font-weight: 500;
  color: var(--color-on-surface);
  padding-right: var(--sp-md);
  transition: color var(--dur-f);
}
.faq-item[open] .faq-q, .faq-summary:hover .faq-q {
  color: var(--color-primary-c);
}
.faq-icon {
  color: var(--color-tertiary);
  transition: transform var(--dur-s) var(--ease);
  flex-shrink: 0;
}
.faq-item[open] .faq-icon {
  transform: rotate(180deg);
}
.faq-content {
  padding-bottom: var(--sp-lg);
  color: var(--color-secondary);
  animation: faq-fade-in var(--dur-b) var(--ease) forwards;
}

@keyframes faq-fade-in {
  0% { opacity: 0; transform: translateY(-4px); }
  100% { opacity: 1; transform: translateY(0); }
}
