/* =========================================================
   Identity for Love — folha de estilos principal
   Cores da marca:  fundo #F5F5F5 · texto #292929 · vermelho #F40404
   Tipografia: Poppins (corpo) + Gebuk (títulos display)
   ========================================================= */

/* ---------- Fontes (auto-hospedadas) ---------- */
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/poppins-italic.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/poppins-italic-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/poppins-300.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/poppins-300-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-400.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-400-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-500.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-500-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-600.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-600-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/poppins-700.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/poppins-700-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Gebuk';src:url("../fonts/gebuk.ttf") format('truetype');font-weight:400;font-style:normal;font-display:swap;}

/* ---------- Tokens ---------- */
:root{
  --bg:#F5F5F5;
  --ink:#292929;
  --red:#F40404;
  --line:rgba(41,41,41,0.14);
  --muted:rgba(41,41,41,0.72);
  --display:'Gebuk','Archivo Black',sans-serif;
  --sans:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif;
  --wrap:1240px;
  --pad:clamp(20px,4vw,40px);
  --sec:clamp(44px,6vw,88px);
}

/* ---------- Base ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-weight:400;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:var(--red);text-decoration:none;}
a:hover{color:var(--ink);}
button,input,textarea,select{font-family:var(--sans);}
::selection{background:var(--red);color:var(--bg);}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
h1,h2,h3,p,ul,figure,blockquote{margin:0;}
.display{font-family:var(--display);font-weight:400;text-transform:uppercase;text-wrap:pretty;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:12px 18px;z-index:200;}
.skip-link:focus{left:12px;top:12px;}

/* ---------- Layout helpers ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.section{padding-top:var(--sec);padding-bottom:var(--sec);}
.section--line{border-bottom:1px solid var(--line);}
.eyebrow{display:flex;align-items:center;gap:12px;}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--red);flex:none;}
.eyebrow span{font:600 11px/1 var(--sans);letter-spacing:0.22em;text-transform:uppercase;color:var(--red);}
.lead{font:400 clamp(16px,1.4vw,18px)/1.7 var(--sans);color:rgba(41,41,41,0.75);max-width:56ch;text-wrap:pretty;}
.h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,5vw,68px);line-height:1;letter-spacing:0.01em;text-transform:uppercase;margin:0;text-wrap:pretty;}
.grid-3col{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(28px,4vw,64px);align-items:start;}
.grid-3col .span2{grid-column:span 2;min-width:280px;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:20px;justify-content:center;
  border:none;cursor:pointer;font:600 13px/1 var(--sans);letter-spacing:0.02em;
  padding:16px 26px;min-height:48px;transition:background .18s,color .18s,border-color .18s;text-align:center;}
.btn .arw{transition:transform .18s;}
.btn:hover .arw{transform:translateX(4px);}
.btn--red{background:var(--red);color:var(--bg);}
.btn--red:hover{background:var(--ink);color:var(--bg);}
.btn--dark{background:var(--ink);color:var(--bg);}
.btn--dark:hover{background:var(--red);color:var(--bg);}
.btn--ghost-light{background:rgba(245,245,245,0.06);color:var(--bg);border:1px solid rgba(245,245,245,0.45);}
.btn--ghost-light:hover{border-color:var(--red);color:var(--red);}
.btn--sm{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;padding:14px 20px;}
.link-underline{display:inline-flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;
  border-bottom:1px solid var(--red);padding:4px 0 6px;min-height:40px;
  font:600 11px/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;color:var(--ink);}
.link-underline:hover{color:var(--red);}
.link-underline .arw{transition:transform .18s;}
.link-underline:hover .arw{transform:translateX(4px);}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line);}
.site-header__bar{max-width:var(--wrap);margin:0 auto;padding:16px var(--pad);display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;}
.brand{display:flex;align-items:center;padding:6px 0;}
.brand img{height:34px;width:auto;}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;margin-left:auto;}
.nav a{display:flex;align-items:center;gap:7px;padding:6px 0;
  font:600 11px/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;color:var(--ink);}
.nav a:hover{color:var(--red);}
.nav a .dot{width:5px;height:5px;background:var(--red);border-radius:50%;display:none;}
.nav a[aria-current="page"] .dot{display:block;}
.nav a[aria-current="page"]{color:var(--ink);}
.nav .btn{margin-left:4px;}
.nav-cta{background:var(--red);color:var(--bg);padding:13px 20px;font:600 11px/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;}
.nav-cta:hover{background:var(--ink);color:var(--bg);}
.menu-toggle{display:none;margin-left:auto;background:transparent;border:1px solid rgba(41,41,41,0.25);
  padding:11px 16px;cursor:pointer;align-items:center;gap:9px;min-height:44px;
  font:600 10px/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;color:var(--ink);}
.menu-toggle .bars{display:flex;flex-direction:column;gap:3px;}
.menu-toggle .bars span{width:16px;height:1.5px;background:var(--red);display:block;}
.mobile-menu{display:none;border-top:1px solid var(--line);background:var(--bg);padding:8px var(--pad) 22px;flex-direction:column;}
.mobile-menu a{border-bottom:1px solid rgba(41,41,41,0.1);padding:16px 0;min-height:44px;display:flex;align-items:center;
  font:600 12px/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;color:var(--ink);}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu .nav-cta{margin-top:12px;justify-content:center;padding:17px 20px;}
.site-header.open .mobile-menu{display:flex;}

/* Mobile bottom nav */
.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--bg);border-top:1px solid var(--line);}
.bottom-nav a{flex:1;padding:10px 4px 12px;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:44px;
  font:600 10px/1 var(--sans);letter-spacing:0.03em;text-transform:uppercase;color:var(--ink);}
