/* 3D Gorilla mock · layout and components on Cybersphere light tokens */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;color-scheme:light}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:opacity var(--duration-fast) linear!important}}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/26px var(--font-sans)}
::selection{background:var(--selection)}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,ol,ul{margin:0}
a{color:inherit}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}
.t2{color:var(--text-secondary)} .t3{color:var(--text-tertiary)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--bg);padding:8px 12px}
.skip:focus{left:8px;z-index:10}
.ico{fill:none;stroke:currentColor;stroke-width:var(--stroke-icon);stroke-linecap:round;stroke-linejoin:round;flex:none}

/* logo: option C (final). Lockup in logos/3dgorilla-c-lockup-horizontal-on-light.svg */

/* grid / wrap: 4 col phones (20px margin), 12 col desktop (64px margin) */
.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-5)}
@media (min-width:600px){.wrap{padding:0 var(--space-8)}}
@media (min-width:960px){.wrap{padding:0 var(--space-12)}}
@media (min-width:1280px){.wrap{padding:0 var(--space-16)}}
.narrow > *{max-width:var(--text-max)}

/* nav */
.nav{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line-subtle)}
.nav-in{height:56px;display:flex;align-items:center;justify-content:space-between}
@media (min-width:960px){.nav-in{height:var(--nav-height)}}
.brand{display:flex;align-items:center;min-height:var(--tap-min)}
.brand img{height:24px;width:auto}
.nav nav{display:flex;gap:var(--space-6)}
.nav-link{text-decoration:none;color:var(--text-secondary);display:inline-flex;align-items:center;min-height:var(--tap-min);transition:color var(--duration-fast) var(--ease-standard)}
.nav-link:hover{color:var(--text-strong);text-decoration:underline;text-underline-offset:4px}
@media (max-width:599px){.hide-sm{display:none!important}}

/* buttons (Cybersphere Button: primary / secondary, radius-sm, D-DIN caps) */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-5);
  border-radius:var(--radius-sm);border:1px solid transparent;text-decoration:none;cursor:pointer;
  font:700 14px/16px var(--font-display);letter-spacing:.08em;text-transform:uppercase;
  transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
.btn-lg{min-height:52px;padding:0 var(--space-6)}
.btn-block{width:100%;justify-content:space-between}
.btn-primary{background:var(--action-primary);color:var(--text-inverse)}
.btn-primary:hover{background:var(--action-primary-hover)}
.btn-primary:active{background:var(--gray-700)}
.btn-secondary{background:transparent;color:var(--text-strong);border-color:var(--line-strong)}
.btn-secondary:hover{background:rgba(0,0,0,var(--opacity-ghost))}
.btn-secondary:active{background:var(--bg-emphasis)}
.btn[aria-disabled="true"]{opacity:var(--opacity-disabled);pointer-events:none}

/* hero (light theme, mobile-first) */
.hero{padding:var(--space-10) 0 var(--space-16)}
.hero-in{display:grid;gap:var(--space-10)}
.hero-h{font:700 40px/42px var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--text-strong);margin:var(--space-4) 0 var(--space-5);max-width:12ch}
.hero-lead{max-width:60ch}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.hero-note{margin-top:var(--space-4);max-width:48ch}
.hero-media{margin:0 calc(-1*var(--space-5));position:relative}
.hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-media figcaption{position:absolute;left:var(--space-5);bottom:var(--space-4);color:var(--text-on-media);background:var(--scrim-strong);padding:var(--space-1) var(--space-2)}
@media (min-width:960px){
  .hero{padding:var(--space-16) 0 var(--space-24)}
  .hero-in{grid-template-columns:5fr 7fr;align-items:end;gap:var(--space-12)}
  .hero-h{font-size:64px;line-height:60px;letter-spacing:-.005em}
  .hero-media{margin:0 calc(-1*var(--space-16)) 0 0}
  .hero-media figcaption{left:var(--space-6);bottom:var(--space-6)}
}

/* sections */
.band{padding:var(--space-16) 0}
@media (min-width:960px){.band{padding:var(--space-24) 0}}
.band-subtle{background:var(--bg-subtle)}
.sec-head{margin-bottom:var(--space-10)}
.sec-head .heading-2{color:var(--text-strong);margin-top:var(--space-3)}
.sec-head .lead{margin-top:var(--space-4);max-width:60ch}
@media (max-width:599px){.heading-2{font-size:30px;line-height:32px}}

