@import url('https://fonts.googleapis.com/css2?family=Imperial+Script&display=swap');
/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:auto}html,body{margin:0;padding:0}body{min-width:320px}img,svg,video,canvas{display:block;max-width:100%}img{height:auto}button,input,textarea,select{font:inherit}button,a{color:inherit}button{border:0}a{text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}

/* ===== TOKENS ===== */
:root{
  --font-display:"PP Acma Book",Georgia,"Times New Roman",serif;
  --font-serif:Georgia,"Times New Roman",serif;
  --font-ui:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --green-950:#19291d;
  --green-900:#203829;
  --red-800:#6a1817;
  --red-700:#8d1518;
  --gold-500:#b39256;
  --gold-300:#d9b96f;
  --cream-50:#fbf5e9;
  --cream-100:#f2e3c9;
  --ink:#241b16;
  --paper:#f5e8d3;
  --white:#fffdf8;
  --container:1440px;
  --gutter:24px;
  --radius-sm:14px;
  --radius-md:18px;
  --radius-lg:30px;
  --radius-pill:999px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-soft:cubic-bezier(.22,.61,.36,1);
  --duration-fast:180ms;--duration-md:440ms;--duration-slow:900ms;
  --shadow-soft:0 18px 55px rgba(32,18,10,.18);
  --shadow-object:0 22px 40px rgba(28,13,6,.24);
}