.bottom-nav a .dot{width:5px;height:5px;border-radius:50%;background:var(--red);opacity:0;}
.bottom-nav a[aria-current="page"] .dot{opacity:1;}

/* ---------- Hero (home) ---------- */
.hero{position:relative;background:var(--ink);color:var(--bg);overflow:hidden;
  min-height:calc(100svh - 71px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto auto;justify-items:center;
  padding:clamp(48px,6vh,72px) var(--pad) clamp(32px,3vh,44px);}
.hero__glow{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 8%,rgba(244,4,4,0.16) 0%,rgba(244,4,4,0) 55%),
             linear-gradient(180deg,#1c1c1c 0%,#292929 60%,#202020 100%);}
.hero__cross{position:absolute;top:-6%;right:5%;width:clamp(150px,20vw,300px);height:clamp(210px,28vw,420px);z-index:0;pointer-events:none;opacity:.9;}
.hero__cross span:nth-child(1){position:absolute;left:50%;top:0;width:20%;height:100%;background:var(--red);opacity:0.07;transform:translateX(-50%);}
.hero__cross span:nth-child(2){position:absolute;top:24%;left:0;width:100%;height:20%;background:var(--red);opacity:0.07;}
.hero__body{grid-row:2;position:relative;z-index:2;width:100%;max-width:940px;display:flex;flex-direction:column;align-items:center;text-align:center;}
.hero__kicker{display:flex;align-items:center;gap:14px;margin-bottom:clamp(14px,2vh,26px);}
.hero__kicker span:first-child,.hero__kicker span:last-child{width:28px;height:2px;background:var(--red);}
.hero__kicker b{font:600 11px/1 var(--sans);letter-spacing:0.22em;text-transform:uppercase;color:var(--bg);font-weight:600;}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,7vw,92px);line-height:0.96;letter-spacing:0.01em;
  text-transform:uppercase;margin:0;text-wrap:pretty;text-shadow:0 2px 24px rgba(0,0,0,0.45);}
.hero h1 .red{color:var(--red);}
.hero__sub{font:400 clamp(15px,1.5vw,20px)/1.5 var(--sans);color:rgba(245,245,245,0.82);margin:clamp(14px,2vh,30px) 0 0;max-width:50ch;text-wrap:pretty;}
.hero__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(20px,3vh,40px);}
.hero__last{margin-top:clamp(16px,2.4vh,28px);background:transparent;border:none;border-bottom:1px solid var(--red);
  padding:0 0 6px;cursor:pointer;font:400 14px/1.4 var(--sans);color:var(--bg);display:inline-flex;align-items:center;gap:14px;}
.hero__last:hover{color:var(--red);}
.hero__last .red{color:var(--red);}
.hero__tiles{grid-row:3;position:relative;z-index:2;width:100%;max-width:1100px;align-self:end;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:clamp(20px,4vh,56px);}
.hero__tile{background:rgba(18,18,18,0.55);border:1px solid rgba(245,245,245,0.22);backdrop-filter:blur(6px);
  padding:12px 14px;text-align:left;display:flex;flex-direction:column;gap:4px;min-height:56px;color:var(--bg);}