/* product grid + card */
.grid{display:grid;gap:var(--space-6)}
@media (min-width:600px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);display:flex;flex-direction:column;overflow:hidden;transition:border-color var(--duration-fast) var(--ease-standard)}
.card:hover{border-color:var(--line-strong)}
.card-photo{background:var(--bg-subtle);border-bottom:1px solid var(--line-subtle)}
.card-photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
.card-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);flex:1}
.card-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}
.card-top .title-s{color:var(--text-strong)}
.price{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);white-space:nowrap}
.tag{font:500 10px/12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px 8px}
.meta{margin-top:calc(-1*var(--space-2))}
.swatches{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1)}
.swatches legend{padding:0;margin-bottom:var(--space-2);width:100%}
.swatch{position:relative;width:var(--tap-min);height:var(--tap-min);display:grid;place-items:center;cursor:pointer}
.swatch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.dot{width:var(--g3d-swatch-size);height:var(--g3d-swatch-size);border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px var(--line-strong);transition:box-shadow var(--duration-fast) var(--ease-standard)}
/* Filament colours are classes so style-src can stay 'self' (no inline style). */
.dot-preto{--c:var(--g3d-swatch-preto)}
.dot-branco{--c:var(--g3d-swatch-branco)}
.dot-cinza{--c:var(--g3d-swatch-cinza)}
.dot-azul{--c:var(--g3d-swatch-azul)}
.dot-vermelho{--c:var(--g3d-swatch-vermelho)}
.dot-amarelo{--c:var(--g3d-swatch-amarelo)}
.swatch:hover .dot{box-shadow:inset 0 0 0 1px var(--line-strong),0 0 0 2px var(--bg),0 0 0 3px var(--line-strong)}
.swatch input:checked + .dot{box-shadow:inset 0 0 0 1px var(--line-strong),0 0 0 2px var(--bg),0 0 0 4px var(--text-strong)}
.swatch input:focus-visible + .dot{box-shadow:inset 0 0 0 1px var(--line-strong),0 0 0 2px var(--bg),0 0 0 4px var(--focus),0 0 0 7px var(--bg),0 0 0 9px var(--focus)}
.pedir{margin-top:auto}
.email-link{color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px;align-self:flex-start;min-height:24px;display:inline-flex;align-items:center;margin-top:calc(-1*var(--space-2))}
.email-link:hover{color:var(--text-strong)}
.warn{display:flex;gap:var(--space-2);align-items:flex-start;padding-top:var(--space-3);border-top:1px solid var(--line-subtle)}
.warn .ico{margin-top:1px}

/* como pedir */
.steps{list-style:none;padding:0;display:grid;gap:var(--space-4)}
.step{border-top:1px solid var(--line-strong);padding-top:var(--space-5);display:grid;gap:var(--space-3)}
.step-n{color:var(--text-strong);font-size:56px;line-height:56px}
.step .heading-3{color:var(--text-strong)}
.step-arrow{display:flex;justify-content:flex-start;color:var(--text-tertiary);transform:rotate(90deg);width:24px}
.step-arrow svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:960px){
  .steps{grid-template-columns:1fr auto 1fr auto 1fr;gap:var(--space-6);align-items:start}
  .step-arrow{transform:none;padding-top:calc(var(--space-5) + 16px)}
  .step-n{font-size:72px;line-height:72px}
}

/* panels */
.two{display:grid;gap:var(--space-6)}
@media (min-width:960px){.two{grid-template-columns:1fr 1fr}}
.panel{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-6);display:grid;gap:var(--space-3)}
.panel .heading-3{color:var(--text-strong)}

/* faq */
.faq{border-top:1px solid var(--line-strong)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);color:var(--text-strong)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:10px;height:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform var(--duration-fast) var(--ease-standard);flex:none;margin-right:4px}
.faq details[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.faq details p{padding:0 0 var(--space-5);max-width:60ch}

/* notice */
.notice{display:grid;grid-template-columns:24px 1fr;gap:var(--space-4);padding:var(--space-6);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}
.notice > div{display:grid;gap:var(--space-3)}
.notice .heading-3{color:var(--text-strong)}

/* footer */
.foot{background:var(--bg-subtle);border-top:1px solid var(--line-subtle);padding:var(--space-12) 0 var(--space-8)}
.foot-in{display:grid;gap:var(--space-8)}
.foot img{height:28px;width:auto}
.foot-line{margin-top:var(--space-3)}
.foot-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-6)}
.foot-links a{color:var(--text-secondary);text-decoration:none;display:inline-flex;align-items:center;min-height:var(--tap-min)}
.foot-links a:hover{color:var(--text-strong);text-decoration:underline;text-underline-offset:4px}
.legal{border-top:1px solid var(--line-subtle);padding-top:var(--space-5)}
@media (min-width:960px){.foot-in{grid-template-columns:1fr auto;align-items:start}.legal{grid-column:1/-1}}