/* ===== BASE ===== */
@font-face{
  font-family:"PP Acma Book";
  src:url("../fonts/PPAcma-Book.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
body{font-family:var(--font-serif);color:var(--ink);background:#efe7d9;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.site{position:relative;overflow:clip;background:var(--cream-50)}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.eyebrow{font-size:clamp(.76rem,.9vw,.98rem);text-transform:uppercase;letter-spacing:.16em;line-height:1.35}
.display{font-family:var(--font-display);font-size:clamp(2.65rem,4.1vw,4.65rem);line-height:.96;font-weight:400;letter-spacing:-.035em}
.section-title{font-family:var(--font-display);font-size:clamp(2.1rem,3.2vw,3.7rem);line-height:1.02;font-weight:400;letter-spacing:-.03em}
.body-lg{font-size:clamp(1rem,1.25vw,1.35rem);line-height:1.45}
/* CTA language: restrained wine, fine gold edge and a very soft light sweep. */
.button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.78rem;min-height:52px;padding:0 28px;border-radius:14px;overflow:hidden;cursor:pointer;font-family:var(--font-ui);font-size:.80rem;font-weight:650;letter-spacing:.055em;transform:none;transition:background-color 280ms ease,border-color 280ms ease,box-shadow 420ms var(--ease-out),filter 280ms ease}
.button::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(84,7,10,.34);pointer-events:none;z-index:-1}
.button::after{content:"";position:absolute;top:-70%;bottom:-70%;left:-30%;width:16%;transform:skewX(-18deg) translateX(-330%);background:linear-gradient(90deg,transparent,rgba(255,239,202,.34),transparent);transition:transform 780ms var(--ease-out);pointer-events:none;z-index:-1}
.button:hover{transform:none;filter:brightness(1.035);box-shadow:0 10px 24px rgba(55,7,10,.20),0 0 0 1px rgba(224,188,106,.10)}
.button:hover::after{transform:skewX(-18deg) translateX(820%)}
.button--primary{background:linear-gradient(180deg,#a31d24 0%,#8b151b 100%);color:#fffaf0;border:1px solid rgba(221,184,98,.56);box-shadow:0 5px 15px rgba(61,8,10,.15)}
.button--primary:hover{background:linear-gradient(180deg,#ae2229 0%,#94171d 100%);border-color:rgba(234,202,128,.76)}
.button svg{width:19px;height:19px}
.button .button-arrow{display:inline-block;line-height:1;font-size:1.02em;transition:transform 420ms var(--ease-out);will-change:transform}
.button:hover .button-arrow{transform:translateX(6px)}
.ornament{display:flex;align-items:center;gap:10px;color:var(--gold-500)}
.ornament::before,.ornament::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,currentColor)}
.ornament::after{background:linear-gradient(90deg,currentColor,transparent)}
.ornament__star{font-size:1.1rem;line-height:1}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
[data-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none!important}}

/* ===== COMPONENTS ===== */
@font-face{
  font-family:"PPAcma";
  src:url("../fonts/PPAcma-Book.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

.site-header{height:86px;background:var(--green-950);color:#fff9eb;position:sticky;top:0;z-index:1000;box-shadow:0 1px 0 rgba(231,191,105,.12)}
.header-inner{height:100%;display:grid;grid-template-columns:330px 1fr auto;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:0;color:var(--gold-300);line-height:1}
.brand-star{width:46px;height:44px;object-fit:contain;flex:0 0 auto}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap}
.brand-title{font-family:"Times New Roman",Times,serif;font-style:italic;font-size:2rem;font-weight:400;letter-spacing:-.025em}
.brand-title sup{font-size:.42em;line-height:0;vertical-align:super;margin-left:2px}
.brand-original{margin-top:1px;padding-left:2px;font-family:"Times New Roman",Times,serif;font-style:italic;font-size:.95rem;line-height:.9}
.nav{display:flex;justify-content:center;gap:clamp(26px,3.2vw,56px);font-size:1.05rem}
.nav a{position:relative;display:inline-block;opacity:.92;transform:scale(1);transform-origin:center;transition:opacity var(--duration-fast),color var(--duration-fast),transform 260ms var(--ease-out)}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold-300);transition:right var(--duration-md) var(--ease-out)}
.nav a:hover{opacity:1;color:var(--gold-300);transform:scale(.94)}.nav a:hover::after{right:0}
.header-actions{display:flex;align-items:center;gap:16px}.icon-btn{position:relative;width:42px;height:42px;display:grid;place-items:center;color:var(--gold-300);background:transparent}.icon-btn svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.65}
.cart-count{position:absolute;right:0;top:1px;min-width:18px;height:18px;padding:0 4px;border-radius:20px;background:#b71922;color:#fff;font:700 10px/18px Arial,sans-serif;text-align:center}
.menu-toggle{display:none}


/* Lightweight single-color UI icons. Reusable anywhere via currentColor. */
.ui-icon{display:inline-block;flex:0 0 auto;width:1em;height:1em;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.ui-icon--envelope{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M10 14h44a6 6 0 0 1 6 6v28a6 6 0 0 1-6 6H10a6 6 0 0 1-6-6V20a6 6 0 0 1 6-6Zm0 5 22 18 22-18H10Zm-1 5v24c0 .6.4 1 1 1h44c.6 0 1-.4 1-1V24L34 41.2a3 3 0 0 1-4 0L9 24Z'/%3E%3C/svg%3E")}
.ui-icon--snow{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' d='M29 4h6v13l10-7 3 5-11 7 11 6-3 5-10-6v11l10 6-3 5-7-4v15h-6V45l-7 4-3-5 10-6V27l-10 6-3-5 11-6-11-7 3-5 10 7V4ZM7 29h15v6H7v-6Zm35 0h15v6H42v-6Z'/%3E%3C/svg%3E")}
.ui-icon--shield{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M32 3 56 13v19c0 15.4-9.4 25.4-24 31C17.4 57.4 8 47.4 8 32V13L32 3Zm0 6.5L14 17v15c0 11.6 6.7 19.4 18 24.2C43.3 51.4 50 43.6 50 32V17L32 9.5Zm12.2 14.4 4 4.2-18 17-10-10 4.2-4.2 5.8 5.8 14-12.8Z'/%3E%3C/svg%3E")}
.ui-icon--heart{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M32 59 8.2 35.7C-4 23.5 4.6 5 20 5c5.3 0 9.4 2.2 12 6.2C34.6 7.2 38.7 5 44 5c15.4 0 24 18.5 11.8 30.7L32 59Zm0-8.4 19.5-19.2C59.7 23.3 54 11 44 11c-5.4 0-8.7 3.3-9.2 8.6h-5.6C28.7 14.3 25.4 11 20 11 10 11 4.3 23.3 12.5 31.4L32 50.6Z'/%3E%3C/svg%3E")}
.button__icon{width:24px;height:24px}

.hero{position:relative;min-height:min(943px,calc(100vw * .5664));background:#171009;isolation:isolate}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-4;transform:scale(1.015)}
.hero-vignette{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(8,5,3,.18) 0%,rgba(8,5,3,.04) 48%,rgba(8,5,3,0) 70%),linear-gradient(180deg,rgba(5,4,2,.08),transparent 60%)}
.hero-copy{position:absolute;left:clamp(6%,13.6vw,227px);top:15.3%;width:min(31%,500px);text-align:center;color:#fff9ed;z-index:4}
.hero-copy .ornament{width:74%;margin:0 auto 18px}.hero-copy h1{color:#f3d7a0;text-shadow:0 3px 16px rgba(0,0,0,.3)}
.hero-copy p{margin:22px auto 0;max-width:450px;color:#fffef8}.hero-actions{margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:28px}.hero-trailer{display:inline-flex;align-items:center;gap:12px;font-size:1.13rem;text-transform:uppercase;color:#fff}.hero-trailer img{width:58px;height:58px;transition:transform var(--duration-md) var(--ease-out),filter var(--duration-md)}.hero-trailer:hover img{transform:scale(1.08) rotate(3deg);filter:drop-shadow(0 0 16px rgba(236,181,78,.55))}
.hero-product{position:absolute;right:3.4%;top:auto;bottom:10px;width:min(19.1%,318px);z-index:22;filter:drop-shadow(0 26px 28px rgba(25,8,4,.28));transform-origin:center bottom;will-change:transform}
.hero-product__image{display:block;width:100%;height:auto}

.hero-divider{position:absolute;left:7%;right:7%;bottom:-9.5%;z-index:9;filter:drop-shadow(0 14px 28px rgba(31,15,8,.24))}.hero-divider-paper{width:100%;height:auto}.hero-foliage{position:absolute;bottom:-6%;width:24%;z-index:10;pointer-events:none;will-change:transform}.hero-foliage--left{left:-1.5%}.hero-foliage--right{right:-1.5%;transform:scaleX(-1)}
.benefits{position:absolute;inset:17% 4% 16%;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;z-index:1}.benefit{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:14px;padding:0 12px;border-right:1px solid rgba(133,93,49,.22)}.benefit:last-child{border-right:0}.benefit>.ui-icon{width:48px;height:48px;color:#8e1720}.benefit strong{display:block;font-size:1.05rem;margin-bottom:4px}.benefit span{display:block;font-size:.86rem;line-height:1.35}

.story{position:relative;min-height:min(939px,calc(100vw * .5639));background:#f0dfc6;overflow:hidden}.story-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story-copy{position:absolute;left:9.6%;top:18%;width:33%;max-width:470px;text-align:center;z-index:7}.story-copy .ornament{width:62%;margin:0 auto 18px;color:#9d7b39}.story-copy h2 .accent{color:#9b1b20}.story-copy p{font-size:1.15rem;line-height:1.52;margin:24px auto 0;max-width:390px}.story-copy .closing{color:#9b1b20;margin-top:12px}.story-features{margin:26px auto 0;padding:18px 16px 14px;width:min(100%,565px);display:grid;grid-template-columns:repeat(5,1fr);gap:8px;border-radius:22px;background:rgba(247,236,217,.85);border:1px solid rgba(189,149,84,.38);backdrop-filter:blur(2px)}.story-feature{text-align:center;color:#9e6c1b;font-size:.66rem;line-height:1.15}.story-feature svg{width:34px;height:34px;margin:0 auto 8px;stroke:#b17c22;fill:none;stroke-width:1.7}
.story-scene{position:absolute;left:48%;right:0;top:0;bottom:0;z-index:4;perspective:1200px}.story-object{position:absolute;--story-x:0px;--story-y:0px;--story-r-offset:0deg;filter:drop-shadow(0 16px 22px rgba(35,15,6,.20));transform:translate3d(var(--story-x),var(--story-y),0) rotate(calc(var(--story-base-r,0deg) + var(--story-r-offset,0deg)));transform-origin:center center;will-change:transform;transition:filter var(--duration-md) var(--ease-out),transform .38s var(--ease-out)}
.polaroid{cursor:default;transition:transform .32s cubic-bezier(.22,.7,.2,1),filter .32s ease;backface-visibility:hidden;transform-origin:center center}
@media (hover:hover) and (pointer:fine){.polaroid:hover{z-index:20!important;filter:drop-shadow(0 18px 20px rgba(28,12,5,.22));transform:translate3d(calc(var(--story-x,0px) + var(--hover-x,0px)),calc(var(--story-y,0px) + var(--hover-y,-4px)),0) rotate(calc(var(--story-base-r,0deg) + var(--story-r-offset,0deg) + var(--hover-r,0deg))) scale(var(--hover-scale,1.02))!important}}
@media (prefers-reduced-motion:reduce){.polaroid{transition:none}.polaroid:hover{transform:translate3d(var(--story-x,0px),var(--story-y,0px),0) rotate(calc(var(--story-base-r,0deg) + var(--story-r-offset,0deg))) scale(1)!important;filter:drop-shadow(0 14px 16px rgba(28,12,5,.18))}}
.obj-afonso{width:21%;left:6%;top:9%;--story-base-r:-8deg;--hover-x:-2px;--hover-y:-5px;--hover-r:-.6deg;--hover-scale:1.018;z-index:5}.obj-football{width:19%;left:35%;top:18%;--story-base-r:5deg;--hover-x:2px;--hover-y:-4px;--hover-r:.45deg;--hover-scale:1.015;z-index:5}.obj-room{width:22%;left:7%;top:38%;--story-base-r:-7deg;--hover-x:-1px;--hover-y:-5px;--hover-r:-.5deg;--hover-scale:1.017;z-index:5}.obj-height{width:19%;left:1%;top:67%;--story-base-r:-6deg;--hover-x:2px;--hover-y:-3px;--hover-r:.35deg;--hover-scale:1.014;z-index:5}.obj-friend{width:24%;right:5%;top:58%;--story-base-r:5deg;--hover-x:3px;--hover-y:-5px;--hover-r:.7deg;--hover-scale:1.019;z-index:5}.obj-book{width:45%;left:28%;top:60%;--story-base-r:9deg;z-index:6}.obj-device{width:25%;right:5%;top:18%;--story-base-r:0deg;z-index:7}.obj-foliage-a{width:36%;left:5%;top:-4%;--story-base-r:-2deg;z-index:2}.obj-foliage-b{width:36%;right:-4%;top:0;--story-base-r:2deg;z-index:2}.obj-foliage-c{width:29%;right:-1%;bottom:-4%;--story-base-r:-2deg;z-index:2}.obj-foliage-d{width:24%;left:-3%;bottom:-12%;--story-base-r:3deg;z-index:1}
.magic-device__pulse{position:absolute;right:12%;top:17%;width:8.6vw;height:8.6vw;max-width:132px;max-height:132px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,61,48,.16) 0%,rgba(255,48,42,.08) 38%,rgba(255,48,42,0) 68%);box-shadow:0 0 18px 3px rgba(255,48,42,.34);animation:devicePulse 2.3s cubic-bezier(.2,.58,.26,1) infinite;z-index:8}
.magic-device__pulse::after{content:"";position:absolute;inset:10%;border-radius:50%;border:1px solid rgba(255,94,76,.42);box-shadow:0 0 15px rgba(255,54,43,.34);animation:devicePulseInner 2.3s ease-in-out infinite}
@keyframes devicePulse{0%{transform:scale(.62);opacity:.9;box-shadow:0 0 12px 2px rgba(255,65,55,.45),0 0 0 0 rgba(255,65,55,.36)}45%{opacity:.78;box-shadow:0 0 28px 7px rgba(255,65,55,.30),0 0 0 18px rgba(255,65,55,.16)}78%{transform:scale(1.22);opacity:.12;box-shadow:0 0 38px 10px rgba(255,65,55,.08),0 0 0 38px rgba(255,65,55,0)}100%{transform:scale(1.28);opacity:0;box-shadow:0 0 42px 11px rgba(255,65,55,0),0 0 0 44px rgba(255,65,55,0)}}
@keyframes devicePulseInner{0%,100%{transform:scale(.84);opacity:.35}45%{transform:scale(1.06);opacity:.9}70%{transform:scale(.96);opacity:.5}}
.product-wifi-pulse{position:absolute;aspect-ratio:1;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,61,48,.16) 0%,rgba(255,48,42,.08) 38%,rgba(255,48,42,0) 68%);box-shadow:0 0 18px 3px rgba(255,48,42,.34);animation:productWifiPulse 2.3s cubic-bezier(.2,.58,.26,1) infinite;z-index:3}
.product-wifi-pulse::after{content:"";position:absolute;inset:10%;border-radius:50%;border:1px solid rgba(255,94,76,.42);box-shadow:0 0 15px rgba(255,54,43,.34);animation:devicePulseInner 2.3s ease-in-out infinite}
.product-wifi-pulse--hero{left:50.2%;top:41.8%;width:34%}
.product-wifi-pulse--communicator{left:66.3%;top:27.1%;width:22.5%}
@keyframes productWifiPulse{0%{transform:translate(-50%,-50%) scale(.62);opacity:.9;box-shadow:0 0 12px 2px rgba(255,65,55,.45),0 0 0 0 rgba(255,65,55,.36)}45%{opacity:.78;box-shadow:0 0 28px 7px rgba(255,65,55,.30),0 0 0 18px rgba(255,65,55,.16)}78%{transform:translate(-50%,-50%) scale(1.22);opacity:.12;box-shadow:0 0 38px 10px rgba(255,65,55,.08),0 0 0 38px rgba(255,65,55,0)}100%{transform:translate(-50%,-50%) scale(1.28);opacity:0;box-shadow:0 0 42px 11px rgba(255,65,55,0),0 0 0 44px rgba(255,65,55,0)}}
@media (prefers-reduced-motion:reduce){.magic-device__pulse,.magic-device__pulse::after,.product-wifi-pulse,.product-wifi-pulse::after{animation:none!important;opacity:.45}}

.communicator{position:relative;min-height:min(941px,calc(100vw * .565));overflow:hidden;background:#f7efe3;isolation:isolate}
.communicator-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.communicator-glow-field{position:absolute;left:0;top:0;width:48%;height:76%;z-index:2;pointer-events:none}
.communicator-product-wrap{position:absolute;left:8.5%;bottom:7.7%;width:min(41%,680px);z-index:4;will-change:translate}
.communicator-product-wrap::after{content:"";position:absolute;left:13%;right:9%;bottom:-1.3%;height:8.5%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(33,15,7,.42) 0%,rgba(33,15,7,.22) 42%,rgba(33,15,7,0) 74%);filter:blur(7px);z-index:-1;pointer-events:none}
.communicator-product{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 24px rgba(28,12,6,.24)) drop-shadow(0 38px 42px rgba(18,8,4,.16))}
.communicator-copy{position:absolute;right:9.5%;top:19%;width:31%;text-align:center;z-index:5}.communicator-copy h2 .accent{color:#9b1b20}.communicator-copy .ornament{margin:26px auto;width:62%;color:#66804f}.communicator-copy p{font-size:1.18rem;line-height:1.48}.communicator-copy .button{margin-top:32px;min-width:290px}.communicator-play{margin:26px auto 0;width:92px;transition:transform var(--duration-md) var(--ease-out),filter var(--duration-md)}.communicator-play:hover{transform:scale(1.08);filter:drop-shadow(0 0 15px rgba(180,118,30,.42))}.communicator-table{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;z-index:3}

@media (max-width:1100px){.header-inner{grid-template-columns:275px 1fr auto}.brand-star{width:40px;height:39px}.brand-title{font-size:1.72rem}.brand-original{font-size:.84rem}.nav{gap:22px;font-size:.92rem}.header-actions>.button{display:none}.hero-copy{left:6%;width:37%}.hero-product{right:2%;width:20%}.benefits{gap:10px}.benefit{grid-template-columns:44px 1fr;padding:0 5px}.benefit>.ui-icon{width:38px;height:38px}.benefit strong{font-size:.9rem}.benefit span{font-size:.75rem}.story-copy{left:5%;width:38%}.story-scene{left:44%}}

@media (max-width:820px){.site-header{height:70px}.header-inner{grid-template-columns:1fr auto}.brand{gap:9px}.brand-star{width:38px;height:37px}.brand-title{font-size:1.58rem}.brand-original{font-size:.78rem}.nav{display:none}.header-actions .icon-btn:nth-child(1){display:none}.menu-toggle{display:grid}.hero{min-height:980px}.hero-bg{height:56%;object-position:61% center}.hero-vignette{height:56%}.hero-copy{position:absolute;left:24px;right:24px;top:46%;width:auto;padding:36px 20px 150px;background:linear-gradient(180deg,rgba(20,13,8,0),rgba(20,13,8,.86) 11%,rgba(20,13,8,.96));}.hero-copy .display{font-size:clamp(2.45rem,11vw,4.3rem)}.hero-product{top:auto;bottom:34px;right:-2%;width:32%}.hero-divider{left:16px;right:16px;bottom:-3%}.hero-foliage{width:46%;bottom:-1%}.benefits{position:relative;inset:auto;padding:18px 18px 22px;grid-template-columns:repeat(2,1fr);gap:14px}.benefit{border:0}.hero-divider-paper{min-height:250px;object-fit:fill}.story{min-height:1260px}.story-bg{object-fit:cover;object-position:36% center}.story-copy{position:relative;left:auto;top:auto;width:auto;max-width:560px;margin:0 auto;padding:120px 28px 0}.story-scene{left:0;top:47%;height:53%}.obj-afonso{left:10%;width:25%}.obj-football{left:42%;width:24%}.obj-room{left:14%;width:26%}.obj-height{left:4%;width:24%}.obj-friend{right:4%;width:28%}.obj-book{left:33%;width:46%}.obj-device{right:7%;width:27%}.obj-foliage-d{left:-8%;bottom:-14%;width:31%}.communicator{min-height:1120px}.communicator-bg{object-position:29% center}.communicator-product-wrap{left:4%;bottom:8%;width:56%}.communicator-copy{right:5%;top:11%;width:43%}}

@media (max-width:560px){.container{width:min(calc(100% - 32px),var(--container))}.brand{gap:7px}.brand-star{width:34px;height:33px}.brand-title{font-size:1.38rem}.brand-original{font-size:.7rem}.header-actions{gap:4px}.icon-btn{width:38px}.hero{min-height:1040px}.hero-bg{height:46%;object-position:66% center}.hero-copy{top:39%;padding-top:52px}.hero-copy .eyebrow{font-size:.72rem}.hero-copy p{font-size:1rem}.hero-product{top:auto;bottom:42px;width:38%;right:-6%}.hero-divider{bottom:-1.5%}.hero-foliage{width:58%}.benefits{grid-template-columns:1fr 1fr;padding:14px 10px 18px;gap:10px}.benefit{grid-template-columns:36px 1fr;gap:7px}.benefit>.ui-icon{width:31px;height:31px}.benefit strong{font-size:.76rem}.benefit span{font-size:.64rem}.story{min-height:1380px}.story-copy{padding:100px 22px 0}.story-copy p{font-size:1rem}.story-features{grid-template-columns:repeat(5,1fr);padding:14px 8px}.story-feature{font-size:.55rem}.story-feature svg{width:28px;height:28px}.story-scene{top:49%;height:51%}.obj-afonso{left:7%;top:9%;width:31%}.obj-football{left:42%;top:15%;width:29%}.obj-room{left:8%;top:35%;width:31%}.obj-height{left:0;top:63%;width:28%}.obj-friend{right:1%;top:55%;width:33%}.obj-book{left:27%;top:55%;width:54%}.obj-device{right:1%;top:17%;width:32%}.obj-foliage-d{left:-10%;bottom:-15%;width:34%}.communicator{min-height:1180px}.communicator-bg{object-position:23% center}.communicator-copy{position:relative;right:auto;top:auto;width:auto;padding:70px 24px 0;margin-left:36%;}.communicator-copy p{font-size:1rem}.communicator-copy .button{min-width:0;width:100%;padding-inline:14px}.communicator-product-wrap{left:-2%;width:64%;bottom:7%}.communicator-table{height:15%;object-fit:cover}.communicator-play{width:76px}}


/* 2026-09-18 — Hero/header refinement */
.site-header{overflow:hidden}
.header-inner{grid-template-columns:340px 1fr auto}
.brand{height:100%;overflow:hidden;align-items:center}
.brand-star{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;object-fit:contain!important;display:block!important}
.brand-title{font-size:1.82rem;line-height:.88}
.brand-original{font-size:.88rem;line-height:1;margin-top:4px}
.nav{font-size:1.10rem}

.hero-copy{left:10.1%;top:13.3%;width:35.5%;max-width:610px}
.hero-copy .display{font-size:clamp(2.7rem,3.45vw,3.85rem);line-height:1.02;letter-spacing:-.028em}
.display-line{display:block;white-space:nowrap}
.hero-copy .body-lg{max-width:515px}

/* Inline SVGs replace mask icons for consistent Safari rendering. */
.benefit-icon{width:52px;height:52px;color:#8e1720;stroke:currentColor;fill:none;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;display:block}
.benefits{inset:15% 4.2% 14%;gap:20px}
.benefit{grid-template-columns:58px 1fr;gap:15px;padding:0 14px}
.benefit strong{font-size:clamp(1rem,1vw,1.16rem);line-height:1.12;margin-bottom:6px}
.benefit span{font-size:clamp(.82rem,.82vw,.96rem);line-height:1.38}

/* Scroll depth is applied through the individual translate property. */
.hero-bg,.hero-product,.hero-divider,.hero-foliage{will-change:translate}

@media (max-width:1100px){
  .header-inner{grid-template-columns:285px 1fr auto}
  .brand-star{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important}
  .brand-title{font-size:1.58rem}
  .brand-original{font-size:.78rem}
  .nav{font-size:.98rem}
  .hero-copy{left:6.5%;width:41%;max-width:500px}
  .hero-copy .display{font-size:clamp(2.35rem,4.2vw,3.3rem)}
  .benefit{grid-template-columns:44px 1fr;padding:0 7px;gap:10px}
  .benefit-icon{width:39px;height:39px}
  .benefit strong{font-size:.94rem}.benefit span{font-size:.78rem}
}

@media (max-width:820px){
  .site-header{overflow:visible}
  .brand{overflow:visible}
  .display-line{white-space:normal}
  .hero-copy{left:24px;right:24px;width:auto;max-width:none}
  .hero-copy .display{font-size:clamp(2.45rem,11vw,4.3rem)}
  .benefit-icon{width:36px;height:36px}
}


/* 2026-09-18 — Hero transition, scroll depth and gold title */
.hero{overflow:hidden}
.hero-bg{transform:scale(1.05);transform-origin:center center}
.hero-copy{left:10.1%;top:14%;width:36.5%;max-width:620px}
.hero-copy .display{
  margin-inline:auto;
  font-family:"PPAcma", Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,2.92vw,3.45rem);
  line-height:1.055;
  font-weight:400;
  letter-spacing:-.022em;
  color:#e3c278;
  background:linear-gradient(180deg,#fff0c3 0%,#e6c77d 44%,#bd8c35 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 1px rgba(52,27,10,.20)) drop-shadow(0 8px 18px rgba(0,0,0,.18));
  text-shadow:none;
}
.hero-copy .display-line{display:block;white-space:nowrap}
.hero-copy .display-line + .display-line{margin-top:.035em}

/* The benefits paper is a transition layer between Hero and Story. */
.hero-story-bridge{
  position:relative;
  height:236px;
  margin-top:-214px;
  margin-bottom:-42px;
  pointer-events:none;
  z-index:auto;
}
.hero-story-bridge .hero-divider{
  position:absolute;
  left:7%;
  right:7%;
  top:0;
  bottom:auto;
  z-index:28;
  overflow:hidden;
  isolation:isolate;
  border-radius:44px;
  filter:drop-shadow(0 16px 30px rgba(31,15,8,.24));
}
.hero-story-bridge .hero-foliage{
  position:absolute;
  bottom:-38px;
  width:24%;
  z-index:16;
}
.hero-story-bridge .hero-foliage--left{left:-4%;bottom:-22px;width:22%;z-index:31}
.hero-story-bridge .hero-foliage--right{right:-1.5%;transform:scaleX(-1)}
.hero-story-bridge .benefits{inset:13.5% 3.6% 12.5%;gap:14px}
.hero-story-bridge .benefit{position:relative;grid-template-columns:48px 1fr;gap:12px;padding:0 12px;border-right:0}.hero-story-bridge .benefit:not(:last-child)::after{content:"";position:absolute;right:0;top:16%;bottom:16%;width:1px;background:rgba(133,93,49,.22)}
.hero-story-bridge .benefit strong{font-family:"PPAcma", Georgia, "Times New Roman", serif;font-size:clamp(1.28rem,1.3vw,1.5rem);line-height:1.08;margin-bottom:8px;letter-spacing:-.01em}
.hero-story-bridge .benefit span{font-family:"PPAcma", Georgia, "Times New Roman", serif;font-size:clamp(1.07rem,.98vw,1.16rem);line-height:1.32;letter-spacing:-.01em}

.story{z-index:1;position:relative}
.hero-bg,.hero-product,.hero-story-bridge .hero-divider,.hero-story-bridge .hero-foliage{will-change:translate}

/* Folhagem esquerda do paper: mais recolhida e acima do texto em notebooks. */
@media (min-width:821px) and (max-width:1536px){
  .hero-story-bridge .hero-foliage--left{
    left:-6.5%;
    bottom:8px;
    width:20%;
  }
}

@media (min-width:821px) and (max-width:1100px){
  .hero-story-bridge .hero-foliage--left{
    left:-7.5%;
    bottom:14px;
    width:19%;
  }
}

@media (max-width:1100px){
  .hero-copy{left:6.5%;width:42%;max-width:520px}
  .hero-copy .display{font-size:clamp(2.2rem,3.65vw,3.05rem)}
  .hero-story-bridge{height:204px;margin-top:-170px;margin-bottom:-54px}
  .hero-story-bridge .hero-divider{left:5%;right:5%}
  .hero-story-bridge .benefit{grid-template-columns:42px 1fr;padding:0 8px;gap:10px}
  .hero-story-bridge .benefit strong{font-family:"PPAcma", Georgia, "Times New Roman", serif;font-size:1.08rem}
  .hero-story-bridge .benefit span{font-family:"PPAcma", Georgia, "Times New Roman", serif;font-size:.92rem}
}

@media (max-width:820px){
  .hero{overflow:visible}
  .hero-bg{transform:scale(1.03)}
  .hero-copy .display{font-size:clamp(2.35rem,10vw,4rem)}
  .hero-copy .display-line{white-space:normal}
  .hero-story-bridge{height:314px;margin-top:-162px;margin-bottom:-118px}
  .hero-story-bridge .hero-divider{left:16px;right:16px}
  .hero-story-bridge .hero-foliage{width:46%;bottom:-8px}
  .hero-story-bridge .benefits{position:absolute;inset:15% 5% 14%;padding:18px 18px 22px;grid-template-columns:repeat(2,1fr);gap:14px}
  .hero-story-bridge .benefit{border:0}.hero-story-bridge .benefit::after{display:none}
  .hero-story-bridge .hero-divider-paper{min-height:250px;object-fit:fill}
  .story-copy{padding-top:190px}
}

@media (max-width:560px){
  .hero-copy .display{font-size:clamp(2.15rem,10.2vw,3.35rem);line-height:1.02}
  .hero-story-bridge{height:302px;margin-top:-144px;margin-bottom:-132px}
  .hero-story-bridge .hero-foliage{width:58%;bottom:0}
  .hero-story-bridge .benefits{grid-template-columns:1fr 1fr;padding:14px 10px 18px;gap:10px}
  .hero-story-bridge .benefit{grid-template-columns:36px 1fr;gap:7px}
  .hero-story-bridge .benefit strong{font-size:.76rem}
  .hero-story-bridge .benefit span{font-size:.64rem}
  .story-copy{padding-top:210px}
}

.hero-story-bridge .benefit-icon{
  width:48px;
  height:48px;
}
@media (max-width:1100px){
  .hero-story-bridge .benefit-icon{width:38px;height:38px}
}
@media (max-width:560px){
  .hero-story-bridge .benefit-icon{width:32px;height:32px}
}

/* Exact snowflake supplied by the client — recolorable SVG mask. */
.hero-story-bridge .benefit-icon--snow{
  display:block;
  background:currentColor;
  color:#8e1720;
  -webkit-mask:url("../img/icons/snowflake.svg") center/contain no-repeat;
  mask:url("../img/icons/snowflake.svg") center/contain no-repeat;
  stroke:none;
  fill:none;
}


/* 2026-09-18 — menu typography */
.nav{font-family:"PPAcma", Georgia, "Times New Roman", serif;font-size:1.12rem}
.nav a{font-family:inherit}
@media (max-width:1100px){.nav{font-size:1rem}}


/* Controlled Christmas lights: perceptible without washing the photography. */
.scene-lights{position:absolute;pointer-events:none;overflow:hidden}
.scene-lights--hero{inset:0;z-index:2}
.scene-light{
  position:absolute;
  width:calc(5px * var(--size,1));
  height:calc(5px * var(--size,1));
  border-radius:50%;
  background:#fff3c6;
  box-shadow:
    0 0 calc(7px * var(--size,1)) calc(1px * var(--size,1)) rgba(255,224,148,.96),
    0 0 calc(16px * var(--size,1)) calc(3px * var(--size,1)) rgba(255,177,66,.48);
  opacity:.42;
  transform:translate(-50%,-50%) scale(.78);
  animation:sceneLightPulse 2.35s cubic-bezier(.45,0,.35,1) var(--phase,0s) infinite;
}
@keyframes sceneLightPulse{
  0%,100%{opacity:.34;transform:translate(-50%,-50%) scale(.76);filter:brightness(.92)}
  45%{opacity:.95;transform:translate(-50%,-50%) scale(1.08);filter:brightness(1.32)}
  62%{opacity:.72;transform:translate(-50%,-50%) scale(.96);filter:brightness(1.08)}
}

.communicator-glow-field.scene-lights--communicator{
  position:absolute;
  left:0;top:0;
  width:48%;height:76%;
  z-index:2;
  opacity:1;
  mix-blend-mode:normal;
  background:none;
  filter:none;
  animation:none;
}
.communicator-glow-field .scene-light{
  width:calc(6px * var(--size,1));
  height:calc(6px * var(--size,1));
  box-shadow:
    0 0 calc(8px * var(--size,1)) calc(1px * var(--size,1)) rgba(255,236,177,.98),
    0 0 calc(20px * var(--size,1)) calc(4px * var(--size,1)) rgba(255,171,56,.52);
}

/* Ajuste pontual — notebook: livro ancorado, galeria maior e bloco do comunicador mais alto */
@media (min-width:821px) and (max-width:1450px){
  #sobre .obj-book{
    top:auto!important;
    bottom:-3.5%!important;
    left:22%!important;
    width:54%!important;
    --story-x:0px!important;
    --story-y:0px!important;
    --story-r-offset:0deg!important;
  }

  #sobre .obj-afonso{width:24%!important;left:5.5%!important;top:8%!important}
  #sobre .obj-football{width:22%!important;left:38%!important;top:16%!important}
  #sobre .obj-room{width:24.5%!important;left:7%!important;top:37%!important}
  #sobre .obj-height{width:21.5%!important;left:0!important;top:65%!important}
  #sobre .obj-friend{width:26%!important;right:2%!important;top:56%!important}
}

@media (min-width:821px){
  .communicator-copy{top:15.5%!important}
}

/* 2026-09-18 — Story scene: composição mais compacta no desktop/notebook */
@media (min-width:821px){
  #sobre.story .story-scene{
    left:46.5%!important;
    isolation:isolate;
  }

  #sobre.story .story-scene .obj-foliage-a,
  #sobre.story .story-scene .obj-foliage-b,
  #sobre.story .story-scene .obj-foliage-c,
  #sobre.story .story-scene .obj-foliage-d{
    z-index:1!important;
    pointer-events:none;
  }

  #sobre.story .obj-foliage-a{
    width:31%!important;
    left:2%!important;
    top:0!important;
  }

  #sobre.story .obj-foliage-b{
    width:30%!important;
    right:-1%!important;
    top:-1%!important;
  }

  #sobre.story .obj-foliage-c{
    width:22%!important;
    left:auto!important;
    right:-3%!important;
    bottom:-5%!important;
  }

  /* Folhagem que aparecia cortada: agora fica escondida atrás do livro. */
  #sobre.story .obj-foliage-d{
    width:15%!important;
    left:27%!important;
    right:auto!important;
    bottom:1%!important;
    z-index:2!important;
  }

  #sobre.story .obj-afonso{
    width:25%!important;
    left:4.5%!important;
    top:6%!important;
    z-index:7!important;
  }

  #sobre.story .obj-football{
    width:23%!important;
    left:35%!important;
    top:14%!important;
    z-index:7!important;
  }

  #sobre.story .obj-room{
    width:26%!important;
    left:7%!important;
    top:34%!important;
    z-index:7!important;
  }

  #sobre.story .obj-height{
    width:23%!important;
    left:11%!important;
    top:62%!important;
    z-index:6!important;
  }

  #sobre.story .obj-book{
    width:55%!important;
    left:27%!important;
    top:50%!important;
    bottom:auto!important;
    z-index:8!important;
    --story-base-r:8deg;
  }

  #sobre.story .obj-friend{
    width:28%!important;
    right:1%!important;
    top:55%!important;
    z-index:9!important;
  }

  #sobre.story .obj-device{
    width:27%!important;
    right:2%!important;
    top:13%!important;
    z-index:10!important;
  }

  #sobre.story .magic-device__pulse{
    right:9.5%!important;
    top:12.5%!important;
    z-index:11!important;
  }
}