.hero__tile:hover{border-color:var(--red);color:var(--bg);}
.hero__tile b{font:600 13px/1.2 var(--sans);color:var(--bg);}
.hero__tile small{font:400 10px/1.3 var(--sans);letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,245,245,0.6);}

/* dark quote strip under hero */
.hero-quote{max-width:var(--wrap);margin:0 auto;padding:clamp(28px,4vw,48px) var(--pad);display:flex;gap:14px;justify-content:center;}
.hero-quote .bar{width:22px;height:2px;background:var(--red);margin-top:11px;flex:none;}
.hero-quote p{font:400 clamp(15px,1.3vw,17px)/1.6 var(--sans);color:rgba(245,245,245,0.85);margin:0 0 10px;text-wrap:pretty;max-width:56ch;}
.hero-quote cite{font:600 10px/1 var(--sans);letter-spacing:0.18em;text-transform:uppercase;color:rgba(245,245,245,0.5);font-style:normal;}
.marquee{background:var(--red);color:var(--bg);}
.marquee div{max-width:var(--wrap);margin:0 auto;padding:14px var(--pad);display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;align-items:center;}
.marquee span{font:600 10px/1.4 var(--sans);letter-spacing:0.18em;text-transform:uppercase;}

/* ---------- Belief / mission lists ---------- */
.belief-list{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:14px;}
.belief-list li{font:400 clamp(17px,1.6vw,21px)/1.5 var(--sans);padding-left:24px;position:relative;}
.belief-list li::before{content:"";position:absolute;left:0;top:0.7em;width:10px;height:1px;background:var(--red);}
.big-statement{font-family:var(--display);font-weight:400;font-size:clamp(24px,3vw,40px);line-height:1.12;text-transform:uppercase;margin:0;text-wrap:pretty;}
.big-statement .red{color:var(--red);}
.plain-statement{font:400 22px/1.3 var(--sans);margin:0;text-wrap:pretty;}
.plain-statement .red{color:var(--red);}

/* number grid (missão) */
.numgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.numgrid > div{background:var(--bg);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:12px;}
.numgrid .num{font:600 11px/1 var(--sans);letter-spacing:0.2em;color:var(--red);}
.numgrid h3{font:600 19px/1.35 var(--sans);margin:0;}
.numgrid p{font:400 15px/1.7 var(--sans);color:var(--muted);margin:0;}

/* ---------- Jornada (dark) ---------- */
.journey{background:var(--ink);color:var(--bg);padding:clamp(64px,7vw,108px) var(--pad) clamp(96px,10vw,156px);position:relative;overflow:hidden;}
.journey__head{max-width:760px;margin:0 auto;text-align:center;position:relative;z-index:1;}
.journey__head .kick{display:inline-flex;align-items:center;gap:12px;margin-bottom:26px;}
.journey__head .kick span:first-child,.journey__head .kick span:last-child{width:30px;height:2px;background:var(--red);display:block;}
.journey__head .kick b{font:500 12px/1 var(--sans);letter-spacing:0.2em;text-transform:uppercase;color:var(--red);}
.journey__head h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,4vw,50px);line-height:1.1;text-transform:uppercase;margin:0 0 20px;text-wrap:pretty;}
.journey__head p{font:300 clamp(16px,1.6vw,18.5px)/1.7 var(--sans);opacity:0.82;margin:0;}
.journey__grid{max-width:1140px;margin:clamp(52px,6vw,84px) auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(20px,2.5vw,28px);position:relative;z-index:1;}
.journey__card{border:1px solid #3E3E3E;padding:clamp(24px,3vw,32px);}
.journey__card .n{font-family:var(--display);font-size:clamp(40px,5vw,56px);line-height:1;color:var(--red);opacity:0.35;margin-bottom:14px;}
.journey__card h3{font:600 18px/1.3 var(--sans);margin:0 0 10px;}
.journey__card p{font:300 15px/1.7 var(--sans);opacity:0.82;margin:0;}

/* red overlap card ("Este espaço é para ti") */
.overlap{padding:0 var(--pad);margin-top:clamp(-64px,-6vw,-48px);position:relative;z-index:2;}
.overlap__box{max-width:1140px;margin:0 auto;background:var(--red);color:var(--bg);box-shadow:0 24px 60px -20px rgba(0,0,0,0.35);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.overlap__box > div{padding:clamp(36px,4.5vw,56px);}
.overlap__box h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,3vw,34px);line-height:1.15;text-transform:uppercase;margin:0 0 24px;}
.checks{display:flex;flex-direction:column;gap:14px;}
.checks div{display:flex;align-items:flex-start;gap:12px;font:400 15.5px/1.5 var(--sans);}
.checks .box{flex:0 0 auto;width:18px;height:18px;border:1.5px solid var(--bg);display:flex;align-items:center;justify-content:center;margin-top:2px;font-size:11px;}
.overlap__box .right{border-top:1px solid rgba(245,245,245,0.25);display:flex;flex-direction:column;justify-content:center;gap:26px;}
.overlap__box .right p{font:600 clamp(19px,2vw,24px)/1.4 var(--sans);margin:0;}

