@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito+Sans:wght@400;600;700;800&display=swap');

:root{
  --cream:#fffaf2; --cream-2:#f7efe2; --paper:#fffefa; --ink:#292620;
  --muted:#716b61; --gold:#d5a63d; --gold-light:#f2dfaa; --line:#e7dccb;
  --shadow:0 24px 70px rgba(68,52,28,.12); --radius:24px; --max:1180px;
  --display:"Baloo 2", "Arial Rounded MT Bold", sans-serif;
  --body:"Nunito Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);line-height:1.7}
img{display:block;max-width:100%} a{color:inherit}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:18px;top:18px;z-index:200;background:#fff;padding:10px 14px;border-radius:10px}
.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:13px clamp(20px,4vw,48px);background:rgba(255,250,242,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(41,38,32,.07)}
.brand{font-family:var(--display);font-size:1.35rem;font-weight:800;text-decoration:none;letter-spacing:.01em}.brand small{font:700 .66rem var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;margin-top:-5px}
.nav-wrap,.site-nav,.language-wrap{display:flex;align-items:center}.nav-wrap{gap:30px}.site-nav{gap:27px}.site-nav a{text-decoration:none;font-weight:700;color:var(--muted);position:relative}.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--ink)}.site-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--gold);border-radius:2px}
.language-wrap{position:relative}.language-button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 14px;font:700 .92rem var(--body);cursor:pointer}.language-menu{display:none;position:absolute;right:0;top:48px;min-width:190px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.language-menu.open{display:block}.language-menu a,.language-menu span{display:block;padding:9px 11px;border-radius:10px;text-decoration:none}.language-menu a:hover{background:var(--cream-2)}.language-menu .disabled{color:#aaa;cursor:not-allowed}.language-menu em{font-size:.72rem;font-style:normal;margin-left:6px;color:#aaa}.nav-toggle{display:none;border:0;background:transparent;font-size:1.5rem;cursor:pointer}
.hero{padding:104px 0 86px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;color:var(--gold)}h1,h2,h3{font-family:var(--display);line-height:1.04;margin:0 0 18px}h1{font-size:clamp(3.3rem,7vw,6.2rem);letter-spacing:-.035em}h2{font-size:clamp(2.2rem,4.5vw,3.8rem);letter-spacing:-.025em}h3{font-size:1.6rem}.tagline{font-family:var(--display);font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.25;margin:0 0 20px}.lead{font-size:1.12rem;color:var(--muted);max-width:720px}

.hero-visual{position:relative}.hero-visual img,.hero-visual video,.image-card img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}.hero-spark{position:absolute;color:var(--gold);animation:float 3.4s ease-in-out infinite}.hero-spark.one{font-size:2.1rem;right:-10px;top:10%}.hero-spark.two{font-size:1.2rem;left:-10px;bottom:18%;animation-delay:.7s}@keyframes float{50%{transform:translateY(-9px) rotate(12deg)}}


.section{padding:94px 0}.section.soft{background:var(--cream-2)}.section.paper{background:var(--paper)}.section-heading{max-width:790px;margin:0 auto 52px;text-align:center}.section-heading p{color:var(--muted);font-size:1.06rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.copy p{color:var(--muted);font-size:1.06rem}.rule-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 12px 38px rgba(68,52,28,.06)}.rule-box strong{font-family:var(--display);font-size:1.25rem}.rule-box p{margin:.4rem 0 0;color:var(--muted)}
.magic-demo{display:grid;gap:24px;max-width:900px;margin:44px auto 0}.magic-row{display:grid;grid-template-columns:190px 1fr 150px;align-items:center;gap:20px;padding:18px 24px;border-radius:22px;background:rgba(255,255,255,.58)}.magic-image{position:relative}.magic-image img{width:190px;aspect-ratio:1/1;object-fit:cover;border-radius:20px;box-shadow:0 14px 38px rgba(68,52,28,.10);transition:transform .45s ease}.magic-row:hover .magic-image img,
.magic-row.touch-reveal .magic-image img{transform:scale(1.035) rotate(-1deg)}.magic-label{text-align:center;margin-top:7px;font-weight:700;color:var(--muted);font-size:.9rem}.magic-path{position:relative;height:90px}.magic-path svg{width:100%;height:100%;overflow:visible}.trail{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320;filter:drop-shadow(0 0 4px rgba(213,166,61,.45));transition:stroke-dashoffset 1.05s ease}.magic-row:hover .trail,
.magic-row.touch-reveal .trail{stroke-dashoffset:0}.spark{position:absolute;color:var(--gold);opacity:0;transform:scale(.3);transition:.5s ease}.spark.s1{left:25%;top:50%}.spark.s2{left:54%;top:18%;font-size:1.35rem;transition-delay:.3s}.spark.s3{right:13%;top:55%;transition-delay:.6s}.magic-row:hover .spark,
.magic-row.touch-reveal .spark{opacity:1;transform:scale(1) rotate(80deg)}.plain-letter{font:800 7rem/1 var(--display);text-align:center;opacity:.0;transform:scale(.9);transition:.65s ease .35s}.magic-row:hover .plain-letter,
.magic-row.touch-reveal .plain-letter{opacity:1;transform:scale(1)}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.info-card{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.info-card .num{font:800 2.3rem var(--display);color:var(--gold)}.info-card p{color:var(--muted);margin-bottom:0}.world-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.mini-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-gallery figure{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}.mini-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover}.mini-gallery figcaption{padding:10px 12px;text-align:center;color:var(--muted);font-weight:700;font-size:.88rem}
.research-box{max-width:920px;margin:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:40px}.research-box p{color:var(--muted)}.references{font-size:.88rem;color:var(--muted);margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.faq-list{max-width:880px;margin:auto;display:grid;gap:13px}details{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px 21px}summary{cursor:pointer;font-weight:800}details p{color:var(--muted);margin:12px 0 0}
.button-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:13px 24px;border-radius:999px;text-decoration:none;font-weight:800;transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--ink);color:#fff}.button.primary:hover{box-shadow:0 10px 24px rgba(41,38,32,.16)}.text-link{font-weight:800;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.page-hero{padding:88px 0 55px;text-align:center}.page-hero .lead{margin-inline:auto}.product-section{padding:82px 0}.product-section:nth-child(even){background:var(--cream-2)}.product-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.product-section.reverse .product-visual{order:2}.product-section.reverse .product-copy{order:1}.product-visual{position:relative;display:flex;justify-content:center}.product-image{width:min(370px,85%);max-height:520px;object-fit:contain;border-radius:10px;box-shadow:0 30px 60px rgba(70,55,30,.15);transition:transform .4s ease}.product-visual:hover .product-image{transform:translateY(-7px) rotate(.6deg)}.product-section.reverse .product-visual:hover .product-image{transform:translateY(-7px) rotate(-.6deg)}.placeholder-product{width:min(370px,85%);aspect-ratio:4/5;border:1px dashed #ccb98f;border-radius:22px;background:linear-gradient(145deg,#f2e5cd,#fffaf2);display:grid;place-items:center;text-align:center;padding:30px;box-shadow:var(--shadow);transition:transform .4s ease}.product-visual:hover .placeholder-product{transform:translateY(-7px)}.product-spark{position:absolute;color:var(--gold);animation:float 3.2s ease-in-out infinite}.product-spark.a{right:10%;top:12%;font-size:2rem}.product-spark.b{left:12%;bottom:16%;font-size:1.1rem;animation-delay:.8s}.product-copy .description{color:var(--muted);font-size:1.06rem}.details{display:flex;gap:28px;flex-wrap:wrap;margin:28px 0}.detail{padding-right:28px;border-right:1px solid var(--line)}.detail:last-child{border:0}.detail-label{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.detail-value{font-weight:800}.status{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--cream-2);font-weight:800;font-size:.8rem;margin-bottom:14px}.status.soon{color:#7c6225}.small-note{color:var(--muted);font-size:.9rem}
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.person{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.person img,.person-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--cream-2)}.person-placeholder{display:grid;place-items:center;font:800 4rem var(--display);color:#c5b696}.person-copy{padding:26px}.person-copy p{color:var(--muted)}.origin-story{max-width:850px;margin:auto}.origin-story p{color:var(--muted);font-size:1.07rem}
.final-cta{padding:80px 0;text-align:center;background:var(--ink);color:#fff}.final-cta h2{color:#fff}.final-cta p{max-width:700px;margin-inline:auto;color:rgba(255,255,255,.72)}.final-cta .button.primary{background:#fff;color:var(--ink)}
.site-footer{padding:48px 0;background:#211f1b;color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}.footer-brand p{color:rgba(255,255,255,.62);max-width:360px}.footer-title{font-weight:800;margin-bottom:10px}.footer-links{display:grid;gap:8px}.footer-links a{text-decoration:none;color:rgba(255,255,255,.72)}.footer-links a:hover{color:#fff}.copyright{margin-top:32px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);font-size:.86rem}
@media(max-width:900px){.hero-grid,.split,.world-grid,.product-inner{grid-template-columns:1fr}.hero-grid{gap:48px}.product-section.reverse .product-visual,.product-section.reverse .product-copy{order:initial}.three-grid,.people-grid{grid-template-columns:1fr}.magic-row{grid-template-columns:150px 1fr 110px}.plain-letter{font-size:5rem}.nav-toggle{display:block}.nav-wrap{position:absolute;top:68px;left:18px;right:18px;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.nav-wrap.open{display:flex}.site-nav{flex-direction:column;align-items:stretch}.site-nav a[aria-current="page"]::after{display:none}.language-wrap{justify-content:center}.language-menu{left:50%;right:auto;transform:translateX(-50%)}}
@media(max-width:620px){.container{width:min(100% - 28px,var(--max))}.section{padding:70px 0}.hero{padding:70px 0 60px}.magic-row{grid-template-columns:1fr;text-align:center}.magic-image img{margin:auto}.magic-path{height:55px;transform:rotate(90deg);width:90px;margin:auto}.plain-letter{font-size:5rem}.mini-gallery{grid-template-columns:1fr 1fr}.details{gap:14px}.detail{border:0;padding-right:12px}.footer-grid{grid-template-columns:1fr}.page-hero{padding-top:62px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.trail{stroke-dashoffset:0}.plain-letter{opacity:1;transform:none}.spark{opacity:1;transform:none}}

.letterlings-logo {
  display: block;
  width: auto;
  height: 22px;
  object-fit: contain;
}

.brand {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.brand small {
  display: block;
  margin-top: 5px;
  text-align: center;
  width: 100%;
}