@import url('./legal.css');
@import url('./blog.css');
@font-face{font-family:'Source Serif 4';src:url('./fonts/sourceserif4-normal.woff2') format('woff2');font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('./fonts/sourceserif4-italic.woff2') format('woff2');font-weight:500 600;font-style:italic;font-display:swap}
@font-face{font-family:'Caveat';src:url('./fonts/caveat-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

:root{
  --cream:#faf6f0;--paper:#fffdf9;--peach:#f7e6da;--sand:#f1e7da;
  --ink:#2b211b;--muted:#7a6d63;--line:#ebe1d4;
  --accent:#cc613b;--accent-deep:#a94b2b;--accent-soft:#f3d3c2;--sage:#eef0e4;
  --serif:'Source Serif 4','New York',ui-serif,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,sans-serif;
  --hand:'Caveat','Bradley Hand',cursive;
  --shadow:0 30px 60px -28px rgba(92,48,24,.35),0 10px 24px -12px rgba(92,48,24,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:hidden}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,p,figure{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img,video{display:block;max-width:100%;height:auto}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:6px}
::selection{background:var(--accent-soft)}
h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:-.025em;line-height:1.04;text-wrap:balance}
h1{font-size:clamp(44px,6.2vw,82px)}
h2{font-size:clamp(36px,4.6vw,60px)}
h3{font-size:22px;letter-spacing:-.01em;line-height:1.2}
em{font-style:italic;font-weight:500;color:var(--accent)}
p{color:var(--muted)}
.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.icon{width:20px;height:20px;flex:none}
.skip{position:fixed;top:-90px;left:16px;z-index:99;padding:12px 16px;background:var(--paper);border-radius:10px}
.skip:focus{top:12px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.eyebrow img{border-radius:6px}
.eyebrow.light{color:#ffd9c6}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent)}
.text-link:hover{color:var(--accent-deep)}
.text-link .icon{width:16px;height:16px}

/* Header & footer */
.site-header{position:sticky;top:0;z-index:30;height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding-inline:max(32px,calc((100% - 1200px)/2));background:rgba(250,246,240,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-header.scrolled{border-bottom-color:var(--line)}
.brand{display:inline-flex;align-items:center;gap:10px;font:700 24px/1 var(--serif);letter-spacing:-.02em}
.brand img{width:40px;height:40px;border-radius:10px;box-shadow:0 4px 10px -4px rgba(120,50,20,.4)}
.site-header nav{display:flex;gap:30px;font-size:14px;font-weight:550;color:var(--muted)}
.site-header nav a:hover{color:var(--accent)}
.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;padding:36px 0 20px;border-top:1px solid var(--line)}
.footer-links{display:flex;gap:24px;font-size:14px;color:var(--muted)}
.footer-links a:hover{color:var(--accent)}
.copyright{font-size:13px;padding-bottom:32px}

/* App Store badge */
.store-badge{display:inline-flex;align-items:center;gap:9px;height:54px;padding:0 20px 0 16px;border-radius:13px;background:#000;color:#fff;border:1px solid #a6a6a6;transition:transform .2s,box-shadow .2s;white-space:nowrap}
.store-badge:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(0,0,0,.5)}
.store-badge .icon{width:30px;height:30px;margin-top:-3px}
.store-badge span{display:flex;flex-direction:column;font:600 22px/1 var(--sans);letter-spacing:-.02em}
.store-badge small{font-size:11px;font-weight:500;letter-spacing:0;margin-bottom:3px}
.store-badge.large{height:62px;padding:0 24px 0 18px}
.store-badge.large .icon{width:34px;height:34px}
.store-badge.large span{font-size:25px}
.store-badge.large small{font-size:12px}
.store-badge.small{height:42px;padding:0 14px 0 11px;border-radius:10px;gap:6px}
.store-badge.small .icon{width:22px;height:22px}
.store-badge.small span{font-size:16px}
.store-badge.small small{font-size:9px;margin-bottom:2px}
.store-badge.on-dark{border-color:rgba(255,255,255,.35)}

/* Hero */
.hero{padding:40px 0 30px;background:radial-gradient(700px 500px at 85% 20%,var(--peach),transparent 70%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;min-height:680px}
.hero-copy h1{margin:20px 0 22px}
.hero-copy h1 em{display:block}
.intro{font-size:19px;max-width:520px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:34px}
.hero-points{display:flex;flex-wrap:wrap;gap:22px;margin-top:28px;font-size:14px;font-weight:550;color:var(--muted)}
.hero-points li{display:flex;align-items:center;gap:7px}
.hero-points .icon{color:var(--accent);width:18px}
.hero-art{position:relative;height:680px;display:grid;place-items:center}
.hero-blob{position:absolute;inset:8% 6% 6%;background:var(--accent);border-radius:44% 56% 52% 48%/48% 42% 58% 52%;opacity:.95}
.hero-blob::after{content:"";position:absolute;inset:-14px;border:2px dashed rgba(204,97,59,.35);border-radius:inherit}
.phone{position:relative;z-index:2;width:290px;border-radius:48px;padding:10px;background:#1c1714;box-shadow:var(--shadow),inset 0 0 0 2px #3a322c}
.phone-video{width:100%;aspect-ratio:1206/2622;object-fit:cover;border-radius:38px;background:var(--cream)}
.plate{filter:drop-shadow(0 18px 22px rgba(80,40,20,.25))}
.hero-art .plate{position:absolute;z-index:1}
.p1{width:210px;left:-6%;top:12%}
.p2{width:230px;right:-10%;bottom:8%;z-index:3!important}
.p3{width:160px;right:-2%;top:2%}
.tomato{position:absolute;width:88px;left:6%;bottom:12%;z-index:3;filter:drop-shadow(0 10px 12px rgba(80,40,20,.25))}
.toast{position:absolute;z-index:4;left:-4%;bottom:22%;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;background:var(--paper);border-radius:18px;box-shadow:var(--shadow);animation:pop .8s .6s both cubic-bezier(.2,.9,.3,1.3)}
.toast img{border-radius:10px}
.toast span{display:flex;flex-direction:column;line-height:1.25}
.toast small{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}
.toast strong{font:700 16px var(--serif)}
.toast em{font:12px var(--sans);color:var(--muted)}
.note{position:absolute;z-index:4;right:-4%;top:38%;font:600 30px/1 var(--hand);color:var(--ink);rotate:8deg;background:#fff3b8;padding:10px 14px;box-shadow:0 10px 18px -10px rgba(0,0,0,.35)}
.video-toggle{position:absolute;z-index:3;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:rgba(20,15,12,.55);color:#fff;backdrop-filter:blur(8px)}
.video-toggle .icon{width:18px;height:18px}
.sources{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:10px;padding:22px 0}
.sources>span{font-size:13px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.src{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:14px;font-weight:600}
.src::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}
.ig{--c:linear-gradient(45deg,#f9a13b,#e1306c,#833ab4)}.tt{--c:#111}.yt{--c:#ff0000}.pin{--c:#e60023}.web{--c:#3b6cf7}.cam{--c:var(--accent)}

/* Video band */
.video-band{position:relative;margin-top:40px;padding:110px 0;background:var(--accent);color:#fff;overflow:hidden}
.video-band::before{content:"";position:absolute;width:640px;height:640px;right:-160px;top:-220px;border-radius:50%;background:rgba(255,255,255,.07)}
.video-grid{position:relative;display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center}
.video-copy h2{color:#fff;margin:16px 0 36px}
.video-copy h2 em{color:#ffe1cf}
.video-steps{display:grid;gap:22px;margin-bottom:40px;max-width:500px}
.video-steps li{display:flex;gap:16px;font-size:16px;color:rgba(255,255,255,.85)}
.video-steps li>span{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--accent);font:700 18px var(--serif)}
.video-steps strong{display:block;font:700 20px var(--serif);color:#fff;margin-bottom:2px}
.reel{position:relative;width:min(420px,86vw);aspect-ratio:9/16;border-radius:32px;overflow:hidden;background:var(--cream);border:8px solid #fff;box-shadow:0 40px 80px -30px rgba(60,20,5,.6);rotate:2deg}
.reel video{width:100%;height:100%;object-fit:cover}
.video-controls{position:absolute;right:14px;bottom:14px;display:flex;gap:8px}
.video-controls .video-toggle{position:static;width:44px;height:44px}

/* Gallery */
.gallery-section{padding:120px 0 40px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}
.section-heading h2{margin-top:14px}
.section-heading.centered{flex-direction:column;align-items:center;text-align:center;max-width:760px;margin-inline:auto}
.section-heading.centered p:last-child{font-size:18px;max-width:600px}
.gallery-nav{display:flex;gap:10px}
.round-button{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);transition:background .2s,color .2s}
.round-button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.gallery{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px max(32px,calc((100% - 1200px)/2)) 40px;scrollbar-width:none;scroll-padding-inline:max(32px,calc((100% - 1200px)/2))}
.gallery::-webkit-scrollbar{display:none}
.screen{flex:0 0 clamp(230px,24vw,290px);scroll-snap-align:start}
.screen img{width:100%;border-radius:26px;box-shadow:var(--shadow);background:var(--paper);transition:transform .35s}
.screen:hover img{transform:translateY(-6px)}
.screen figcaption{padding:18px 4px 0;font-size:14px;color:var(--muted)}
.screen strong{display:block;font:700 19px var(--serif);color:var(--ink)}

/* Features */
.features{padding:100px 0 120px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature{position:relative;overflow:hidden;min-height:300px;padding:30px 30px 120px;background:var(--paper);border:1px solid var(--line);border-radius:28px;transition:transform .3s,box-shadow .3s}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.feature-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent-deep);margin-bottom:22px}
.feature h3{margin-bottom:10px}
.feature p{font-size:15px}
.feature-plate{position:absolute;width:190px;right:-40px;bottom:-60px;transition:rotate .6s}
.feature:hover .feature-plate{rotate:20deg}

/* Plates marquee */
.plates-band{padding:30px 0 110px;overflow:hidden;text-align:center}
.plates-track{display:flex;gap:40px;width:max-content;animation:marquee 50s linear infinite}
.plates-track .plate{width:190px}
.plates-caption{margin-top:30px;font:700 clamp(26px,3vw,38px)/1.2 var(--serif);color:var(--ink);padding-inline:24px}
.plates-caption span{display:block;font:600 28px var(--hand);color:var(--accent);margin-top:6px}

/* FAQ */
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:40px 0 120px}
.faq-heading h2{margin:14px 0 22px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font:700 20px/1.3 var(--serif);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);font:500 22px var(--sans);transition:rotate .25s}
.faq details[open] summary::after{rotate:45deg}
.faq details p{padding:0 50px 24px 0;font-size:16px}

/* Closing */
.closing{position:relative;overflow:hidden;padding:120px 24px;background:var(--accent);color:#fff;text-align:center}
.closing-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.closing-icon{border-radius:26px;outline:6px solid rgba(255,255,255,.22);box-shadow:0 20px 40px -14px rgba(60,20,5,.55);margin-bottom:30px}
.closing h2{color:#fff;font-size:clamp(42px,6vw,76px)}
.closing h2 em{color:#ffd88a}
.closing p{color:rgba(255,255,255,.85);font-size:19px;margin:16px 0 36px}
.closing-note{margin-top:16px;font-size:14px;color:rgba(255,255,255,.75)}
.closing .plate{position:absolute;width:250px}
.c1{left:-50px;top:-40px}.c2{right:-40px;top:30px;width:220px!important}.c3{left:4%;bottom:-70px;width:200px!important}.c4{right:3%;bottom:-80px}

/* Motion */
.float{animation:float 7s ease-in-out infinite}
.p2{animation-delay:-2s}.p3{animation-delay:-4s}.tomato{animation-delay:-1s}
@keyframes float{50%{translate:0 -14px;rotate:4deg}}
@keyframes pop{from{opacity:0;scale:.7;translate:0 20px}}
@keyframes marquee{to{transform:translateX(calc(-50% - 20px))}}
[data-reveal]{opacity:0;translate:0 26px;transition:opacity .7s ease,translate .7s ease}
[data-reveal].visible,.no-js [data-reveal]{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}[data-reveal]{opacity:1;translate:0 0}}

/* Responsive */
@media (max-width:1020px){
  .site-header nav{display:none}
  .hero-grid{grid-template-columns:1fr;text-align:center;min-height:0;gap:20px}
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .intro{margin-inline:auto}
  .hero-actions,.hero-points{justify-content:center}
  .hero-art{height:640px;width:min(560px,100%);margin-inline:auto}
  .video-grid{grid-template-columns:1fr;gap:56px;justify-items:center;text-align:center}
  .video-steps{text-align:left;margin-inline:auto}
  .feature-grid{grid-template-columns:1fr 1fr}
  .faq-section{grid-template-columns:1fr;gap:30px}
}
@media (max-width:640px){
  body{font-size:15px}
  .wrap{width:calc(100% - 32px)}
  h2{font-size:clamp(32px,9vw,40px)}
  .site-header{height:60px;padding-inline:max(16px,env(safe-area-inset-left))}
  .brand{font-size:20px;gap:8px}.brand img{width:32px;height:32px;border-radius:8px}
  .eyebrow{font-size:11px;gap:8px}
  .hero{padding:18px 0 10px}
  .hero-copy h1{font-size:clamp(38px,11vw,46px);margin:14px 0 14px}
  .intro{font-size:16px;line-height:1.55}
  .hero-actions{margin-top:22px;gap:12px 20px}
  .hero-points{margin-top:16px;gap:14px;font-size:13px}
  .hero-art{height:500px;margin-top:4px}
  .phone{width:224px;border-radius:38px;padding:7px}
  .phone-video{border-radius:31px}
  .hero-blob{inset:6% 2% 4%}
  .p1{width:120px;left:-6%;top:6%}.p2{width:140px;right:-10%;bottom:6%}.p3{width:96px;right:-4%;top:0}
  .tomato{width:56px;left:2%;bottom:10%}
  .toast{left:-2%;bottom:18%;gap:10px;padding:9px 12px 9px 9px;border-radius:14px}
  .toast img{width:32px;height:32px;border-radius:8px}.toast strong{font-size:14px}.toast small{font-size:10px}
  .note{font-size:20px;right:-4%;top:40%;padding:7px 10px}
  .sources{gap:8px;padding:14px 0 6px}.sources>span{width:100%;text-align:center;margin:0 0 2px;font-size:11px}.src{font-size:13px;padding:6px 12px}
  .video-band{margin-top:24px;padding:64px 0 72px}
  .video-grid{gap:44px}
  .video-copy h2{margin:12px 0 28px}
  .video-steps{gap:18px;margin-bottom:30px}
  .video-steps li{font-size:15px;gap:14px}
  .video-steps strong{font-size:18px}
  .reel{width:min(360px,100%);border-radius:26px;border-width:6px;rotate:0deg}
  .gallery-section{padding:72px 0 10px}
  .section-heading{flex-direction:column;align-items:flex-start;margin-bottom:26px;gap:0}
  .section-heading.centered p:last-child{font-size:16px;margin-top:12px}
  .gallery-nav{display:none}
  .gallery{gap:14px;padding:6px 16px 30px;scroll-padding-inline:16px}
  .screen{flex-basis:62vw}
  .screen img{border-radius:20px}
  .screen strong{font-size:17px}
  .features{padding:56px 0 60px}
  .feature-grid{grid-template-columns:1fr;gap:14px}
  .feature{min-height:0;padding:22px 22px 24px;border-radius:22px}
  .feature-icon{width:42px;height:42px;border-radius:12px;margin-bottom:14px}
  .feature h3{font-size:20px;margin-bottom:6px}
  .feature p{font-size:14.5px}
  .feature-plate{width:118px;right:-26px;top:-26px;bottom:auto}
  .plates-band{padding:10px 0 64px}
  .plates-track{gap:22px;animation-duration:36s}
  .plates-track .plate{width:112px}
  .plates-caption{margin-top:18px}
  .plates-caption span{font-size:23px}
  .faq-section{padding:10px 0 72px;gap:20px}
  .faq summary{font-size:17px;padding:18px 0}
  .faq summary::after{width:30px;height:30px}
  .faq details p{padding:0 0 18px;font-size:15px}
  .closing{padding:84px 16px 96px}
  .closing-icon{width:88px;height:88px;border-radius:21px;margin-bottom:24px}
  .closing p{font-size:16px;margin:12px 0 28px}
  .closing .plate{width:128px!important}
  .c1{left:-44px;top:-34px}.c2{right:-40px;top:-10px}.c3{left:-30px;bottom:-56px}.c4{right:-34px;bottom:-60px}
  .store-badge.small{height:38px}
  .store-badge.small small{display:none}
  .site-footer{padding-top:28px}
  .footer-links{flex-wrap:wrap;gap:18px}
  .copyright{padding-bottom:max(28px,env(safe-area-inset-bottom))}
}
@media (max-width:360px){
  .hero-points li:last-child{display:none}
  .toast{display:none}
}
