/* Analice Albuquerque Beauty — modelo visual 2026-11
   Direção: "a frase é o layout" (tasteskill, seed 1239389745).
   Ideia: o arco das artes e do espelho do espaço da Analice vira a moldura de toda foto.
   Cores tiradas do espaço dela: parede verde-oliva, rosa dos lábios. */
@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/anton-latin-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/anton-latin.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:"Work Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/work-sans-latin-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/work-sans-latin.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:"Work Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/work-sans-latin-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/work-sans-latin.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}
:root{
  --bg:#2b3024;          /* verde-oliva da parede do espaço */
  --surface:#353b2d;
  --surface-2:#3f4636;
  --ink:#f7dde3;         /* rosa-claro */
  --muted:#cbb5b9;
  --accent:#ff9fc6;      /* rosa, só na ação */
  --accent-ink:#2b3024;
  --field:#f3b9cb;       /* campo rosa do contato */
  --field-ink:#2b3024;

  --display:"Anton","Arial Narrow",Impact,sans-serif;
  --text:"Work Sans",system-ui,-apple-system,"Segoe UI",sans-serif;

  --step-small:clamp(.875rem,.85rem + .1vw,.9375rem);
  --step-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --step-lead:clamp(1.375rem,1.1rem + 1vw,2.125rem);
  --step-head:clamp(2.75rem,1.4rem + 5vw,5.75rem);
  --step-display:clamp(3.5rem,7.8vw,10rem);

  --m:clamp(20px,3.2vw,48px);       /* margem da página */
  --gap:clamp(20px,2vw,32px);
  --section:clamp(120px,14vw,220px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --arch:999px 999px 0 0;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:var(--step-body);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--accent-ink)}
h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:-.01em;line-height:.9;margin:0}
p{margin:0 0 1em}
.wrap{padding-inline:var(--m);max-width:1680px;margin-inline:auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--m);top:12px;z-index:50;background:var(--accent);color:var(--accent-ink);padding:10px 16px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* botão: um formato, cantos retos */
.button,button.button{display:inline-flex;align-items:center;gap:.5em;min-height:52px;padding:0 26px;background:var(--accent);color:var(--accent-ink);font:600 var(--step-body)/1 var(--text);text-decoration:none;border:0;cursor:pointer;transition:transform .25s var(--ease),background-color .25s}
.button:hover{background:var(--ink);color:var(--accent-ink);transform:translateY(-2px)}
.button:active{transform:translateY(1px) scale(.98)}
.text-link{font-weight:600;text-decoration:underline;text-underline-offset:.3em}

/* cabeçalho */
.site-header{position:relative;z-index:30;background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--m);font-size:var(--step-small)}
.wordmark{font-family:var(--display);font-size:var(--step-lead);letter-spacing:.01em;text-transform:uppercase;text-decoration:none;line-height:1}
.site-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.site-nav a{text-decoration:none;font-weight:600}
.site-nav a:not(.button){position:relative}
.site-nav a:not(.button)::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.site-nav a:not(.button):hover::after{transform:scaleX(1)}
.site-nav .button{min-height:44px;padding:0 18px;font-size:var(--step-small)}
@media(max-width:820px){.site-nav .opt{display:none}}
.wordmark{white-space:nowrap}
@media(max-width:440px){.site-nav a:not(.button){display:none}}

/* moldura em arco: o arco das artes e do espelho do espaço */
.arch{border-radius:var(--arch);overflow:hidden;background:var(--surface)}
.arch img,.arch video{width:100%;height:100%;object-fit:cover}