/* ---------- Cards (artigos / planos / equipa / loja) ---------- */
.section-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;
  padding-bottom:18px;border-bottom:1px solid var(--ink);margin-bottom:clamp(28px,4vw,48px);}
.section-head h2{font:600 13px/1 var(--sans);letter-spacing:0.18em;text-transform:uppercase;margin:0;}
.section-head span{font:400 13px/1 var(--sans);color:rgba(41,41,41,0.6);}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:clamp(22px,2.5vw,36px);}
.card{display:flex;flex-direction:column;gap:16px;}
.card img{width:100%;object-fit:cover;background:#EAEAEA;}
.card .ratio-32{aspect-ratio:3/2;}
.card .meta{font:600 10px/1 var(--sans);letter-spacing:0.2em;text-transform:uppercase;color:var(--red);}
.card h3{font-family:var(--display);font-weight:400;font-size:clamp(21px,2.2vw,27px);line-height:1.12;text-transform:uppercase;margin:0;}
.card p{font:400 15px/1.7 var(--sans);margin:0;color:rgba(41,41,41,0.75);text-wrap:pretty;}
.card .body{display:flex;flex-direction:column;gap:10px;}
.card--plan h3{font-family:var(--sans);font-weight:600;font-size:20px;line-height:1.35;text-transform:none;}

/* loja grid */
.shop{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(22px,2.5vw,36px);}
.shop a{display:flex;flex-direction:column;gap:16px;color:var(--ink);}
.shop a:hover{opacity:0.85;}
.shop img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;background:#fff;}
.shop .row{display:flex;justify-content:space-between;gap:12px;font:500 15px/1.5 var(--sans);color:rgba(41,41,41,0.8);}

/* ---------- Equipa ---------- */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(24px,3vw,44px);}
.team article{display:flex;flex-direction:column;gap:18px;}
.team img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;background:#EAEAEA;}
.team h3{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.4vw,30px);line-height:1.1;text-transform:uppercase;margin:0;}
.team .role{font:600 10px/1.4 var(--sans);letter-spacing:0.18em;text-transform:uppercase;color:var(--red);}
.team p{font:400 16px/1.7 var(--sans);color:rgba(41,41,41,0.8);margin:6px 0 0;max-width:44ch;text-wrap:pretty;}

/* ---------- Artigo (leitura) ---------- */
.article-media{width:100%;aspect-ratio:16/9;object-fit:cover;background:#EAEAEA;margin-bottom:clamp(32px,4vw,56px);}
.verse{margin:0 auto clamp(32px,4vw,56px);max-width:78ch;padding:26px 30px;border-left:2px solid var(--red);background:rgba(41,41,41,0.04);}
.verse .ref{display:block;font:600 10px/1 var(--sans);letter-spacing:0.18em;text-transform:uppercase;color:rgba(41,41,41,0.55);margin-bottom:14px;}
.verse p{font:italic 600 clamp(18px,2vw,24px)/1.5 var(--sans);margin:0;text-wrap:pretty;}
.prose{max-width:78ch;margin:0 auto;display:flex;flex-direction:column;gap:22px;}
.prose h2{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.6vw,32px);line-height:1.1;text-transform:uppercase;margin:18px 0 0;}
.prose h3{font:600 19px/1.45 var(--sans);margin:12px 0 0;}
.prose p{font:400 17px/1.8 var(--sans);margin:0;color:rgba(41,41,41,0.85);text-wrap:pretty;}
.prose .li{display:flex;gap:14px;align-items:flex-start;}
.prose .li::before{content:"";width:12px;height:1px;background:var(--red);margin-top:15px;flex:none;}
.prose .li p{margin:0;}
.prose .i{font:italic 400 17px/1.8 var(--sans);margin:0;padding-left:22px;border-left:2px solid rgba(244,4,4,0.35);color:rgba(41,41,41,0.85);text-wrap:pretty;}

