/* Composição de abertura: identidade, pessoa e produto. */
:root{--cream:#fbf5e9;--ink:#38271e;--terra:#a94c2c;--olive:#4d5b3b}
.masthead{position:relative;z-index:8;background:var(--cream)}
.masthead-inner{max-width:1240px;margin:auto;padding:10px 40px;min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #6d3d241c}
.wordmark{display:block;flex-shrink:0;width:144px}
.wordmark img{display:block;width:100%;height:auto}
.main-nav{display:flex;align-items:center;gap:35px;margin-left:auto;margin-right:45px;font-size:12px;font-weight:600}
.main-nav>a{padding:12px 0;position:relative}
.main-nav>a::after{content:'';position:absolute;bottom:5px;left:0;width:0;height:1px;background:var(--terra);transition:width .25s}
.main-nav>a:hover::after{width:100%}
.local-note{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:400}
.local-note svg{width:16px;height:16px;stroke:var(--terra);stroke-width:1.6}
.header-cart{display:flex;align-items:center;gap:9px;border:1px solid #b490762e;border-radius:30px;padding:11px 15px;background:transparent;color:var(--ink);cursor:pointer;min-height:46px;transition:background .2s,border-color .2s}
.header-cart:hover{background:#f1e5d3;border-color:#b4907670}
.header-cart>svg{width:19px;height:21px;stroke:currentColor;stroke-width:1.5}
.header-cart b{background:var(--terra);color:white}
.intro{overflow:hidden;background:var(--cream);position:relative}
.intro-inner{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:15px;max-width:1240px;padding:50px 40px 26px;margin:auto}
.intro-copy{position:relative;z-index:2;padding-bottom:16px}
.intro-kicker{display:flex;align-items:center;gap:8px;color:var(--terra);font-size:10px;letter-spacing:.14em;font-weight:700;margin:0 0 24px;animation:intro-rise .7s .05s both}
.intro-kicker>span{width:6px;height:6px;background:var(--olive);border-radius:50%;flex-shrink:0}
.intro h1{position:relative;display:inline-block;font:500 clamp(54px,5.8vw,83px)/.99 var(--serif);letter-spacing:-.055em;margin:0 0 28px;animation:intro-rise .8s .13s both}
.intro h1 em{font-weight:500;color:var(--terra)}
.headline-swish{position:absolute;bottom:-17px;width:66%;height:19px;left:4%;stroke:#bd8257;stroke-width:1.5;stroke-linecap:round;pointer-events:none}
.headline-swish path{stroke-dasharray:650;stroke-dashoffset:0;animation:draw-swish 1.4s .5s both}
.intro-description{font-size:15px;line-height:1.8;color:#766454;max-width:330px;margin:0 0 24px;animation:intro-rise .8s .23s both}
.intro-actions{animation:intro-rise .8s .32s both}
.order-cta{display:inline-flex;align-items:center;gap:26px;min-height:58px;background:var(--olive);color:white;padding:8px 9px 8px 23px;border-radius:36px;font-size:13px;font-weight:600;box-shadow:0 8px 18px #3e492019;transition:background .25s,transform .25s,box-shadow .25s}
.order-cta>span{display:grid;place-items:center;width:40px;height:40px;background:#ffffff1c;border-radius:50%;transition:transform .25s,background .25s}
.order-cta svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.5}
.order-cta:hover{background:#3d492d;transform:translateY(-2px);box-shadow:0 12px 22px #3e49202b}
.order-cta:hover>span{transform:rotate(-30deg);background:#ffffff28}
.order-cta:active{transform:translateY(1px)}
.intro-actions>p{font-size:10px;color:var(--muted);margin:12px 0 0 7px}
.intro-scene{position:relative;height:505px;isolation:isolate;animation:scene-appear 1s .2s both}
.scene-arch{position:absolute;right:10%;top:4%;width:65%;height:81%;background:#e8dac2;border-radius:49% 49% 44% 44%;transform:rotate(9deg);z-index:-2}
.scene-ring{position:absolute;right:3%;top:0;width:68%;height:83%;border:1px solid #b7906866;border-radius:49% 49% 44% 44%;transform:rotate(15deg);z-index:-1}
.ana-frame{position:absolute;right:12%;top:0;width:61%;height:81%;margin:0;border-radius:47% 47% 7px 7px;overflow:hidden;transform:rotate(3deg)}
.ana-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:52% 15%;transform:scale(1.05)}
.hero-tapioca{position:absolute;width:92%;height:auto;left:-13%;bottom:-1%;z-index:3;filter:drop-shadow(0 16px 11px #4a24121c);animation:plate-settle 1.15s .4s both,plate-breathe 7s 1.6s ease-in-out infinite;transform-origin:60% 55%;pointer-events:none}
.artisan-seal{position:absolute;left:3%;top:4%;width:108px;height:108px;border:1px solid #a5834d80;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;transform:rotate(-12deg);z-index:2;outline:1px solid #a5834d55;outline-offset:-6px}
.artisan-seal>svg{width:22px;height:22px;stroke:var(--olive);stroke-width:1.4}
.artisan-seal>span{text-align:center;font:italic 14px/1.15 var(--serif);color:var(--ink)}
.artisan-seal strong{font-weight:500}
.food-note{position:absolute;left:-6%;top:32%;color:var(--terra);font:italic 18px/1.2 var(--serif);transform:rotate(-9deg);z-index:4}
.food-note svg{position:absolute;width:65px;height:43px;left:57px;top:28px;stroke:var(--terra);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.ana-signature{position:absolute;right:0;bottom:3%;display:flex;align-items:center;gap:9px;z-index:4;transform:rotate(-3deg)}
.ana-signature .signature-line{width:24px;height:1px;background:var(--terra);transform:rotate(-30deg);align-self:flex-start;margin-top:13px}
.ana-signature strong{display:block;font:italic 21px var(--serif);color:var(--terra);font-weight:500}
.ana-signature div>span{font-size:9px;display:block;margin-top:4px;color:var(--muted)}
.scene-spark{position:absolute;color:var(--terra);font-size:33px;line-height:1}
.spark-one{right:0;top:10%;transform:rotate(10deg)}
.spark-two{left:0;bottom:9%;font-size:24px;color:var(--olive)}
.intro-details{max-width:1160px;margin:0 auto;padding:24px 0 27px;display:flex;justify-content:center;gap:38px;align-items:center;border-top:1px solid #6d3d241c}
.intro-details>span{display:flex;gap:8px;align-items:center;font-size:11px;color:#725c49}
.intro-details svg{width:21px;height:21px;stroke:var(--olive);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.intro-details>i{height:3px;width:3px;border-radius:50%;background:#b09a7d}
.footer-logo{display:block;width:144px;height:auto}
.site-footer .brand{flex-shrink:0}
.section-heading h2{letter-spacing:-.045em}
.menu-section{padding-top:64px}
.product-card{border-radius:12px;transition:box-shadow .3s,transform .3s}
.product-card:hover{box-shadow:0 9px 22px #6534170d;transform:translateY(-3px)}
.add-button{border-radius:20px}
.mobile-bag{border-radius:32px;padding-left:22px;padding-right:22px}
.motion-ready .reveal-target{transition:opacity .65s ease,transform .65s ease}
.motion-ready .reveal-target:not(.in-view){opacity:0;transform:translateY(20px)}
.product-card.reveal-target:nth-child(3n+2){transition-delay:.07s}
.product-card.reveal-target:nth-child(3n+3){transition-delay:.14s}
@keyframes intro-rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes scene-appear{from{opacity:0;transform:translateY(12px) rotate(1deg)}to{opacity:1;transform:none}}
@keyframes draw-swish{from{stroke-dashoffset:650}to{stroke-dashoffset:0}}
@keyframes plate-settle{from{opacity:0;transform:translate(-12px,20px) rotate(-5deg)}to{opacity:1;transform:none}}
@keyframes plate-breathe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(.5deg)}}
@media(min-width:1440px){.intro-inner{padding-top:62px;padding-bottom:32px}.intro-scene{height:540px}}
@media(max-width:1000px) and (min-width:761px){.intro-inner{padding:34px 32px 20px;grid-template-columns:1fr 1fr}.intro h1{font-size:62px}.intro-scene{height:440px}.food-note{font-size:15px;left:-8%}.artisan-seal{width:92px;height:92px;left:0}.main-nav{gap:20px;margin-right:10px}.local-note{display:none}.ana-signature{right:-10px;bottom:0}.ana-signature strong{font-size:18px}}
@media(max-width:760px){
  html{scroll-padding-top:22px}
  .masthead-inner{padding:7px 20px;min-height:96px;gap:16px}
  .wordmark{width:124px}
  .main-nav{display:none}
  .header-cart{padding:10px 12px;gap:7px;font-size:11px}
  .header-cart>svg{width:18px;height:18px}
  .header-cart b{min-width:21px;height:21px}
  .intro-inner{display:flex;flex-direction:column;gap:10px;padding:22px 22px 0}
  .intro-copy{text-align:center;padding:0;width:100%}
  .intro-kicker{justify-content:center;font-size:8px;letter-spacing:.12em;margin-bottom:15px}
  .intro h1{font-size:clamp(45px,12vw,65px);line-height:1;letter-spacing:-.05em;margin-bottom:24px}
  .headline-swish{left:6%;width:68%;bottom:-14px;height:15px}
  .intro-description{font-size:13px;line-height:1.7;max-width:290px;margin:0 auto 17px}
  .order-cta{min-height:51px;font-size:12px;padding:7px 8px 7px 19px;gap:22px}
  .order-cta>span{width:35px;height:35px}
  .intro-actions>p{font-size:9px;margin:9px 0 0}
  .intro-scene{width:min(100%,390px);height:300px;margin-top:7px}
  .scene-arch{right:8%;width:62%;height:81%}
  .scene-ring{right:1%;width:64%;height:82%}
  .ana-frame{right:10%;width:61%;height:81%}
  .hero-tapioca{width:94%;left:-7%;bottom:-1%}
  .artisan-seal{width:82px;height:82px;top:2%;left:4%;gap:3px}
  .artisan-seal>svg{width:17px;height:17px}
  .artisan-seal>span{font-size:12px}
  .food-note{left:2%;top:35%;font-size:14px}
  .food-note svg{width:44px;height:33px;left:42px;top:22px}
  .ana-signature{right:-1%;bottom:3%;gap:5px}
  .ana-signature strong{font-size:17px}
  .ana-signature div>span{font-size:7px}
  .signature-line{display:none}
  .spark-one{font-size:23px;right:0;top:11%}
  .spark-two{font-size:18px;left:1%;bottom:12%}
  .intro-details{margin:12px 20px 0;padding:18px 0 21px;gap:12px;justify-content:space-between}
  .intro-details>span{font-size:9px;gap:5px;line-height:1.5}
  .intro-details svg{width:18px;height:18px;flex-shrink:0}
  .intro-details>i{display:none}
  .intro-details>span:last-child{max-width:94px}
  .footer-logo{width:132px}
  .menu-section{padding-top:40px}
  .section-heading h2{font-size:39px}
  .section-aside{font-size:12px}
  .menu-tools{margin-top:24px}
  .category-link{min-height:44px;display:flex;align-items:center;font-size:11px}
}
@media(max-width:360px){.intro-scene{height:265px}.intro-kicker{font-size:7px}.intro-inner{padding-left:18px;padding-right:18px}.intro-details{gap:9px}.intro-details>span{font-size:8px}.artisan-seal{width:72px;height:72px}.food-note{font-size:12px}.intro h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){
  .intro *,.intro *::before,.intro *::after{animation:none!important;transition:none!important}
  .motion-ready .reveal-target:not(.in-view){opacity:1;transform:none}
  .order-cta:hover,.product-card:hover{transform:none}
}