/* ===== HERO: o nome partido pelo arco ===== */
.hero{position:relative;height:170vh}
.hero-stage{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-columns:1fr minmax(0,22vw) 1fr;grid-template-rows:1fr 1fr;padding-inline:var(--m);column-gap:clamp(16px,2.4vw,40px)}
.hero h1{grid-column:1/-1;grid-row:1/span 2;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;position:relative;z-index:3}
.hero h1 .half{font-size:var(--step-display);line-height:.86;letter-spacing:-.01em}
.hero h1 .a{grid-column:1;grid-row:1;justify-self:start;align-self:end;margin-bottom:-.06em}
.hero h1 .b{grid-column:3;grid-row:2;justify-self:end;align-self:start;margin-top:.5em}
.reel{grid-column:2;grid-row:1/span 2;height:100svh;position:relative}
.reel-track{position:absolute;left:0;right:0;top:50%;display:flex;flex-direction:column;gap:24px;will-change:transform}
.reel-item{aspect-ratio:3/4;flex:none;width:100%;margin:0}
.reel-item figcaption{position:absolute;left:-9999px}
.hero-copy{grid-column:1;grid-row:2;align-self:start;margin-top:40px;max-width:30ch;position:relative;z-index:4}
.hero-copy p{font-size:max(1.1875rem,var(--step-body));margin-bottom:24px}
@media(max-width:820px){
  .hero{height:auto}
  .hero-stage{position:relative;height:auto;display:flex;flex-direction:column;padding-top:24px;padding-bottom:56px}
  .hero h1{order:1}.hero-copy{order:2}.reel{order:3}
  .hero h1{display:flex;flex-direction:column}
  .hero h1 .a{align-self:flex-start}.hero h1 .b{align-self:flex-end}
  .hero h1 .half{display:block;font-size:clamp(3.25rem,18vw,6rem);margin:0}
  .hero h1 .b{text-align:right}
  .reel{height:auto;margin:40px 0 0}
  .reel-track{position:relative;top:0;display:block;width:min(62%,340px);aspect-ratio:3/4;margin:0 auto;transform:none!important}
  .reel-item{position:absolute;inset:0;width:100%;opacity:0;transition:opacity .9s var(--ease)}
  .reel-item.is-on,.no-js .reel-item:first-child{opacity:1}
  .hero-copy{max-width:none;margin:32px 0 0}
}

/* ===== intro: a frase com miniaturas em arco ===== */
.intro{padding:clamp(96px,10vw,160px) var(--m);background:var(--surface);margin-bottom:var(--section)}
.intro p{font-family:var(--display);text-transform:uppercase;font-size:var(--step-lead);line-height:1.18;max-width:31em;margin:0 auto;text-align:center;letter-spacing:.005em}
.thumb{display:inline-block;width:1.05em;height:.92em;vertical-align:-.1em;margin:0 .14em;border-radius:var(--arch);overflow:hidden;background:var(--surface)}
.thumb img{width:100%;height:100%;object-fit:cover}
@media(max-width:820px){.intro p{text-align:left;font-size:1.5rem}}