/* Notebook: dá um pouco mais de área para a composição sem encostar no texto. */
@media (min-width:821px) and (max-width:1100px){
  #sobre.story .story-scene{
    left:43%!important;
  }

  #sobre.story .obj-afonso{width:24.5%!important;left:5%!important;top:7%!important}
  #sobre.story .obj-football{width:22.5%!important;left:36%!important;top:15%!important}
  #sobre.story .obj-room{width:25%!important;left:8%!important;top:35%!important}
  #sobre.story .obj-height{width:22%!important;left:12%!important;top:63%!important}
  #sobre.story .obj-book{width:54%!important;left:28%!important;top:51%!important}
  #sobre.story .obj-friend{width:27%!important;right:1%!important;top:56%!important}
  #sobre.story .obj-device{width:26%!important;right:2%!important;top:14%!important}
}

/* 2026-09-18 — MacBook: composição maior e mais fechada.
   A regra usa a proporção da viewport para não alterar o iMac 16:9 aprovado. */
@media (min-width:1101px) and (max-width:1800px) and (max-aspect-ratio:17/10){
  #sobre.story .story-scene{
    left:43.5%!important;
  }

  #sobre.story .obj-afonso{
    width:30%!important;
    left:1.5%!important;
    top:3.5%!important;
  }

  #sobre.story .obj-football{
    width:27%!important;
    left:34%!important;
    top:11%!important;
  }

  #sobre.story .obj-room{
    width:30%!important;
    left:4%!important;
    top:32.5%!important;
  }

  #sobre.story .obj-height{
    width:27%!important;
    left:7%!important;
    top:59%!important;
  }

  #sobre.story .obj-book{
    width:64%!important;
    left:22%!important;
    top:auto!important;
    bottom:-3%!important;
    --story-base-r:8deg;
  }

  #sobre.story .obj-friend{
    width:32%!important;
    right:0!important;
    top:51.5%!important;
  }

  #sobre.story .obj-device{
    width:30%!important;
    right:1%!important;
    top:11%!important;
  }

  #sobre.story .magic-device__pulse{
    right:9%!important;
    top:10.5%!important;
  }

  #sobre.story .obj-foliage-a{
    width:33%!important;
    left:0!important;
    top:-1%!important;
  }

  #sobre.story .obj-foliage-b{
    width:32%!important;
    right:-2%!important;
    top:-1%!important;
  }

  #sobre.story .obj-foliage-c{
    width:24%!important;
    right:-4%!important;
    bottom:-5%!important;
  }

  #sobre.story .obj-foliage-d{
    width:17%!important;
    left:29%!important;
    bottom:-1%!important;
  }
}

/* 2026-09-18 — story feature badges: refined typography, client icons and hover */
.story-features{
  width:min(100%,720px);
  margin-top:30px;
  padding:20px 22px 18px;
  gap:14px;
  border-radius:30px;
  background:rgba(243,233,214,.94);
  border:1px solid rgba(183,141,72,.42);
  box-shadow:0 10px 26px rgba(85,54,18,.06);
}
.story-feature{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:138px;
  padding:18px 12px 16px;
  border-radius:18px;
  color:#a56b18;
  font-family:"PPAcma", Georgia, "Times New Roman", serif;
  font-size:.92rem;
  line-height:1.04;
  letter-spacing:-.01em;
  transition:transform .22s ease, background-color .22s ease, box-shadow .22s ease, color .22s ease;
}
.story-feature__icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin-bottom:11px;
  color:#b27b25;
  transition:transform .22s ease, color .22s ease, opacity .22s ease;
}
.story-feature__icon svg{
  width:100%;
  height:100%;
  margin:0;
  stroke:currentColor;
  fill:none;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.story-feature__icon--custom svg{
  width:44px;
  height:44px;
  stroke-width:0;
  fill:currentColor;
}
.story-feature__label{
  display:block;
  max-width:100%;
  color:#8b611a;
}
@media (hover:hover) and (pointer:fine){
  .story-feature:hover{
    transform:translateY(-3px);
    background:rgba(255,249,239,.72);
    box-shadow:0 12px 22px rgba(105,72,26,.10);
    color:#8a5710;
  }
  .story-feature:hover .story-feature__icon{
    transform:translateY(-1px) scale(1.035);
    color:#976117;
  }
  .story-feature:hover .story-feature__label{color:#73480f}
}
@media (max-width:1100px){
  .story-features{
    width:min(100%,680px);
    padding:18px 16px 16px;
    gap:10px;
  }
  .story-feature{
    min-height:128px;
    padding:16px 10px 14px;
    font-size:.88rem;
  }
  .story-feature__icon{width:48px;height:48px;margin-bottom:10px}
  .story-feature__icon--custom svg{width:40px;height:40px}
}
@media (max-width:820px){
  .story-features{
    padding:14px 10px;
    gap:6px;
  }
  .story-feature{
    min-height:110px;
    padding:12px 6px 11px;
    font-size:.77rem;
    line-height:1.02;
    border-radius:14px;
  }
  .story-feature__icon{width:40px;height:40px;margin-bottom:8px}
  .story-feature__icon--custom svg{width:33px;height:33px}
}
@media (max-width:560px){
  .story-features{
    padding:12px 6px;
    gap:4px;
  }
  .story-feature{
    min-height:98px;
    padding:10px 4px 9px;
    font-size:.69rem;
  }
  .story-feature__icon{width:34px;height:34px;margin-bottom:7px}
  .story-feature__icon--custom svg{width:28px;height:28px}
}

/* 2026-09-19 — libera o bloco de features do limite de 470px do .story-copy */
@media (min-width:1537px){
  #sobre .story-features{
    position:relative;
    left:50%;
    width:690px;
    max-width:none;
    margin-left:-345px;
    padding:24px 26px 22px;
    gap:16px;
  }
  #sobre .story-feature{
    min-height:146px;
    padding:20px 12px 17px;
    font-size:1rem;
  }
  #sobre .story-feature__icon{
    width:56px;
    height:56px;
    margin-bottom:12px;
  }
  #sobre .story-feature__icon--custom svg{
    width:48px;
    height:48px;
  }
}

