/* ============================================================
   KHT DIGITAL — PARA VOCÊ · DEMONSTRAÇÃO 01
   Design responsivo: azul-noite, azul digital e violeta
   ============================================================ */
:root {
  color-scheme: dark;
  --bg: #090d1e;
  --bg-dark: #070a16;
  --surface: #11172e;
  --surface-light: #19213e;
  --ink: #f7f7ff;
  --muted: #a1abc9;
  --muted-2: #7781a0;
  --line: rgba(174,188,244,.14);
  --blue: #7189ff;
  --purple: #b09aff;
  --pink: #e7a4e9;
  --gradient: linear-gradient(115deg, #8aa7ff 4%, #bb96ff 65%, #efb4df 100%);
  --sans: 'DM Sans', sans-serif;
  --head: 'Manrope', sans-serif;
  --serif: 'Playfair Display', Georgia, serif;
  --container: 1180px;
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 94px; }
body { margin:0; min-width:320px; background: var(--bg); color:var(--ink); font:400 16px/1.7 var(--sans); overflow-x:hidden; }
body.menu-open, body.modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.5; }
button, a, input { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline:2px solid #bcb3ff; outline-offset:4px; }
::selection { background:#9c7dec; color:#fff; }
[hidden] { display:none !important; }
.container { width:min(var(--container), calc(100% - 92px)); margin-inline:auto; }
.section { position:relative; padding:142px 0; }
.section-number { display:inline-block; font-family:var(--head); color:var(--purple); font-size:11px; font-weight:800; letter-spacing:.24em; text-transform:uppercase; }
.display-title { margin:18px 0 28px; color:var(--ink); font:700 clamp(2.4rem,5.2vw,5.3rem)/1.12 var(--head); letter-spacing:-.075em; }
.display-title em { color:var(--purple); font-family:var(--serif); font-weight:500; letter-spacing:-.06em; }
p { margin-top:0; }
.skip-link { position:fixed; z-index:100; top:12px; left:12px; transform:translateY(-150%); padding:9px 15px; background:#fff; color:#081024; border-radius:7px; }
.skip-link:focus { transform:translateY(0); }
.scroll-progress { position:fixed; top:0; left:0; height:3px; width:0; z-index:70; background:var(--gradient); box-shadow:0 0 18px #a886ff88; transition:width .09s linear; }
.grain { pointer-events:none; z-index:35; position:fixed; inset:0; opacity:.038; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.site-glow { position:fixed; z-index:1; width:450px; height:450px; border-radius:50%; transform:translate(-50%,-50%); pointer-events:none; background:radial-gradient(circle, rgba(128,109,255,.10),transparent 66%); opacity:0; transition:opacity .25s ease; }
body.has-pointer .site-glow { opacity:1; }
main, .site-header, .footer { position:relative; z-index:2; }

/* CARREGAMENTO */
.load-screen { position:fixed; z-index:1000; inset:0; background:#080c1c; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; transition:opacity .5s,visibility .5s; }
.load-screen.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
.load-screen__star { font-size:72px; line-height:1; color:#9f99fc; animation:spin 5s linear infinite; text-shadow:0 0 40px #aa95ff; }
.load-screen__brand { font:800 12px var(--head); letter-spacing:.4em; }
.load-screen__line { width:130px; height:2px; background:#283052; overflow:hidden; border-radius:2px; }
.load-screen__line span { display:block; width:60%; height:100%; background:var(--gradient); animation:load-move 1.1s ease-in-out infinite alternate; }
@keyframes load-move { from { transform:translateX(-100%); } to { transform:translateX(190%); } }
@keyframes spin { to { transform:rotate(360deg); } }

/* NAV */
.site-header { position:fixed; z-index:80; top:0; left:0; width:100%; border-bottom:1px solid transparent; transition:background .3s,border-color .3s,box-shadow .3s; }
.site-header.is-scrolled { background:rgba(7,11,27,.82); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); border-color:var(--line); box-shadow:0 8px 35px #0002; }
.site-header__inner { display:flex; align-items:center; justify-content:space-between; min-height:86px; gap:20px; }
.brand { display:inline-flex; align-items:center; gap:11px; min-width:0; }
.brand__symbol { position:relative; height:43px; width:43px; display:grid; place-items:center; border-radius:12px; background:linear-gradient(150deg,#5666cc,#9b75df); border:1px solid #ffffff42; box-shadow:0 0 28px #805fff44; font:800 25px var(--head); }
.brand__spark { position:absolute; color:#fff; font-size:10px; right:5px; top:3px; }
.brand__words { display:flex; flex-direction:column; }
.brand__words strong { font:800 18px/1.2 var(--head); letter-spacing:-.07em; white-space:nowrap; }
.brand__words strong span { margin-left:3px; color:#b6a6ff; }
.brand__words small { color:#8998be; font:700 7px/1.7 var(--head); letter-spacing:.18em; white-space:nowrap; }
.navigation { display:flex; align-items:center; gap:26px; }
.navigation a { font:600 12px var(--head); color:#bcc5e0; transition:color .2s; }
.navigation a:hover { color:#fff; }
.navigation .nav-cta { padding:11px 16px; border:1px solid #8370e977; color:#fff; border-radius:100px; }
.navigation .nav-cta:hover { background:#8677e62e; }
.menu-toggle { display:none; padding:12px; border:1px solid var(--line); background:#10162d; border-radius:10px; height:43px; width:43px; align-items:center; justify-content:center; flex-direction:column; gap:4px; }
.menu-toggle span { display:block; height:2px; width:18px; border-radius:2px; background:#d9d8f9; transition:transform .25s,opacity .25s; }
.menu-toggle[aria-expanded=true] span:first-child { transform:translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-6px) rotate(-45deg); }

/* BOTÕES */
.button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:51px; padding:14px 23px; border-radius:999px; font:800 12px/1.2 var(--head); letter-spacing:-.015em; border:1px solid transparent; white-space:nowrap; transition:transform .22s,border-color .22s,background .22s,box-shadow .22s; }
.button:hover { transform:translateY(-3px); }
.button span { font-size:17px; font-weight:400; }
.button--primary { background:linear-gradient(105deg,#667bef,#a180e8); color:#fff; box-shadow:0 12px 35px #6e56cf45; }
.button--primary:hover { box-shadow:0 16px 45px #6e56cf78; }
.button--text { color:#d9d7f8; border-color:transparent; background:transparent; }
.button--text:hover { color:#fff; }
.button--outline { background:#ffffff05; color:#f6f4ff; border-color:#c7b8fb77; }
.button--outline:hover { background:#ffffff12; }
.button--light { background:#fff; color:#252044; }
.button--glass { background:#ffffff17; color:#fff; border-color:#ffffff55; }
.text-link { display:inline-flex; align-items:center; gap:17px; color:#cab5fc; font:800 13px var(--head); border-bottom:1px solid #9b8de077; padding-bottom:7px; }

/* HERO */
.hero { padding:165px 0 55px; min-height:760px; min-height:100svh; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; background:radial-gradient(ellipse at 75% 42%,#24245255 0%,transparent 45%),radial-gradient(ellipse at 16% 90%,#161c4599 0%,transparent 35%),#090d1e; }
.hero__grid { position:absolute; inset:0; pointer-events:none; opacity:.28; background-image:linear-gradient(#7183bf16 1px, transparent 1px),linear-gradient(90deg,#7183bf16 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(transparent,#000 40%,transparent 100%); }
.hero__layout { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:45px; flex:1; }
.hero__content { position:relative; z-index:5; padding-bottom:35px; }
.eyebrow { display:flex; align-items:center; gap:12px; font:800 10px var(--head); color:#b4a6ff; letter-spacing:.17em; margin:0 0 50px; }
.eyebrow__dot { display:block; height:7px; width:7px; background:#a999ff; border-radius:50%; box-shadow:0 0 0 6px #9b83fc22, 0 0 15px #a999ff; }
.hero__small-line { display:flex; align-items:center; gap:12px; font:700 10px var(--head); letter-spacing:.15em; color:#a9b1ca; margin-bottom:5px; }
.hero__small-line span:nth-child(2) { color:#a6a1e7; font-size:19px; }
.hero h1 { margin:0; font:800 clamp(5rem,9.1vw,9rem)/.96 var(--head); letter-spacing:-.11em; white-space:nowrap; }
.hero h1 em { font:500 clamp(5.5rem,9.6vw,10rem)/.95 var(--serif); letter-spacing:-.1em; background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero__title-dot { font:400 24px var(--sans); vertical-align:top; color:#cbbaff; margin-left:11px; letter-spacing:normal; }
.hero__tagline { font:500 clamp(1.2rem,2.2vw,1.75rem)/1.45 var(--serif); letter-spacing:-.025em; margin:30px 0 14px; max-width:485px; }
.hero__tagline span { color:#b5a4f7; font-style:italic; }
.hero__description { max-width:445px; font-size:14px; color:#a3aecb; line-height:1.95; }
.hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:31px; }
.hero__foot { display:flex; align-items:center; gap:14px; color:#828eae; font:700 9px var(--head); letter-spacing:.2em; margin-top:77px; }
.hero__line { display:block; width:36px; height:1px; background:#7786b0; }
.hero__arrow { color:#c6b2ff; font-size:20px; font-weight:400; }
.hero__bottom { position:relative; z-index:3; width:calc(100% - 92px); max-width:var(--container); margin:0 auto; padding:20px 0 0; border-top:1px solid #ffffff13; display:flex; justify-content:space-between; gap:25px; color:#7280a4; font:700 9px var(--head); letter-spacing:.19em; }
.hero-art { height:590px; max-width:570px; width:100%; position:relative; margin-inline:auto; isolation:isolate; }
.hero-art__orbit { position:absolute; border:1px solid #a299e92a; border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-16deg); }
.hero-art__orbit--one { width:87%; height:87%; box-shadow:0 0 40px #7579e50e, inset 0 0 60px #7579e510; }
.hero-art__orbit--two { width:63%; height:63%; border-style:dashed; border-color:#d4aff12a; animation:orbit-spin 40s linear infinite; }
.hero-art__orbit--one::before,.hero-art__orbit--two::before { content:''; position:absolute; background:#b6a0ff; border-radius:50%; width:7px; height:7px; top:16%; left:14%; box-shadow:0 0 20px #aaa3fc; }
@keyframes orbit-spin { to { transform:translate(-50%,-50%) rotate(344deg); } }
.hero-art__glow { position:absolute; inset:19%; border-radius:50%; background:radial-gradient(circle,#9b8dfd50, #5e63ba21 36%, transparent 70%); filter:blur(20px); animation:pulse 6s ease-in-out infinite; }
.hero-art__flower { position:absolute; width:260px; height:260px; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-15deg); filter:drop-shadow(0 0 35px #9994ff60); animation:flower-float 7s ease-in-out infinite; }
.hero-art__petal { position:absolute; top:50%; left:50%; width:105px; height:160px; margin-left:-52.5px; margin-top:-155px; border-radius:62% 62% 48% 48%; transform-origin:50% 155px; background:linear-gradient(165deg,#d4b9fb,#8178e2 43%,#5968d9 75%,#272f6e); border:1px solid #e0d7fc80; box-shadow:inset 9px 4px 18px #ffffff28,inset -16px -8px 35px #20255f80; }
.hero-art__petal.p1 { transform:rotate(0deg); }.hero-art__petal.p2 { transform:rotate(60deg); }.hero-art__petal.p3 { transform:rotate(120deg); }.hero-art__petal.p4 { transform:rotate(180deg); }.hero-art__petal.p5 { transform:rotate(240deg); }.hero-art__petal.p6 { transform:rotate(300deg); }
.hero-art__core { display:grid; place-items:center; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:76px; height:76px; border-radius:50%; background:radial-gradient(circle at 35% 25%,#fff,#d5c9ff 35%,#8c88ef 80%); color:#6254b2; font-size:36px; box-shadow:0 0 30px #ece0ffbb,inset 0 3px 12px #fff; }
.hero-art__spark { position:absolute; color:#d8c4ff; text-shadow:0 0 20px #c3afff; }.hero-art__spark--one { font-size:40px; left:10%; top:15%; }.hero-art__spark--two { font-size:24px; right:9%; top:24%; }.hero-art__spark--three { font-size:39px; right:18%; bottom:17%; }
.hero-art__note { position:absolute; z-index:1; left:-2%; bottom:17%; display:flex; flex-direction:column; padding:17px 22px; border:1px solid #b7a5fb45; border-radius:14px; background:#121831a8; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 15px 45px #05071777; transform:rotate(-6deg); }
.hero-art__note span { font:800 8px var(--head); letter-spacing:.14em; color:#9c9ccf; }.hero-art__note strong { font:italic 500 20px var(--serif); color:#eae2ff; }
.hero-art__coordinate { position:absolute; right:4%; bottom:11%; color:#858db1; font:700 11px var(--head); letter-spacing:.2em; }
@keyframes flower-float { 0%,100% {transform:translate(-50%,-50%) rotate(-15deg)} 50% {transform:translate(-50%,-54%) rotate(-11deg)} }
@keyframes pulse { 50% { opacity:.5; transform:scale(1.2); } }

/* INTRO */
.intro { background:linear-gradient(180deg,#090d1e,#0d1125 45%,#0b1022); text-align:center; }
.intro__inner { max-width:815px; }
.intro__icon { display:block; color:#bcadff; font-size:80px; line-height:1; margin:24px 0 10px; text-shadow:0 0 60px #8c75ff66; }
.intro .display-title { margin:25px auto; max-width:810px; }
.intro p { max-width:650px; margin:0 auto 14px; color:#a5afca; font-size:15px; line-height:2; }
.intro .intro__highlight { color:#e1deee; font-family:var(--serif); font-size:19px; margin:25px auto 35px; }

/* STORIES */
.story { background:#0b1022; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:65px; margin-bottom:70px; }
.section-heading > div { flex:1.2; }.section-heading > p { flex:.8; max-width:345px; color:var(--muted); font-size:14px; line-height:2; }
.section-heading .display-title { max-width:760px; margin-bottom:0; }
.section-heading--stacked { align-items:start; flex-direction:column; gap:0; text-align:center; }
.section-heading--stacked .display-title,.section-heading--stacked > p { margin:0 auto 10px; }
.section-heading--stacked .display-title { margin:18px auto; }.section-heading--stacked > p { max-width:550px; }
.timeline { max-width:1010px; margin:auto; position:relative; }
.timeline__line { position:absolute; top:22px; bottom:30px; left:48.5%; width:1px; background:linear-gradient(180deg,#b5a5ff00,#b5a5ff65 12%,#b5a5ff65 90%,#b5a5ff00); }
.timeline-item { display:grid; grid-template-columns:1fr 80px 1fr; align-items:start; gap:0; padding:25px 0 70px; }
.timeline-item__index { font:800 11px var(--head); color:#7d8ba9; letter-spacing:.19em; text-align:right; padding:28px 27px; }
.timeline-item__marker { display:grid; place-items:center; position:relative; z-index:2; height:50px; width:50px; justify-self:center; border:1px solid #8f82d183; border-radius:50%; background:#141a36; color:#b6a1ff; font-size:19px; box-shadow:0 0 0 8px #0b1022; }
.timeline-item__body { padding:0 0 0 13px; max-width:410px; }
.timeline-item__overline { font:800 10px var(--head); letter-spacing:.18em; color:#a698f5; }
.timeline-item__body h3 { margin:12px 0; font:700 28px/1.25 var(--head); letter-spacing:-.06em; }.timeline-item__body p { color:var(--muted); font-size:14px; line-height:1.9; }
.timeline-item__tag { display:inline-block; font:600 italic 14px var(--serif); color:#c2aeed; margin-top:3px; }
.timeline-item:nth-child(odd) .timeline-item__index { grid-column:3; grid-row:1; text-align:left; padding-left:27px; }
.timeline-item:nth-child(odd) .timeline-item__marker { grid-column:2; grid-row:1; }
.timeline-item:nth-child(odd) .timeline-item__body { grid-column:1; grid-row:1; padding:0 13px 0 0; text-align:right; justify-self:end; }
.quote-band { padding:20px 0; white-space:nowrap; background:linear-gradient(90deg,#5d63c7,#8570c9,#624d9f); color:#fff; overflow:hidden; clip-path:polygon(0 10%,100% 0,100% 90%,0 100%); }
.quote-band__track { display:inline-block; width:max-content; font:800 clamp(13px,2vw,23px) var(--head); letter-spacing:.23em; animation:marquee 35s linear infinite; }
@keyframes marquee { to { transform:translateX(-50%); } }

/* DETALHES */
.details { background:radial-gradient(ellipse at center,#1b1b3d42,transparent 57%),#0a0e20; }
.details-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.detail-card { position:relative; min-height:325px; text-align:left; border-radius:20px; padding:24px; border:1px solid #7e91e93d; background:linear-gradient(145deg,#1c2548 0%,#10172f 62%,#10162b 100%); color:var(--ink); overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; transition:border-color .3s,transform .3s,box-shadow .3s; }
.detail-card:hover,.detail-card.is-open { border-color:#b6a5ff8c; transform:translateY(-6px); box-shadow:0 25px 55px #03061677; }
.detail-card::before { content:''; position:absolute; height:180px; width:180px; right:-90px; top:10px; border-radius:50%; background:#6d7efd2b; filter:blur(25px); }
.detail-card--purple::before { background:#a279e82b; }.detail-card--blue::before { background:#5cadd52b; }.detail-card--pink::before { background:#d16aa32b; }
.detail-card__number { color:#a0acd2; font:800 10px var(--head); letter-spacing:.2em; }
.detail-card__symbol { position:absolute; inset:27% 0 auto; text-align:center; font:400 100px/1 var(--serif); color:#c0b6fc; text-shadow:0 0 46px #b49aff88; transition:transform .4s,opacity .4s; }
.detail-card:hover .detail-card__symbol { transform:rotate(-12deg) scale(1.07); }
.detail-card__front { display:flex; flex-direction:column; gap:9px; position:relative; z-index:1; }
.detail-card__front strong { font:700 19px/1.35 var(--head); letter-spacing:-.05em; }
.detail-card__front > span { font:700 11px var(--head); color:#a2a9cf; }
.detail-card__front > span span { margin-left:3px; color:#c6adff; }
.detail-card__back { position:relative; z-index:1; color:#e6defe; font:500 18px/1.65 var(--serif); }
.detail-card.is-open .detail-card__symbol { opacity:.14; transform:translateY(-24px) scale(1.2); }
.detail-card.is-open .detail-card__front { display:none; }

/* MEMÓRIAS */
.memories { background:#0b1022; }
.memory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.memory-card { display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:15px 15px 22px; color:#f4f1ff; text-align:left; border:1px solid #414974; background:#171f3c; border-radius:11px; box-shadow:0 19px 55px #03071465; transition:transform .3s,border-color .3s; }
.memory-card:hover { transform:translateY(-10px) rotate(-1deg); border-color:#aaa2ee; }
.memory-card--tilt { transform:rotate(2deg); }.memory-card--tilt:hover { transform:translateY(-10px) rotate(0); }
.memory-card__top { display:flex; justify-content:space-between; color:#b0b9dc; font:800 9px var(--head); letter-spacing:.2em; padding:3px 6px; }.memory-card__top span { font-size:17px; }
.memory-card__illustration { display:grid; place-items:center; min-height:260px; font:400 135px/1 var(--serif); background:radial-gradient(circle at 45% 45%,#b8a6ff77,transparent 40%),linear-gradient(135deg,#404286,#181b44); color:#d0c0fe; text-shadow:0 0 30px #c4b5ff66; overflow:hidden; }
.memory-card__illustration--two { background:radial-gradient(circle at 45% 45%,#f1c4ea77,transparent 40%),linear-gradient(135deg,#5b3d7d,#201c43); }
.memory-card__illustration--three { background:radial-gradient(circle at 45% 45%,#b4d3ff66,transparent 40%),linear-gradient(135deg,#274b79,#171e3e); }
.memory-card__bottom { display:flex; flex-direction:column; gap:6px; padding:2px 8px; }.memory-card__bottom strong { font:700 20px var(--head); letter-spacing:-.05em; }.memory-card__bottom small { color:#a8b0cf; font-size:12px; }

/* CARTA */
.letter-section { background:radial-gradient(ellipse at 78% 45%,#48408230,transparent 50%),#0a0d1e; }
.letter-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.letter-copy p { color:var(--muted); font-size:15px; line-height:2; max-width:435px; }
.letter-copy__foot { display:block; margin-top:70px; color:#7a88b2; font:800 10px var(--head); letter-spacing:.17em; }
.letter-scene { min-width:0; padding:38px 25px 35px; border:1px solid #7d77b444; background:linear-gradient(145deg,#1b1d3cdd,#141a34b8); border-radius:30px; display:flex; align-items:center; flex-direction:column; box-shadow:0 35px 90px #03061667; }
.envelope-stage { min-width:0; height:300px; display:flex; justify-content:center; align-items:center; width:100%; perspective:850px; }
.envelope { width:min(300px,100%); height:188px; position:relative; filter:drop-shadow(0 25px 22px #080a2480); }
.envelope__back { position:absolute; inset:0; border-radius:9px; background:#d9cff5; }
.envelope__paper { position:absolute; width:82%; height:80%; left:9%; top:10%; background:#f8f4ff; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#5a4f7f; font:italic 16px var(--serif); transition:transform .9s ease; box-shadow:0 0 10px #0002; }
.envelope__paper i { font:24px var(--sans); color:#997ce8; margin-top:15px; }
.envelope__flap { position:absolute; z-index:4; top:0; left:0; width:100%; height:100%; background:linear-gradient(160deg,#dfd7fa,#beb2e7); clip-path:polygon(0 0,100% 0,50% 55%); transform-origin:top center; transition:transform .8s ease, z-index .1s; }
.envelope__front { position:absolute; z-index:3; inset:0; background:linear-gradient(148deg,#d3c7f0,#bab0e5); clip-path:polygon(0 0,50% 50%,100% 0,100% 100%,0 100%); border-radius:8px; }
.envelope__seal { position:absolute; z-index:5; top:46%; left:50%; transform:translate(-50%,-50%); height:43px; width:43px; border:1px solid #ffffff7d; border-radius:50%; display:grid; place-items:center; color:#fff; font-size:25px; background:linear-gradient(135deg,#8877dc,#b991e3); box-shadow:0 6px 14px #52427b66; transition:opacity .3s; }
.letter-scene.is-open .envelope__flap { transform:rotateX(175deg); z-index:1; }.letter-scene.is-open .envelope__paper { transform:translateY(-65px); }.letter-scene.is-open .envelope__seal { opacity:0; }
.letter-content { margin-top:32px; width:100%; padding:36px 33px; border-radius:12px; color:#3b315b; background:linear-gradient(150deg,#fefbff,#eeeaf9); box-shadow:0 15px 35px #0002; animation:letter-appear .5s ease; }
.letter-content__heading { display:block; margin-bottom:22px; font:italic 500 25px var(--serif); color:#6a4c9c; }
.letter-content p { font:400 15px/1.85 var(--serif); }
.letter-content__signature { display:block; text-align:right; color:#7557a4; font:italic 15px var(--serif); margin-top:25px; }
@keyframes letter-appear { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:translateY(0); } }

/* SEGREDOS */
.secrets { text-align:center; background:radial-gradient(ellipse at 50% 40%,#28225299,transparent 55%),#0e0d23; }
.secrets__inner { max-width:830px; }.secrets .display-title { max-width:700px; margin-inline:auto; }
.secrets__inner > p { max-width:520px; margin:0 auto 38px; color:var(--muted); }
.secret-list { display:flex; flex-wrap:wrap; gap:28px; justify-content:center; margin-bottom:34px; }
.secret-button { position:relative; height:105px; width:105px; border-radius:50%; display:grid; place-items:center; border:1px solid #b4a0ff66; color:#cbbaff; background:#161635; font-size:55px; box-shadow:inset 0 0 20px #9673fa14, 0 0 35px #7c67ca22; transition:transform .3s,border-color .3s,background .3s; }
.secret-button:hover,.secret-button[aria-pressed=true] { transform:translateY(-7px) scale(1.04); border-color:#d5c3ff; background:#28214f; }
.secret-button small { position:absolute; bottom:-20px; font:800 10px var(--head); letter-spacing:.18em; color:#8b8daf; }
.secret-message { display:grid; place-items:center; padding:20px 25px; min-height:103px; margin:20px auto 7px; max-width:620px; font:italic 500 23px/1.6 var(--serif); color:#e1d6fc; border-bottom:1px solid #a999e630; }
.secret-counter { font:800 10px var(--head); letter-spacing:.15em; color:#9ba8d1; }

/* MOMENTO */
.moment { text-align:center; background:radial-gradient(circle at 50% 45%,#37316a44,transparent 50%),#090c1a; }
.moment__inner { max-width:810px; }
.moment__asterisk { display:block; font-size:75px; margin:26px auto; color:#a899ef; text-shadow:0 0 50px #866dff88; }
.moment-quote { margin:25px auto 28px; min-height:95px; max-width:570px; font:italic 500 24px/1.7 var(--serif); color:#d9d5ed; }
.moment-controls { display:flex; align-items:center; justify-content:center; gap:26px; }
.moment-controls > span { color:#a3a6c9; font:800 10px var(--head); letter-spacing:.17em; }
.circle-button { width:44px; height:44px; border:1px solid #aca1d96b; border-radius:50%; background:#ffffff09; color:#e5dbff; transition:background .2s,transform .2s; }
.circle-button:hover { background:#ffffff20; transform:scale(1.1); }

/* EXPERIMENTE */
.personalize { background:#0b1022; }
.personalize__layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }
.personalize__layout > div > p { color:var(--muted); font-size:15px; line-height:1.9; max-width:490px; }
.name-form { margin-top:35px; display:flex; flex-direction:column; gap:12px; }
.name-form label { font:800 10px var(--head); letter-spacing:.16em; color:#b7b4e5; }.name-form__row { display:flex; gap:8px; }
.name-form input { width:100%; min-width:0; border:1px solid #7b82af66; background:#151c39; color:#fff; border-radius:100px; padding:13px 18px; outline:none; }
.name-form input:focus { border-color:#b9a7ff; box-shadow:0 0 0 3px #b9a7ff1d; }.name-form input::placeholder { color:#8590ac; }
.name-form small { color:#8592b6; font-size:11px; }
.personalize-preview { position:relative; min-height:430px; padding:50px 35px; border:1px solid #b09eff6b; border-radius:28px; background:radial-gradient(circle at 50% 35%,#6254ab66,transparent 55%),linear-gradient(140deg,#1d2551,#17152e 80%); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:14px; overflow:hidden; }
.personalize-preview::after { content:''; position:absolute; inset:14px; border:1px solid #b7a3ff2c; border-radius:20px; pointer-events:none; }
.personalize-preview > span:first-child { color:#c1badf; font:800 10px var(--head); letter-spacing:.19em; }
.personalize-preview strong { position:relative; z-index:1; font:italic 500 clamp(2.3rem,4vw,4.2rem)/1.2 var(--serif); letter-spacing:-.04em; color:#f9f4ff; overflow-wrap:anywhere; }
.personalize-preview__flower { display:block; font-size:55px; color:#d0bbff; text-shadow:0 0 35px #c3abff; }
.personalize-preview p { font:italic 16px var(--serif); color:#b8b4d9; }.personalize-preview__brand { position:absolute; bottom:33px; font:800 9px var(--head); letter-spacing:.2em; color:#b4addd; }

/* FINAL E CTA */
.finale { text-align:center; background:radial-gradient(ellipse at center,#33225a77,transparent 62%),#100f25; }
.finale__inner { max-width:790px; }.finale__symbol { display:block; color:#bfabff; font-size:65px; line-height:1; margin:25px 0; }
.finale p { color:#b8b8d4; max-width:600px; margin:0 auto 35px; }
.brand-cta { padding-top:85px; background:#090d1e; }
.brand-cta__panel { position:relative; padding:75px 75px 65px; overflow:hidden; border:1px solid #b5a5ff6b; border-radius:33px; background:radial-gradient(ellipse at 95% 9%,#ab8bff70,transparent 43%),linear-gradient(125deg,#202753,#1e1b43 60%,#3b2758); box-shadow:0 30px 95px #0506126e; }
.brand-cta__eyebrow { display:flex; align-items:center; gap:8px; font:800 10px var(--head); letter-spacing:.16em; color:#d3c8ff; }.brand-cta__eyebrow span { font-size:18px; }
.brand-cta__panel h2 { max-width:700px; margin:28px 0; font:800 clamp(2.6rem,5.4vw,5.6rem)/1.1 var(--head); letter-spacing:-.075em; }.brand-cta__panel h2 em { font:italic 500 clamp(2.7rem,5.5vw,5.8rem) var(--serif); color:#e8cfff; letter-spacing:-.055em; }
.brand-cta__panel p { max-width:560px; font-size:15px; color:#d3d2e6; line-height:2; }.brand-cta__actions { display:flex; gap:12px; flex-wrap:wrap; margin:32px 0; }
.brand-cta__disclaimer { font:600 10px var(--head); color:#b3acd7; }.brand-cta__corner { position:absolute; right:2%; bottom:0; font-size:240px; line-height:1; color:#b2a2ef21; pointer-events:none; }
.footer { background:#090d1e; padding:35px 0; }.footer__inner { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid var(--line); padding-top:30px; color:#8792b4; font:700 10px var(--head); letter-spacing:.1em; }
.footer__brand { color:#fff; font-size:22px; letter-spacing:-.075em; }.footer__brand span { color:#b29eff; }

/* MODAL / TOAST */
.memory-dialog { color:#eae9ff; border:1px solid #aaa1e96e; border-radius:25px; padding:0; width:min(490px,calc(100% - 30px)); max-height:min(80vh,700px); box-shadow:0 40px 100px #030514bb; background:linear-gradient(155deg,#25294f,#11172c); }
.memory-dialog::backdrop { background:#050713c9; -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); }
.memory-dialog__inner { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:55px 45px 40px; }
.memory-dialog__close { position:absolute; top:14px; right:16px; background:#ffffff17; border:1px solid #ffffff22; border-radius:50%; height:35px; width:35px; color:#fff; }
.memory-dialog__symbol { font-size:75px; color:#c8b7ff; text-shadow:0 0 30px #a08dff; margin:20px 0; }
.memory-dialog h2 { font:700 29px/1.25 var(--head); letter-spacing:-.06em; margin:0 0 18px; }.memory-dialog p { font:400 17px/1.85 var(--serif); color:#d3cde8; }.memory-dialog__foot { margin-top:20px; font:700 9px var(--head); letter-spacing:.18em; color:#a3a0c9; }
.toast { z-index:150; position:fixed; left:50%; bottom:30px; transform:translate(-50%,20px); opacity:0; pointer-events:none; background:#eeeaff; color:#271d41; padding:13px 20px; border-radius:40px; box-shadow:0 12px 38px #0007; font:700 12px var(--head); transition:opacity .25s,transform .25s; max-width:calc(100% - 40px); text-align:center; }
.toast.is-visible { opacity:1; transform:translate(-50%,0); }

/* REVELAÇÃO PROGRESSIVA */
.js-enabled [data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.25,1); }
.js-enabled [data-reveal].is-visible { opacity:1; transform:translateY(0); }
.js-enabled .memory-card--tilt[data-reveal].is-visible { transform:rotate(2deg); }
.js-enabled .memory-card--tilt[data-reveal].is-visible:hover { transform:translateY(-10px) rotate(0); }

/* TELAS INTERMEDIÁRIAS */
@media (max-width:1100px) {
  .hero h1 { font-size:clamp(4.4rem,8vw,7.5rem); }.hero h1 em { font-size:clamp(4.7rem,8.4vw,7.8rem); }
  .hero-art { height:490px; }.hero-art__flower { transform:translate(-50%,-50%) scale(.82) rotate(-15deg); animation:none; }
  .hero-art__note { left:-9%; }.navigation { gap:18px; }.navigation a { font-size:11px; }
  .letter-layout { gap:35px; }.details-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.detail-card { min-height:285px; }
}
@media (max-width:780px) {
  html { scroll-padding-top:70px; }
  .container { width:calc(100% - 44px); }.section { padding:95px 0; }
  .site-header__inner { min-height:72px; }.brand__words strong { font-size:17px; }.brand__words small { font-size:6px; }
  .menu-toggle { display:flex; }.navigation { position:fixed; top:72px; left:0; right:0; display:flex; flex-direction:column; align-items:stretch; gap:0; background:#0d1125f7; border-bottom:1px solid #a899ff44; padding:12px 22px 22px; transform:translateY(-10px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s,transform .25s,visibility .25s; max-height:calc(100dvh - 72px); overflow:auto; }
  .navigation.is-open { transform:translateY(0); opacity:1; visibility:visible; pointer-events:auto; }
  .navigation a { padding:15px 10px; font-size:14px; border-bottom:1px solid var(--line); }.navigation .nav-cta { margin-top:12px; text-align:center; }
  .hero { padding:125px 0 28px; min-height:0; }.hero__layout { display:flex; flex-direction:column; gap:0; align-items:stretch; }.hero__content { padding:0; }
  .eyebrow { margin-bottom:37px; font-size:9px; letter-spacing:.12em; }.hero h1 { font-size:clamp(4.8rem,15vw,8rem); }.hero h1 em { font-size:clamp(4.9rem,15vw,8rem); }
  .hero__tagline { margin-top:23px; }.hero__description { max-width:570px; }.hero__foot { margin-top:42px; }
  .hero-art { height:440px; max-width:500px; margin-top:4px; }.hero-art__orbit--one { width:80%; height:80%; }.hero-art__orbit--two { width:60%; height:60%; }
  .hero-art__flower { transform:translate(-50%,-50%) scale(.8) rotate(-15deg); }.hero-art__note { left:4%; bottom:12%; }.hero__bottom { width:calc(100% - 44px); }
  .display-title { font-size:clamp(2.35rem,7.7vw,4rem); }.section-heading { align-items:start; gap:15px; flex-direction:column; margin-bottom:50px; }.section-heading > p { max-width:520px; }
  .timeline__line { left:23px; }.timeline-item { grid-template-columns:48px 1fr; padding:10px 0 52px; }.timeline-item__marker,.timeline-item:nth-child(odd) .timeline-item__marker { grid-column:1; grid-row:1; width:46px; height:46px; }
  .timeline-item__index,.timeline-item:nth-child(odd) .timeline-item__index { grid-column:2; grid-row:1; text-align:left; padding:2px 0 0 13px; }
  .timeline-item__body,.timeline-item:nth-child(odd) .timeline-item__body { grid-column:2; grid-row:2; text-align:left; padding:3px 0 0 13px; justify-self:start; }.timeline-item__body h3 { font-size:25px; }
  .memory-grid { gap:12px; }.memory-card__illustration { min-height:175px; font-size:86px; }.memory-card__bottom strong { font-size:15px; }.memory-card__bottom small { font-size:10px; }
  .letter-layout,.personalize__layout { grid-template-columns:minmax(0,1fr); gap:45px; }.letter-copy__foot { margin-top:25px; }.letter-scene { max-width:590px; width:100%; margin-inline:auto; }.personalize-preview { max-width:560px; width:100%; margin:auto; }
  .brand-cta__panel { padding:52px 35px; }.footer__inner { flex-wrap:wrap; }.footer__inner > span:nth-child(2) { display:none; }
}
@media (max-width:520px) {
  .container { width:calc(100% - 36px); }.section { padding:80px 0; }.section-number { font-size:9px; }.display-title { font-size:clamp(2.25rem,11vw,3.1rem); }
  .hero { padding-top:118px; }.hero h1 { font-size:clamp(4.5rem,18vw,6.9rem); }.hero h1 em { font-size:clamp(4.8rem,18.5vw,7rem); }.hero__title-dot { font-size:15px; margin-left:4px; }
  .hero__small-line { font-size:8px; }.hero__tagline { font-size:22px; }.hero__description { font-size:13px; line-height:1.85; }.hero__actions { align-items:stretch; flex-direction:column; margin-top:25px; }.hero__actions .button { width:100%; }.hero__foot { margin-top:35px; }
  .hero-art { height:325px; }.hero-art__flower { transform:translate(-50%,-50%) scale(.58) rotate(-15deg); }.hero-art__orbit--one { width:93%; height:93%; }.hero-art__orbit--two { width:65%; height:65%; }.hero-art__note { left:0; bottom:5%; padding:9px 12px; }.hero-art__note span { font-size:6px; }.hero-art__note strong { font-size:16px; }.hero-art__spark--one { top:7%; left:3%; }.hero-art__spark--two { right:4%; }
  .hero__bottom { width:calc(100% - 36px); font-size:7px; letter-spacing:.09em; }.hero__bottom span:last-child { text-align:right; }
  .intro__icon { font-size:65px; }.intro p { font-size:14px; }.intro .intro__highlight { font-size:17px; }
  .details-grid { gap:12px; }.detail-card { padding:15px; min-height:260px; border-radius:16px; }.detail-card__number { font-size:8px; }.detail-card__symbol { font-size:76px; }.detail-card__front strong { font-size:15px; }.detail-card__front > span { font-size:9px; }.detail-card__back { font-size:16px; }
  .memory-grid { grid-template-columns:1fr; gap:20px; }.memory-card,.memory-card--tilt { max-width:350px; width:100%; margin:auto; transform:none; }.memory-card__illustration { min-height:230px; font-size:110px; }.memory-card__bottom strong { font-size:20px; }.memory-card__bottom small { font-size:12px; }
  .letter-scene { padding:25px 14px; }.envelope-stage { height:250px; }.envelope { transform:scale(.83); }.letter-content { padding:27px 22px; }.letter-content p { font-size:14px; }
  .secret-list { gap:18px; }.secret-button { height:80px; width:80px; font-size:38px; }.secret-message { font-size:20px; }.moment__asterisk { font-size:55px; }.moment-quote { font-size:19px; }
  .name-form__row { flex-direction:column; }.name-form input { min-height:50px; }.personalize-preview { min-height:360px; padding:37px 22px; }.personalize-preview strong { font-size:clamp(2.2rem,10vw,3.1rem); }
  .brand-cta { padding-top:55px; }.brand-cta__panel { padding:40px 22px; border-radius:22px; }.brand-cta__panel h2 { font-size:2.65rem; }.brand-cta__panel h2 em { font-size:2.65rem; }.brand-cta__actions { flex-direction:column; }.brand-cta__actions .button { white-space:normal; }.brand-cta__disclaimer { font-size:9px; }
  .footer__inner { font-size:9px; }.footer__brand { font-size:20px; }.memory-dialog__inner { padding:50px 25px 35px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .js-enabled [data-reveal] { opacity:1; transform:none; }
  .load-screen { display:none; }
}