/* ===== valores: a tabela é o pedido ===== */
.prices{padding:0 var(--m) var(--section)}
.prices h2{font-size:var(--step-head);text-indent:3vw;max-width:12em}
.prices-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);margin-top:clamp(48px,6vw,96px)}
.prices-photo{grid-column:1/span 4;align-self:start;position:sticky;top:110px}
.prices-photo .arch{aspect-ratio:4/5}
.prices-photo figcaption{font-size:var(--step-small);color:var(--muted);margin-top:12px}
.prices-word{grid-column:6/span 1;font-size:var(--step-small);font-weight:600;padding-top:6px}
.order{grid-column:7/span 6}
.order fieldset{border:0;margin:0 0 44px;padding:0}
.order legend{font-family:var(--display);text-transform:uppercase;font-size:var(--step-lead);line-height:1;margin-bottom:14px;padding:0}
.row{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:baseline;padding:11px 0;cursor:pointer;font-size:var(--step-body)}
.row input{appearance:none;width:20px;height:20px;margin:0;align-self:center;background:var(--surface-2);transition:background-color .2s,transform .2s;cursor:pointer}
.row input:checked{background:var(--accent);transform:scale(1.1)}
.row:hover .name{color:var(--accent)}
.row .price{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.row .price.ask{font-weight:400;color:var(--muted)}
.row a{font-size:var(--step-small);margin-left:.4em}
.order-form{background:var(--surface);padding:clamp(22px,2.4vw,36px);display:grid;gap:18px}
.order-form .occasions{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0}
.chip span{display:inline-block;padding:10px 16px;background:var(--surface-2);font-size:var(--step-small);font-weight:600;cursor:pointer;transition:background-color .2s,color .2s}
.chip input:checked+span{background:var(--ink);color:var(--bg)}
.chip input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.order-form label.date{display:grid;gap:6px;font-size:var(--step-small);font-weight:600}
.order-form input[type=date]{font:inherit;padding:12px;background:var(--bg);color:var(--ink);border:1px solid var(--muted);color-scheme:dark;max-width:240px}
.total{font-weight:600;font-size:var(--step-lead);line-height:1.2;margin:0}
.total small{display:block;font-weight:400;font-size:var(--step-small);color:var(--muted);margin-top:6px;line-height:1.4}
@media(max-width:820px){
  .prices h2{text-indent:0}
  .prices-grid{display:block}
  .prices-photo{position:relative;top:0;width:60%;margin:0 0 40px auto}
  .prices-word{display:none}
}

/* ===== antes e depois: índice com prévia ===== */
.compare{padding:0 var(--m) var(--section);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start}
.compare-list{grid-column:1/span 5}
.compare-list h2{font-size:var(--step-head);margin-bottom:24px}
.compare-list ul{list-style:none;padding:0;margin:32px 0 0}
.ad-item{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:baseline;gap:16px;width:100%;padding:12px 0;cursor:pointer;font-size:var(--step-body);font-weight:600;color:var(--muted);transition:color .2s,transform .3s var(--ease)}
.ad-item .v{font-size:var(--step-body);font-weight:400;white-space:nowrap}
.ad-item:hover,.ad-item.is-on{color:var(--ink)}
.ad-item .n{transition:transform .3s var(--ease)}.ad-item.is-on .n{transform:translateX(8px)}
.ad-item.is-on .n::before{content:"";display:inline-block;width:.5em;height:.62em;margin-right:.35em;background:var(--accent);border-radius:999px 999px 0 0}
.ad-item:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.compare-view{grid-column:7/span 6;position:sticky;top:40px}
.ad-fig{margin:0;display:none}
.ad-fig.is-on{display:block;animation:fadein .5s var(--ease)}
.no-js .ad-fig{display:block;margin-bottom:24px}
.ad-fig img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--surface)}
.ad-fig figcaption{font-size:var(--step-small);margin-top:12px}
@keyframes fadein{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
@media(max-width:820px){.compare{display:flex;flex-direction:column}.compare-view{position:relative;top:0;order:2;width:100%}.compare-list ul{margin-top:20px}}

/* ===== portfólio: os nomes num parágrafo ===== */
.names{padding:0 var(--m) var(--section)}
.names-text{font-family:var(--display);text-transform:uppercase;font-size:var(--step-lead);line-height:1.34;margin:0;color:var(--muted)}
.names-title{font-size:var(--step-head);margin-bottom:clamp(28px,3vw,48px)}
.names-text a{text-decoration:none;transition:color .2s}
.names-text a:hover{color:var(--ink)}
.names-text .thumb{transition:transform .35s var(--ease);transform-origin:left center}
.names-text a:hover .thumb{transform:scale(1.5)}
.names-count{font-size:var(--step-small);margin-top:28px;color:var(--ink)}

/* ===== vitrine: uma moldura, três distâncias ===== */
.showcase{position:relative;padding:0 0 var(--section)}
.show-stage{display:grid;place-items:center}
.show-inner{position:relative;display:grid;grid-template-columns:1fr minmax(0,28vw) 1fr;align-items:center;width:100%;padding:0 var(--m);gap:var(--gap)}
.showcase h2{display:contents}
.showcase h2 .t1{grid-column:1/-1;grid-row:1;justify-self:center;font-size:var(--step-display);margin-bottom:.15em}
.showcase h2 .t2{grid-column:1/-1;grid-row:3;justify-self:center;font-size:var(--step-display);margin-top:.15em;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease);position:relative;z-index:2}
.show-frame{grid-column:2;grid-row:2;aspect-ratio:4/5;max-height:52svh;width:auto;height:52svh;justify-self:center}
.show-frame img{transition:transform .9s var(--ease);transform-origin:50% 40%}
.show-cap{grid-column:3;grid-row:2;align-self:start;max-width:28ch;font-size:var(--step-body);opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.showcase[data-stage="2"] .t2,.showcase[data-stage="3"] .t2{opacity:1;transform:none}
.showcase[data-stage="2"] .show-frame img{transform:scale(1.8);transform-origin:50% 38%}
.showcase[data-stage="3"] .show-frame img{transform:scale(2.6);transform-origin:52% 60%}
.showcase[data-stage="3"] .show-cap{opacity:1;transform:none}
@media(max-width:820px){
  .show-inner{display:flex;flex-direction:column;align-items:center}
  .show-frame{width:70vw;max-height:none}
  .showcase h2 .t1,.showcase h2 .t2{font-size:13vw}
  .show-cap{text-align:center;max-width:32ch}
}

/* ===== em movimento ===== */
.motion{padding:0 var(--m) var(--section);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start}
.motion-copy{grid-column:1/span 5;align-self:center}
.motion-copy h2{font-size:var(--step-head);margin-bottom:28px}
.motion-copy ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:10px}
.motion-videos{grid-column:7/span 6;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.motion-videos figure{margin:0}
.motion-videos .arch{aspect-ratio:9/16}
.motion-videos figure:nth-child(2){margin-top:22%}
.motion-videos figcaption{font-size:var(--step-small);margin-top:12px;color:var(--muted)}
@media(max-width:820px){.motion{display:block}.motion-copy{position:relative;top:0;margin-bottom:40px}}

/* ===== sobre: retrato como capitular ===== */
.about{padding:0 var(--m) var(--section)}
.about-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.about-facts{grid-column:1/span 2;font-size:var(--step-small);display:grid;gap:18px;align-content:start}
.about-facts h2{font-size:var(--step-lead);line-height:1;margin-bottom:6px}
.about-facts p{margin:0}
.about-text{grid-column:3/span 10;font-size:var(--step-lead);line-height:1.22}
.about-text .portrait{float:left;width:3.6em;height:3.6em;margin:.18em .5em .1em 0;border-radius:var(--arch);overflow:hidden}
.about-text .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.about-text .about-more{font-size:var(--step-body);line-height:1.5;color:var(--ink);max-width:52ch;clear:both;padding-top:12px}
.about-text a{color:var(--ink)}
.about-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:clamp(64px,7vw,112px)}
.about-photos figure{margin:0}
.about-photos .arch{aspect-ratio:3/4}
.about-photos figcaption{font-size:var(--step-small);margin-top:12px}
@media(max-width:820px){
  .about-grid{display:flex;flex-direction:column-reverse;gap:40px}
  .about-facts{display:grid;grid-template-columns:repeat(3,1fr)}
  .about-facts h2{grid-column:1/-1}
  .about-text{font-size:1.375rem;line-height:1.25}
  .about-text .portrait{width:110px;height:110px}
  .about-photos{grid-template-columns:1fr 1fr}
}