@media (min-width:1101px) and (max-width:1536px){
  #sobre .story-features{
    position:relative;
    left:50%;
    width:600px;
    max-width:none;
    margin-left:-300px;
    padding:21px 20px 19px;
    gap:11px;
  }
  #sobre .story-feature{
    min-height:136px;
    padding:18px 9px 15px;
    font-size:.94rem;
  }
  #sobre .story-feature__icon{
    width:52px;
    height:52px;
  }
  #sobre .story-feature__icon--custom svg{
    width:44px;
    height:44px;
  }
}

/* 2026-09-19 — mobile composition rebuilt */
@media (max-width:900px){
  html{scroll-padding-top:68px}
  body{background:#efe1cc}
  .site{overflow:clip}
  .container{width:min(calc(100% - 32px),var(--container))}

  /* Header: compact, legible and stable on iOS/Android. */
  .site-header{
    height:64px;
    overflow:hidden;
    background:rgba(25,41,29,.985);
    box-shadow:0 1px 0 rgba(231,191,105,.15),0 8px 24px rgba(10,17,12,.12);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
  }
  .header-inner{height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .brand{height:64px;gap:8px;overflow:hidden}
  .brand-star{width:33px!important;height:33px!important;max-width:33px!important;max-height:33px!important}
  .brand-title{font-size:1.34rem;line-height:.9;letter-spacing:-.03em}
  .brand-original{margin-top:4px;font-size:.67rem;line-height:1}
  .nav,.header-actions>.button,.header-actions .icon-btn:first-child{display:none!important}
  .header-actions{gap:0}
  .icon-btn{width:40px;height:40px}
  .icon-btn svg{width:24px;height:24px}
  .cart-count{right:-1px;top:0}

  /* Hero: photographic opening followed by a controlled dark copy area. */
  .hero{
    min-height:0;
    height:auto;
    padding-top:clamp(350px,49svh,455px);
    padding-bottom:154px;
    overflow:hidden;
    background:#140e0a;
  }
  .hero-bg{
    inset:0 0 auto;
    width:100%;
    height:clamp(390px,54svh,500px);
    object-fit:cover;
    object-position:67% center;
    transform:none!important;
    translate:none!important;
  }
  .hero-vignette{
    inset:0;
    height:auto;
    background:
      linear-gradient(180deg,rgba(8,5,3,.02) 0%,rgba(8,5,3,.05) 31%,rgba(13,8,5,.62) 44%,#140e0a 58%,#140e0a 100%),
      linear-gradient(90deg,rgba(8,5,3,.12),rgba(8,5,3,0) 72%);
  }
  .scene-lights--hero{height:clamp(390px,54svh,500px)}
  .hero-copy{
    position:relative;
    inset:auto;
    width:auto;
    max-width:430px;
    margin:0 auto;
    padding:28px 20px 0;
    text-align:center;
    background:none;
  }
  .hero-copy .ornament{width:66%;margin-bottom:14px}
  .hero-copy .eyebrow{margin-top:0;font-size:.72rem;letter-spacing:.15em;line-height:1.35}
  .hero-copy .display{
    margin-top:13px;
    font-size:clamp(2.25rem,10.8vw,3.25rem);
    line-height:.98;
    letter-spacing:-.035em;
  }
  .hero-copy .display-line{white-space:normal}
  .hero-copy .body-lg{margin-top:18px;max-width:340px;font-size:1rem;line-height:1.46}
  .hero-actions{margin-top:26px;gap:18px}
  .hero-actions .button{width:min(100%,310px);min-height:54px;padding-inline:20px;font-size:.76rem}
  .hero-trailer{gap:10px;font-size:.9rem;letter-spacing:.02em}
  .hero-trailer img{width:48px;height:48px}
  .hero-product{
    top:calc(clamp(390px,54svh,500px) - min(48vw,190px) * 1.7075 - 8px);
    left:10px;
    right:auto;
    bottom:auto;
    width:min(48vw,190px);
    max-width:none;
    filter:drop-shadow(0 18px 22px rgba(0,0,0,.34));
    translate:none!important;
  }
  .product-wifi-pulse--hero{width:32%}

  /* Benefits become a real mobile block instead of an overlapping desktop paper. */
  .hero-story-bridge{
    height:auto;
    margin:0;
    padding:0 16px 46px;
    background:#f0dfc6;
    z-index:2;
  }
  .hero-story-bridge .hero-divider{
    position:relative;
    inset:auto;
    width:100%;
    min-height:0;
    border-radius:0;
    overflow:visible;
    background:transparent;
    filter:none;
    translate:none!important;
  }
  .hero-story-bridge .hero-divider-paper{
    display:none;
  }
  .hero-story-bridge .benefits{
    position:relative;
    inset:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 12px;
    padding:0;
  }
  .hero-story-bridge .benefit{
    min-width:0;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:14px 4px;
    border-bottom:1px solid rgba(164,126,66,.24);
  }
  .hero-story-bridge .benefit::after{display:none!important}
  .hero-story-bridge .benefit-icon{width:38px;height:38px}
  .hero-story-bridge .benefit strong{font-size:1rem;line-height:1.08;margin-bottom:5px}
  .hero-story-bridge .benefit span{font-size:.82rem;line-height:1.28}
  .hero-story-bridge .hero-foliage{
    width:33%;
    bottom:-18px;
    z-index:1;
    opacity:.82;
    translate:none!important;
  }
  .hero-story-bridge .hero-foliage--left{left:-10%;bottom:-12px;width:35%}
  .hero-story-bridge .hero-foliage--right{right:-9%;bottom:-20px;width:36%}

  /* Story: copy and object composition are independent vertical blocks. */
  #sobre.story{
    min-height:0;
    height:auto;
    overflow:hidden;
    padding:0;
    background:#f0dfc6;
  }
  #sobre .story-bg{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:6% center;
  }
  #sobre .story-copy{
    position:relative;
    inset:auto;
    width:auto;
    max-width:560px;
    margin:0 auto;
    padding:68px 20px 14px;
  }
  #sobre .story-copy .ornament{width:58%;margin-bottom:15px}
  #sobre .story-copy .section-title{
    font-size:clamp(2.2rem,10vw,3rem);
    line-height:.98;
    letter-spacing:-.035em;
  }
  #sobre .story-copy p{margin-top:20px;max-width:350px;font-size:1rem;line-height:1.5}
  #sobre .story-copy .closing{margin-top:10px}
  #sobre .story-features{
    position:relative;
    left:auto;
    width:100%;
    max-width:430px;
    margin:28px auto 0;
    padding:12px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    border-radius:24px;
  }
  #sobre .story-feature{
    min-height:112px;
    padding:14px 8px 12px;
    font-size:.82rem;
    line-height:1.08;
    border-radius:16px;
  }
  #sobre .story-feature:last-child{grid-column:1/-1;width:50%;justify-self:center}
  #sobre .story-feature__icon{width:42px;height:42px;margin-bottom:9px}
  #sobre .story-feature__icon--custom svg{width:35px;height:35px}
  #sobre .story-scene{
    position:relative;
    inset:auto;
    left:auto!important;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    height:650px;
    margin-top:6px;
    perspective:none;
  }
  #sobre .story-object{
    --story-x:0px!important;
    --story-y:0px!important;
    --story-r-offset:0deg!important;
    transition:none;
  }
  #sobre .obj-afonso{width:34%;left:4%;top:3%;z-index:6}
  #sobre .obj-football{width:31%;left:auto;right:5%;top:8%;z-index:6}
  #sobre .obj-room{width:35%;left:9%;top:31%;z-index:6}
  #sobre .obj-height{width:31%;left:1%;top:57%;z-index:5}
  #sobre .obj-friend{width:38%;right:-1%;top:38%;z-index:9}
  #sobre .obj-book{width:74%;left:18%;top:auto;bottom:-1%;z-index:8;--story-base-r:7deg}
  #sobre .obj-device{width:35%;right:5%;top:19%;z-index:10}
  #sobre .magic-device__pulse{right:11%;top:18%;width:72px;height:72px;z-index:11}
  #sobre .obj-foliage-a{display:block;width:43%;left:-8%;top:-2%;z-index:1;opacity:.86}
  #sobre .obj-foliage-b{display:none}
  #sobre .obj-foliage-c{display:block;width:38%;right:-10%;bottom:-5%;z-index:2;opacity:.9}
  #sobre .obj-foliage-d{display:none}

  /* Communicator: text first, product large and centered below it. */
  .communicator{
    min-height:0;
    height:1080px;
    overflow:hidden;
    background:#f6ecdf;
  }
  .communicator-bg{object-fit:cover;object-position:76% center}
  .communicator-glow-field.scene-lights--communicator{left:0;top:0;width:42%;height:100%;opacity:.42}
  .communicator-copy{
    position:relative;
    inset:auto;
    right:auto;
    top:auto!important;
    width:auto;
    max-width:390px;
    margin:0 auto;
    padding:64px 22px 0;
    text-align:center;
  }
  .communicator-copy .section-title{font-size:clamp(2.35rem,10.5vw,3.15rem);line-height:.98}
  .communicator-copy .ornament{width:56%;margin:22px auto}
  .communicator-copy p{max-width:340px;margin-inline:auto;font-size:1rem;line-height:1.5}
  .communicator-copy .button{width:min(100%,310px);min-width:0;margin-top:26px;padding-inline:16px}
  .communicator-play{width:68px;margin-top:20px}
  .communicator-product-wrap{
    left:50%;
    right:auto;
    bottom:54px;
    width:min(88%,440px);
    transform:translateX(-50%);
    translate:none!important;
  }
  .communicator-product-wrap::after{left:8%;right:8%;bottom:-1%;height:7%}
  .product-wifi-pulse--communicator{width:21.5%}
  .communicator-table{height:132px;object-fit:cover;object-position:center bottom}
}

@media (max-width:560px){
  .container{width:min(calc(100% - 28px),var(--container))}
  .site-header,.header-inner,.brand{height:62px}
  .brand-star{width:31px!important;height:31px!important;max-width:31px!important;max-height:31px!important}
  .brand-title{font-size:1.24rem}
  .brand-original{font-size:.63rem}

  .hero{padding-top:clamp(330px,48svh,420px);padding-bottom:142px}
  .hero-bg,.scene-lights--hero{height:clamp(365px,52svh,455px)}
  .hero-bg{object-position:68% center}
  .hero-copy{padding-inline:18px;padding-top:24px}
  .hero-copy .display{font-size:clamp(2.15rem,10.9vw,2.85rem)}
  .hero-copy .body-lg{font-size:.96rem}
  .hero-product{top:calc(clamp(365px,52svh,455px) - min(44vw,170px) * 1.7075 - 8px);left:8px;right:auto;bottom:auto;width:min(44vw,170px);max-width:none}

  .hero-story-bridge{padding:0 12px 40px}
  .hero-story-bridge .hero-divider{border-radius:24px}
  .hero-story-bridge .benefits{grid-template-columns:1fr;gap:0;padding:0}
  .hero-story-bridge .benefit{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:14px 4px}
  .hero-story-bridge .benefit-icon{width:38px;height:38px}
  .hero-story-bridge .benefit strong{font-size:1.08rem}
  .hero-story-bridge .benefit span{font-size:.88rem}
  .hero-story-bridge .hero-foliage{width:42%;opacity:.72}
  .hero-story-bridge .benefit:last-child{border-bottom:0}

  #sobre .story-copy{padding:58px 18px 10px}
  #sobre .story-copy .section-title{font-size:clamp(2.08rem,10.7vw,2.72rem)}
  #sobre .story-copy p{font-size:.96rem}
  #sobre .story-features{max-width:360px;padding:10px;gap:7px}
  #sobre .story-feature{min-height:106px;padding:12px 6px 10px;font-size:.78rem}
  #sobre .story-feature__icon{width:39px;height:39px}
  #sobre .story-feature__icon--custom svg{width:32px;height:32px}
  #sobre .story-scene{height:610px}
  #sobre .obj-afonso{width:35%;left:2%;top:4%}
  #sobre .obj-football{width:32%;right:3%;top:9%}
  #sobre .obj-room{width:36%;left:7%;top:32%}
  #sobre .obj-height{width:32%;left:-1%;top:59%}
  #sobre .obj-friend{width:39%;right:-3%;top:40%}
  #sobre .obj-book{width:78%;left:15%;bottom:-2%}
  #sobre .obj-device{width:36%;right:3%;top:20%}
  #sobre .magic-device__pulse{right:9%;top:19%;width:64px;height:64px}

  .communicator{height:1040px}
  .communicator-bg{object-position:78% center}
  .communicator-copy{padding:56px 18px 0}
  .communicator-copy .section-title{font-size:clamp(2.2rem,10.8vw,2.85rem)}
  .communicator-copy p{font-size:.96rem}
  .communicator-product-wrap{bottom:48px;width:92%}
  .communicator-table{height:116px}
}

@media (max-width:370px){
  .brand-title{font-size:1.12rem}
  .hero-product{width:min(43vw,158px);top:calc(clamp(365px,52svh,455px) - min(43vw,158px) * 1.7075 - 8px);left:6px}
  .brand-original{font-size:.58rem}
  .hero-copy .display{font-size:2rem}
  #sobre .story-scene{height:570px}
  .communicator{height:1000px}
}


/* 2026-09-19 — functional mobile navigation */
@media (max-width:900px){
  body.mobile-menu-open{overflow:hidden}
  .site-header{overflow:visible}
  .header-inner{position:relative;z-index:2}
  .header-actions{position:relative;z-index:4}

  .menu-toggle{
    display:grid!important;
    place-content:center;
    gap:5px;
    width:40px;
    height:40px;
    margin-left:2px;
    color:var(--gold-300);
  }
  .menu-toggle__line{
    display:block;
    width:22px;
    height:1.5px;
    border-radius:2px;
    background:currentColor;
    transform-origin:center;
    transition:transform .28s var(--ease-out),opacity .2s ease,width .28s var(--ease-out);
  }
  .menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(2){opacity:0;width:0}
  .menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

  .nav{
    display:flex!important;
    position:fixed;
    z-index:3;
    inset:64px 0 0;
    width:100%;
    height:calc(100dvh - 64px);
    padding:34px 28px max(30px,env(safe-area-inset-bottom));
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    gap:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:
      radial-gradient(circle at 50% 2%,rgba(225,190,108,.08),transparent 31%),
      linear-gradient(180deg,#19291d 0%,#122118 100%);
    border-top:1px solid rgba(231,191,105,.13);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .24s ease,transform .32s var(--ease-out),visibility 0s linear .32s;
  }
  .site-header.is-menu-open .nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition-delay:0s;
  }
  .nav a{
    width:min(100%,430px);
    padding:18px 10px 17px;
    color:#f5dfad;
    font-family:"PPAcma",Georgia,"Times New Roman",serif;
    font-size:clamp(1.65rem,7vw,2.15rem);
    line-height:1.08;
    text-align:center;
    opacity:1;
    border-bottom:1px solid rgba(231,191,105,.13);
    transform:none;
  }
  .nav a:last-child{border-bottom:0}
  .nav a::after{display:none}
  .nav a:active{opacity:.68;transform:scale(.985)}
}