/* ---------- Sobre bespoke ---------- */
.rich{max-width:68ch;display:flex;flex-direction:column;gap:22px;}
.rich p{font:400 17px/1.75 var(--sans);margin:0;color:rgba(41,41,41,0.85);}
.rich strong{font-weight:600;}
.rich blockquote{margin:10px 0;padding:26px 30px;border-left:2px solid var(--red);background:rgba(41,41,41,0.04);}
.rich blockquote .small{font:400 15px/1.6 var(--sans);margin:0 0 10px;color:rgba(41,41,41,0.6);}
.rich blockquote .q{font:italic 600 clamp(19px,2.2vw,26px)/1.45 var(--sans);margin:0;}
.mission-box{margin-top:8px;padding:clamp(26px,3vw,40px);background:var(--ink);color:var(--bg);}
.mission-box .k{font:600 11px/1 var(--sans);letter-spacing:0.22em;text-transform:uppercase;color:var(--red);}
.mission-box p{font-family:var(--display);font-weight:400;font-size:clamp(19px,2.2vw,28px);line-height:1.3;text-transform:uppercase;margin:20px 0 0;text-wrap:pretty;}
.belief-rows{max-width:70ch;display:flex;flex-direction:column;}
.belief-rows > div{padding:22px 0;border-top:1px solid var(--line);}
.belief-rows > div:last-child{border-bottom:1px solid var(--line);}
.belief-rows h3{font:600 18px/1.4 var(--sans);margin:0 0 8px;}
.belief-rows p{font:400 16px/1.7 var(--sans);color:var(--muted);margin:0;}
.about-h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,3vw,38px);line-height:1.08;text-transform:uppercase;margin:0;}

/* ---------- Social list ---------- */
.social-list{display:flex;flex-direction:column;}
.social-list a{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);
  font:600 15px/1 var(--sans);color:var(--ink);}
.social-list a:last-child{border-bottom:1px solid var(--line);}
.social-list a:hover{color:var(--red);}

/* ---------- Forms ---------- */
.form{border:1px solid var(--line);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:22px;}
.form--dark{background:var(--ink);color:var(--bg);border:none;}
.field{display:flex;flex-direction:column;gap:10px;}
.field > span{font:600 11px/1 var(--sans);letter-spacing:0.18em;text-transform:uppercase;color:rgba(41,41,41,0.7);}
.form--dark .field > span{color:rgba(245,245,245,0.65);}
.field input,.field select{background:transparent;border:none;border-bottom:1px solid rgba(41,41,41,0.3);
  padding:12px 0;font:400 17px/1.4 var(--sans);color:var(--ink);outline:none;min-height:44px;width:100%;}
.form--dark .field input{border-bottom-color:rgba(245,245,245,0.35);color:var(--bg);}
.field textarea{background:transparent;border:1px solid rgba(41,41,41,0.3);padding:14px;
  font:400 16px/1.6 var(--sans);color:var(--ink);outline:none;resize:vertical;width:100%;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--red);border-bottom-color:var(--red);}
.form-note{font:400 13px/1.5 var(--sans);color:rgba(41,41,41,0.55);margin:0;}
.form--dark .form-note{color:rgba(245,245,245,0.5);}
.form-status{font:500 14px/1.5 var(--sans);margin:0;display:none;}
.form-status.show{display:block;}
.form-status.ok{color:#1a7a34;}
.form--dark .form-status.ok{color:#8ff0a6;}
.form-status.err{color:var(--red);}

/* contact aside */
.contact-email{display:inline-flex;align-items:center;min-height:44px;padding:11px 0 8px;
  font:500 clamp(17px,1.8vw,22px)/1.4 var(--sans);color:var(--ink);border-bottom:1px solid var(--red);align-self:flex-start;}
.contact-email:hover{color:var(--red);}
.chips{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.chips a{font:600 11px/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;border:1px solid rgba(41,41,41,0.25);padding:15px 18px;color:var(--ink);}
.chips a:hover{border-color:var(--red);color:var(--red);}

/* newsletter strip */
.news{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,4vw,64px);align-items:center;}
.news h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,44px);line-height:1.05;text-transform:uppercase;margin:0 0 20px;text-wrap:pretty;}
.news .form-side{display:flex;flex-direction:column;gap:20px;border-left:2px solid var(--red);padding-left:clamp(20px,3vw,40px);}