/* ===== perguntas: grandes à esquerda, respostas ao lado ===== */
.faq{padding:0 var(--m) var(--section)}
.faq-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);margin-bottom:clamp(48px,5vw,72px)}
.faq-row h2,.faq-row h3{grid-column:1/span 6;font-size:var(--step-lead);line-height:1.05;max-width:16em}
.faq-row h2{font-size:var(--step-head);line-height:.9}
.faq-row h2{color:var(--muted)}
.faq-row p{grid-column:7/span 6;margin:0;max-width:46ch}
@media(max-width:820px){.faq-row{display:block;margin-bottom:56px}.faq-row p{margin-top:12px}}

/* ===== contato: o número como letreiro ===== */
.contact{background:var(--field);color:var(--field-ink);display:grid;padding:clamp(64px,7vw,112px) var(--m) clamp(48px,5vw,72px)}
.contact a:hover{color:var(--bg);opacity:.75}
.contact h2{position:relative;z-index:2;font-family:var(--text);text-transform:none;font-weight:600;font-size:var(--step-lead);line-height:1.2;letter-spacing:-.01em;max-width:24ch}
.contact .phone{display:block;font-family:var(--display);font-size:clamp(3rem,12.4vw,14rem);line-height:.9;text-decoration:none;margin:24px 0 clamp(40px,5vw,72px);letter-spacing:-.01em;white-space:nowrap}
.contact .phone:hover{color:var(--field-ink);opacity:1}
.contact .phone span{display:inline-block;transition:transform .5s var(--ease)}
.contact .phone:hover span{transform:translateX(.08em)}
.contact-foot{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);font-size:var(--step-body)}
.contact-foot .where{grid-column:1/span 5;margin:0}
.contact-foot .place{grid-column:6/span 3}
.contact-foot .place .arch{aspect-ratio:3/4;max-width:300px}
.contact-foot ul{grid-column:10/span 3;list-style:none;margin:0;padding:0;display:grid;gap:8px;align-content:end;justify-items:end;font-weight:600}
@media(max-width:820px){
  .contact .phone{font-size:12.6vw}
  .contact-foot{display:grid;grid-template-columns:1fr 1fr}
  .contact-foot .where{grid-column:1/-1}
  .contact-foot .place{grid-column:1}
  .contact-foot ul{grid-column:2;justify-items:start}
}