@media (max-width:420px){
  .nav{top:62px;height:calc(100dvh - 62px);padding-top:26px}
  .nav a{padding-block:16px;font-size:clamp(1.55rem,7.6vw,1.9rem)}
}


/* 2026-09-19 — mobile header actions restored */
.header-buy__short{display:none}

@media (max-width:900px){
  .header-inner{
    gap:8px;
  }
  .brand{
    flex:1 1 auto;
    min-width:0;
  }
  .brand-copy{
    min-width:0;
  }
  .header-actions{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    gap:2px;
  }

  /* Restore account icon on mobile. */
  .header-actions .icon-btn:first-child{
    display:grid!important;
  }

  .header-actions .icon-btn,
  .menu-toggle{
    width:34px;
    height:38px;
  }
  .header-actions .icon-btn svg{
    width:21px;
    height:21px;
  }
  .cart-count{
    top:1px;
    right:0;
    transform:scale(.88);
  }

  /* Keep the main conversion CTA visible in the sticky header. */
  .header-actions>.button.header-buy{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:0;
    height:34px;
    margin-left:4px;
    padding:0 10px;
    border-radius:7px;
    font-size:.62rem;
    line-height:1;
    letter-spacing:.055em;
    white-space:nowrap;
  }
  .header-buy__arrow{
    margin-left:4px;
    font-size:.9rem;
  }
}

@media (max-width:620px){
  .site-header,.header-inner,.brand{height:62px}
  .header-inner{gap:4px}
  .brand{gap:5px}
  .brand-star{
    width:28px!important;
    height:28px!important;
    max-width:28px!important;
    max-height:28px!important;
  }
  .brand-title{
    font-size:1.02rem;
    letter-spacing:-.035em;
    white-space:nowrap;
  }
  .brand-original{
    display:block;
    margin-top:3px;
    padding-left:1px;
    font-size:.58rem;
    line-height:1;
  }
  .header-actions .icon-btn,
  .menu-toggle{
    width:31px;
    height:36px;
  }
  .header-actions .icon-btn svg{
    width:20px;
    height:20px;
  }
  .header-actions>.button.header-buy{
    height:32px;
    margin-left:2px;
    padding:0 8px;
    font-size:.58rem;
    border-radius:6px;
  }
  .header-buy__full{display:none}
  .header-buy__short{display:inline}
}

@media (max-width:375px){
  .container{width:min(calc(100% - 20px),var(--container))}
  .brand-original{font-size:.54rem;margin-top:2px}
  .brand-title{font-size:.93rem}
  .brand-star{
    width:25px!important;
    height:25px!important;
    max-width:25px!important;
    max-height:25px!important;
  }
  .header-actions .icon-btn,
  .menu-toggle{
    width:29px;
  }
  .header-actions>.button.header-buy{
    padding-inline:7px;
    font-size:.54rem;
  }
}

/* 2026-09-19 — mobile story scene recomposed */
@media (max-width:900px){
  #sobre .story-scene{
    height:570px;
    margin-top:18px;
    overflow:hidden;
  }

  /* Fotos funcionam como moldura da cena, sem disputar com os produtos. */
  #sobre .obj-afonso{
    width:27%;
    left:5%;
    top:3%;
    z-index:5;
    --story-base-r:-7deg;
  }
  #sobre .obj-football{
    width:24%;
    left:auto;
    right:5%;
    top:5%;
    z-index:5;
    --story-base-r:5deg;
  }
  #sobre .obj-room{
    width:27%;
    left:7%;
    top:29%;
    z-index:5;
    --story-base-r:-5deg;
  }
  #sobre .obj-friend{
    width:29%;
    right:4%;
    top:30%;
    z-index:5;
    --story-base-r:5deg;
  }
  #sobre .obj-height{
    width:24%;
    left:2%;
    top:56%;
    z-index:6;
    --story-base-r:-5deg;
  }

  /* Livro vira a base visual da composição. */
  #sobre .obj-book{
    width:60%;
    left:23%;
    right:auto;
    top:auto;
    bottom:-3%;
    z-index:8;
    --story-base-r:5deg;
  }

  /* Comunicador apoiado sobre o livro, em escala de objeto e não de protagonista. */
  #sobre .obj-device{
    width:22%;
    left:auto;
    right:15%;
    top:auto;
    bottom:27%;
    z-index:10;
    --story-base-r:1deg;
    filter:drop-shadow(0 12px 16px rgba(35,15,6,.24));
  }
  #sobre .magic-device__pulse{
    right:18.5%;
    top:auto;
    bottom:45.5%;
    width:50px;
    height:50px;
    z-index:11;
  }

  /* Folhagem apenas para fechar as extremidades da composição. */
  #sobre .obj-foliage-a{
    width:35%;
    left:-10%;
    top:0;
    opacity:.72;
  }
  #sobre .obj-foliage-c{
    width:34%;
    right:-10%;
    bottom:-3%;
    opacity:.78;
  }
}

@media (max-width:560px){
  #sobre .story-scene{
    height:535px;
    margin-top:14px;
  }
  #sobre .obj-afonso{width:28%;left:4%;top:3%}
  #sobre .obj-football{width:25%;right:4%;top:5%}
  #sobre .obj-room{width:28%;left:6%;top:30%}
  #sobre .obj-friend{width:30%;right:3%;top:31%}
  #sobre .obj-height{width:25%;left:1%;top:57%}
  #sobre .obj-book{width:61%;left:22%;bottom:-2%}
  #sobre .obj-device{width:22%;right:14%;bottom:27%}
  #sobre .magic-device__pulse{right:17.5%;bottom:45%;width:46px;height:46px}
}

@media (max-width:370px){
  #sobre .story-scene{height:505px}
  #sobre .obj-book{width:62%;left:21%}
  #sobre .obj-device{width:22%;right:13.5%;bottom:27%}
  #sobre .magic-device__pulse{right:17%;bottom:45%;width:42px;height:42px}
}

/* 2026-09-19 — mobile story scene: single clustered composition */
@media (max-width:900px){
  #sobre .story-scene{
    height:620px;
    margin-top:0;
    overflow:hidden;
  }
  #sobre .story-scene::before{
    content:"";
    position:absolute;
    left:7%;
    right:7%;
    top:15%;
    bottom:4%;
    border-radius:48%;
    background:radial-gradient(ellipse at center,rgba(183,133,71,.08) 0%,rgba(183,133,71,.025) 46%,rgba(183,133,71,0) 72%);
    pointer-events:none;
  }

  /* Top photos form a crown; the lower photos disappear partly behind the book. */
  #sobre .obj-afonso{width:29%;left:4%;top:4%;z-index:5;--story-base-r:-7deg}
  #sobre .obj-football{width:27%;left:auto;right:5%;top:5%;z-index:5;--story-base-r:6deg}
  #sobre .obj-room{width:28%;left:1%;top:29%;z-index:4;--story-base-r:-6deg}
  #sobre .obj-friend{width:31%;right:0;top:27%;z-index:4;--story-base-r:6deg}
  #sobre .obj-height{width:26%;left:7%;top:49%;z-index:3;--story-base-r:-5deg}

  /* Main anchor of the whole scene. */
  #sobre .obj-book{
    width:84%;
    left:8%;
    top:auto;
    bottom:-2%;
    z-index:8;
    --story-base-r:-3deg;
    filter:drop-shadow(0 20px 24px rgba(54,27,10,.20));
  }

  /* Device belongs to the book, rather than floating independently. */
  #sobre .obj-device{
    width:23%;
    right:11%;
    top:auto;
    bottom:27%;
    z-index:10;
    --story-base-r:2deg;
    filter:drop-shadow(0 13px 16px rgba(48,22,8,.22));
  }
  #sobre .magic-device__pulse{
    right:14.5%;
    top:auto;
    bottom:42%;
    width:48px;
    height:48px;
    z-index:11;
  }

  #sobre .obj-foliage-a{width:38%;left:-11%;top:0;z-index:2;opacity:.72}
  #sobre .obj-foliage-c{width:40%;right:-12%;bottom:-5%;z-index:2;opacity:.82}
}

@media (max-width:560px){
  #sobre .story-scene{height:570px}
  #sobre .obj-afonso{width:30%;left:3%;top:3%}
  #sobre .obj-football{width:28%;right:4%;top:4%}
  #sobre .obj-room{width:29%;left:0;top:28%}
  #sobre .obj-friend{width:32%;right:-1%;top:27%}
  #sobre .obj-height{width:27%;left:5%;top:48%}
  #sobre .obj-book{width:88%;left:6%;bottom:-2%}
  #sobre .obj-device{width:24%;right:10%;bottom:26%}
  #sobre .magic-device__pulse{right:13.5%;bottom:41%;width:44px;height:44px}
}

@media (max-width:370px){
  #sobre .story-scene{height:535px}
}

/* 2026-09-19 — mobile story scene v2: compact editorial collage */
@media (max-width:900px){
  #sobre .story-scene{
    height:590px;
    margin-top:0;
    overflow:hidden;
  }
  #sobre .story-scene::before{display:none}

  /* Dense top collage: no isolated cards at the page edges. */
  #sobre .obj-afonso{
    width:30%;left:3%;right:auto;top:4%;z-index:6;
    --story-base-r:-7deg;
  }
  #sobre .obj-football{
    width:27%;left:36%;right:auto;top:1%;z-index:5;
    --story-base-r:3deg;
  }
  #sobre .obj-friend{
    width:31%;left:auto;right:2%;top:6%;z-index:6;
    --story-base-r:6deg;
  }
  #sobre .obj-room{
    width:29%;left:8%;right:auto;top:28%;z-index:4;
    --story-base-r:-6deg;
  }
  #sobre .obj-height{
    width:27%;left:auto;right:8%;top:29%;z-index:4;
    --story-base-r:5deg;
  }

  /* The book locks the collage together and hides the lower edges of the photos. */
  #sobre .obj-book{
    width:82%;
    left:9%;
    right:auto;
    top:39%;
    bottom:auto;
    z-index:8;
    --story-base-r:-3deg;
    filter:drop-shadow(0 20px 24px rgba(54,27,10,.22));
  }

  /* The communicator sits on the book as one object group. */
  #sobre .obj-device{
    width:22%;
    left:auto;
    right:13%;
    top:45%;
    bottom:auto;
    z-index:10;
    --story-base-r:2deg;
    filter:drop-shadow(0 12px 16px rgba(48,22,8,.23));
  }
  #sobre .magic-device__pulse{
    left:auto;
    right:16.5%;
    top:45%;
    bottom:auto;
    width:46px;
    height:46px;
    z-index:11;
  }

  #sobre .obj-foliage-a{
    display:block;
    width:35%;
    left:-12%;
    top:5%;
    z-index:2;
    opacity:.68;
  }
  #sobre .obj-foliage-c{
    display:block;
    width:37%;
    right:-12%;
    bottom:-3%;
    z-index:2;
    opacity:.8;
  }
}

@media (max-width:560px){
  #sobre .story-scene{height:545px}
  #sobre .obj-afonso{width:31%;left:2%;top:4%}
  #sobre .obj-football{width:28%;left:36%;top:1%}
  #sobre .obj-friend{width:32%;right:1%;top:6%}
  #sobre .obj-room{width:30%;left:7%;top:28%}
  #sobre .obj-height{width:28%;right:7%;top:29%}
  #sobre .obj-book{width:86%;left:7%;top:40%}
  #sobre .obj-device{width:23%;right:12%;top:46%}
  #sobre .magic-device__pulse{right:15.5%;top:46%;width:42px;height:42px}
}

@media (max-width:370px){
  #sobre .story-scene{height:515px}
}

/* 2026-09-19 — mobile story scene v3: livro colado embaixo, comunicador apoiado e fotos mais próximas */
@media (max-width:900px){
  #sobre .story-scene{
    height:580px;
    margin-top:-4px;
    overflow:hidden;
  }

  #sobre .obj-afonso{
    width:32%;
    left:2%;
    top:4%;
    z-index:6;
    --story-base-r:-7deg;
  }
  #sobre .obj-football{
    width:29%;
    left:35.5%;
    top:2%;
    z-index:6;
    --story-base-r:2deg;
  }
  #sobre .obj-friend{
    width:33%;
    right:1%;
    top:6%;
    z-index:6;
    --story-base-r:5deg;
  }
  #sobre .obj-room{
    width:31%;
    left:6%;
    top:26%;
    z-index:5;
    --story-base-r:-7deg;
  }
  #sobre .obj-height{
    width:29%;
    right:4%;
    top:31%;
    z-index:9;
    --story-base-r:4deg;
  }

  #sobre .obj-book{
    width:90%;
    left:5%;
    right:auto;
    top:auto;
    bottom:-2%;
    z-index:8;
    --story-base-r:-2deg;
    filter:drop-shadow(0 18px 24px rgba(54,27,10,.20));
  }

  #sobre .obj-device{
    width:28%;
    right:10%;
    left:auto;
    top:auto;
    bottom:15%;
    z-index:10;
    --story-base-r:1deg;
    filter:drop-shadow(0 12px 16px rgba(48,22,8,.23));
  }
  #sobre .magic-device__pulse{
    left:auto;
    right:14.8%;
    top:auto;
    bottom:29%;
    width:52px;
    height:52px;
    z-index:11;
  }

  #sobre .obj-foliage-a{
    width:33%;
    left:-11%;
    top:6%;
    opacity:.65;
  }
  #sobre .obj-foliage-c{
    width:35%;
    right:-10%;
    bottom:4%;
    opacity:.78;
  }
}

@media (max-width:560px){
  #sobre .story-scene{height:555px}
  #sobre .obj-afonso{width:33%;left:1%;top:4%}
  #sobre .obj-football{width:30%;left:35%;top:2%}
  #sobre .obj-friend{width:34%;right:0;top:6%}
  #sobre .obj-room{width:32%;left:5%;top:26%}
  #sobre .obj-height{width:30%;right:3%;top:31%}
  #sobre .obj-book{width:92%;left:4%;bottom:-2%}
  #sobre .obj-device{width:29%;right:9%;bottom:15%}
  #sobre .magic-device__pulse{right:13.8%;bottom:29%;width:48px;height:48px}
}