/* ---------- Produto detail ---------- */
.product{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(32px,5vw,64px);align-items:start;}
.product > img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;background:#fff;}
.product__info{display:flex;flex-direction:column;gap:28px;}
.product__info h1{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.2vw,42px);line-height:1.1;text-transform:uppercase;margin:0 0 12px;text-wrap:pretty;}
.product__price{font:500 18px/1 var(--sans);color:rgba(41,41,41,0.8);}
.sizes .k{display:block;font:600 11px/1 var(--sans);letter-spacing:0.18em;text-transform:uppercase;color:rgba(41,41,41,0.55);margin-bottom:12px;}
.sizes .opts{display:flex;flex-wrap:wrap;gap:10px;}
.size{min-width:48px;min-height:44px;padding:14px 16px;border:1px solid rgba(41,41,41,0.3);background:transparent;color:var(--ink);
  font:600 12px/1 var(--sans);letter-spacing:0.04em;cursor:pointer;}
.size[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.order-box{background:var(--bg);border:1px solid var(--line);padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:14px;}
.order-box h2{font:600 13px/1.3 var(--sans);letter-spacing:0.06em;text-transform:uppercase;margin:0;}
.order-box p{font:400 15px/1.7 var(--sans);color:rgba(41,41,41,0.8);margin:0;}
.order-box .contacts{display:flex;flex-direction:column;gap:4px;font:500 15px/1.6 var(--sans);color:rgba(41,41,41,0.85);}
.order-box ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font:400 15px/1.6 var(--sans);color:rgba(41,41,41,0.8);}
.back-link{background:transparent;border:none;padding:14px 0;min-height:44px;display:inline-flex;align-items:center;gap:8px;
  font:600 11px/1 var(--sans);letter-spacing:0.14em;text-transform:uppercase;color:rgba(41,41,41,0.6);}
.back-link:hover{color:var(--red);}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:var(--bg);}
.site-footer__top{max-width:var(--wrap);margin:0 auto;padding:clamp(44px,6vw,80px) var(--pad) 32px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(28px,4vw,56px);}
.site-footer .brand img{height:44px;}
.site-footer p{font:400 15px/1.6 var(--sans);color:rgba(245,245,245,0.6);margin:0;max-width:32ch;}
.site-footer .col{display:flex;flex-direction:column;gap:16px;}
.site-footer .col > span{font:600 11px/1 var(--sans);letter-spacing:0.2em;text-transform:uppercase;color:var(--red);}
.site-footer .col .links{display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.site-footer .col a{display:inline-flex;align-items:center;min-height:44px;padding:11px 0;font:400 15px/1.4 var(--sans);color:rgba(245,245,245,0.8);}
.site-footer .col a:hover{color:var(--red);}
.site-footer__bottom{max-width:var(--wrap);margin:0 auto;padding:24px var(--pad) 40px;border-top:1px solid rgba(245,245,245,0.12);
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;}
.site-footer__bottom span{font:400 13px/1.5 var(--sans);color:rgba(245,245,245,0.45);}
.site-footer__bottom a{color:var(--red);display:inline-flex;align-items:center;min-height:44px;padding:11px 0;}

/* page has mobile bottom nav -> add bottom padding on small screens */
.has-bottom-nav{padding-bottom:0;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .grid-3col .span2{grid-column:auto;}
}
@media (max-width:720px){
  .nav{display:none;}
  .menu-toggle{display:flex;}
  .bottom-nav{display:flex;}
  .has-bottom-nav{padding-bottom:72px;}
  .hero{min-height:auto;}
  .overlap__box .right{border-top:1px solid rgba(245,245,245,0.25);}
}
@media (min-width:721px){
  .mobile-menu{display:none !important;}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important;transition:none !important;}
}