/* rodapé */
.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding:36px var(--m);font-size:var(--step-small);background:var(--bg)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:18px}
.site-footer a{text-decoration:none;font-weight:600}


/* botão flutuante do WhatsApp (realmente flutua: sombra permitida) */
.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:40;width:58px;height:58px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:50%;box-shadow:0 10px 26px rgba(0,0,0,.35); /* taste-skill-ignore: botão que realmente flutua */transition:transform .25s var(--ease)}
.whatsapp-float:hover{transform:scale(1.08);color:var(--accent-ink)}
.whatsapp-float span{position:absolute;left:-9999px}
.whatsapp-float svg{fill:currentColor}

/* ===== páginas internas ===== */
.page-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);padding:clamp(48px,6vw,96px) var(--m) var(--section);align-items:end}
.page-hero .back{display:inline-block;font-size:var(--step-small);font-weight:600;margin-top:24px}
.page-hero h1{grid-column:1/span 7;font-size:clamp(3.5rem,9.5vw,11.5rem);line-height:.86}
.page-hero .lede{grid-column:9/span 4;font-size:max(1.1875rem,var(--step-body))}
.page-hero .lede .category-sub{font-family:var(--display);text-transform:uppercase;font-size:var(--step-lead);line-height:1.05;margin-bottom:16px}
.page-hero .lede .service-booking{margin-top:20px}
@media(max-width:820px){.page-hero{display:block}.page-hero .lede{margin-top:28px}.page-hero h1{font-size:clamp(3.5rem,17vw,6rem)}}

.category-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);padding:0 var(--m) var(--section)}
.category-body>div{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,64px) var(--gap)}
.category-body.with-image>figure{grid-column:1/span 5;margin:0;position:sticky;top:110px;align-self:start}
.category-body.with-image>figure img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--arch)}
.category-body.with-image>figure figcaption{font-size:var(--step-small);color:var(--muted);margin-top:12px}
.category-body.with-image>div{grid-column:7/span 6;grid-template-columns:1fr}
.care h2{font-size:clamp(1.9rem,1rem + 2.2vw,3.25rem);line-height:.95;margin-bottom:14px}
.care p{max-width:44ch}
.consult{grid-column:1/-1;background:var(--surface);padding:clamp(24px,3vw,40px);display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.consult p{margin:0;max-width:40ch;font-size:var(--step-lead);line-height:1.25}
.service-booking{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:14px}
.service-price{font-family:var(--display);font-size:var(--step-lead);margin:0;line-height:1}
@media(max-width:820px){.category-body.with-image>figure figcaption{display:none}.category-body{display:block}.category-body>div{grid-template-columns:1fr}.category-body.with-image>figure{position:relative;top:0;margin-bottom:48px}}

.services{padding:0 var(--m) var(--section)}
.services>h2{font-size:var(--step-head);max-width:14em;margin-bottom:clamp(36px,4vw,64px)}
.work-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,48px) var(--gap)}
.work-gallery figure,.user-photo-gallery figure{margin:0}
.work-gallery a{display:block;border-radius:var(--arch);overflow:hidden;aspect-ratio:3/4;background:var(--surface)}
.work-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.work-gallery a:hover img{transform:scale(1.05)}
.work-gallery figcaption,.user-photo-gallery figcaption{font-size:var(--step-small);margin-top:12px}
.work-gallery figure:nth-child(3n+2){margin-top:12%}
.user-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.user-photo-gallery a{display:block;border-radius:var(--arch);overflow:hidden;aspect-ratio:3/4}
.user-photo-gallery img{width:100%;height:100%;object-fit:cover}
@media(max-width:820px){.work-gallery,.user-photo-gallery{grid-template-columns:1fr 1fr}.work-gallery figure:nth-child(3n+2){margin-top:0}.work-gallery figure:nth-child(2n){margin-top:18%}}