@media (max-width:370px){
  #sobre .story-scene{height:525px}
  #sobre .obj-book{width:94%;left:3%}
  #sobre .obj-device{width:30%;right:8%;bottom:15%}
}

/* 2026-09-19 — mobile story scene v4: communicator lower/larger and height photo tucked behind book */
@media (max-width:900px){
  #sobre .obj-height{
    width:30%;
    right:4%;
    top:30%;
    z-index:7;
  }

  #sobre .obj-book{
    z-index:9;
  }

  #sobre .obj-device{
    width:32%;
    right:4%;
    bottom:5%;
    z-index:11;
  }

  #sobre .magic-device__pulse{
    right:9.5%;
    bottom:20%;
    width:56px;
    height:56px;
    z-index:12;
  }
}

@media (max-width:560px){
  #sobre .obj-height{
    width:31%;
    right:3%;
    top:29%;
  }

  #sobre .obj-device{
    width:33%;
    right:3%;
    bottom:4%;
  }

  #sobre .magic-device__pulse{
    right:8.5%;
    bottom:20%;
    width:52px;
    height:52px;
  }
}

@media (max-width:370px){
  #sobre .obj-device{
    width:34%;
    right:2%;
    bottom:4%;
  }
}

/* 2026-09-19 — communicator mobile: fundo visível e produto apoiado na mesa */
@media (max-width:900px){
  .communicator{
    height:960px;
    background:#f6ecdf;
  }
  .communicator-bg{
    object-fit:cover;
    object-position:58% center;
    opacity:1;
  }
  .communicator-glow-field.scene-lights--communicator{
    width:48%;
    opacity:.30;
  }
  .communicator-copy{
    max-width:390px;
    padding:42px 22px 0;
    z-index:6;
  }
  .communicator-copy .button{
    margin-top:20px;
  }
  .communicator-play{
    width:72px;
    margin-top:16px;
  }
  .communicator-table{
    height:168px;
    object-fit:cover;
    object-position:center top;
    z-index:4;
  }
  .communicator-product-wrap{
    left:50%;
    bottom:92px;
    width:min(84%,400px);
    transform:translateX(-50%);
    z-index:5;
  }
  .communicator-product-wrap::after{
    left:11%;
    right:11%;
    bottom:-2%;
    height:9%;
    background:radial-gradient(ellipse at center,rgba(33,15,7,.36) 0%,rgba(33,15,7,.18) 44%,rgba(33,15,7,0) 74%);
    filter:blur(8px);
  }
  .communicator-product{
    filter:drop-shadow(0 12px 18px rgba(28,12,6,.18)) drop-shadow(0 22px 22px rgba(18,8,4,.12));
  }
  .product-wifi-pulse--communicator{
    width:21%;
  }
}

@media (max-width:560px){
  .communicator{
    height:915px;
  }
  .communicator-bg{
    object-position:60% center;
  }
  .communicator-copy{
    padding:34px 18px 0;
  }
  .communicator-copy .button{
    width:min(100%,300px);
  }
  .communicator-play{
    width:68px;
    margin-top:14px;
  }
  .communicator-table{
    height:150px;
    object-position:center top;
  }
  .communicator-product-wrap{
    bottom:84px;
    width:86%;
  }
}

@media (max-width:370px){
  .communicator{
    height:880px;
  }
  .communicator-product-wrap{
    bottom:80px;
    width:88%;
  }
  .communicator-table{
    height:142px;
  }
}

/* 2026-09-19 — communicator mobile final override: mais margem superior e produto mais baixo */
@media (max-width:900px){
  .communicator .communicator-copy{
    padding-top:72px !important;
  }
  .communicator .communicator-product-wrap{
    bottom:36px !important;
  }
}

@media (max-width:560px){
  .communicator{
    height:940px !important;
  }
  .communicator .communicator-copy{
    padding-top:62px !important;
  }
  .communicator .communicator-product-wrap{
    bottom:28px !important;
    width:86% !important;
  }
}

@media (max-width:370px){
  .communicator{
    height:900px !important;
  }
  .communicator .communicator-copy{
    padding-top:56px !important;
  }
  .communicator .communicator-product-wrap{
    bottom:24px !important;
    width:88% !important;
  }
}

/* 2026-09-19 — communicator mobile: produto mais baixo para apoiar na madeira */
@media (max-width:900px){
  .communicator .communicator-product-wrap{
    bottom:12px !important;
  }
}

@media (max-width:560px){
  .communicator .communicator-product-wrap{
    bottom:6px !important;
  }
}

@media (max-width:370px){
  .communicator .communicator-product-wrap{
    bottom:4px !important;
  }
}

/* 2026-09-19 — mobile magic depth and tactile interactions */
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  .hero-bg{
    transform:translate3d(var(--magic-x,0px),var(--magic-y,0px),0) scale(1.025)!important;
    transform-origin:center center;
    will-change:transform;
  }
  .scene-lights--hero,
  .communicator-glow-field.scene-lights--communicator{
    transform:translate3d(var(--magic-x,0px),var(--magic-y,0px),0);
    will-change:transform;
  }
  .hero-product{
    transform:translate3d(var(--magic-x,0px),var(--magic-y,0px),0) rotate(var(--magic-r,0deg));
    will-change:transform;
  }

  #sobre .story-object{
    transform:translate3d(
      calc(var(--story-x,0px) + var(--magic-x,0px)),
      calc(var(--story-y,0px) + var(--magic-y,0px)),
      0
    ) rotate(calc(var(--story-base-r,0deg) + var(--story-r-offset,0deg) + var(--magic-r,0deg)))!important;
    will-change:transform;
  }
  #sobre .magic-device__pulse{
    transform:translate3d(var(--magic-x,0px),var(--magic-y,0px),0);
    will-change:transform;
  }

  .communicator-bg{
    transform:translate3d(var(--magic-x,0px),var(--magic-y,0px),0) scale(1.025);
    transform-origin:center center;
    will-change:transform;
  }
  .communicator .communicator-product-wrap{
    transform:translate3d(calc(-50% + var(--magic-x,0px)),var(--magic-y,0px),0) rotate(var(--magic-r,0deg));
    will-change:transform;
  }

  .hero-product.is-magic-active,
  .story-scene.is-magic-active .obj-device,
  .communicator-product-wrap.is-magic-active{
    animation:magicDeviceKick .82s cubic-bezier(.2,.72,.2,1);
  }
  .hero-product.is-magic-active .product-wifi-pulse,
  .story-scene.is-magic-active .magic-device__pulse,
  .communicator-product-wrap.is-magic-active .product-wifi-pulse{
    animation:magicPulseTouch .82s ease-out!important;
  }

  .button--primary{
    position:relative;
    overflow:hidden;
    isolation:isolate;
  }
  .button--primary::after{
    content:"";
    position:absolute;
    top:-35%;
    bottom:-35%;
    left:-42%;
    width:22%;
    pointer-events:none;
    background:linear-gradient(100deg,transparent,rgba(255,245,201,.62),transparent);
    transform:skewX(-18deg);
    opacity:0;
  }
  .button--primary.magic-sheen::after{
    animation:magicButtonSweep 1.05s .10s cubic-bezier(.22,.7,.25,1) 1 both;
  }
}

.magic-motion-toggle{
  position:absolute;
  z-index:40;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(238,207,139,.42);
  border-radius:999px;
  color:#f1d794;
  background:rgba(22,32,24,.60);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  font-family:"PPAcma",Georgia,"Times New Roman",serif;
  font-size:.62rem;
  letter-spacing:.08em;
  box-shadow:0 5px 18px rgba(0,0,0,.14);
  transition:opacity .28s ease,transform .28s ease,background .28s ease;
}
.magic-motion-toggle span:first-child{font-size:.86rem;line-height:1}
.magic-motion-toggle:active{transform:scale(.97)}
.magic-motion-toggle.is-enabled{opacity:0;transform:translateY(-5px)}
.magic-motion-toggle.is-denied{background:rgba(63,44,26,.68)}

@keyframes magicDeviceKick{
  0%{filter:brightness(1)}
  28%{filter:brightness(1.09) drop-shadow(0 0 12px rgba(226,83,61,.18))}
  100%{filter:brightness(1)}
}
@keyframes magicPulseTouch{
  0%{opacity:.65;filter:brightness(1);transform:scale(.88)}
  35%{opacity:1;filter:brightness(1.55);transform:scale(1.22)}
  100%{opacity:.7;filter:brightness(1);transform:scale(1)}
}
@keyframes magicButtonSweep{
  0%{left:-42%;opacity:0}
  16%{opacity:1}
  78%{opacity:.85}
  100%{left:125%;opacity:0}
}

@media (max-width:420px){
  .magic-motion-toggle{
    top:10px;
    right:10px;
    min-height:34px;
    padding-inline:10px;
    font-size:.57rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .magic-motion-toggle{display:none!important}
}


/* 2026-09-19 — mobile magic motion v2: visible iOS permission control */
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  .magic-motion-toggle{
    position:fixed!important;
    z-index:2500!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:max(20px,env(safe-area-inset-bottom))!important;
    transform:translateX(-50%)!important;
    min-width:184px;
    min-height:44px;
    justify-content:center;
    padding:0 16px;
    border:1px solid rgba(238,207,139,.58);
    background:rgba(18,31,22,.92);
    box-shadow:0 10px 28px rgba(0,0,0,.28);
    font-size:.66rem;
    letter-spacing:.07em;
  }
  .magic-motion-toggle:active{transform:translateX(-50%) scale(.97)!important}
  .magic-motion-toggle.is-enabled{
    opacity:0;
    transform:translateX(-50%) translateY(8px)!important;
  }
  .magic-motion-toggle__star{font-size:1rem}

  /* Sensor-active state gets slightly faster visual response. */
  .magic-tilt-active .hero-product,
  .magic-tilt-active #sobre .story-object,
  .magic-tilt-active .communicator-product-wrap{
    transition:none!important;
  }
}
\n\n/* 2026-09-19 — mobile scroll choreography layered with gyro motion */\n@media (max-width:900px) and (prefers-reduced-motion:no-preference){\n  .hero-copy{\n    transform:translate3d(0,var(--scroll-y,0px),0) scale(var(--scroll-scale,1));\n    transform-origin:center top;\n    will-change:transform;\n  }\n  .hero-bg{\n    transform:translate3d(var(--magic-x,0px),calc(var(--magic-y,0px) + var(--scroll-y,0px)),0) scale(1.035)!important;\n  }\n  .scene-lights--hero{\n    transform:translate3d(var(--magic-x,0px),calc(var(--magic-y,0px) + var(--scroll-y,0px)),0)!important;\n  }\n  .hero-product{\n    transform:translate3d(var(--magic-x,0px),calc(var(--magic-y,0px) + var(--scroll-y,0px)),0) rotate(calc(var(--magic-r,0deg) + var(--scroll-r,0deg)))!important;\n  }\n\n  #sobre .story-object{\n    opacity:var(--scroll-opacity,1);\n    transform:translate3d(\n      calc(var(--story-x,0px) + var(--magic-x,0px)),\n      calc(var(--story-y,0px) + var(--magic-y,0px)),\n      0\n    ) rotate(calc(var(--story-base-r,0deg) + var(--story-r-offset,0deg) + var(--magic-r,0deg))) scale(var(--scroll-scale,1))!important;\n    transform-origin:center center;\n  }\n  #sobre .magic-device__pulse{\n    opacity:var(--scroll-opacity,1);\n    transform:translate3d(var(--magic-x,0px),var(--magic-y,0px),0) scale(var(--scroll-scale,1))!important;\n  }\n\n  .communicator-bg{\n    transform:translate3d(var(--magic-x,0px),calc(var(--magic-y,0px) + var(--scroll-y,0px)),0) scale(1.035)!important;\n  }\n  .communicator-glow-field.scene-lights--communicator{\n    transform:translate3d(var(--magic-x,0px),calc(var(--magic-y,0px) + var(--scroll-y,0px)),0)!important;\n  }\n  .communicator .communicator-product-wrap{\n    opacity:var(--scroll-opacity,1);\n    transform:translate3d(\n      calc(-50% + var(--magic-x,0px)),\n      calc(var(--magic-y,0px) + var(--scroll-y,0px)),\n      0\n    ) rotate(calc(var(--magic-r,0deg) + var(--scroll-r,0deg))) scale(var(--scroll-scale,1))!important;\n    transform-origin:center bottom;\n  }\n}\n
/* 2026-09-19 — mobile physical motion v3 */
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  /* Impact is additive: each print gets its own spring displacement after a device knock. */
  #sobre .story-object{
    transform:translate3d(
      calc(var(--story-x,0px) + var(--magic-x,0px) + var(--impact-x,0px)),
      calc(var(--story-y,0px) + var(--magic-y,0px) + var(--impact-y,0px)),
      0
    ) rotate(calc(var(--story-base-r,0deg) + var(--story-r-offset,0deg) + var(--magic-r,0deg) + var(--impact-r,0deg))) scale(var(--scroll-scale,1))!important;
  }

  /* Tabletop objects keep a contact point: lateral travel dominates, vertical motion is suppressed. */
  #sobre .obj-book{
    transform-origin:50% 92%!important;
  }
  .communicator .communicator-product-wrap{
    transform:translate3d(
      calc(-50% + var(--magic-x,0px) + var(--scroll-x,0px)),
      calc(var(--magic-y,0px) + var(--scroll-y,0px)),
      0
    ) rotate(calc(var(--magic-r,0deg) + var(--scroll-r,0deg))) scale(var(--scroll-scale,1))!important;
    transform-origin:50% 96%!important;
  }

  /* Header becomes visually tighter after the opening without changing document geometry. */
  .site-header,
  .site-header .brand,
  .site-header .header-actions{
    transition:background-color .32s ease,box-shadow .32s ease,transform .32s cubic-bezier(.22,.7,.2,1),opacity .32s ease;
  }
  .site-header.is-scroll-compact{
    background:rgba(20,35,25,.995);
    box-shadow:0 1px 0 rgba(231,191,105,.18),0 10px 28px rgba(8,15,10,.20);
  }
  .site-header.is-scroll-compact .brand{transform:scale(.94);transform-origin:left center}
  .site-header.is-scroll-compact .header-actions{transform:scale(.96);transform-origin:right center}

  /* Light groups breathe at different rates instead of pulsing in synchrony. */
  .scene-light:nth-child(3n+1){animation-duration:2.75s}
  .scene-light:nth-child(3n+2){animation-duration:3.25s}
  .scene-light:nth-child(3n){animation-duration:2.15s}

  /* Tactile visual feedback that does not replace scroll-reveal transforms. */
  .button:active,
  .icon-btn:active,
  .menu-toggle:active{
    translate:0 1px;
    scale:.975;
  }
}

