:root{--wine:#9d2c22;--wine-dark:#742018;--coral:#ef8587;--cream:#fffaf2;--paper:#f2e7cf;--gold:#d8a554;--ink:#3a2721;--muted:#79645b;--green:#2f6f57;--white:#fff;--radius:22px;--shadow:0 22px 60px rgba(91,45,34,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:#fff;padding:10px 16px}.skip-link:focus{top:12px}.header{position:sticky;top:0;z-index:20;background:rgba(255,249,240,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(103,45,58,.1)}.header__inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:10px}.brand__seal{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--wine);color:#fff;font:700 17px "Fraunces",serif;border:2px solid var(--wine);box-shadow:inset 0 0 0 3px var(--cream)}.brand strong,.brand small{display:block;line-height:1}.brand strong{font:700 22px "Fraunces",serif;color:var(--wine)}.brand small{font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:4px}.nav{display:flex;gap:28px;font-size:14px;font-weight:600}.nav a:hover{color:var(--wine)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--wine);border-radius:999px;background:var(--wine);color:#fff;padding:15px 23px;font-weight:700;line-height:1.15;transition:.25s transform,.25s background,.25s box-shadow;box-shadow:0 10px 22px rgba(143,63,80,.18)}.button:hover{transform:translateY(-2px);background:var(--wine-dark);box-shadow:0 14px 28px rgba(143,63,80,.25)}.button--small{font-size:13px;padding:11px 18px}.hero{overflow:hidden}.hero__grid{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding-top:60px;padding-bottom:70px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--wine);text-transform:uppercase;letter-spacing:.17em;font-weight:700;font-size:11px}.eyebrow:before{content:"";width:25px;height:1px;background:currentColor}.hero h1,.section h2,.story h2,.service-area h2,.cta-box h2{font:700 clamp(48px,6vw,78px)/.98 "Fraunces",serif;letter-spacing:-.045em;margin:22px 0;color:var(--ink)}em{font-weight:600;color:var(--wine)}.hero__lead{max-width:600px;color:var(--muted);font-size:18px}.hero__actions{display:flex;align-items:center;gap:24px;margin-top:32px}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid}.quick-info{display:flex;gap:24px;list-style:none;padding:0;margin:38px 0 0;color:var(--muted);font-size:13px}.quick-info span{color:var(--wine);margin-right:5px}.hero__visual{position:relative;min-width:0}.photo-placeholder{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f4d6cb,#e9b5ac);color:var(--wine);border-radius:var(--radius)}.photo-placeholder:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.6);border-radius:calc(var(--radius) - 8px);pointer-events:none}.photo-placeholder--hero{height:510px;border-radius:48% 48% 24px 24px;background:radial-gradient(circle at 70% 25%,#fff5e8 0 6%,transparent 6.5%),linear-gradient(145deg,#f7dfd0,#e5aa9e)}.photo-placeholder--hero small{position:absolute;left:32px;bottom:28px;color:#fff;font:600 21px/1.15 "Fraunces",serif;text-shadow:0 1px 10px rgba(60,20,20,.2)}.cake-art{position:relative;width:220px;height:220px;filter:drop-shadow(0 18px 18px rgba(103,45,58,.16))}.cake-art i,.cake-art b{position:absolute;left:20px;right:20px;background:#fff4e5;border-radius:18px}.cake-art i{height:70px;bottom:25px}.cake-art b{height:90px;left:48px;right:48px;bottom:90px}.cake-art:before,.cake-art:after{content:"";position:absolute;background:var(--wine);width:6px;height:48px;border-radius:6px;left:89px;bottom:180px;box-shadow:36px 0 var(--gold)}.cake-art em{position:absolute;z-index:2;left:95px;bottom:102px;font-style:normal;font-size:38px}.handwritten{position:absolute;right:-12px;top:20px;transform:rotate(6deg);background:#fff;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);font:500 13px "DM Sans"}.handwritten strong{color:var(--wine);font:700 19px "Fraunces"}.hero__badge{position:absolute;left:-55px;bottom:40px;width:135px;height:135px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--gold);color:#fff;transform:rotate(-7deg);border:5px solid var(--cream)}.hero__badge strong{font:700 22px "Fraunces"}.hero__badge span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;line-height:1.25}.marquee{background:var(--wine);color:#fff;overflow:hidden;padding:13px 0;font-size:11px;letter-spacing:.2em;white-space:nowrap}.marquee div{width:max-content;animation:scroll 25s linear infinite}.marquee b{color:#efc276;margin:0 25px}@keyframes scroll{to{transform:translateX(-50%)}}.section{padding:110px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:55px}.section-heading h2,.story h2,.service-area h2,.cta-box h2{font-size:clamp(40px,5vw,62px);margin:14px 0 0}.section-heading>p{max-width:430px;color:var(--muted);margin:0}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.product-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 0 rgba(103,45,58,.08)}.product-card--large{grid-column:span 2}.product-card__image{height:260px;border-radius:0}.product-card--large .product-card__image{height:380px}.photo-placeholder--gold{background:linear-gradient(145deg,#f6d99b,#dca355)}.photo-placeholder--pink{background:linear-gradient(145deg,#f4d7d8,#dca1ac)}.line-art{font:700 85px "Fraunces";opacity:.6}.photo-note{position:absolute;bottom:24px;text-align:center;font-size:11px;letter-spacing:.05em;line-height:1.4;opacity:.7}.product-card__body{display:flex;gap:18px;padding:28px}.number{color:var(--gold);font:600 15px "Fraunces"}.product-card h3{font:700 25px "Fraunces";margin:0 0 8px}.product-card p{color:var(--muted);margin:0 0 15px}.product-card small{font-weight:700;color:var(--wine)}.center{text-align:center;margin-top:42px}.button--outline{background:transparent;color:var(--wine);box-shadow:none}.story{background:var(--paper)}.story__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.photo-placeholder--portrait{height:610px;background:linear-gradient(160deg,#d8b49d,#9b655c)}.portrait-art{display:grid;place-items:center;width:170px;height:170px;border:2px solid rgba(255,255,255,.7);border-radius:50%;font-size:70px;color:#fff}.story__visual{position:relative}.story__caption{position:absolute;right:-40px;bottom:35px;background:#fff;padding:20px 25px;border-radius:12px;box-shadow:var(--shadow);transform:rotate(-3deg)}.story__caption span,.story__caption strong{display:block}.story__caption strong{font:700 20px "Fraunces";color:var(--wine)}.story__copy p{color:var(--muted)}.story__copy blockquote{border-left:3px solid var(--gold);margin:30px 0 0;padding:5px 0 5px 22px;font:600 21px/1.4 "Fraunces";color:var(--wine)}.section-heading--center{justify-content:center;text-align:center}.section-heading--center .eyebrow:before{display:none}.steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0;counter-reset:steps}.steps li{position:relative;text-align:center;padding:36px 28px}.steps li+li{border-left:1px solid #eadbce}.steps li>span{position:absolute;left:22px;top:16px;color:#d5b9ad;font:700 48px "Fraunces"}.step-icon{position:relative;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--paper);color:var(--wine);font-size:28px;margin:0 auto 20px}.steps h3{font:700 22px "Fraunces";margin:0}.steps p{color:var(--muted);font-size:14px}.notice{width:fit-content;margin:40px auto 0;background:#fff0d5;padding:13px 20px;border-radius:10px;color:#765321;font-size:13px}.service-area{padding:100px 0;background:var(--wine-dark);color:#fff}.service-area__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.service-area .eyebrow,.service-area em{color:#f2c47a}.service-area h2{color:#fff}.service-area__copy>p{color:#e6ced1;max-width:520px}.city-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.city-list span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 15px;font-size:12px}.service-area__info{display:grid;gap:18px}.service-area__info>div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:25px;border-radius:16px}.service-area__info span{color:#f2c47a;font-size:25px}.service-area__info h3{font:700 21px "Fraunces";margin:5px 0}.service-area__info p{color:#dcc4c8;margin:0;font-size:14px}.cta-section{padding:80px 0;background:var(--paper)}.cta-box{position:relative;overflow:hidden;text-align:center;background:var(--wine);color:#fff;border-radius:30px;padding:80px 30px}.cta-box .eyebrow,.cta-box em{color:#f4c97f}.cta-box .eyebrow:before{display:none}.cta-box h2{color:#fff}.cta-box p{color:#eedde0}.button--light{background:#fff;color:var(--wine);border-color:#fff}.cta-box>small{display:block;margin-top:18px;color:#e1c5ca}.spark{position:absolute;color:#f2c47a;font-size:45px}.spark--one{left:10%;top:25%}.spark--two{right:10%;bottom:20%;transform:rotate(12deg)}.footer{padding:50px 0;background:#2f2421;color:#d7c8c0}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.brand--footer .brand__seal{background:#fff;color:var(--wine);box-shadow:none}.brand--footer strong{color:#fff}.footer p{font-size:12px;margin:4px 0}.floating-whatsapp{display:none}.toast{position:fixed;z-index:50;left:50%;bottom:-100px;transform:translateX(-50%);background:#2f2421;color:#fff;padding:13px 20px;border-radius:10px;font-size:13px;transition:.3s;box-shadow:var(--shadow)}.toast.is-visible{bottom:25px}.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:850px){.nav{display:none}.header .button{display:none}.hero__grid{grid-template-columns:1fr;gap:45px;padding-top:45px}.hero__copy{text-align:center}.hero__lead{margin-inline:auto}.hero__actions,.quick-info{justify-content:center}.hero__visual{max-width:560px;margin:auto;width:100%}.hero__badge{left:-10px}.section{padding:80px 0}.section-heading,.story__grid,.service-area__grid{grid-template-columns:1fr;display:grid;gap:40px}.story__grid{gap:60px}.story__visual{max-width:520px}.story__caption{right:-8px}.steps{grid-template-columns:1fr}.steps li+li{border-left:0;border-top:1px solid #eadbce}.service-area__grid{gap:50px}.footer__inner{align-items:flex-start;flex-direction:column}.floating-whatsapp{position:fixed;z-index:19;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;border-radius:999px;padding:13px 18px;box-shadow:0 10px 25px rgba(20,70,45,.3);font-size:13px}.floating-whatsapp span{font-size:18px}}
@media(max-width:600px){.container{width:min(100% - 28px,1160px)}.header__inner{height:68px}.hero h1{font-size:48px}.hero__lead{font-size:16px}.hero__actions{flex-direction:column}.quick-info{align-items:center;flex-direction:column;gap:5px}.photo-placeholder--hero{height:410px}.hero__badge{width:110px;height:110px;bottom:25px}.handwritten{right:3px}.section-heading h2,.story h2,.service-area h2,.cta-box h2{font-size:40px}.section-heading{display:block}.section-heading>p{margin-top:20px}.product-grid{grid-template-columns:1fr}.product-card--large{grid-column:auto}.product-card--large .product-card__image,.product-card__image{height:250px}.story__grid{grid-template-columns:1fr}.photo-placeholder--portrait{height:480px}.story__caption{bottom:20px}.steps li{padding:35px 12px}.cta-box{padding:65px 20px}.spark{display:none}.footer{padding-bottom:100px}.button{width:100%}.floating-whatsapp{width:auto}.text-link{padding:8px}.brand strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Identidade visual original da Tia Con */
.brand__logo{display:block;width:50px;height:50px;border-radius:50%;overflow:hidden;background:var(--paper);box-shadow:0 0 0 2px var(--coral);flex:0 0 auto}
.brand__logo img{width:100%;height:100%;object-fit:contain}
.photo-placeholder--hero{background:radial-gradient(circle at 70% 25%,#fff8e9 0 6%,transparent 6.5%),linear-gradient(145deg,#f3e5c9,#efa8a0)}
.hero__logo{position:absolute;z-index:4;right:-22px;bottom:25px;width:150px;height:150px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:var(--shadow);border:4px solid #fff;transform:rotate(4deg)}
.hero__logo img{width:100%;height:100%;object-fit:contain}
.hero__badge{z-index:4;background:var(--coral);box-shadow:0 12px 28px rgba(92,34,29,.22)}
.brand--footer .brand__logo{box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.footer a:hover{color:#fff}
.real-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-placeholder--hero .real-photo{object-position:center 55%}.photo-placeholder--hero:before{content:"";position:absolute;z-index:1;inset:45% 0 0;background:linear-gradient(transparent,rgba(55,22,18,.58));pointer-events:none}.photo-placeholder--hero small{z-index:2}.product-card__image .real-photo{object-position:center 50%}.product-card--large .real-photo{object-position:center 48%}.photo--salgados .real-photo{object-position:center 70%}
.cake-carousel{position:relative;background:var(--paper)}.cake-gallery{display:flex;gap:10px;height:470px;padding:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.cake-gallery::-webkit-scrollbar{display:none}.cake-gallery figure{position:relative;flex:0 0 calc((100% - 20px)/3);min-width:0;margin:0;overflow:hidden;border-radius:14px;background:#e8dac2;scroll-snap-align:start}.cake-gallery img{display:block;width:100%;height:100%;object-fit:contain}.cake-gallery figcaption{position:absolute;left:12px;bottom:12px;padding:7px 11px;border-radius:999px;background:rgba(255,250,242,.92);color:var(--wine);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 5px 18px rgba(50,20,15,.1)}.gallery-arrow{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,250,242,.95);color:var(--wine);font:600 30px/1 "Fraunces",serif;box-shadow:0 8px 24px rgba(70,30,25,.18);cursor:pointer;transform:translateY(-50%);transition:.2s transform,.2s background}.gallery-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.06)}.gallery-arrow--prev{left:22px}.gallery-arrow--next{right:22px}
.photo--conceicao{background:#d55f8b}.photo--conceicao img{display:block;width:100%;height:100%;object-fit:contain}.photo--conceicao:after{inset:12px;z-index:1}
@media(max-width:600px){.brand__logo{width:44px;height:44px}.hero__logo{width:115px;height:115px;right:-4px;bottom:18px}}
@media(max-width:600px){.cake-gallery{height:390px}.cake-gallery figure{flex:0 0 calc(100% - 28px);scroll-snap-align:center}.cake-gallery img{object-fit:contain}.product-card--large .cake-gallery{height:390px}.gallery-arrow{width:38px;height:38px;font-size:25px}.gallery-arrow--prev{left:18px}.gallery-arrow--next{right:18px}}

/* Mantém a legenda da capa acima dos selos */
.photo-placeholder--hero small{left:28px;bottom:190px;max-width:190px;padding:8px 11px;border-radius:10px;background:rgba(70,30,25,.58);backdrop-filter:blur(4px);font-size:18px;text-shadow:0 2px 8px rgba(30,10,8,.35)}
@media(max-width:600px){.photo-placeholder--hero small{left:18px;bottom:145px;max-width:175px;font-size:16px}}

/* Retrato real da Conceição: corte fechado sem exibir o bolo do curso */
.photo--conceicao img{object-fit:contain;object-position:center top;transform:scale(1.75);transform-origin:center top}

.location-section{padding:85px 0;background:var(--cream)}
.location-card{display:grid;grid-template-columns:.75fr 1.25fr;overflow:hidden;background:#fff;border-radius:28px;box-shadow:var(--shadow)}
.location-card__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:45px}
.location-card h2{margin:12px 0 18px;font:700 40px/1.05 "Fraunces",serif;color:var(--ink)}
.location-card p{margin:0 0 8px;color:var(--muted)}
.location-card small{color:var(--wine);font-weight:700}
.location-link{margin-top:24px}
.location-card__map{min-height:330px}
.location-card__map iframe{display:block;width:100%;height:100%;min-height:330px;border:0}
@media(max-width:750px){.location-section{padding:60px 0}.location-card{grid-template-columns:1fr}.location-card__copy{padding:34px 26px}.location-card h2{font-size:34px}.location-card__map,.location-card__map iframe{min-height:280px}}

/* Assinatura mais afetiva no slogan do topo */
.hero .eyebrow:before{content:"♡";width:auto;height:auto;background:none;font-size:17px;line-height:1}