.service-detail-photos>h2{font-size:var(--step-head);margin-bottom:clamp(36px,4vw,64px)}
.service-detail-photos>h3{font-size:var(--step-lead);margin:clamp(48px,5vw,80px) 0 28px}
.service-detail-entry{margin-bottom:clamp(56px,6vw,96px);scroll-margin-top:100px}
.service-photo{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:end}
.service-photo>a{grid-column:1/span 7;display:block;background:var(--surface)}
.service-photo>a img{width:100%;aspect-ratio:3/2;object-fit:cover}
.service-photo-copy{grid-column:9/span 4}
.service-photo-copy h3{font-size:var(--step-lead);line-height:1;margin-bottom:18px}
.service-photo-copy .header-link{display:inline-block;margin-top:18px;font-size:15px;font-weight:600}
@media(max-width:820px){.service-photo{display:block}.service-photo-copy{margin-top:20px}.service-photo-copy h3{font-size:2.5rem}}

.more{padding:var(--section) var(--m);background:var(--surface);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px}
.more h2{font-size:var(--step-head);max-width:12em}
.more a{font-weight:600;font-size:var(--step-lead)}

.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.video-grid.single-video{grid-template-columns:minmax(0,420px)}
.video-card h3{font-size:var(--step-lead);margin:16px 0 8px}
.video-card iframe{width:100%;max-width:350px;aspect-ratio:350/620;height:auto;border:0;background:var(--surface)}
.video-card video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:var(--arch)}
.portfolio-note{font-size:var(--step-small);color:var(--muted);margin-top:28px}
.social-gallery-link a{font-weight:600}
@media(max-width:820px){.video-grid{grid-template-columns:1fr}}

/* artigo */
.article-heading{padding:clamp(40px,5vw,80px) var(--m) 0}
.article-heading .back{font-weight:600;text-decoration:none;font-size:15px}
.article-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);padding:clamp(32px,4vw,64px) var(--m) var(--section)}
.article-layout aside{grid-column:1/span 3;position:sticky;top:110px;align-self:start;font-size:15px}
.article-layout aside strong{display:block;font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:var(--step-lead);margin-bottom:14px}
.article-layout aside nav{display:grid;gap:10px}
.article-layout aside a{text-decoration:none}
.reading{grid-column:5/-1}
.reading>p,.reading>ul,.reading>h3,.reading>.table-scroll{max-width:68ch}
.article-sub{font-size:var(--step-lead);line-height:1.2;margin:-16px 0 40px}
.reading-fig{margin:56px 0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr);gap:var(--gap);align-items:end}
.reading-fig .arch{aspect-ratio:4/5}
.reading-fig figcaption{font-size:var(--step-small)}
.table-scroll{overflow-x:auto}
.reading table{border-collapse:collapse;width:100%;font-size:var(--step-small)}
.reading th,.reading td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--surface-2);vertical-align:top}
.reading h1{font-size:var(--step-head);margin-bottom:28px}
.reading h2{font-size:clamp(1.9rem,1rem + 2vw,3rem);margin:2em 0 .5em;line-height:.95;scroll-margin-top:100px}
.reading h3{font-size:var(--step-lead);margin:1.6em 0 .4em;line-height:1}
.reading ul{padding-left:1.2em}
.reading li{margin-bottom:.4em}
.reading .button{margin-top:16px}
@media(max-width:820px){.reading h2{font-size:1.5rem}.reading-fig{grid-template-columns:1fr}.article-layout{display:block}.article-layout aside{position:relative;top:0;margin-bottom:40px}}

/* local nas páginas internas */
.location{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
.location figure{grid-column:1/span 5;margin:0}
.location figure img{border-radius:var(--arch);aspect-ratio:3/4;object-fit:cover;width:100%}
.location>div{grid-column:7/span 6}

/* ===== movimento ===== */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 80ms)}
[data-reveal].is-in{opacity:1;transform:none}
.no-js [data-reveal]{opacity:1;transform:none}
.drift img{animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.1) translateY(-2%)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1;transform:none;transition:none}
  .drift img{animation:none}
  .hero{height:auto}.hero-stage{position:relative}
  .reel-track{transform:none!important}
  
  .showcase .t2,.show-cap{opacity:1!important;transform:none!important}
  .show-frame img{transition:none}
  *{transition-duration:.01ms!important}
}