/* 2026-09-19 — v4: sensor only on loose photos; books fixed; hero driven by scroll */
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  .hero-copy{
    opacity:var(--scroll-opacity,1);
  }
  .hero-bg{
    transform:translate3d(0,var(--scroll-y,0px),0) scale(1.04)!important;
  }
  .scene-lights--hero{
    transform:translate3d(0,var(--scroll-y,0px),0)!important;
  }
  .hero-product{
    transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) rotate(var(--scroll-r,0deg))!important;
  }

  /* Loose prints receive gyro + knock spring. */
  #sobre .polaroid{
    transform:translate3d(
      calc(var(--story-x,0px) + var(--magic-x,0px) + var(--impact-x,0px)),
      calc(var(--story-y,0px) + var(--magic-y,0px) + var(--impact-y,0px)),
      0
    ) rotate(calc(var(--story-base-r,0deg) + var(--story-r-offset,0deg) + var(--magic-r,0deg) + var(--impact-r,0deg))) scale(var(--scroll-scale,1))!important;
  }

  /* Everything physically heavy stays locked to its approved layout. */
  #sobre .obj-book,
  #sobre .obj-device{
    --magic-x:0px!important;
    --magic-y:0px!important;
    --magic-r:0deg!important;
    --impact-x:0px!important;
    --impact-y:0px!important;
    --impact-r:0deg!important;
  }
  #sobre .obj-book{
    transform:translate3d(var(--story-x,0px),var(--story-y,0px),0)
      rotate(calc(var(--story-base-r,0deg) + var(--story-r-offset,0deg)))!important;
  }
  #sobre .obj-device{
    transform:translate3d(var(--story-x,0px),var(--story-y,0px),0)
      rotate(calc(var(--story-base-r,0deg) + var(--story-r-offset,0deg)))!important;
  }
  #sobre .magic-device__pulse{
    transform:none!important;
  }

  .communicator-bg,
  .communicator-glow-field.scene-lights--communicator{
    transform:none!important;
  }
  .communicator .communicator-product-wrap{
    transform:translate3d(-50%,0,0)!important;
    opacity:1!important;
  }
}


/* 2026-09-19 — mobile effects v5: scroll/touch only, no sensor permission */
.magic-motion-toggle{display:none!important}

@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  /* Decorative rule draws outward from the central star. */
  .ornament::before,
  .ornament::after{
    transform:scaleX(var(--ornament-p,0));
    transition:transform .12s linear;
    will-change:transform;
  }
  .ornament::before{transform-origin:right center}
  .ornament::after{transform-origin:left center}
  .ornament__star{
    opacity:calc(.25 + var(--ornament-p,0) * .75);
    transform:scale(calc(.78 + var(--ornament-p,0) * .22));
    transition:opacity .12s linear,transform .12s linear;
  }
  #hero .ornament.is-ornament-drawn{--ornament-p:1}

  /* Depth transition: backgrounds settle into place while the section crosses the viewport. */
  #sobre .story-bg,
  .communicator-bg{
    transform:translate3d(0,var(--section-bg-y,0px),0) scale(var(--section-scale,1))!important;
    transform-origin:center center;
    will-change:transform;
  }
  #sobre::after,
  .communicator::before{
    content:"";
    position:absolute;
    left:0;right:0;top:0;
    height:76px;
    pointer-events:none;
    z-index:12;
    opacity:calc((1 - var(--depth-edge,0)) * .34);
    background:linear-gradient(180deg,rgba(33,19,11,.30),rgba(33,19,11,0));
  }
  .communicator::before{
    background:linear-gradient(180deg,rgba(76,50,27,.20),rgba(76,50,27,0));
  }

  /* Sparse scroll-controlled sparkles. No endless snowfall. */
  .scroll-sparkles{
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    overflow:hidden;
  }
  .scroll-sparkle{
    position:absolute;
    display:block;
    border-radius:50%;
    background:rgba(255,237,185,var(--spark-alpha,.55));
    box-shadow:0 0 8px rgba(255,221,150,.42);
    opacity:0;
    will-change:transform,opacity;
  }
  .communicator .scroll-sparkles{z-index:2}

  /* Single highlight across the star only. */
  .brand{position:relative}
  .brand::after{
    content:"";
    position:absolute;
    left:-10px;
    top:10px;
    width:48px;
    height:42px;
    pointer-events:none;
    opacity:0;
    background:linear-gradient(105deg,transparent 28%,rgba(255,245,190,.82) 49%,transparent 70%);
    transform:translateX(-34px) skewX(-16deg);
    mix-blend-mode:screen;
  }
  .brand.is-logo-shining::after{
    animation:logoGoldSweep .9s cubic-bezier(.22,.7,.25,1) 1 both;
  }

  /* With sensors disabled, only the loose prints keep spring displacement. */
  #sobre .polaroid{
    --magic-x:0px!important;
    --magic-y:0px!important;
    --magic-r:0deg!important;
  }
  #sobre .obj-book,
  #sobre .obj-device,
  .communicator .communicator-product-wrap{
    --impact-x:0px!important;
    --impact-y:0px!important;
    --impact-r:0deg!important;
  }
}

@keyframes logoGoldSweep{
  0%{opacity:0;transform:translateX(-34px) skewX(-16deg)}
  16%{opacity:.95}
  72%{opacity:.72}
  100%{opacity:0;transform:translateX(48px) skewX(-16deg)}
}

@media (prefers-reduced-motion:reduce){
  .ornament::before,.ornament::after{transform:scaleX(1)!important}
  .ornament__star{opacity:1!important;transform:none!important}
  .scroll-sparkles{display:none!important}
}

/* 2026-09-26 — Hero refinements: keep trailer label white and reduce left foliage on desktop/tablet widths. */
.hero-trailer,
.hero-trailer:hover,
.hero-trailer:focus,
.hero-trailer:visited{
  color:#fff !important;
  text-decoration:none !important;
}
@media (min-width:821px) and (max-width:1536px){
  .hero-story-bridge .hero-foliage--left{
    left:-5.5%;
    width:15%;
  }
}
@media (min-width:821px) and (max-width:1100px){
  .hero-story-bridge .hero-foliage--left{
    left:-6.5%;
    width:14%;
  }
}


/* CPN 1.99.1 — WordPress/Elementor integration fixes.
   The original communicator artwork includes a narrow cream gutter after its
   inner gold rule. On the continuous WP composition we crop only that outer
   gutter, keeping the artwork and gold rule visible. */
@media (min-width:821px){
  .page-continua .communicator{overflow:hidden!important;}
  .page-continua .communicator .communicator-bg{
    transform:scaleX(1.02);
    transform-origin:left center;
  }
}
/* CPN 1.99.2 — Elementor full-bleed fix for the Communicator only.
   The section lives inside Elementor's content wrapper; make this one section
   use the viewport width so no parent/background gutter can show at the right. */
.page-continua .communicator {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* TESTE TEASER */
.cpn-teaser-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.cpn-teaser-modal.is-open {
    display: flex;
}
.cpn-teaser-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
}

.cpn-teaser-dialog {
    position: relative;
    z-index: 1;
    width: min(1100px, 92vw);
}
.cpn-teaser-video {
    position: relative;
    height: min(80vh, 800px);
    aspect-ratio: 9 / 16;
    margin: 0 auto;
    overflow: hidden;
    background: #000;
    border-radius: 18px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .65);
}

.cpn-teaser-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.cpn-teaser-close {
    position: absolute;
    right: 0;
    top: -52px;
    z-index: 2;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 42px;
    line-height: 1;
    cursor: pointer;
}
@media (max-width: 767px) {
    .cpn-teaser-modal {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 55px 16px 20px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
}

    .cpn-teaser-dialog {
    position: relative;
    width: 100%;
    max-width: none;
    display: flex;
    justify-content: center;
}

    .cpn-teaser-video {
    height: min(72vh, 650px);
    max-width: calc(100vw - 32px);
    aspect-ratio: 9 / 16;
    border-radius: 12px;
		
		
    margin-left: auto;
    margin-right: auto;
}

    .cpn-teaser-close {
        top: -46px;
        right: 0;
    }
}


/* =========================================================
   COMUNICADOR MÁGICO — HERO
   Página 64009
   ========================================================= */

.page-comunicador {
  background: #efe6d8;
}

.page-comunicador .site {
  background: transparent;
}

.page-comunicador .communicator-lp-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #102030;
}

.page-comunicador .communicator-hero-stage {
  position: relative;
  width: 100%;
  height: clamp(640px, 52vw, 870px);
  min-height: 640px;
  overflow: hidden;
  isolation: isolate;
}

.page-comunicador .communicator-hero-stage__background {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 52%;
}

.page-comunicador .communicator-hero-paper {
  position: absolute;
  z-index: 3;
  top: clamp(28px, 4.2vw, 68px);
  right: clamp(-24px, -1.4vw, -8px);
  width: min(51vw, 820px);
  aspect-ratio: 1374 / 1145;
  filter: drop-shadow(0 22px 32px rgba(50, 25, 10, .24));
}

.page-comunicador .communicator-hero-paper__asset {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: fill;
  pointer-events: none;
  user-select: none;
}

.page-comunicador .communicator-hero-paper__content {
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 13.2% 8.2% 5.2% 9.2%;
}

.page-comunicador .communicator-hero-paper__title {
  max-width: 92%;
  margin: 0 0 2.8%;
  color: #a7191e;
  font-family: var(--font-display);
  font-size: clamp(2.55rem, 3.35vw, 4.45rem);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.035em;
}

.page-comunicador .communicator-hero-paper__lead {
  width: 67%;
  margin: 0;
  color: #2b2722;
  font-family: var(--font-serif);
  font-size: clamp(.98rem, 1.15vw, 1.28rem);
  font-weight: 400;
  line-height: 1.31;
}

.page-comunicador .communicator-hero-paper__note {
  width: 94%;
  margin: 3.8% 0 2.9% 4%;
  color: #163b56;
  font-family: "Imperial Script", cursive;
  font-size: clamp(1.8rem, 2.25vw, 2.7rem);
  font-weight: 400;
  line-height: .88;
  letter-spacing: .004em;
  transform: rotate(-3deg);
  transform-origin: left center;
}

.page-comunicador .communicator-hero-paper__note-line {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

.page-comunicador .communicator-hero-paper__button {
  width: 72%;
  min-height: 52px;
  margin: 0;
  padding-inline: 28px;
  gap: .78rem;
  font-family: var(--font-ui);
  font-size: .8rem;
  font-weight: 650;
  letter-spacing: .055em;
}

.page-comunicador .communicator-hero-paper__button strong {
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}

.page-comunicador .communicator-hero-paper__button-arrow {
  flex: none;
  font-family: Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: 200;
  line-height: 1;
}

.page-comunicador .communicator-hero-paper__stamp {
  position: absolute;
  z-index: 4;
  top: 12.8%;
  right: -1.2%;
  width: 31.5%;
  height: auto;
  transform: rotate(3deg);
  filter: drop-shadow(0 9px 12px rgba(60, 31, 13, .17));
  pointer-events: none;
}

.page-comunicador .communicator-hero-stage__snow {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: -7.5%;
  width: 103%;
  max-width: none;
  height: auto;
  transform: translateX(-50%);
  pointer-events: none;
  user-select: none;
}


/* =========================================================
   COMUNICADOR MÁGICO — COMO FUNCIONA
   ========================================================= */

.page-comunicador .communicator-how {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 88px 0 90px;

    background:
        radial-gradient(
            ellipse at 50% 18%,
            rgba(39, 78, 119, .72) 0%,
            rgba(20, 50, 81, .42) 35%,
            transparent 66%
        ),
        radial-gradient(
            circle at 13% 24%,
            rgba(211, 173, 83, .13) 0%,
            transparent 18%
        ),
        radial-gradient(
            circle at 88% 18%,
            rgba(225, 190, 101, .10) 0%,
            transparent 17%
        ),
        linear-gradient(
            180deg,
            #07192b 0%,
            #0b2540 43%,
            #102e4b 66%,
            #081c30 100%
        );
}

.page-comunicador .communicator-how > .container {
    position: relative;
    z-index: 3;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* Comunicador — estrelas originais */

.page-comunicador .communicator-how::before,
.page-comunicador .communicator-how::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.page-comunicador .communicator-how::before {
    z-index: 1;
    opacity: .72;

    background-image:
        radial-gradient(circle, rgba(255,255,255,.78) 0 1px, transparent 1.7px),
        radial-gradient(circle, rgba(239,204,121,.78) 0 1.2px, transparent 2px),
        radial-gradient(circle, rgba(255,255,255,.38) 0 .8px, transparent 1.5px),
        radial-gradient(circle, rgba(221,183,91,.48) 0 1px, transparent 1.8px);

    background-size:
        137px 131px,
        211px 197px,
        89px 113px,
        307px 241px;

    background-position:
        11px 23px,
        81px 42px,
        37px 71px,
        119px 13px;

    -webkit-mask-image:
        linear-gradient(180deg, #000 0%, rgba(0,0,0,.92) 72%, rgba(0,0,0,.36) 100%);

    mask-image:
        linear-gradient(180deg, #000 0%, rgba(0,0,0,.92) 72%, rgba(0,0,0,.36) 100%);

    animation: communicator-stars-drift 24s linear infinite;
}

.page-comunicador .communicator-how::after {
    z-index: 2;
    opacity: .86;

    background:
        radial-gradient(circle at 7% 18%, rgba(255,233,170,.95) 0 1.4px, rgba(224,183,87,.36) 2px 5px, transparent 11px),
        radial-gradient(circle at 92% 23%, rgba(255,242,197,.92) 0 1.3px, rgba(223,177,74,.34) 2px 6px, transparent 13px),
        radial-gradient(circle at 17% 69%, rgba(255,229,154,.76) 0 1px, rgba(218,173,72,.24) 2px 5px, transparent 11px),
        radial-gradient(circle at 81% 73%, rgba(255,239,189,.72) 0 1px, rgba(218,173,72,.22) 2px 5px, transparent 12px),
        radial-gradient(circle at 49% 12%, rgba(255,245,216,.62) 0 .9px, rgba(223,180,82,.18) 2px 4px, transparent 10px);

    filter: drop-shadow(0 0 7px rgba(226,183,83,.24));

    animation:
        communicator-stars-twinkle 4.8s ease-in-out infinite alternate;
}

@keyframes communicator-stars-drift {
    from {
        background-position:
            11px 23px,
            81px 42px,
            37px 71px,
            119px 13px;
    }

    to {
        background-position:
            148px 154px,
            292px 239px,
            126px 184px,
            426px 254px;
    }
}

@keyframes communicator-stars-twinkle {
    0% {
        opacity: .58;
        filter: drop-shadow(0 0 3px rgba(226,183,83,.16));
    }

    48% {
        opacity: .92;
        filter: drop-shadow(0 0 9px rgba(226,183,83,.32));
    }

    100% {
        opacity: .70;
        filter: drop-shadow(0 0 5px rgba(226,183,83,.22));
    }
}

/* Título */

.page-comunicador .communicator-section-heading {
    margin-bottom: 44px;
    text-align: center;
}

.page-comunicador .communicator-how .section-title {
    margin: 0 0 12px;
    color: #e8c56f;
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 4.5vw, 4.8rem);
    font-weight: 400;
    line-height: .95;
    text-shadow: 0 2px 14px rgba(226, 185, 82, .16);
}

.page-comunicador .communicator-how .communicator-section-heading p {
    margin: 0;
    color: rgba(255, 248, 231, .92);
    font-size: 1.08rem;
    line-height: 1.6;
}

/* Três passos */

.page-comunicador .communicator-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 28px);
}

/* Cartão */

.page-comunicador .communicator-step-card {
    position: relative;
    display: grid;
    align-content: start;
    min-width: 0;
    padding: 20px;

    border: 1px solid rgba(182, 144, 88, .26);
    border-radius: 28px;

    background:
        linear-gradient(
            180deg,
            rgba(255,250,243,.90),
            rgba(244,231,206,.98)
        );

    box-shadow: 0 20px 34px rgba(7, 18, 29, .20);
}

/* Número */

.page-comunicador .communicator-step-card__number {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 3;

    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;

    border-radius: 50%;
    background: linear-gradient(180deg, #a31d24 0%, #8b151b 100%);

    color: #fff;
    font-family: var(--font-display);
    font-size: 2rem;

    box-shadow: 0 10px 18px rgba(77, 8, 11, .24);
}

/* Imagem */

.page-comunicador .communicator-step-card__media {
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 12px 26px rgba(41, 22, 8, .16);
}

.page-comunicador .communicator-step-card__media img {
    display: block;
    width: 100%;
    max-width: none;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

/* Texto */

.page-comunicador .communicator-step-card__body {
    display: grid;
    gap: 12px;
    padding: 18px 6px 6px;
    text-align: center;
}

.page-comunicador .communicator-step-card__body h3 {
    margin: 0;
    color: #8f1818;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 2vw, 2rem);
    font-weight: 400;
    line-height: 1.03;
}

.page-comunicador .communicator-step-card__body p {
    margin: 0;
    color: #43362c;
    font-size: 1rem;
    line-height: 1.55;
}

/* Mobile */

@media (max-width: 767px) {

    .page-comunicador .communicator-how {
        padding: 72px 0 74px;
    }

    .page-comunicador .communicator-how > .container {
        width: min(100% - 32px, 620px);
    }

    .page-comunicador .communicator-steps {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   COMUNICADOR MÁGICO — PERGUNTAS
   ========================================================= */

.page-comunicador .communicator-questions {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #0b2237;
}

.page-comunicador .communicator-questions > .container {
    width: 100%;
    max-width: none;
    padding: 0;
}

.page-comunicador .communicator-questions__panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 49%) minmax(0, 51%);
    width: 100%;
    min-height: 570px;
    overflow: hidden;
    background: #0b2237;
}

.page-comunicador .communicator-questions__media {
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 0;
    width: 62%;
    min-height: 570px;
    overflow: hidden;
    background: #0b2237;
}

.page-comunicador .communicator-questions__media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: left center;
}

.page-comunicador .communicator-questions__copy {
    position: relative;
    grid-column: 2;
    z-index: 2;
    display: grid;
    align-content: center;
    gap: 14px;
    min-width: 0;
    padding: 56px clamp(42px, 5vw, 92px) 74px clamp(72px, 6.2vw, 120px);
    overflow: visible;
}

.page-comunicador .communicator-questions__copy > * {
    position: relative;
    z-index: 2;
}

.page-comunicador .communicator-questions__copy::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: -30px;
    right: -28px;
    bottom: -30px;
    left: -118px;

    background:
    left center / cover no-repeat
    url("https://cartapainatal.com/wp-content/uploads/2026/10/communicator-questions-paper-overlay.webp");

    filter: drop-shadow(-10px 10px 18px rgba(44, 24, 10, .10));
    pointer-events: none;
}

.page-comunicador .communicator-questions__copy h2 {
    max-width: 11ch;
    margin: 0;
    color: #9a1b1f;
    font-size: clamp(2.5rem, 4.3vw, 4.8rem);
    line-height: .92;
}

.page-comunicador .communicator-questions__lead {
    margin: 0 0 8px;
    color: #44352c;
    font-size: clamp(1rem, 1.2vw, 1.22rem);
    line-height: 1.45;
}

.page-comunicador .communicator-bubbles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 16px;
    margin-top: 10px;
}

.page-comunicador .communicator-bubble {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 72px;
    padding: 12px 18px 20px;
    border: 0;
    border-radius: 0;

    background:
        center / 100% 100% no-repeat
        url("https://cartapainatal.com/wp-content/uploads/2026/10/communicator-question-bubble.webp");

    box-shadow: none;
    color: #2d261f;
    font-size: .96rem;
    line-height: 1.2;
    text-align: center;
}

.page-comunicador .communicator-bubble::after {
    content: none;
}

/* =========================================================
   COMUNICADOR MÁGICO — CARACTERÍSTICAS
   ========================================================= */

.page-comunicador .communicator-features {
    position: relative;
    isolation: isolate;
    padding: clamp(250px, 17vw, 350px) 0 90px;
    background: transparent;
}

.page-comunicador .communicator-features::before {
    content: "";
    position: absolute;
    z-index: 4;
    top: clamp(-390px, -18.7vw, -245px);
    left: 0;
    width: 100%;
    aspect-ratio: 2048 / 682;

   background:
    center / 100% 100% no-repeat
    url("https://cartapainatal.com/wp-content/uploads/2026/10/neve-divisor.webp");

    pointer-events: none;
}

.page-comunicador .communicator-features__panel {
    position: relative;
    overflow: hidden;
    padding: 48px 30px 46px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.page-comunicador .communicator-features__panel::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;

    background:
    center / 100% 100% no-repeat
    url("https://cartapainatal.com/wp-content/uploads/2026/10/hero-divider-paper.webp");

    filter: drop-shadow(0 12px 18px rgba(67, 43, 17, .12));
    pointer-events: none;
}

.page-comunicador .communicator-features__panel > * {
    position: relative;
    z-index: 1;
}

.page-comunicador .communicator-features .section-title {
    color: #9a1b1f;
}

.page-comunicador .communicator-features__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 18px;
    margin-top: 28px;
}

.page-comunicador .communicator-feature {
    display: grid;
    align-content: start;
    justify-items: center;
    gap: 14px;
    min-width: 0;
    padding: 8px 10px;
    text-align: center;
}

/* Comunicador — acabamento dos ícones das características */

.page-comunicador .communicator-feature__icon {
    display: grid;
    width: 82px;
    height: 82px;
    place-items: center;
    border: 1px solid rgba(188, 150, 93, .16);
    border-radius: 50%;
    background: rgba(255, 252, 247, .96);
    box-shadow:
        0 7px 15px rgba(72, 45, 27, .10),
        inset 0 1px 0 rgba(255, 255, 255, .9);
}

.page-comunicador .communicator-feature__icon img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.page-comunicador .communicator-feature strong {
    color: #35261c;
    font-family: var(--font-serif);
    font-size: .98rem;
    font-weight: 400;
    line-height: 1.38;
}

/* Comunicador — proporção correta do papel em desktop */
@media (min-width: 821px) {
    .page-comunicador .communicator-features__panel::before {
        background-size: 100% 188%;
        background-position: center center;
    }

    .page-comunicador .communicator-features__grid {
        margin-top: 24px;
        padding-bottom: 8px;
    }

    .page-comunicador .communicator-feature strong {
        line-height: 1.3;
    }

    .page-comunicador .communicator-features {
        padding-top: clamp(220px, 15.5vw, 315px);
        padding-bottom: 28px;
    }
}
/* Comunicador — fundo inferior original */
.page-comunicador .communicator-lower {
    position: relative;
    z-index: 2;
    isolation: isolate;
    overflow: visible;
    background-color: #54240e;
    background-image: url("https://cartapainatal.com/wp-content/uploads/2026/10/bk-footer-section-comunicador.webp");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}

.page-comunicador .communicator-lower .communicator-features {
    position: relative;
    background-color: transparent;
}

/* Comunicador — imagem na barra inferior */
.page-comunicador .communicator-cta__product img {
    width: 68px;
    height: auto;
    max-width: 68px;
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .24));
}

/* Comunicador — ícones da barra inferior */
.page-comunicador .communicator-cta__benefits svg {
    display: block;
    width: 26px !important;
    height: 26px !important;
    max-width: 26px !important;
    max-height: 26px !important;
    flex: 0 0 26px;
    fill: currentColor;
}

/* Comunicador — barra inferior de compra */
.page-comunicador .communicator-cta {
    position: relative;
    z-index: 2;
    padding: 0 0 54px;
    background: transparent;
}

.page-comunicador .communicator-cta__bar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;

    padding: 18px 22px;
    border-radius: 28px;

    background: linear-gradient(180deg, #162a21 0%, #0f1f18 100%);
    color: #fff;

    box-shadow: 0 20px 36px rgba(13, 24, 19, .22);
}

/* Comunicador — produto na barra inferior */
.page-comunicador .communicator-cta__product {
    display: flex;
    align-items: center;
    gap: 14px;
}

.page-comunicador .communicator-cta__product img {
    width: 68px;
    height: auto;
    max-width: 68px;
    flex: none;
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .24));
}

.page-comunicador .communicator-cta__product strong,
.page-comunicador .communicator-cta__product span {
    display: block;
}

.page-comunicador .communicator-cta__product strong {
    font-family: var(--font-display);
    font-size: 1.55rem;
    line-height: 1;
}

.page-comunicador .communicator-cta__product span {
    margin-top: 4px;
    color: rgba(255, 245, 232, .86);
    font-size: .97rem;
}

/* Comunicador — reservar largura ao produto da barra */
.page-comunicador .communicator-cta__bar {
    grid-template-columns: 380px minmax(0, 1fr) auto;
}

.page-comunicador .communicator-cta__product {
    width: 380px;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.page-comunicador .communicator-cta__product > div {
    flex: 1 1 auto;
    min-width: 0;
}

.page-comunicador .communicator-cta__product strong,
.page-comunicador .communicator-cta__product span {
    display: block !important;
    white-space: nowrap;
}

/* Comunicador — benefícios centrais da barra */
.page-comunicador .communicator-cta__benefits {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
}

.page-comunicador .communicator-cta__benefits > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    white-space: nowrap;
    color: rgba(255, 248, 239, .92);
    font-family: var(--font-ui);
    font-size: .93rem;
}

.page-comunicador .communicator-cta__benefits svg {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
    fill: currentColor;
}

/* Comunicador — HERO mobile */
@media (max-width: 820px) {

    .page-comunicador .communicator-hero__inner {
        display: block !important;
        width: 100% !important;
    }

    .page-comunicador .communicator-hero__content {
        width: 100% !important;
        max-width: 100% !important;
    }

    .page-comunicador .communicator-hero-paper {
        width: min(92%, 520px) !important;
        max-width: none !important;
        margin: 0 auto !important;
    }
	
.page-comunicador .communicator-hero-paper {
    min-height: 500px !important;
    height: auto !important;
    background-size: 100% 100% !important;
}

.page-comunicador .communicator-hero-paper__button {
    position: absolute !important;
    left: 26px !important;
    right: 26px !important;
    bottom: 34px !important;
    width: auto !important;
    margin: 0 !important;
}
	.page-comunicador .communicator-hero-paper__title {
    font-size: 1.85rem !important;
    line-height: .9 !important;
}
	.page-comunicador .communicator-hero-paper__lead {
    font-size: .84rem !important;
    line-height: 1.28 !important;
}
	.page-comunicador .communicator-hero-paper__content {
    transform: translateY(22px) !important;
}
	.page-comunicador .communicator-hero-paper__title,
.page-comunicador .communicator-hero-paper__lead {
    transform: translateY(10px) !important;
}
	.page-comunicador .communicator-hero-paper__note {
    transform: translateY(10px) rotate(-2.2deg) !important;
}
	.page-comunicador .communicator-questions__panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
}

.page-comunicador .communicator-questions__media,
.page-comunicador .communicator-questions__copy {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
}
	.page-comunicador .communicator-questions__media {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 400px !important;
}

.page-comunicador .communicator-questions__media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: left center !important;
}
	.page-comunicador .communicator-features__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 10px !important;
}

.page-comunicador .communicator-feature:last-child {
    grid-column: 2 !important;
}
	.page-comunicador .communicator-features {
    padding-top: 35px !important;
}
	.page-comunicador .communicator-bubbles {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 14px !important;
}

.page-comunicador .communicator-bubble {
    width: 100% !important;
    max-width: 150px !important;
    justify-self: center !important;
}

.page-comunicador .communicator-bubble:nth-child(5) {
    grid-column: 1 / -1 !important;
    width: 150px !important;
    justify-self: center !important;
}
	.page-comunicador .communicator-features::before {
    top: -80px !important;
}
	.page-comunicador .communicator-features .section-title {
    font-size: 2rem !important;
    line-height: 1.05 !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
		color: #fff !important;
}
	.page-comunicador .communicator-cta {
    margin-top: -150px !important;
}
	.page-comunicador .communicator-cta__benefits {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 12px 18px !important;
}

.page-comunicador .communicator-cta__benefits > span {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}
	@media (max-width: 820px) {
    .page-comunicador .communicator-cta__bar {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        text-align: center !important;
    }
}
}
/* Comunicador — ajuste para telemóveis reais */
@media (max-width: 560px) {

    .page-comunicador .communicator-lp-hero,
    .page-comunicador .communicator-hero-stage {
        width: 100% !important;
        max-width: 100vw !important;
        overflow: hidden !important;
    }

    .page-comunicador .communicator-hero-paper {
        width: calc(100% - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

	/* HOME — Comunicador simplificado no mobile */
@media (max-width: 560px) {

    .communicator .communicator-bg {
        display: none !important;
    }

    .communicator {
        background: #f3eadc !important;
    }
	

    #communicator-title {
    color: #222 !important;
}

#communicator-title .accent {
    color: #A7191E !important;
}
	
#novidades {
    scroll-margin-top: 120px;
}
