:root {
  --ink: #15171c;
  --ink-soft: #22262d;
  --green: #2e7d5b;
  --green-dark: #245f47;
  --green-mist: #d9e9e0;
  --ice: #f3f5f4;
  --paper: #f3f5f4;
  --paper-dark: #d9e9e0;
  --acid: #d9e9e0;
  --white: #fff;
  --muted: #6f747d;
  --metal: #9da3ad;
  --mist: #d9e9e0;
  --green-deep: #245f47;
  --line: rgba(21, 23, 28, 0.15);
  --shadow: 0 30px 80px rgba(12, 21, 16, 0.16);
  --radius-lg: 32px;
  --radius-md: 22px;
  --radius-sm: 14px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.hidden { display: none !important; }
.skip-link {
  position: fixed; left: 16px; top: -60px; z-index: 1000;
  padding: 12px 18px; background: var(--acid); color: var(--ink); border-radius: 8px;
}
.skip-link:focus { top: 12px; }

.site-header {
  position: absolute; z-index: 20; top: 0; left: 0; width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  max-width: 1440px; margin: 0 auto; padding: 28px clamp(24px, 5vw, 76px); color: var(--white);
}
.brand { display: inline-flex; align-items: center; gap: 10px; font: 700 18px/1 "Manrope", sans-serif; letter-spacing: .18em; }
.brand-mark { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; }
.brand span { display: flex; flex-direction: column; }
.brand small { margin-top: 4px; font-size: 7px; letter-spacing: .42em; color: rgba(255,255,255,.58); }
.desktop-nav { display: flex; gap: clamp(24px, 3vw, 48px); color: rgba(255,255,255,.74); font-size: 13px; }
.desktop-nav a { position: relative; padding: 8px 0; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--acid); transition: .3s ease; }
.desktop-nav a:hover { color: var(--white); }
.desktop-nav a:hover::after { right: 0; }

.button {
  border: 0; min-height: 52px; padding: 0 24px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  font-weight: 600; font-size: 14px; transition: transform .25s ease, background .25s ease, color .25s ease;
}
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button-small { min-height: 42px; padding: 0 19px; font-size: 12px; }
.button-light { color: var(--ink); background: var(--white); }
.button-light:hover { background: var(--acid); }
.button-accent { background: var(--acid); color: var(--ink); }
.button-accent:hover { background: #fff; }
.button-ghost { border: 1px solid var(--line); background: transparent; color: var(--ink); }
.button-dark { background: var(--ink); color: var(--white); }

.hero-section {
  overflow: hidden; color: var(--white);
  background: radial-gradient(circle at 79% 15%, rgba(65, 128, 101, .45), transparent 24%), var(--ink);
  padding: 132px clamp(24px, 5vw, 76px) 90px;
}
.hero-grid { max-width: 1290px; margin: 0 auto; min-height: 650px; display: grid; grid-template-columns: .96fr 1.04fr; align-items: center; gap: 48px; }
.eyebrow, .section-kicker { text-transform: uppercase; letter-spacing: .2em; font-size: 11px; font-weight: 700; }
.eyebrow { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.62); }
.eyebrow span { width: 26px; height: 1px; background: var(--acid); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin: 26px 0; font: 500 clamp(55px, 6.6vw, 104px)/.91 "Manrope", sans-serif; letter-spacing: -.065em; }
h1 em { color: var(--green-mist); font-style: normal; white-space: nowrap; }
.hero-intro { max-width: 620px; color: rgba(255,255,255,.68); font-size: clamp(16px, 1.5vw, 20px); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.text-link { padding: 14px 0; font-size: 14px; color: rgba(255,255,255,.85); border-bottom: 1px solid rgba(255,255,255,.22); }
.text-link span { margin-left: 9px; color: var(--acid); }
.location-line { display: flex; align-items: center; gap: 16px; margin-top: 58px; color: rgba(255,255,255,.48); font-size: 12px; text-transform: uppercase; letter-spacing: .11em; }
.location-line i { width: 4px; height: 4px; border-radius: 50%; background: var(--acid); }

.hero-art { min-height: 580px; position: relative; display: grid; place-items: center; }
.volume-scene { position: relative; width: min(100%, 590px); aspect-ratio: 1; perspective: 900px; }
.volume-orb {
  position: absolute; z-index: 3; width: 42%; aspect-ratio: 1; left: 29%; top: 27%; border-radius: 50%;
  display: grid; place-items: center; color: rgba(255,255,255,.9); font: 500 86px/1 "Manrope",sans-serif;
  background: radial-gradient(circle at 30% 27%, #599278 0 8%, #326d58 36%, #1b4235 73%, #10271f 100%);
  box-shadow: inset -20px -24px 34px rgba(0,0,0,.3), inset 12px 12px 24px rgba(255,255,255,.12), 25px 42px 65px rgba(0,0,0,.4);
  animation: float 6s ease-in-out infinite;
}
.volume-ring { position: absolute; border: 2px solid rgba(216,255,121,.78); border-radius: 50%; transform: rotateX(67deg) rotateZ(-18deg); }
.ring-back { z-index: 1; inset: 21% 8% 22%; box-shadow: 0 0 38px rgba(216,255,121,.11); }
.ring-front { z-index: 5; inset: 31% 16% 31%; border-color: rgba(255,255,255,.18); transform: rotateX(69deg) rotateZ(28deg); }
.volume-tile {
  position: absolute; z-index: 4; top: 11%; right: 8%; width: 142px; height: 142px; border-radius: 24px;
  padding: 22px; display: flex; align-items: flex-end; color: var(--ink); font: 600 17px/1.15 "Manrope",sans-serif;
  background: var(--acid); box-shadow: 22px 28px 45px rgba(0,0,0,.25); transform: rotate(9deg);
}
.volume-vase {
  position: absolute; z-index: 2; bottom: 3%; left: 8%; width: 150px; height: 205px; border-radius: 40% 40% 28% 28% / 18% 18% 20% 20%;
  background: linear-gradient(100deg, #b8c8bd, #eef4ee 34%, #9eb5a8 70%, #617d6d); box-shadow: 18px 30px 45px rgba(0,0,0,.3); transform: rotate(-7deg);
  overflow: hidden;
}
.vase-rim { position: absolute; top: 0; left: 12%; width: 76%; height: 18px; border-radius: 50%; background: #17251e; box-shadow: 0 3px 0 rgba(255,255,255,.5); }
.vase-lines { position: absolute; inset: 12px 0 0; background: repeating-linear-gradient(90deg, transparent 0 7px, rgba(255,255,255,.18) 8px, rgba(0,0,0,.08) 10px); }
.volume-tag { position: absolute; z-index: 6; right: 9%; bottom: 15%; width: 92px; height: 112px; padding: 17px; background: var(--paper); color: var(--ink); border-radius: 13px; font: 600 24px/1 "Manrope",sans-serif; transform: rotate(6deg); box-shadow: 18px 25px 38px rgba(0,0,0,.28); }
.volume-tag span { font: 700 9px/1 "DM Sans",sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--green); }
.art-caption { position: absolute; right: 0; bottom: 0; margin: 0; color: rgba(255,255,255,.46); font-size: 11px; line-height: 1.5; text-transform: uppercase; letter-spacing: .14em; }
@keyframes float { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-14px) rotate(2deg); } }

.catalog-wrap { max-width: 1290px; margin: 100px auto 0; padding-top: 88px; border-top: 1px solid rgba(255,255,255,.13); }
.section-heading { display: grid; grid-template-columns: 1fr .6fr; align-items: end; gap: 40px; }
.section-kicker { color: var(--green); margin-bottom: 16px; }
.section-heading h2, .quote-heading h2, .track-intro h2 { margin: 0; font: 500 clamp(38px, 4.5vw, 66px)/1.02 "Manrope",sans-serif; letter-spacing: -.045em; }
.section-heading > p { max-width: 460px; margin: 0; color: rgba(255,255,255,.56); font-size: 15px; line-height: 1.7; }
.category-tabs { display: flex; gap: 8px; margin: 42px 0 26px; padding-bottom: 10px; overflow-x: auto; scrollbar-width: none; }
.category-tab { flex: 0 0 auto; border: 1px solid rgba(255,255,255,.15); background: transparent; color: rgba(255,255,255,.62); padding: 12px 19px; border-radius: 999px; font-size: 13px; }
.category-tab.active { color: var(--ink); background: var(--white); border-color: var(--white); }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.product-card { min-height: 350px; position: relative; overflow: hidden; border-radius: var(--radius-md); padding: 22px; display: flex; flex-direction: column; justify-content: space-between; color: var(--ink); background: var(--product-bg, #dce8e1); animation: cardIn .45s ease both; }
.product-card:nth-child(2) { animation-delay: .06s; }.product-card:nth-child(3) { animation-delay: .12s; }.product-card:nth-child(4) { animation-delay: .18s; }
@keyframes cardIn { from { opacity: 0; transform: translateY(14px); } }
.product-number { display: flex; justify-content: space-between; position: relative; z-index: 2; color: rgba(23,26,24,.48); font-size: 10px; text-transform: uppercase; letter-spacing: .15em; }
.product-visual { position: absolute; inset: 40px 0 85px; display: grid; place-items: center; }
.product-shape { width: 155px; aspect-ratio: 1; position: relative; filter: drop-shadow(18px 24px 20px rgba(21,36,28,.22)); transition: transform .45s ease; }
.product-card:hover .product-shape { transform: translateY(-7px) rotate(4deg); }
.shape-coaster { border-radius: 50%; border: 12px solid var(--shape-deep); background: radial-gradient(circle, var(--shape-light) 0 26%, var(--shape-deep) 27% 31%, var(--shape-light) 32% 42%, var(--shape-deep) 43% 47%, var(--shape-light) 48%); transform: rotateX(57deg) rotateZ(14deg); }
.shape-sign { width: 180px; aspect-ratio: 1.55; border-radius: 14px; background: var(--shape-light); box-shadow: inset 0 0 0 3px var(--shape-deep), 14px 16px 0 var(--shape-deep); transform: rotate(-8deg); }
.shape-sign::after { content: attr(data-letter); position: absolute; inset: 0; display: grid; place-items: center; color: var(--shape-deep); font: 700 52px/1 "Manrope"; }
.shape-vase { width: 126px; height: 176px; border-radius: 46% 46% 27% 27% / 16% 16% 18% 18%; background: repeating-linear-gradient(90deg,var(--shape-deep) 0 5px,var(--shape-light) 6px 10px); }
.shape-vase::after { content:""; position:absolute; left:13%; top:0; width:74%; height:16px; background:var(--ink); border-radius:50%; }
.shape-name { width: 190px; aspect-ratio: 1.8; border-radius: 42% 58% 48% 52%; background: var(--shape-deep); transform: rotate(-5deg); }
.shape-name::after { content: attr(data-letter); position: absolute; inset: 0; display:grid; place-items:center; color:var(--shape-light); font: 500 45px/1 "Manrope"; }
.product-info { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: end; gap: 12px; }
.product-info small { display: block; margin-bottom: 5px; color: rgba(23,26,24,.55); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.product-info strong { font: 600 17px/1.2 "Manrope", sans-serif; }
.product-add { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(23,26,24,.28); background: rgba(255,255,255,.2); border-radius: 50%; font-size: 19px; }
.product-add:hover { background: var(--ink); color: var(--white); }

.quote-section { color: var(--white); background: var(--green); padding: 110px clamp(24px, 5vw, 76px); }
.quote-heading { max-width: 1290px; margin: 0 auto 50px; display: grid; grid-template-columns: .75fr 1.2fr .7fr; align-items: end; gap: 40px; }
.quote-heading .section-kicker { align-self: start; }
.light-kicker { color: var(--acid); }
.quote-heading > p { margin: 0; color: rgba(255,255,255,.62); font-size: 15px; line-height: 1.7; }
.quote-shell { max-width: 1290px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(290px,.55fr); color: var(--ink); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); background: var(--white); }
.quote-main { min-height: 690px; padding: clamp(30px,4vw,58px); }
.stepper { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: start; margin-bottom: 50px; }
.step-dot { display: grid; justify-items: center; gap: 8px; color: #a0a4a0; font-size: 10px; }
.step-dot span { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid #d7dad7; border-radius: 50%; font-size: 11px; }
.step-dot.active span, .step-dot.done span { color: var(--white); background: var(--green); border-color: var(--green); }
.step-dot.active small, .step-dot.done small { color: var(--ink); }
.step-line { height: 1px; margin: 15px 10px 0; background: #e2e4e2; }
.step-line i { display: block; width: 0; height: 100%; background: var(--green); transition: width .35s ease; }
.step-line.done i { width: 100%; }
.form-step { display: none; animation: stepIn .35s ease; }
.form-step.active { display: block; }
@keyframes stepIn { from { opacity: 0; transform: translateX(10px); } }
.form-heading { margin-bottom: 29px; }
.form-heading > span { color: var(--green); font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.form-heading h3 { margin: 8px 0 8px; font: 600 clamp(27px,3vw,39px)/1.1 "Manrope", sans-serif; letter-spacing: -.035em; }
.form-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.option-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.option-card { min-height: 130px; position: relative; padding: 19px; border: 1px solid var(--line); border-radius: var(--radius-sm); display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; cursor: pointer; transition: .2s ease; }
.option-card:has(input:checked) { border-color: var(--green); background: #f2f7f4; box-shadow: inset 0 0 0 1px var(--green); }
.option-card input { position: absolute; opacity: 0; }
.option-card .option-icon { grid-row: 1 / 3; width: 34px; height: 34px; display: grid; place-items: center; color: var(--white); background: var(--green); border-radius: 10px; font-weight: 700; }
.option-card strong { align-self: end; font: 600 15px/1.2 "Manrope",sans-serif; }
.option-card small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.option-card > i { display: none; position: absolute; right: 12px; top: 12px; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: var(--white); background: var(--green); font-size: 10px; font-style: normal; }
.option-card:has(input:checked) > i { display: grid; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.field { display: grid; gap: 8px; }
.full-field { margin-top: 18px; }
.field > span, .chip-field legend { font-size: 12px; font-weight: 600; }
.field b { color: var(--green); }
.field input, .field select, .field textarea {
  width: 100%; color: var(--ink); background: #f6f6f3; border: 1px solid transparent; border-radius: 12px;
  outline: none; padding: 14px 15px; font-size: 13px; transition: border .2s, background .2s;
}
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { background: var(--white); border-color: var(--green); }
.field.invalid input { border-color: #aa3b32; }
.field-error { display: none; color: #aa3b32; font-size: 10px; }
.field.invalid .field-error { display: block; }
.quantity-control { display: grid; grid-template-columns: 45px 1fr 45px; border-radius: 12px; overflow: hidden; background: #f6f6f3; }
.quantity-control button { border: 0; background: transparent; font-size: 20px; }
.quantity-control input { padding-left: 0; padding-right: 0; text-align: center; border-radius: 0; appearance: textfield; }
.color-row { display: grid; grid-template-columns: 47px 1fr; background: #f6f6f3; border-radius: 12px; }
.color-row input[type="color"] { height: 47px; padding: 9px; background: transparent; }
.color-row input[type="text"] { padding-left: 4px; }
.chip-field { margin: 23px 0 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 9px; }
.chip-field legend { margin-bottom: 11px; }
.chip-field label input { position: absolute; opacity: 0; }
.chip-field label span { display: inline-flex; padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 11px; cursor: pointer; }
.chip-field label:has(input:checked) span { color: var(--white); border-color: var(--green); background: var(--green); }
.upload-field { min-height: 150px; margin-bottom: 19px; padding: 23px; display: grid; place-items: center; text-align: center; border: 1px dashed #adb7b0; border-radius: var(--radius-sm); background: #f7f9f7; cursor: pointer; }
.upload-field input { position: absolute; opacity: 0; pointer-events: none; }
.upload-icon { width: 37px; height: 37px; display: grid; place-items: center; margin-bottom: 6px; border-radius: 50%; color: var(--white); background: var(--green); }
.upload-field strong { font-size: 13px; }
.upload-field small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.consent-field { margin-top: 22px; display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.consent-field input { accent-color: var(--green); margin-top: 2px; }
.form-actions { display: flex; justify-content: space-between; margin-top: 34px; padding-top: 25px; border-top: 1px solid var(--line); }
.form-actions .button-accent { margin-left: auto; }
.quote-success { min-height: 470px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; text-align: left; }
.success-mark { width: 62px; height: 62px; margin-bottom: 26px; display: grid; place-items: center; color: var(--white); background: var(--green); border-radius: 50%; font-size: 26px; }
.quote-success h3 { margin: 0 0 14px; font: 600 clamp(30px,4vw,50px)/1.05 "Manrope",sans-serif; letter-spacing: -.04em; }
.quote-success > p:not(.section-kicker) { max-width: 560px; color: var(--muted); line-height: 1.65; }
.success-actions { display: flex; gap: 10px; margin-top: 15px; }
#copyStatus { margin-top: 14px; color: var(--green); }
.quote-summary { padding: 36px 31px; color: var(--ink); background: var(--paper-dark); }
.summary-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 22px; border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; }
.summary-top i { color: var(--green); font-size: 8px; font-style: normal; }
.summary-object { display: flex; align-items: center; gap: 14px; margin: 28px 0; }
.mini-object { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 17px; color: var(--white); background: radial-gradient(circle at 30% 20%, #579078, #234f40); font: 600 26px/1 "Manrope"; box-shadow: 8px 11px 18px rgba(31,79,64,.2); }
.summary-object small { display: block; margin-bottom: 4px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.summary-object strong { font: 600 14px/1.2 "Manrope",sans-serif; }
.quote-summary dl { margin: 0; }
.quote-summary dl div { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
.quote-summary dt { color: var(--muted); }
.quote-summary dd { display: flex; align-items: center; margin: 0; max-width: 58%; text-align: right; font-weight: 600; }
.color-dot { width: 10px; height: 10px; margin-right: 6px; border: 1px solid rgba(0,0,0,.12); border-radius: 50%; background: var(--green); }
.summary-note { display: flex; gap: 10px; margin-top: 24px; padding: 15px; border-radius: 12px; background: rgba(255,255,255,.48); }
.summary-note > span { flex: 0 0 auto; width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid var(--green); border-radius: 50%; color: var(--green); font: 600 10px/1 serif; }
.summary-note p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.summary-note strong { color: var(--ink); }

.track-section { max-width: 1440px; margin: 0 auto; padding: 120px clamp(24px, 5vw, 76px); display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(50px,7vw,110px); align-items: center; }
.track-intro > p:not(.section-kicker) { max-width: 430px; margin: 23px 0 32px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.track-form > label { display: block; margin-bottom: 9px; font-size: 11px; font-weight: 600; }
.track-form > div { display: grid; grid-template-columns: 1fr auto; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); }
.track-form input { min-width: 0; padding: 0 19px; border: 0; outline: none; color: var(--ink); background: transparent; text-transform: uppercase; }
.demo-link { margin-top: 10px; padding: 0; border: 0; color: var(--green); background: none; font-size: 10px; text-decoration: underline; }
.track-error { display: block; margin-top: 10px; color: #a93932; }
.portal-card { border-radius: var(--radius-lg); overflow: hidden; padding: clamp(27px,4vw,46px); background: var(--white); box-shadow: var(--shadow); }
.portal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.portal-header small { color: var(--green); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.portal-header h3 { margin: 7px 0 0; font: 600 clamp(19px,2vw,25px)/1.2 "Manrope",sans-serif; }
.status-pill { flex: 0 0 auto; padding: 9px 12px; border-radius: 999px; color: var(--green-dark); background: var(--green-mist); font-size: 10px; font-weight: 600; }
.status-pill i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--green); animation: pulse 2s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 5px rgba(47,107,87,.12); } }
.portal-progress { padding: 25px 0 22px; }
.progress-meta { display: flex; justify-content: space-between; font-size: 11px; }
.progress-meta strong { color: var(--green); }
.progress-bar { height: 7px; margin: 9px 0; overflow: hidden; border-radius: 99px; background: #e8ece9; }
.progress-bar i { display: block; width: 68%; height: 100%; border-radius: inherit; background: var(--green); }
.portal-progress p { margin: 0; color: var(--muted); font-size: 9px; }
.portal-progress p strong { color: var(--ink); }
.timeline-row { position: relative; display: grid; grid-template-columns: 32px 1fr auto; gap: 13px; min-height: 68px; }
.timeline-row::before { content:""; position: absolute; left: 15px; top: 28px; bottom: 0; width: 1px; background: #d8ddd9; }
.timeline-row:last-child::before { display: none; }
.timeline-icon { z-index: 2; width: 31px; height: 31px; display: grid; place-items: center; color: #aab0ab; background: #eef0ee; border-radius: 50%; font-size: 11px; }
.timeline-row.done .timeline-icon { color: var(--white); background: var(--green); }
.timeline-row.current .timeline-icon { color: var(--green); background: var(--green-mist); border: 1px solid var(--green); }
.timeline-row div { padding-top: 2px; }
.timeline-row strong { display: block; font-size: 12px; }
.timeline-row small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.timeline-row time { padding-top: 4px; color: var(--muted); font-size: 9px; }
.portal-footer { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 7px; padding-top: 20px; border-top: 1px solid var(--line); }
.portal-footer div { padding: 12px; border-radius: 10px; background: #f5f6f3; }
.portal-footer small { display: block; margin-bottom: 4px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }
.portal-footer strong { font-size: 11px; }

.site-footer { position: relative; padding: 70px clamp(24px, 5vw, 76px) 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 50px; color: var(--white); background: var(--ink); }
.brand-dark small { color: rgba(255,255,255,.45); }
.footer-brand > p { margin: 22px 0 0; color: var(--green-mist); font: 500 clamp(21px,2.5vw,34px)/1.2 "Manrope",sans-serif; }
.footer-info { justify-self: end; display: flex; gap: 50px; color: rgba(255,255,255,.56); font-size: 11px; line-height: 1.7; }
.footer-info strong { color: var(--white); }
.integration-note { display: flex; flex-direction: column; gap: 4px; }
.integration-note span { color: var(--acid); text-transform: uppercase; letter-spacing: .12em; font-size: 8px; }
.footer-legal { grid-column: 1 / -1; margin: 35px 0 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.36); font-size: 9px; }
.mobile-cta { display: none; }
.toast { position: fixed; z-index: 100; left: 50%; bottom: -80px; transform: translateX(-50%); padding: 12px 18px; border-radius: 999px; color: var(--white); background: var(--ink); box-shadow: var(--shadow); font-size: 11px; transition: bottom .35s ease; }
.toast.show { bottom: 24px; }
.reveal { opacity: 0; transform: translateY(28px) scale(.985); transition: opacity .75s cubic-bezier(.2,.75,.2,1), transform .75s cubic-bezier(.2,.75,.2,1); }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .hero-grid { grid-template-columns: 1fr; padding-top: 45px; }
  .hero-copy { max-width: 750px; }
  .hero-art { min-height: 510px; }
  .volume-scene { width: min(100%, 540px); }
  .section-heading, .quote-heading { grid-template-columns: 1fr 1fr; }
  .quote-heading .section-kicker { grid-column: 1 / -1; }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .quote-shell { grid-template-columns: 1fr; }
  .quote-summary { display: none; }
  .track-section { grid-template-columns: 1fr; }
  .track-intro { max-width: 680px; }
}

@media (max-width: 620px) {
  body { padding-bottom: 68px; }
  .site-header { padding: 20px; }
  .site-header .button { display: none; }
  .brand { font-size: 15px; }
  .brand-mark { width: 29px; height: 29px; }
  .hero-section { padding: 112px 20px 70px; }
  .hero-grid { min-height: 0; gap: 38px; }
  h1 { font-size: clamp(47px,15.5vw,68px); }
  h1 em { white-space: normal; }
  .hero-intro { font-size: 15px; line-height: 1.6; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 10px; }
  .hero-actions .button { width: 100%; }
  .text-link { text-align: center; border: 0; }
  .location-line { margin-top: 35px; flex-wrap: wrap; gap: 9px; font-size: 9px; }
  .hero-art { min-height: 365px; }
  .volume-scene { width: 370px; max-width: 110%; }
  .volume-tile { width: 88px; height: 88px; padding: 13px; border-radius: 15px; font-size: 11px; }
  .volume-vase { width: 92px; height: 132px; }
  .volume-tag { width: 65px; height: 78px; padding: 11px; font-size: 17px; }
  .volume-orb { font-size: 55px; }
  .art-caption { display: none; }
  .catalog-wrap { margin-top: 45px; padding-top: 55px; }
  .section-heading, .quote-heading { grid-template-columns: 1fr; gap: 17px; }
  .section-heading > p, .quote-heading > p { font-size: 13px; }
  .section-heading h2, .quote-heading h2, .track-intro h2 { font-size: 40px; }
  .category-tabs { width: calc(100vw - 20px); }
  .product-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .product-card { min-height: 250px; padding: 14px; border-radius: 16px; }
  .product-shape { width: 100px; }
  .shape-sign { width: 118px; }
  .shape-vase { width: 82px; height: 118px; }
  .shape-name { width: 120px; }
  .product-info strong { font-size: 12px; }
  .product-add { width: 31px; height: 31px; }
  .quote-section { padding: 75px 14px; }
  .quote-heading { padding: 0 10px; }
  .quote-shell { border-radius: 23px; }
  .quote-main { min-height: 680px; padding: 27px 18px; }
  .stepper { margin-bottom: 36px; }
  .step-dot small { display: none; }
  .step-line { margin-left: 5px; margin-right: 5px; }
  .form-heading h3 { font-size: 27px; }
  .option-grid { gap: 8px; }
  .option-card { min-height: 122px; padding: 13px; grid-template-columns: 28px 1fr; column-gap: 9px; }
  .option-card .option-icon { width: 28px; height: 28px; border-radius: 8px; }
  .option-card strong { font-size: 12px; }
  .option-card small { font-size: 9px; }
  .field-grid { grid-template-columns: 1fr; gap: 15px; }
  .form-actions .button { min-height: 48px; padding: 0 18px; }
  .success-actions { width: 100%; flex-direction: column; }
  .track-section { padding: 75px 20px; }
  .track-form > div { grid-template-columns: 1fr; padding: 5px; border-radius: 16px; }
  .track-form input { min-height: 48px; text-align: center; }
  .portal-card { padding: 24px 17px; border-radius: 23px; }
  .portal-header { align-items: flex-start; flex-direction: column; }
  .status-pill { order: -1; }
  .timeline-row { grid-template-columns: 31px 1fr; }
  .timeline-row time { display: none; }
  .portal-footer { grid-template-columns: 1fr 1fr 1fr; gap: 5px; }
  .portal-footer div { padding: 9px 7px; }
  .portal-footer strong { font-size: 9px; }
  .site-footer { grid-template-columns: 1fr; gap: 35px; padding: 55px 20px 25px; }
  .footer-info { justify-self: start; flex-direction: column; gap: 20px; }
  .footer-legal { grid-column: 1; }
  .mobile-cta { position: fixed; z-index: 50; left: 12px; right: 12px; bottom: 10px; min-height: 48px; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; color: var(--ink); background: var(--acid); border-radius: 999px; box-shadow: 0 10px 28px rgba(0,0,0,.24); font-size: 13px; font-weight: 700; }
  .toast.show { bottom: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* VOLLUM v2 — editorial redesign */
:root { --ink:#15171c; --green:#2e7d5b; --green-deep:#245f47; --mist:#d9e9e0; --paper:#f3f5f4; --ice:#f3f5f4; --acid:#d9e9e0; --metal:#9da3ad; --muted:#6f747d; }
body { font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif; }
body.menu-open { overflow:hidden; }
.site-header { max-width:1600px; display:grid; grid-template-columns:auto 1fr auto; gap:clamp(18px,2vw,32px); }
.desktop-nav { justify-self:end; gap:clamp(17px,2vw,34px); }
.desktop-nav a { font-size:22px; }
.home-header { width:100%; max-width:none; padding-right:clamp(16px,2vw,32px); display:flex; align-items:center; }
.header-actions { margin-left:auto; display:flex; align-items:center; justify-content:flex-end; gap:clamp(18px,2vw,30px); }
.home-header .desktop-nav { justify-self:auto; }
.client-link { padding:19px 32px; border:1px solid transparent; border-radius:999px; color:var(--ink); background:var(--mist); box-shadow:0 9px 28px rgba(0,0,0,.18); font-size:20px; font-weight:700; transition:transform .25s,background .25s,box-shadow .25s; }
.client-link:hover { transform:translateY(-2px); background:#fff; box-shadow:0 12px 34px rgba(0,0,0,.25); }
.client-link span { margin-left:7px; color:var(--green-deep); }
.menu-toggle { display:none; width:42px; height:42px; padding:11px; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:transparent; }
.menu-toggle span { display:block; height:1px; margin:5px 0; background:#fff; transition:.25s; }
.menu-toggle.open span:first-child { transform:translateY(3px) rotate(45deg); }
.menu-toggle.open span:last-child { transform:translateY(-3px) rotate(-45deg); }
.mobile-menu { display:none; }
.button-outline-light { color:#fff; background:transparent; border:1px solid rgba(255,255,255,.28); }
.button-outline-light:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.button-whatsapp { color:#fff; background:var(--green); }
.text-button { padding:10px 3px; border:0; color:var(--green); background:none; font-size:11px; text-decoration:underline; }

.hero-section { position:relative; isolation:isolate; min-height:min(940px,100vh); padding:132px clamp(24px,4.5vw,72px) 0; overflow:hidden; background:var(--green-deep); }
.hero-background-video { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.82) contrast(1.08); }
.hero-video-overlay { position:absolute; z-index:1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 50% 47%,rgba(8,25,18,.78) 0%,rgba(10,29,21,.64) 42%,rgba(8,21,16,.45) 75%),linear-gradient(180deg,rgba(10,24,18,.48) 0%,rgba(9,25,18,.26) 48%,rgba(8,22,16,.86) 100%); }
.hero-noise { position:absolute; z-index:2; inset:0; opacity:.13; pointer-events:none; mix-blend-mode:soft-light; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"); }
.hero-content { position:relative; z-index:3; max-width:1450px; min-height:690px; margin:0 auto; display:grid; grid-template-columns:1fr; place-items:center; }
.hero-copy { width:100%; max-width:1120px; padding:35px 0; text-align:center; text-shadow:0 3px 30px rgba(0,0,0,.55); }
.hero-copy .eyebrow { justify-content:center; margin-bottom:27px; color:rgba(255,255,255,.88); font-size:13px; }
.hero-copy h1 { margin:0 auto 34px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(84px,9vw,160px); font-weight:400; line-height:.86; letter-spacing:-.065em; }
.hero-copy h1 em { color:var(--mist); font-style:italic; white-space:normal; }
.hero-intro { max-width:980px; margin:0 auto 50px; color:rgba(255,255,255,.92); font-size:clamp(26px,2.25vw,36px); line-height:1.48; }
.hero-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:0; }
.hero-actions .button { min-width:380px; min-height:86px; padding:0 58px; gap:22px; font-size:23px; }
.hero-actions .button span { font-size:28px; line-height:1; }
.hero-primary-action { color:#fff; border:1px solid rgba(255,255,255,.15); background:var(--green); box-shadow:0 14px 36px rgba(10,36,25,.38); }
.hero-primary-action:hover { color:#fff; background:#3a916f; box-shadow:0 17px 42px rgba(10,36,25,.48); }
.hero-video-label { position:absolute; z-index:3; right:clamp(24px,4.5vw,72px); bottom:86px; display:flex; flex-direction:column; align-items:flex-end; gap:6px; color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.7); }
.hero-video-label span { font-size:8px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.hero-video-label strong { font:italic 17px/1.2 Georgia,serif; }
.stage-shadow { position:absolute; z-index:-1; left:4%; right:3%; bottom:8%; height:25%; border-radius:50%; background:radial-gradient(ellipse,rgba(0,0,0,.62),transparent 70%); filter:blur(13px); transform:rotate(-5deg); }
.object { position:absolute; filter:drop-shadow(22px 30px 24px rgba(0,0,0,.33)); }
.object-vase { z-index:3; left:14%; bottom:8%; width:32%; height:53%; border-radius:45% 45% 29% 29%/17% 17% 18% 18%; background:repeating-linear-gradient(90deg,#315f4e 0 5px,#487765 6px 11px,#2a5948 12px 16px); transform:rotate(-4deg); }
.object-vase::before { content:""; position:absolute; left:13%; top:-3px; width:74%; height:27px; border-radius:50%; background:#11281f; box-shadow:inset 0 4px 4px rgba(0,0,0,.5),0 3px rgba(255,255,255,.12); }
.object-vase i { position:absolute; inset:30px 0 10%; border-radius:inherit; background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.2) 38%,transparent 58%,rgba(0,0,0,.14)); }
.object-vase b { position:absolute; left:50%; top:50%; color:rgba(255,255,255,.7); font:400 57px/1 Georgia,serif; transform:translate(-50%,-50%); }
.object-lamp { z-index:1; right:2%; bottom:6%; width:42%; height:58%; }
.object-lamp::before { content:""; position:absolute; left:48%; top:31%; width:4px; height:47%; background:linear-gradient(#b9aa73,#766b49); }
.object-lamp::after { content:""; position:absolute; left:23%; bottom:0; width:52%; height:8%; border-radius:50%; background:#756b4c; box-shadow:0 7px 15px rgba(0,0,0,.35); }
.object-lamp i { position:absolute; z-index:2; left:10%; top:3%; width:80%; height:43%; border-radius:50% 50% 12% 12%/92% 92% 8% 8%; background:radial-gradient(circle at 50% 85%,#fff8c9 0 8%,#e6d999 30%,#93865a 75%); box-shadow:0 12px 55px rgba(255,239,164,.18); }
.object-qr { z-index:5; right:25%; bottom:4%; width:24%; aspect-ratio:.74; padding:12% 10%; color:var(--ink); border-radius:17px; background:linear-gradient(135deg,#f6f2e9,#c9c3b8); transform:rotate(4deg); }
.object-qr::after { content:""; position:absolute; left:4%; right:4%; bottom:-13px; height:24px; border-radius:50%; background:#8b887f; z-index:-1; }
.object-qr>span { display:block; margin-bottom:12px; font-size:8px; font-weight:800; letter-spacing:.17em; }
.object-qr>i { display:block; position:relative; width:100%; aspect-ratio:1; background:repeating-linear-gradient(45deg,var(--ink) 0 5px,transparent 5px 10px),repeating-linear-gradient(-45deg,var(--ink) 0 5px,transparent 5px 10px); }
.object-qr>i b { position:absolute; inset:30%; background:var(--paper); box-shadow:0 0 0 4px var(--ink); }
.object-qr small { display:block; margin-top:9px; color:#5d615e; font-size:6px; text-align:center; }
.object-coasters { z-index:4; left:35%; bottom:3%; width:26%; aspect-ratio:1; transform:rotateX(61deg) rotateZ(-11deg); }
.object-coasters i { position:absolute; inset:0; border:13px solid var(--green-deep); border-radius:50%; background:radial-gradient(circle,var(--mist) 0 23%,var(--green) 24% 31%,var(--mist) 32% 48%,var(--green-deep) 49%); }
.object-coasters i:nth-child(1){transform:translate(-8px,18px)}.object-coasters i:nth-child(2){transform:translate(-4px,9px)}
.object-coasters b { position:absolute; z-index:2; left:50%; top:50%; color:#fff; font-size:25px; transform:translate(-50%,-50%); }
.floating-label { position:absolute; z-index:7; padding:9px 13px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:rgba(255,255,255,.58); background:rgba(21,23,21,.5); backdrop-filter:blur(8px); font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.label-one{top:15%;left:6%}.label-two{top:26%;right:3%}
.hero-meta { position:absolute; z-index:3; right:0; bottom:0; left:0; width:100%; max-width:none; margin:0; overflow:hidden; border-top:1px solid rgba(217,233,224,.5); border-bottom:1px solid rgba(217,233,224,.14); color:#f3f5f4; background:linear-gradient(90deg,rgba(21,23,28,.9),rgba(46,125,91,.92),rgba(36,95,71,.94),rgba(21,23,28,.9)); background-size:220% 100%; animation:hero-band-color 8s ease-in-out infinite alternate; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.hero-meta-track { width:max-content; display:flex; animation:hero-meta-loop 22s linear infinite; will-change:transform; }
.hero-meta-group { min-width:100vw; padding:18px clamp(28px,5vw,84px); display:flex; align-items:center; justify-content:space-around; gap:clamp(30px,5vw,88px); }
.hero-meta i { flex:0 0 auto; width:5px; height:5px; border-radius:50%; background:var(--mist); box-shadow:0 0 13px rgba(217,233,224,.7); }
@keyframes hero-meta-loop { to { transform:translateX(-50%); } }
@keyframes hero-band-color { to { background-position:100% 50%; } }

.discovery-section { overflow:hidden; background:var(--paper); }
.possibilities,.universes,.process-block,.quality-block,.tracking-teaser { max-width:none; margin:0 auto; }
.possibilities { width:100%; padding:125px clamp(24px,6vw,88px); }
.section-heading { display:grid; grid-template-columns:1.1fr .65fr; align-items:end; gap:50px; }
.section-heading h2,.process-intro h2,.quality-panel h2,.about-panel h2,.tracking-copy h2,.quote-heading h2,.final-cta h2 { margin:0; font:400 clamp(42px,4.3vw,68px)/1 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.possibilities .section-heading h2 { font-size:clamp(68px,6.4vw,104px); line-height:.9; letter-spacing:-.06em; }
.section-heading>p { max-width:560px; margin:0; color:var(--muted); font-size:19px; line-height:1.6; }
.creation-toolbar { margin:48px 0 27px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.filter-row { margin:0; display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; }
.filter-button { flex:0 0 auto; padding:11px 17px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:transparent; font-size:11px; }
.filter-button.active,.filter-button:hover { color:#fff; border-color:var(--green); background:var(--green); }
.creation-arrows { flex:0 0 auto; display:flex; align-items:center; gap:8px; }
.creation-arrows>span { margin-right:10px; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.12em; }
.creation-arrows button { width:48px; height:48px; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:transparent; font-size:19px; transition:.25s; }
.creation-arrows button:hover { color:#fff; border-color:var(--green); background:var(--green); transform:translateY(-2px); }
.creation-arrows button:disabled { opacity:.28; cursor:not-allowed; transform:none; }
.creation-grid { display:grid; grid-template-columns:repeat(var(--creation-columns,3),minmax(0,1fr)); gap:14px; }
.creation-card { min-height:430px; position:relative; overflow:hidden; padding:22px; border-radius:24px; color:#fff; background:var(--ink); animation:card-in .4s ease both; }
.creation-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(21,23,28,.2),transparent 42%,rgba(21,23,28,.82)); pointer-events:none; }
@keyframes card-in { from{opacity:0;transform:translateY(12px)} }
.creation-meta { position:relative; z-index:2; display:flex; justify-content:space-between; color:rgba(255,255,255,.75); font-size:8px; font-weight:700; letter-spacing:.15em; }
.creation-visual { position:absolute; inset:0; display:grid; place-items:center; }
.creation-visual img { width:100%; height:100%; object-fit:cover; transform:scale(1.01); transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .7s; }
.creation-card:hover .creation-visual img { transform:scale(1.065); filter:saturate(1.05); }
.creation-object { position:relative; color:var(--object-color); filter:drop-shadow(20px 26px 18px rgba(25,43,33,.2)); transition:transform .45s; }
.creation-card:hover .creation-object { transform:translateY(-8px) rotate(3deg); }
.creation-vase { width:140px; height:210px; border-radius:47% 47% 28% 28%/15% 15% 20% 20%; background:repeating-linear-gradient(90deg,var(--object-color) 0 5px,#668374 6px 10px); }
.creation-vase::after { content:""; position:absolute; left:12%; top:0; width:76%; height:18px; border-radius:50%; background:var(--ink); }
.creation-qr { width:170px; height:215px; border-radius:15px; background:#f5f1e8; box-shadow:12px 15px 0 var(--object-color); transform:rotate(-4deg); }
.creation-qr::before { content:""; position:absolute; inset:24% 20% 27%; background:repeating-linear-gradient(45deg,var(--object-color) 0 5px,transparent 5px 9px),repeating-linear-gradient(-45deg,var(--object-color) 0 5px,transparent 5px 9px); }
.creation-coaster { width:185px; aspect-ratio:1; border:14px solid var(--object-color); border-radius:50%; background:radial-gradient(circle,transparent 0 23%,var(--object-color) 24% 29%,transparent 30% 46%,var(--object-color) 47%); transform:rotateX(57deg) rotateZ(13deg); }
.creation-name { width:235px; height:120px; border-radius:48% 52% 44% 56%; background:var(--object-color); transform:rotate(-6deg); }
.creation-name::after,.creation-tag::after,.creation-token::after { content:attr(data-text); position:absolute; inset:0; display:grid; place-items:center; color:var(--card-bg); font:italic 49px/1 Georgia,serif; }
.creation-lamp { width:220px; height:230px; border-bottom:7px solid var(--object-color); }
.creation-lamp::before { content:""; position:absolute; left:49%; top:34%; width:4px; height:62%; background:var(--object-color); }
.creation-lamp::after { content:""; position:absolute; left:17%; top:5%; width:66%; height:43%; border-radius:50% 50% 10% 10%/90% 90% 10% 10%; background:linear-gradient(135deg,#fff7c6,var(--object-color)); box-shadow:0 18px 45px rgba(255,239,159,.45); }
.creation-tag { width:155px; height:190px; border-radius:23px; background:var(--object-color); transform:rotate(5deg); }
.creation-tag::after { font-style:normal; }
.creation-organizer { width:220px; height:155px; border-radius:14px; background:linear-gradient(90deg,var(--object-color) 0 31%,transparent 31% 34%,var(--object-color) 34% 65%,transparent 65% 68%,var(--object-color) 68%); transform:skewY(-5deg); }
.creation-token { width:170px; aspect-ratio:1; border:13px solid var(--object-color); border-radius:50%; background:transparent; }
.creation-token::after { color:var(--object-color); font-size:34px; }
.creation-copy { position:absolute; z-index:2; left:22px; right:22px; bottom:21px; display:flex; align-items:end; justify-content:space-between; gap:12px; }
.creation-copy small { display:block; margin-bottom:5px; color:rgba(255,255,255,.68); font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.creation-copy h3 { margin:0; font:400 20px/1.2 Georgia,serif; }
.creation-copy button { width:40px; height:40px; flex:0 0 auto; border:1px solid rgba(255,255,255,.42); border-radius:50%; color:#fff; background:rgba(21,23,28,.22); }
.creation-copy button:hover { color:var(--ink); background:var(--mist); }

.universes { width:100%; position:relative; padding:20px clamp(24px,6vw,88px) 55px; }
.universes>.editorial-heading,.universes>.universe-gift,.universes>.universe-grid { position:relative; z-index:1; }
.editorial-heading { margin-bottom:38px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.editorial-heading .section-kicker { display:block; margin-bottom:15px; }
.editorial-heading p { margin:0; font:400 clamp(36px,4vw,59px)/1 Georgia,serif; letter-spacing:-.04em; }
.editorial-heading span { color:var(--muted); font-size:11px; }
.universe-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.universe-card { min-height:590px; position:relative; overflow:hidden; padding:27px; border-radius:26px; color:var(--card-ink,var(--ink)); background:var(--universe-bg); }
.universe-custom{--universe-bg:#d9e9e0;--card-ink:#f3f5f4}.universe-business{--universe-bg:#2e7d5b;--card-ink:#f3f5f4}.universe-events{--universe-bg:#9da3ad;--card-ink:#f3f5f4}.universe-decor{--universe-bg:#15171c;--card-ink:#f3f5f4}
.universe-top { position:relative; z-index:3; display:flex; justify-content:space-between; font-size:8px; letter-spacing:.15em; text-transform:uppercase; opacity:.65; }
.universe-visual { position:absolute; inset:45px 0 120px; }
.universe-photo { inset:0; }
.universe-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(21,23,28,.18),transparent 40%,rgba(21,23,28,.78)); }
.universe-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.universe-custom .universe-photo img { object-position:39% center; }
.universe-business .universe-photo img { object-position:center; }
.universe-events .universe-photo img { object-position:66% center; }
.universe-decor .universe-photo img { object-position:28% center; }
.name-object { position:absolute; left:9%; top:32%; width:62%; height:37%; display:grid; place-items:center; border-radius:48% 52% 41% 59%; color:#d7cabc; background:#69483d; box-shadow:25px 30px 38px rgba(64,41,33,.25); font:italic 69px/1 Georgia,serif; transform:rotate(-8deg); }
.mini-vase { position:absolute; right:9%; bottom:5%; width:24%; height:55%; border-radius:46% 46% 25% 25%/16% 16% 20% 20%; background:repeating-linear-gradient(90deg,#f1e8dc 0 5px,#cab9a8 6px 10px); box-shadow:18px 24px 32px rgba(64,41,33,.24); transform:rotate(7deg); }
.mini-vase::after { content:""; position:absolute; left:13%; top:0; width:74%; height:15px; border-radius:50%; background:#503b31; }
.display-object { position:absolute; left:13%; top:15%; width:59%; height:61%; border-radius:19px; color:#294f40; background:#ecebe4; box-shadow:19px 25px 0 #17392d,26px 34px 40px rgba(0,0,0,.25); transform:rotate(-6deg); }
.display-object b { position:absolute; top:18%; left:12%; font-size:12px; letter-spacing:.2em; }
.display-object i { position:absolute; left:22%; right:22%; top:36%; aspect-ratio:1; background:repeating-linear-gradient(45deg,#294f40 0 5px,transparent 5px 10px),repeating-linear-gradient(-45deg,#294f40 0 5px,transparent 5px 10px); }
.tag-object { position:absolute; right:12%; bottom:6%; width:28%; aspect-ratio:.8; display:grid; place-items:center; border-radius:18px; color:#17392d; background:var(--acid); box-shadow:18px 22px 30px rgba(0,0,0,.25); font:400 56px/1 Georgia,serif; transform:rotate(7deg); }
.event-arch { position:absolute; left:10%; top:10%; width:68%; height:74%; display:grid; place-items:center; border-radius:50% 50% 12% 12%/43% 43% 8% 8%; color:#f2eee4; background:#4d6152; box-shadow:25px 31px 38px rgba(43,58,48,.28); transform:rotate(-4deg); }
.event-arch b { font:400 100px/1 Georgia,serif; }
.event-token { position:absolute; right:8%; bottom:4%; width:31%; aspect-ratio:1; display:grid; place-items:center; border:12px solid #85684e; border-radius:50%; color:#6e543f; background:#e7d8c4; box-shadow:16px 20px 28px rgba(40,48,42,.23); font:italic 17px/1 Georgia,serif; transform:rotate(8deg); }
.decor-lamp { position:absolute; left:4%; top:6%; width:59%; height:83%; border-bottom:8px solid #a59664; }
.decor-lamp::before { content:""; position:absolute; left:50%; top:33%; width:5px; height:66%; background:#a59664; }
.decor-lamp::after { content:""; position:absolute; left:11%; top:2%; width:78%; height:42%; border-radius:50% 50% 11% 11%/89% 89% 11% 11%; background:radial-gradient(circle at 50% 80%,#fff9d6,#c5b67b 40%,#706843 90%); box-shadow:0 14px 55px rgba(255,236,149,.18); }
.decor-vase { position:absolute; right:8%; bottom:3%; width:29%; height:56%; border-radius:48% 48% 28% 28%/17% 17% 20% 20%; background:repeating-linear-gradient(90deg,#546e61 0 5px,#789084 6px 11px); box-shadow:17px 21px 29px rgba(0,0,0,.34); }
.decor-vase::after { content:""; position:absolute; left:13%; top:0; width:74%; height:14px; border-radius:50%; background:#17211c; }
.universe-copy { position:absolute; z-index:3; left:27px; right:27px; bottom:24px; display:grid; grid-template-columns:auto 1fr auto; align-items:end; column-gap:12px; }
.universe-copy p { grid-column:1; margin:0 0 -2px; font-size:10px; font-weight:700; letter-spacing:.16em; }
.universe-copy h3 { grid-column:1; margin:0; font-size:31px; letter-spacing:-.04em; }
.universe-copy>span { grid-column:2; max-width:330px; font:500 13px/1.45 "Avenir Next","Helvetica Neue",Arial,sans-serif; opacity:.82; }
.universe-copy button { grid-column:3; grid-row:1/3; padding:10px 0; border:0; border-bottom:1px solid currentColor; color:inherit; background:none; font-size:10px; font-weight:650; }
.universe-copy button i { margin-left:9px; font-style:normal; }

.process-block { width:100%; padding:125px clamp(24px,6vw,88px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(60px,8vw,130px); background:var(--ice); }
.process-intro h2 { font-size:clamp(54px,5.2vw,82px); }
.process-intro>p:not(.section-kicker) { max-width:520px; margin:28px 0; color:var(--muted); font-size:21px; line-height:1.6; }
.process-intro .section-kicker { font-size:16px; }
.text-link-dark { display:inline-flex; gap:24px; padding:14px 0; border-bottom:1px solid var(--ink); font-size:18px; font-weight:650; }
.process-step { min-height:99px; display:grid; grid-template-columns:35px 1fr 38px; align-items:center; gap:16px; border-top:1px solid var(--line); }
.process-step:last-child { border-bottom:1px solid var(--line); }
.process-step>span { color:var(--muted); font-size:9px; }
.process-step h3 { margin:0 0 4px; font:400 21px/1.2 Georgia,serif; }
.process-step p { margin:0; color:var(--muted); font-size:10px; }
.process-step i { width:37px; height:37px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--green); font-style:normal; }
.process-step.active i { color:#fff; background:var(--green); }

.quality-block { width:100%; padding:0 clamp(24px,6vw,88px) 125px; display:grid; grid-template-columns:1.08fr .92fr; gap:12px; }
.quality-panel,.about-panel { min-height:760px; padding:clamp(38px,5vw,72px); }
.quality-panel { position:relative; overflow:hidden; color:#fff; background:linear-gradient(145deg,#173f34 0%,var(--green-deep) 48%,#318365 140%); border-radius:30px; }
.quality-panel>*:not(.quality-orbit){position:relative;z-index:1}.quality-orbit{position:absolute;width:560px;height:560px;right:-310px;top:-235px;border:1px solid rgba(217,233,224,.18);border-radius:50%}.quality-orbit::before,.quality-orbit::after{content:"";position:absolute;border:1px solid rgba(217,233,224,.12);border-radius:50%}.quality-orbit::before{inset:60px}.quality-orbit::after{inset:130px}
.quality-panel h2 em,.about-panel h2 em{font-weight:400;color:var(--mist)}
.quality-intro{max-width:580px;margin:25px 0 42px;color:rgba(255,255,255,.68);font-size:17px;line-height:1.6}
.quality-list { display:grid; grid-template-columns:1fr; }
.quality-list article { min-height:104px; padding:18px 8px; display:grid; grid-template-columns:44px 1fr 42px; align-items:center; gap:16px; border-top:1px solid rgba(255,255,255,.18); transition:padding .35s,background .35s; }
.quality-list article:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.quality-list article:hover{padding-left:18px;padding-right:18px;background:rgba(217,233,224,.09)}
.quality-list span { color:var(--acid); font-size:12px; font-weight:700; }
.quality-list h3 { margin:0 0 7px; font:400 22px/1.2 Georgia,serif; }
.quality-list p { margin:0; color:rgba(255,255,255,.62); font-size:14px; line-height:1.5; }
.quality-list i{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;font-style:normal;transition:color .3s,background .3s,transform .3s}.quality-list article:hover i{color:var(--green-deep);background:var(--mist);transform:rotate(45deg)}
.about-panel { position:relative; overflow:hidden; color:#fff; background:var(--ink); border-radius:30px; }
.about-panel>*:not(.about-photo):not(.about-overlay) { position:relative; z-index:2; }
.about-panel>p:not(.section-kicker) { max-width:420px; margin:30px 0; color:rgba(255,255,255,.76); font-size:17px; line-height:1.65; }
.about-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:42% center; }
.about-overlay { position:absolute; inset:0; background:linear-gradient(110deg,rgba(12,25,20,.92) 0%,rgba(12,25,20,.55) 52%,rgba(12,25,20,.1)),linear-gradient(0deg,rgba(12,25,20,.9),transparent 58%); }
.about-badge{position:relative;z-index:2;display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding:13px 18px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(10,25,20,.24);backdrop-filter:blur(8px);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.about-badge span{color:var(--acid)}
.about-mark { position:absolute; right:-8%; bottom:-24%; color:rgba(47,107,87,.11); font:400 460px/1 Georgia,serif; }
.about-signature { position:absolute!important; left:clamp(35px,5vw,68px); bottom:55px; display:flex; flex-direction:column; }
.about-signature span { font:italic 20px/1.2 Georgia,serif; }
.about-signature small { margin-top:5px; color:var(--green); font-size:8px; letter-spacing:.12em; text-transform:uppercase; }

.tracking-teaser { width:calc(100% - (2 * clamp(24px,6vw,88px))); margin:0 auto 125px; padding:clamp(36px,5vw,70px); display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:clamp(45px,7vw,100px); border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:var(--shadow); }
.tracking-copy>p:not(.section-kicker) { max-width:500px; margin:25px 0 30px; color:var(--muted); font-size:13px; line-height:1.75; }
.mini-timeline { padding:28px; border-radius:20px; background:var(--ice); }
.mini-progress { height:7px; position:relative; margin-bottom:27px; border-radius:999px; background:#dde2df; }
.mini-progress i { display:block; width:68%; height:100%; border-radius:inherit; background:var(--green); }
.mini-progress span { position:absolute; right:0; top:-19px; color:var(--green); font-size:9px; font-weight:700; }
.mini-timeline article { min-height:70px; position:relative; display:grid; grid-template-columns:32px 1fr auto; align-items:start; gap:13px; }
.mini-timeline article::before { content:""; position:absolute; left:15px; top:30px; bottom:0; width:1px; background:#cfd6d1; }
.mini-timeline article:last-child::before { display:none; }
.mini-timeline article>b { z-index:2; width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:#9ca49e; background:#dfe4e1; font-size:10px; }
.mini-timeline article.done>b { color:#fff; background:var(--green); }
.mini-timeline article.current>b { color:var(--green); border:1px solid var(--green); background:var(--mist); }
.mini-timeline strong { display:block; font-size:11px; }
.mini-timeline small { display:block; margin-top:4px; color:var(--muted); font-size:9px; }
.mini-timeline article>span { color:var(--muted); font-size:8px; }

.quote-section { padding:125px clamp(24px,4.5vw,72px) 0; color:#fff; background:var(--green); }
.home-page .quote-section { display:none; }
.quote-page .hero-section,.quote-page .discovery-section { display:none; }
.quote-page .quote-section { min-height:100vh; padding-top:clamp(150px,12vw,205px); }
.quote-page .site-header { position:absolute; }
.quote-page .quote-heading,.quote-page .quote-shell,.quote-page .final-cta { width:calc(100vw - 64px); max-width:1600px; }
.quote-page .quote-heading { margin-bottom:64px; grid-template-columns:.55fr 1.45fr; gap:clamp(40px,5vw,90px); }
.quote-page .quote-heading h2 { font-size:clamp(62px,6.3vw,108px); line-height:.91; }
.quote-page .quote-heading>p:not(.section-kicker),.quote-page .quote-aside { display:none; }
.quote-page .quote-shell { grid-template-columns:1fr; border-radius:36px; }
.quote-page .quote-main { min-height:880px; padding:clamp(52px,5.2vw,88px); }
.quote-page .stepper { margin-bottom:64px; }
.quote-page .step-dot { gap:12px; font-size:16px; }
.quote-page .step-dot span { width:46px; height:46px; font-size:18px; }
.quote-page .step-line { margin-top:20px; }
.quote-page .form-heading { margin-bottom:38px; }
.quote-page .form-heading>span { font-size:17px; }
.quote-page .form-heading h3 { margin:12px 0; font-size:clamp(46px,4.2vw,68px); }
.quote-page .form-heading p { max-width:900px; font-size:21px; line-height:1.55; }
.quote-page .option-grid { gap:16px; }
.quote-page .option-card { min-height:155px; padding:26px; grid-template-columns:44px 1fr; column-gap:16px; border-radius:20px; }
.quote-page .option-wide { min-height:112px; }
.quote-page .option-card .option-icon { width:44px; height:44px; border-radius:13px; font-size:18px; }
.quote-page .option-card strong { font-size:22px; }
.quote-page .option-card small { max-width:520px; font-size:17px; line-height:1.5; }
.quote-page .field-grid { gap:24px; }
.quote-page .field { gap:11px; }
.quote-page .field>span,.quote-page .chip-field legend { font-size:20px; }
.quote-page .field input,.quote-page .field select,.quote-page .field textarea { min-height:66px; padding:19px 21px; border-radius:15px; font-size:19px; }
.quote-page .idea-field textarea { min-height:210px; font-size:21px; }
.quote-page .quantity-control { min-height:58px; border-radius:15px; }
.quote-page .quantity-control button { font-size:26px; }
.quote-page .chip-field label span { padding:15px 20px; font-size:17px; }
.quote-page .upload-field { min-height:190px; }
.quote-page .upload-field strong { font-size:21px; }
.quote-page .upload-field small { font-size:16px; }
.quote-page .review-card { padding:30px; border-radius:20px; }
.quote-page .review-title { padding-bottom:18px; font-size:17px; }
.quote-page .review-title button { font-size:16px; }
.quote-page .review-idea { margin:24px 0; font-size:24px; }
.quote-page .review-card dl { gap:14px 28px; }
.quote-page .review-card dl div { padding:8px 0; font-size:17px; }
.quote-page .consent-field { font-size:17px; line-height:1.5; }
.quote-page .consent-field input { width:22px; height:22px; }
.quote-page .consent-field.invalid { color:#a5362e; }
.quote-page .field-error { font-size:15px; }
.quote-page .form-actions { margin-top:44px; padding-top:32px; }
.quote-page .form-actions { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:14px; }
.quote-page .form-actions .button { min-height:64px; padding-inline:31px; font-size:17px; }
.quote-page .submit-help { margin:0; max-width:570px; color:var(--muted); font-size:16px; line-height:1.45; }
.quote-page #submitQuote { min-width:230px; color:#fff; background:var(--green); border-radius:999px; }
.quote-page #submitQuote:hover { background:var(--green-deep); }
.quote-page .quote-aside { padding:54px 44px; }
.quote-page .quote-aside>p { font-size:clamp(31px,3vw,48px); }
.quote-page .quote-aside>small { font-size:11px; }
.quote-page .aside-object { min-height:420px; }
.quote-page .final-cta { min-height:600px; }
.quote-page .final-cta>p:not(.section-kicker) { font-size:22px; }
.quote-page .contact-actions .button { min-height:54px; padding-inline:24px; font-size:14px; }
.quote-heading,.quote-shell,.final-cta { max-width:1306px; margin-left:auto; margin-right:auto; }
.quote-heading { margin-bottom:45px; display:grid; grid-template-columns:.6fr 1.05fr .65fr; align-items:end; gap:40px; }
.quote-heading>p:not(.section-kicker) { margin:0; color:rgba(255,255,255,.6); font-size:13px; line-height:1.7; }
.quote-shell { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr); overflow:hidden; border-radius:30px; color:var(--ink); background:#fff; box-shadow:var(--shadow); }
.quote-main { min-height:760px; padding:clamp(30px,4.5vw,60px); }
.option-wide { grid-column:1/-1; min-height:89px; }
.idea-field textarea { padding:18px; font:400 16px/1.55 Georgia,serif; }
.form-space { margin-top:18px; }
.review-card { padding:20px; border-radius:15px; background:var(--paper); }
.review-title { display:flex; justify-content:space-between; padding-bottom:13px; border-bottom:1px solid var(--line); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.review-title button { padding:0; border:0; color:var(--green); background:none; font-size:8px; text-decoration:underline; }
.review-idea { margin:16px 0; font:italic 15px/1.5 Georgia,serif; }
.review-card dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:9px 20px; }
.review-card dl div { display:flex; justify-content:space-between; gap:12px; font-size:8px; }
.review-card dt { color:var(--muted); }
.review-card dd { margin:0; text-align:right; font-weight:650; }
.quote-aside { padding:38px 32px; display:flex; flex-direction:column; justify-content:space-between; color:var(--ink); background:#ddd8ce; }
.quote-aside>p { font:italic clamp(21px,2.4vw,33px)/1.18 Georgia,serif; letter-spacing:-.025em; }
.quote-aside>small { font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
.aside-object { min-height:330px; position:relative; }
.aside-orb { position:absolute; z-index:2; left:16%; top:22%; width:68%; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; color:rgba(255,255,255,.75); background:radial-gradient(circle at 30% 24%,#5f947d,#2d644f 48%,#183c2f); box-shadow:22px 29px 40px rgba(31,62,48,.27); font:400 70px/1 Georgia,serif; }
.aside-ring { position:absolute; z-index:3; left:1%; right:1%; top:28%; height:50%; border:2px solid rgba(255,255,255,.55); border-radius:50%; transform:rotateX(68deg) rotateZ(-13deg); }
.aside-object span { position:absolute; z-index:4; right:0; bottom:5%; padding:11px; border-radius:10px; color:#fff; background:var(--ink); font-size:8px; line-height:1.5; text-transform:uppercase; letter-spacing:.1em; transform:rotate(4deg); }
.quote-success { min-height:550px; align-items:flex-start; text-align:left; }
.quote-success h3 { margin:0 0 16px; font:400 clamp(35px,4vw,57px)/1 Georgia,serif; letter-spacing:-.04em; }
.quote-success>p:not(.section-kicker) { max-width:590px; color:var(--muted); font-size:12px; line-height:1.7; }
.success-actions { margin-top:14px; display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.final-cta { min-height:480px; padding:110px 0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.final-cta h2 { font-size:clamp(48px,6vw,88px); }
.final-cta>p:not(.section-kicker) { margin:23px 0 31px; color:rgba(255,255,255,.62); font:italic 18px/1.4 Georgia,serif; }
.site-footer { grid-template-columns:1fr auto auto; gap:65px; }
.site-footer>div:first-child>p { margin:20px 0 0; color:var(--mist); font:italic 22px/1.2 Georgia,serif; }
.footer-nav { display:grid; grid-template-columns:1fr 1fr; gap:13px 40px; color:rgba(255,255,255,.57); font-size:9px; }
.footer-location { display:flex; flex-direction:column; gap:6px; }
.footer-location span { color:var(--acid); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.footer-location small { color:rgba(255,255,255,.5); font-size:9px; }
.site-footer { grid-template-columns:1fr auto auto; gap:65px; }
.site-footer>div:first-child>p { margin:20px 0 0; color:var(--mist); font:italic 22px/1.2 Georgia,serif; }
.footer-nav { display:grid; grid-template-columns:1fr 1fr; gap:13px 40px; color:rgba(255,255,255,.57); font-size:9px; }
.footer-nav a:hover { color:var(--acid); }
.contact-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px; }
.contact-button { color:#fff; border:1px solid rgba(255,255,255,.32); background:transparent; }
.contact-button:hover { color:var(--ink); background:#fff; }
.footer-contact { min-width:220px; display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.footer-contact>span { color:var(--acid); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.footer-contact>a { color:rgba(255,255,255,.76); font-size:10px; transition:color .2s; }
.footer-contact>a:hover { color:var(--acid); }
.footer-contact>small { margin-top:4px; color:rgba(255,255,255,.44); font-size:9px; }
.floating-whatsapp { position:fixed; z-index:65; right:20px; bottom:20px; min-height:48px; padding:0 8px 0 18px; display:flex; align-items:center; gap:13px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#fff; background:var(--green); box-shadow:0 14px 35px rgba(18,50,36,.3); font-size:11px; font-weight:700; transition:transform .25s,background .25s; }
.floating-whatsapp:hover { transform:translateY(-3px); background:var(--green-deep); }
.floating-whatsapp i { width:33px; height:33px; display:grid; place-items:center; border-radius:50%; color:var(--green-deep); background:#fff; font-style:normal; }

/* Área do Cliente */
.client-page { min-height:100vh; color:#fff; background:var(--ink); }
.client-header { max-width:1500px; margin:0 auto; padding:28px clamp(24px,4.5vw,72px); display:flex; align-items:center; justify-content:space-between; }
.client-header>a:last-child { color:rgba(255,255,255,.6); font-size:10px; }
.client-main { max-width:1500px; margin:0 auto; padding:55px clamp(24px,4.5vw,72px) 90px; display:grid; grid-template-columns:.63fr 1.37fr; gap:clamp(50px,7vw,100px); align-items:start; }
.client-intro { position:sticky; top:40px; padding-top:30px; }
.client-intro h1 { margin-bottom:24px; font:400 clamp(51px,5.5vw,82px)/.94 Georgia,serif; letter-spacing:-.055em; }
.client-intro h1 em { color:var(--mist); font-style:italic; }
.client-intro>p:not(.section-kicker) { max-width:410px; color:rgba(255,255,255,.58); font-size:13px; line-height:1.7; }
.client-search { margin-top:36px; }
.client-search>label { display:block; margin-bottom:8px; color:rgba(255,255,255,.7); font-size:9px; }
.client-search>div { padding:5px; display:grid; grid-template-columns:1fr auto; border:1px solid rgba(255,255,255,.2); border-radius:999px; }
.client-search input { min-width:0; padding:0 17px; border:0; outline:none; color:#fff; background:transparent; font-size:11px; text-transform:uppercase; }
.client-search>small { display:block; margin-top:9px; color:rgba(255,255,255,.4); font-size:8px; }
.client-search>small button { padding:0; border:0; color:var(--acid); background:none; font-size:inherit; text-decoration:underline; }
.client-error { margin-top:13px; color:#ffaaa2!important; font-size:9px!important; }
.client-dashboard { overflow:hidden; border-radius:28px; color:var(--ink); background:#fff; box-shadow:0 35px 90px rgba(0,0,0,.28); transition:.3s; }
.client-dashboard.unavailable { opacity:.25; filter:grayscale(1); pointer-events:none; }
.dashboard-top { padding:35px 38px 25px; display:flex; align-items:start; justify-content:space-between; gap:20px; }
.dashboard-top small { color:var(--green); font-size:8px; font-weight:700; letter-spacing:.14em; }
.dashboard-top h2 { margin:6px 0 4px; font:400 32px/1.1 Georgia,serif; }
.dashboard-top p { margin:0; color:var(--muted); font-size:9px; }
.status-pill { flex:0 0 auto; padding:9px 12px; border-radius:999px; color:var(--green-deep); background:var(--mist); font-size:9px; font-weight:650; }
.status-pill i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:var(--green); animation:pulse 2s infinite; }
@keyframes pulse { 50%{box-shadow:0 0 0 5px rgba(47,107,87,.12)} }
.dashboard-progress { padding:19px 38px 23px; background:var(--ice); }
.dashboard-progress>div:first-child { display:flex; justify-content:space-between; font-size:9px; }
.dashboard-progress strong { color:var(--green); }
.progress-track { height:7px; margin:9px 0; border-radius:999px; background:#dfe4e1; }
.progress-track i { display:block; width:68%; height:100%; border-radius:inherit; background:var(--green); }
.dashboard-progress>small { color:var(--muted); font-size:8px; }
.dashboard-grid { padding:34px 38px; display:grid; grid-template-columns:1.1fr .9fr; gap:45px; }
.dashboard-grid h3 { margin:0 0 23px; font:400 19px/1.2 Georgia,serif; }
.dashboard-timeline article { min-height:83px; position:relative; display:grid; grid-template-columns:33px 1fr; gap:13px; }
.dashboard-timeline article::before { content:""; position:absolute; left:16px; top:30px; bottom:0; width:1px; background:#d6dbd8; }
.dashboard-timeline article:last-child::before { display:none; }
.dashboard-timeline article>b { z-index:2; width:33px; height:33px; display:grid; place-items:center; border-radius:50%; color:#a7ada9; background:#e9ecea; font-size:9px; }
.dashboard-timeline article.done>b { color:#fff; background:var(--green); }
.dashboard-timeline article.current>b { color:var(--green); border:1px solid var(--green); background:var(--mist); }
.dashboard-timeline strong { display:block; margin-top:1px; font-size:10px; }
.dashboard-timeline p { margin:4px 0; color:var(--muted); font-size:8px; }
.dashboard-timeline small { color:var(--green); font-size:7px; text-transform:uppercase; letter-spacing:.08em; }
.project-details { padding:24px; align-self:start; border-radius:18px; background:var(--paper); }
.project-details dl { margin:0 0 24px; }
.project-details dl div { padding:11px 0; display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); font-size:9px; }
.project-details dt { color:var(--muted); }
.project-details dd { margin:0; font-weight:650; text-align:right; }
.project-details dd i { display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:50%; background:var(--green); }
.project-details .button { width:100%; padding:0 14px; font-size:10px; }
.demo-notice { margin:0; padding:15px 38px; color:var(--muted); background:#ecebe7; font-size:7px; text-align:center; }

@media (max-width:1180px) {
  .desktop-nav{display:none}.site-header{grid-template-columns:auto 1fr auto auto}.client-link{justify-self:end}.menu-toggle{display:block}.mobile-menu{position:fixed;z-index:45;inset:0;padding:110px 30px 40px;display:flex;visibility:hidden;opacity:0;color:#fff;background:rgba(21,23,21,.98);transition:.25s}.mobile-menu.open{visibility:visible;opacity:1}.mobile-menu nav{width:100%;display:flex;flex-direction:column}.mobile-menu a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font:400 25px/1.2 Georgia,serif}.mobile-menu .mobile-client{margin-top:18px;padding:16px 19px;border:1px solid transparent;border-radius:999px;color:var(--ink);background:var(--mist);font-family:inherit;font-size:11px;font-weight:700;text-align:center}
  .home-header{display:flex}.home-header .header-actions{margin-left:auto}.home-header .menu-toggle{margin-left:14px}
  .hero-content{min-height:730px}.creation-grid{grid-template-columns:repeat(var(--creation-columns,2),minmax(0,1fr))}.quality-block{grid-template-columns:1fr}.quality-panel{border-radius:28px 28px 0 0}.about-panel{min-height:570px;border-radius:0 0 28px 28px}.client-main{grid-template-columns:1fr}.client-intro{position:static;max-width:720px}.client-dashboard{width:100%}
}

@media (max-width:620px) {
  body:not(.client-page){padding-bottom:65px}.site-header{padding:20px;grid-template-columns:auto 1fr auto}.site-header .client-link{display:none}.brand{font-size:14px}.brand-mark{width:29px;height:29px}
  .hero-section{min-height:760px;padding:113px 20px 0}.hero-background-video{object-position:center}.hero-video-overlay{background:linear-gradient(180deg,rgba(8,23,17,.8) 0%,rgba(9,27,20,.72) 42%,rgba(8,22,16,.92) 100%)}.hero-content{min-height:570px;grid-template-columns:1fr}.hero-copy{padding:20px 0;text-align:center;text-shadow:0 3px 24px rgba(0,0,0,.62)}.hero-copy .eyebrow{margin-bottom:19px}.hero-copy h1{font-size:clamp(56px,17vw,78px);line-height:.9}.hero-intro{font-size:14px;color:rgba(255,255,255,.85)}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-video-label{display:none}.object-vase{left:14%;width:31%;height:55%}.object-lamp{right:-2%;width:43%}.object-qr{right:26%;width:25%}.floating-label{display:none}.hero-meta{padding-top:20px;justify-content:center;flex-wrap:wrap;gap:9px;font-size:7px}
  .possibilities{padding:80px 20px}.section-heading{grid-template-columns:1fr;gap:22px}.section-heading h2,.process-intro h2,.quality-panel h2,.about-panel h2,.tracking-copy h2,.quote-heading h2{font-size:40px}.possibilities .section-heading h2{font-size:58px}.creation-toolbar{margin-top:34px;align-items:flex-end;flex-direction:column}.filter-row{width:calc(100vw - 20px)}.creation-arrows{width:100%;justify-content:flex-end}.creation-grid{grid-template-columns:repeat(var(--creation-columns,1),minmax(0,1fr));gap:8px}.creation-card{min-height:430px;padding:14px;border-radius:17px}.creation-meta{font-size:7px}.creation-visual{inset:0;transform:none}.creation-copy{left:14px;right:14px;bottom:13px}.creation-copy small{font-size:7px}.creation-copy h3{font-size:20px}.creation-copy button{width:38px;height:38px}
  .universes{padding:0 20px 80px}.editorial-heading{align-items:start;flex-direction:column}.editorial-heading p{font-size:38px}.universe-grid{grid-template-columns:1fr;gap:9px}.universe-card{min-height:470px;padding:20px;border-radius:19px}.universe-copy{left:20px;right:20px;bottom:19px;grid-template-columns:1fr auto}.universe-copy p,.universe-copy h3{grid-column:1}.universe-copy>span{grid-column:1;font-size:13px}.universe-copy button{grid-column:2;grid-row:1/4}.name-object{font-size:49px}.event-arch b{font-size:78px}
  .process-block{padding:80px 20px;grid-template-columns:1fr;gap:45px}.process-step{min-height:90px}.process-step p{max-width:260px}
  .quality-block{padding:0 14px 80px}.quality-panel,.about-panel{min-height:auto;padding:45px 23px}.quality-panel{border-radius:21px 21px 0 0}.quality-list{margin-top:38px;grid-template-columns:1fr}.quality-list article{min-height:140px;padding:20px 0!important;border-right:0!important}.about-panel{min-height:540px;border-radius:0 0 21px 21px}.about-signature{left:23px;bottom:42px}.about-mark{font-size:380px}
  .tracking-teaser{margin:0 14px 80px;padding:38px 20px;grid-template-columns:1fr;gap:40px;border-radius:21px}.tracking-copy .button{width:100%}.mini-timeline{padding:20px 15px}
  .quote-section{padding:80px 14px 0}.quote-heading{padding:0 6px;grid-template-columns:1fr;gap:15px}.quote-shell{grid-template-columns:1fr;border-radius:21px}.quote-main{min-height:700px;padding:27px 18px}.quote-aside{display:none}.stepper{margin-bottom:35px}.step-dot small{display:none}.step-line{margin-left:4px;margin-right:4px}.form-heading h3{font-size:29px}.option-grid{gap:7px}.option-card{min-height:118px;padding:12px;grid-template-columns:27px 1fr;column-gap:8px}.option-wide{min-height:90px}.option-icon{width:27px;height:27px}.option-card strong{font-size:10px}.option-card small{font-size:8px}.field-grid{grid-template-columns:1fr}.review-card dl{grid-template-columns:1fr}.success-actions{width:100%;flex-direction:column;align-items:stretch}.final-cta{min-height:490px;padding:90px 8px}.final-cta h2{font-size:48px}.final-cta .button{width:100%}
  .site-footer{padding:55px 20px 25px;grid-template-columns:1fr;gap:37px}.footer-legal{grid-column:1}.mobile-cta{position:fixed;z-index:50;left:12px;right:12px;bottom:10px;min-height:48px;padding:0 20px;display:flex;justify-content:space-between;align-items:center;color:var(--ink);background:var(--acid);border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.24);font-size:12px;font-weight:700}.toast.show{bottom:72px}
  .client-header{padding:20px}.client-main{padding:35px 14px 65px;gap:40px}.client-intro{padding:20px 6px 0}.client-intro h1{font-size:52px}.client-search>div{grid-template-columns:1fr;border-radius:17px}.client-search input{min-height:48px;text-align:center}.client-dashboard{border-radius:21px}.dashboard-top{padding:27px 20px 20px;flex-direction:column}.status-pill{order:-1}.dashboard-progress{padding:18px 20px}.dashboard-grid{padding:28px 20px;grid-template-columns:1fr;gap:25px}.demo-notice{padding:14px 20px}
}

@media (max-width:620px) {
  .hero-copy .eyebrow { font-size:11px; }
  .hero-copy h1 { font-size:clamp(62px,18vw,86px); }
  .hero-intro { font-size:19px; }
  .hero-actions .button { min-width:0; min-height:68px; padding:0 27px; font-size:17px; }
  .hero-actions .button span { font-size:21px; }
  .hero-meta { padding-top:0; font-size:9px; }
  .hero-meta-group { min-width:max-content; padding:15px 28px; justify-content:flex-start; gap:28px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-meta { animation:none; }
  .hero-meta-track { animation:none; }
  .hero-meta-group:nth-child(2) { display:none; }
}

/* Supabase portals */
.button:disabled { cursor:not-allowed; opacity:.48; transform:none!important; }
.portal-header-actions { display:flex; align-items:center; gap:14px; color:rgba(255,255,255,.55); font-size:9px; }
.portal-header-actions a { color:inherit; }
.portal-contact-box { margin-top:20px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.portal-contact-box span { margin-bottom:2px; color:var(--acid); font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.portal-contact-box a { color:rgba(255,255,255,.68); font-size:10px; }
.portal-contact-box a:hover { color:#fff; }
.project-email-link { display:inline-flex; margin-top:11px; color:var(--green); font-size:9px; font-weight:700; }
.portal-logout,.ceo-session button { padding:0; border:0; color:var(--acid); background:none; font:inherit; cursor:pointer; }
.portal-auth-card { max-width:430px; margin-top:34px; padding:26px; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:rgba(255,255,255,.055); box-shadow:0 25px 70px rgba(0,0,0,.14); }
.portal-auth-heading { margin-bottom:21px; }
.portal-auth-heading>span { color:var(--acid); font-size:7px; font-weight:800; letter-spacing:.16em; }
.portal-auth-heading h2 { margin:8px 0 6px; font:400 23px/1.1 Georgia,serif; }
.portal-auth-heading p { margin:0; color:rgba(255,255,255,.48); font-size:9px; }
.portal-field { display:grid; gap:7px; margin-bottom:13px; }
.portal-field>span { color:inherit; opacity:.62; font-size:8px; }
.portal-field input,.portal-field select,.portal-field textarea { width:100%; min-height:45px; padding:0 13px; border:1px solid rgba(255,255,255,.15); border-radius:10px; outline:none; color:#fff; background:rgba(255,255,255,.06); font:inherit; font-size:10px; }
.portal-field textarea { min-height:78px; padding-top:12px; resize:vertical; }
.portal-field input:focus,.portal-field select:focus,.portal-field textarea:focus { border-color:var(--acid); box-shadow:0 0 0 3px rgba(204,235,91,.08); }
.portal-submit { width:100%; margin-top:5px; }
.portal-switch { width:100%; margin-top:14px; padding:0; border:0; color:rgba(255,255,255,.55); background:none; font-size:8px; text-decoration:underline; cursor:pointer; }
.portal-feedback { min-height:15px; margin:13px 0 0; color:rgba(255,255,255,.62); font-size:8px; line-height:1.5; }
.portal-feedback.error { color:#ffaaa2; }.portal-feedback.success { color:var(--acid); }
.client-portal { min-height:530px; position:relative; border-radius:28px; color:var(--ink); background:#f7f8f5; box-shadow:0 35px 90px rgba(0,0,0,.28); overflow:hidden; transition:.3s; }
.client-portal.unavailable { min-height:500px; }
.portal-loading,.portal-locked,.portal-empty { min-height:500px; padding:45px; display:grid; place-content:center; justify-items:center; text-align:center; }
.portal-loading i { width:32px; height:32px; margin-bottom:16px; border:2px solid rgba(47,107,87,.18); border-top-color:var(--green); border-radius:50%; animation:portal-spin .7s linear infinite; }
@keyframes portal-spin { to { transform:rotate(360deg); } }
.portal-loading p,.portal-locked p,.portal-empty p { max-width:320px; color:var(--muted); font-size:10px; line-height:1.6; }
.portal-locked>span,.portal-empty>span { color:var(--green); font-size:36px; }
.portal-locked h2 { margin:15px 0 5px; font:400 32px/1.05 Georgia,serif; }
.portal-locked .button { margin-top:18px; }
.portal-toolbar { padding:27px 30px 22px; display:flex; align-items:end; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.portal-toolbar small { color:var(--green); font-size:7px; font-weight:800; letter-spacing:.14em; }
.portal-toolbar h2 { margin:7px 0 0; font:400 30px/1 Georgia,serif; }
.portal-tabs { display:flex; padding:4px; border-radius:999px; background:#e8ebe6; }
.portal-tabs button { min-height:34px; padding:0 13px; border:0; border-radius:999px; color:var(--muted); background:transparent; font-size:8px; cursor:pointer; }
.portal-tabs button.active { color:#fff; background:var(--ink); }
.portal-tabs span { margin-left:5px; opacity:.65; }
.client-workspace-grid { min-height:520px; display:grid; grid-template-columns:230px 1fr; }
.client-record-list { padding:15px; border-right:1px solid var(--line); background:#eff1ed; }
.record-card { width:100%; margin-bottom:8px; padding:15px; display:grid; grid-template-columns:1fr auto; gap:5px 8px; border:1px solid transparent; border-radius:13px; color:var(--ink); background:transparent; text-align:left; cursor:pointer; transition:.2s; }
.record-card:hover,.record-card.active { border-color:rgba(47,107,87,.16); background:#fff; box-shadow:0 8px 24px rgba(25,50,37,.07); }
.record-card small { color:var(--green); font-size:7px; font-weight:750; letter-spacing:.06em; }
.record-card strong { grid-column:1/-1; font:400 15px/1.15 Georgia,serif; }
.record-card>span { color:var(--muted); font-size:7px; }.record-card>span i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:var(--green); }
.record-card em { color:var(--muted); font-size:7px; font-style:normal; text-align:right; }
.record-list-empty { min-height:250px; display:grid; place-content:center; text-align:center; color:var(--muted); }
.record-list-empty>span { color:var(--green); font-size:27px; }.record-list-empty strong { margin:10px 0 4px; color:var(--ink); font:400 16px/1.2 Georgia,serif; }.record-list-empty p { font-size:8px; }
.client-workspace-grid .client-dashboard { border-radius:0; box-shadow:none; }
.client-workspace-grid .dashboard-top { padding:30px; }
.quote-detail-body { padding:30px; display:grid; grid-template-columns:1.35fr .65fr; gap:25px; }
.quote-detail-copy h3,.portal-files h3 { margin:0 0 14px; font:400 20px/1.1 Georgia,serif; }
.quote-detail-copy>p { margin:0 0 20px; color:var(--muted); font:italic 14px/1.55 Georgia,serif; }
.quote-detail-copy dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
.quote-detail-copy dl div { padding:10px 0; display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); font-size:8px; }.quote-detail-copy dt { color:var(--muted); }.quote-detail-copy dd { margin:0; text-align:right; font-weight:650; }
.quote-status-note { padding:22px; border-radius:17px; color:#fff; background:var(--green-deep); }.quote-status-note span { color:var(--acid); font-size:7px; letter-spacing:.13em; }.quote-status-note h3 { margin:12px 0 8px; font:400 23px/1.05 Georgia,serif; }.quote-status-note p { color:rgba(255,255,255,.58); font-size:8px; line-height:1.6; }
.portal-files { padding:0 30px 30px; }.portal-files>div { display:flex; flex-wrap:wrap; gap:8px; }.portal-files a,.file-unavailable { min-width:170px; padding:12px; display:grid; grid-template-columns:20px 1fr; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:var(--paper); }.portal-files a>span,.file-unavailable>span { grid-row:1/3; color:var(--green); }.portal-files strong { font-size:8px; }.portal-files small { color:var(--muted); font-size:7px; }

/* Admin authentication and real data */
.admin-auth-gate { min-height:100vh; padding:35px clamp(24px,6vw,90px); display:grid; grid-template-columns:1fr minmax(320px,460px); align-items:center; gap:10vw; color:#fff; background:radial-gradient(circle at 18% 35%,rgba(47,107,87,.33),transparent 35%),var(--ink); }
.admin-auth-brand .brand img { width:min(340px,65vw); }.admin-auth-brand p { margin:19px 0 0; color:rgba(255,255,255,.45); font:italic 22px/1 Georgia,serif; }
.admin-auth-card { padding:36px; border:1px solid rgba(255,255,255,.13); border-radius:24px; background:rgba(255,255,255,.055); box-shadow:0 35px 90px rgba(0,0,0,.25); }.admin-auth-card>span { color:var(--acid); font-size:7px; font-weight:800; letter-spacing:.15em; }.admin-auth-card h1 { margin:12px 0 8px; font:400 35px/1 Georgia,serif; }.admin-auth-card>p { margin:0 0 24px; color:rgba(255,255,255,.5); font-size:9px; line-height:1.6; }.admin-auth-card .button { width:100%; margin-top:6px; }.admin-auth-card>small { min-height:18px; margin-top:12px; display:block; color:#ffaaa2; font-size:8px; }.admin-auth-card>a { color:rgba(255,255,255,.5); font-size:8px; }
.admin-app { min-height:100vh; }
.ceo-session button { margin-top:11px; text-align:left; font-size:8px; }
.admin-section { margin-top:28px; scroll-margin-top:28px; }
.admin-section-actions { display:flex; align-items:center; gap:9px; }.admin-section-actions .button { min-height:41px; padding:0 15px; white-space:nowrap; font-size:8px; }
.table-progress { width:72px; height:5px; display:inline-block; border-radius:999px; background:#e3e7e1; overflow:hidden; vertical-align:middle; }.table-progress i { height:100%; display:block; border-radius:inherit; background:var(--green); }
.account-pill { padding:5px 8px; border-radius:999px; color:#766a4d; background:#eee7d7; font-size:7px; }.account-pill.linked { color:var(--green-deep); background:var(--mist); }
.status-novo { color:#755d25!important; background:#f5ecd0!important; }.status-novo i{background:#c49630!important}.status-em-analise { color:#2f5f73!important; background:#dfedf2!important; }.status-em-analise i{background:#4a8da8!important}.status-orcamento-enviado { color:#62528a!important; background:#ebe5f6!important; }.status-orcamento-enviado i{background:#806bb1!important}.status-aprovado,.status-convertido-em-projeto,.status-entregue { color:var(--green-deep)!important; background:var(--mist)!important; }.status-aprovado i,.status-convertido-em-projeto i,.status-entregue i{background:var(--green)!important}.status-recusado { color:#8a4943!important; background:#f5dfdc!important; }.status-recusado i{background:#b86860!important}
.dialog-files { margin:18px 0; display:grid; gap:6px; }.dialog-files h3 { margin:0 0 4px; font:400 17px/1.1 Georgia,serif; }.dialog-files a,.dialog-files>span { padding:10px 12px; border-radius:9px; color:var(--ink); background:var(--paper); font-size:8px; }.dialog-files a small { float:right; color:var(--muted); }
.project-dialog { width:min(880px,calc(100vw - 30px)); max-height:92vh; }.project-dialog .dialog-content { padding-bottom:38px; }.project-dialog .portal-field { color:var(--ink); }.project-dialog .portal-field input,.project-dialog .portal-field select,.project-dialog .portal-field textarea { border-color:var(--line); color:var(--ink); background:#f3f4f0; }.project-editor,.project-update-editor,.project-file-editor,.project-updates { margin-top:24px; padding-top:23px; border-top:1px solid var(--line); }.project-editor>.button,.project-update-editor>.button { margin-top:6px; }.project-editor>small { margin-left:10px; color:var(--green); font-size:8px; }.project-update-editor h3,.project-file-editor h3,.project-updates h3 { margin:0 0 17px; font:400 19px/1.1 Georgia,serif; }
.project-upload-row { display:grid; grid-template-columns:160px 1fr auto; gap:8px; }.project-upload-row select,.project-upload-row input { min-width:0; min-height:42px; padding:0 11px; border:1px solid var(--line); border-radius:9px; background:#f3f4f0; font-size:8px; }.project-upload-row .button { min-height:42px; padding:0 13px; }
.project-updates article { position:relative; padding:0 0 17px 22px; border-left:1px solid var(--line); }.project-updates article>i { position:absolute; left:-4px; top:1px; width:7px; height:7px; border-radius:50%; background:var(--green); }.project-updates strong { font-size:9px; }.project-updates p { margin:4px 0; color:var(--muted); font-size:8px; line-height:1.45; }.project-updates small { color:var(--muted); font-size:7px; }
.invite-dialog { width:min(560px,calc(100vw - 28px)); }.invite-dialog .portal-field { color:var(--ink); }.invite-dialog .portal-field input { border-color:var(--line); color:var(--ink); background:var(--ice); }.invite-note { margin:0 0 22px; color:var(--muted); font-size:10px; line-height:1.6; }.invite-check { margin:8px 0 18px; display:flex; align-items:flex-start; gap:10px; color:var(--muted); font-size:9px; line-height:1.45; }.invite-check input { accent-color:var(--green); }.invite-dialog .dialog-content>.button { width:100%; }.invite-dialog .dialog-content>small { min-height:16px; color:#9a4f48; }

@media (max-width:1050px) {
  .client-workspace-grid { grid-template-columns:190px 1fr; }.quote-detail-body { grid-template-columns:1fr; }
  .admin-section-actions { width:100%; align-items:stretch; flex-direction:column; }.admin-section-actions .demand-search { width:100%; }
}
@media (max-width:760px) {
  .portal-header-actions span { display:none; }.client-auth-layout { padding-top:20px; }.portal-auth-card { max-width:none; }
  .client-portal { border-radius:20px; }.portal-toolbar { padding:22px 18px; align-items:flex-start; flex-direction:column; }.portal-tabs { width:100%; }.portal-tabs button { flex:1; }.client-workspace-grid { grid-template-columns:1fr; }.client-record-list { display:flex; overflow-x:auto; border-right:0; border-bottom:1px solid var(--line); }.record-card { min-width:190px; margin:0 7px 0 0; }.client-workspace-grid .dashboard-top,.quote-detail-body,.portal-files { padding:23px 18px; }.quote-detail-copy dl { grid-template-columns:1fr; }
  .admin-auth-gate { padding:25px 18px 55px; grid-template-columns:1fr; gap:40px; }.admin-auth-brand { padding-top:20px; }.admin-auth-brand .brand img { width:210px; }.admin-auth-card { padding:26px 20px; }.project-upload-row { grid-template-columns:1fr; }
}

/* Logo, journey and scroll motion */
.brand img { display:block; width:clamp(220px,17vw,300px); height:auto; object-fit:contain; }
.site-header { position:fixed; transition:padding .3s,background .3s,box-shadow .3s; }
.site-header.scrolled { padding-top:15px; padding-bottom:15px; background:rgba(21,23,21,.9); box-shadow:0 8px 35px rgba(0,0,0,.14); backdrop-filter:blur(18px); }
.scroll-progress { position:fixed; z-index:100; top:0; left:0; right:0; height:2px; pointer-events:none; }
.scroll-progress i { display:block; width:var(--page-progress,0%); height:100%; background:var(--acid); box-shadow:0 0 12px rgba(216,255,121,.6); }
.hero-products { transform:translate3d(0,var(--hero-shift,0px),0); transition:transform .08s linear; }
.universe-card .universe-visual { transition:transform .7s cubic-bezier(.2,.75,.2,1); }
.universe-card:hover .universe-visual { transform:scale(1.025) translateY(-7px); }
.creation-card { transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s; }
.creation-card:hover { transform:translateY(-6px); box-shadow:0 25px 55px rgba(20,34,27,.12); }
.universe-copy>a { grid-column:3; grid-row:1/3; align-self:center; display:inline-flex; align-items:center; gap:10px; padding:9px 14px; border:1px solid rgba(255,255,255,.38); border-radius:999px; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.universe-copy>a:hover { color:#fff; border-color:var(--green); background:var(--green); }

.process-block { position:relative; grid-template-columns:.52fr 1.48fr; gap:clamp(40px,4vw,70px); align-items:start; overflow:hidden; }
.process-intro { position:sticky; top:130px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.journey-map { min-height:1040px; position:relative; }
.journey-path { position:absolute; inset:10px 0 0; width:100%; height:950px; overflow:visible; }
.journey-track,.journey-travel { fill:none; stroke-linecap:round; }
.journey-track { stroke:rgba(47,107,87,.24); stroke-width:3; stroke-dasharray:7 12; }
.journey-travel { stroke:var(--green); stroke-width:5; stroke-dasharray:2500; stroke-dashoffset:2500; filter:drop-shadow(0 0 9px rgba(46,125,91,.48)); }
.journey-map.visible .journey-travel { animation:draw-journey 3.2s .2s cubic-bezier(.33,.8,.35,1) forwards; }
@keyframes draw-journey { to{stroke-dashoffset:0} }
.journey-stop { position:absolute; width:min(340px,42%); min-height:205px; padding:25px 25px 23px; border:1px solid rgba(47,107,87,.17); border-radius:22px; background:rgba(255,255,255,.9); box-shadow:0 22px 48px rgba(24,43,33,.11); backdrop-filter:blur(9px); opacity:0; transform:translateY(24px) scale(.96); }
.journey-map.visible .journey-stop { animation:journey-stop-in 1s cubic-bezier(.18,.85,.25,1) forwards; }
.journey-map.visible .stop-1{animation-delay:.35s}.journey-map.visible .stop-2{animation-delay:.7s}.journey-map.visible .stop-3{animation-delay:1.05s}.journey-map.visible .stop-4{animation-delay:1.4s}.journey-map.visible .stop-5{animation-delay:1.75s}
@keyframes journey-stop-in { 0%{opacity:0;transform:translateY(58px) scale(.86)} 70%{opacity:1;transform:translateY(-10px) scale(1.025)} 100%{opacity:1;transform:none} }
.journey-stop>span { position:absolute; right:16px; top:14px; color:rgba(47,107,87,.48); font-size:11px; font-weight:700; }
.journey-stop>i { width:46px; height:46px; position:relative; z-index:2; display:grid; place-items:center; margin:0 auto 17px; border-radius:50%; color:#fff; background:var(--green); font-size:19px; font-style:normal; box-shadow:0 7px 18px rgba(46,125,91,.24),0 0 0 7px rgba(217,233,224,.9); animation:journey-icon-float 3s ease-in-out infinite; }
@keyframes journey-icon-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
.journey-map.visible .stop-4>i { animation:journey-pulse 1.8s 1.45s ease-out 2; }
@keyframes journey-pulse { 50%{box-shadow:0 7px 18px rgba(46,125,91,.24),0 0 0 14px rgba(46,125,91,.13)} }
.journey-stop small { color:var(--green); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.journey-stop h3 { margin:5px 0 8px; font:400 31px/1.08 Georgia,serif; }
.journey-stop p { margin:0; color:var(--muted); font-size:16px; line-height:1.45; }
.journey-stop>div { text-align:center; }
.stop-1{left:0;top:0}.stop-2{right:1%;top:20%}.stop-3{left:25%;top:40%}.stop-4{right:0;top:60%}.stop-5{left:6%;top:80%}

/* Jornada em escala editorial ampla */
.process-block { max-width:none; min-height:auto; margin:0 auto; padding:58px clamp(24px,6vw,88px) 140px; grid-template-columns:1fr; gap:105px; }
.process-intro { position:static; width:100%; max-width:920px; margin:0 auto; }
.process-intro h2 { font-size:clamp(96px,8vw,148px); line-height:.86; }
.process-intro .section-kicker { margin-bottom:27px; font-size:24px; line-height:1.4; letter-spacing:.2em; }
.process-intro>p:not(.section-kicker) { max-width:700px; margin:42px 0; font-size:32px; line-height:1.5; }
.process-intro .text-link-dark { min-width:400px; margin-inline:auto; padding:22px 0; justify-content:center; font-size:22px; }
.journey-map { width:100%; max-width:1320px; min-height:1250px; margin:0 auto; }
.journey-path { inset:15px 0 0; height:1160px; }
.journey-track { stroke-width:4; }
.journey-travel { stroke-width:7; }
.journey-stop { width:min(440px,46%); min-height:255px; padding:34px 34px 30px; border-radius:28px; box-shadow:0 30px 65px rgba(24,43,33,.14); }
.journey-stop>span { right:22px; top:19px; font-size:16px; }
.journey-stop>i { width:62px; height:62px; margin-bottom:24px; font-size:26px; box-shadow:0 9px 24px rgba(46,125,91,.27),0 0 0 9px rgba(217,233,224,.9); }
.journey-stop small { font-size:14px; letter-spacing:.13em; }
.journey-stop h3 { margin:8px 0 11px; font-size:43px; }
.journey-stop p { font-size:21px; line-height:1.45; }
.stop-1{left:0;top:0}.stop-2{right:0;top:20%}.stop-3{left:23%;top:40%}.stop-4{right:0;top:61%}.stop-5{left:5%;top:81%}

/* Painel CEO */
.ceo-page { min-height:100vh; color:var(--ink); background:#eceeea; }
.ceo-sidebar { position:fixed; z-index:20; inset:0 auto 0 0; width:245px; padding:31px 25px 24px; display:flex; flex-direction:column; color:#fff; background:var(--ink); }
.ceo-sidebar .brand img { width:160px; }
.ceo-sidebar nav { margin-top:72px; display:grid; gap:6px; }
.ceo-sidebar nav button,.ceo-sidebar nav a { width:100%; min-height:45px; padding:0 13px; display:grid; grid-template-columns:25px 1fr; align-items:center; border:0; border-radius:10px; color:rgba(255,255,255,.52); background:transparent; font-size:10px; text-align:left; }
.ceo-sidebar nav button:hover,.ceo-sidebar nav a:hover,.ceo-sidebar nav button.active { color:#fff; background:rgba(255,255,255,.08); }
.ceo-sidebar nav i { color:var(--acid); font-style:normal; font-size:13px; }
.ceo-session { margin-top:auto; padding:16px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.11); border-radius:14px; background:rgba(255,255,255,.04); }
.ceo-session>span { align-self:flex-start; margin-bottom:11px; padding:4px 7px; border-radius:999px; color:var(--ink); background:var(--acid); font-size:7px; font-weight:800; letter-spacing:.1em; }
.ceo-session strong { font:400 15px/1.2 Georgia,serif; }
.ceo-session small { margin-top:4px; color:rgba(255,255,255,.45); font-size:8px; }
.ceo-session>i { margin-top:13px; color:#8eb8a6; font-size:7px; font-style:normal; letter-spacing:.12em; text-transform:uppercase; }
.ceo-main { margin-left:245px; padding:35px clamp(28px,4vw,64px) 70px; }
.ceo-topbar { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-bottom:29px; border-bottom:1px solid rgba(21,23,21,.11); }
.ceo-topbar p,.demand-header p { margin-bottom:5px; color:var(--green); font-size:7px; font-weight:700; letter-spacing:.15em; }
.ceo-topbar h1 { margin:0; font:400 28px/1.1 Georgia,serif; }
.ceo-actions { display:flex; align-items:center; gap:10px; }
.ceo-actions>span { padding:9px 12px; border-radius:999px; color:var(--green-deep); background:var(--mist); font-size:8px; font-weight:650; }
.ceo-actions>span i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:var(--green); }
.ceo-actions .button { min-height:39px; padding:0 16px; font-size:9px; }
.ceo-overview,.ceo-demands { scroll-margin-top:28px; }
.ceo-overview { padding:48px 0 30px; }
.ceo-section-title { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:25px; }
.ceo-section-title span { color:var(--green); font-size:7px; font-weight:800; letter-spacing:.16em; }
.ceo-section-title h2 { margin:7px 0 0; font:400 clamp(29px,3vw,43px)/1 Georgia,serif; letter-spacing:-.035em; }
.ceo-section-title>small { color:var(--muted); font-size:8px; text-transform:capitalize; }
.ceo-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; }
.ceo-metrics article { min-height:145px; position:relative; padding:20px; border:1px solid rgba(21,23,21,.08); border-radius:17px; background:#fff; }
.ceo-metrics article>span { color:var(--muted); font-size:8px; }
.ceo-metrics article>strong { display:block; margin:17px 0 3px; font:400 38px/1 Georgia,serif; }
.ceo-metrics article>small { color:var(--muted); font-size:7px; }
.ceo-metrics .metric-icon { position:absolute; right:15px; top:15px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:var(--green); background:var(--mist); font-style:normal; }
.ceo-metrics .metric-highlight { color:#fff; background:var(--green-deep); }
.ceo-metrics .metric-highlight>span,.ceo-metrics .metric-highlight>small { color:rgba(255,255,255,.56); }
.ceo-metrics .metric-highlight .metric-icon { color:var(--ink); background:var(--acid); }
.ceo-demands { padding:28px; border-radius:20px; background:#fff; box-shadow:0 18px 45px rgba(24,37,29,.07); }
.demand-header { display:flex; align-items:end; justify-content:space-between; gap:25px; }
.demand-header h2 { margin:0; font:400 25px/1.1 Georgia,serif; }
.demand-search { width:min(340px,42%); padding:0 13px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:999px; background:#f7f8f6; }
.demand-search input { width:100%; min-height:39px; border:0; outline:none; background:transparent; font-size:9px; }
.demand-tools { margin:23px 0 13px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.demand-filters { display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; }
.demand-filters button { flex:0 0 auto; padding:8px 11px; border:0; border-radius:999px; color:var(--muted); background:#f0f2ef; font-size:8px; }
.demand-filters button.active { color:#fff; background:var(--green); }
.demand-tools>span { color:var(--muted); font-size:8px; }
.demand-table-wrap { overflow-x:auto; }
.demand-table { width:100%; border-collapse:collapse; min-width:760px; }
.demand-table th { padding:11px 9px; color:#909491; border-bottom:1px solid var(--line); font-size:7px; font-weight:700; letter-spacing:.1em; text-align:left; text-transform:uppercase; }
.demand-table td { padding:14px 9px; border-bottom:1px solid rgba(21,23,21,.07); color:#525753; font-size:8px; }
.demand-table td:first-child strong,.demand-table td:nth-child(2) strong { display:block; color:var(--ink); font-size:9px; }
.demand-table td small { display:block; max-width:210px; margin-top:4px; color:#929792; font-size:7px; }
.demand-table td:last-child button { width:29px; height:29px; border:1px solid var(--line); border-radius:50%; background:#fff; }
.demand-table td:last-child button:hover { color:#fff; background:var(--green); }
.table-status { display:inline-flex; align-items:center; gap:5px; padding:6px 8px; border-radius:999px; color:#5b655e; background:#edf0ee; white-space:nowrap; }
.table-status i { width:5px; height:5px; border-radius:50%; background:#8a948d; }
.status-nova { color:#755d25; background:#f5ecd0; }.status-nova i{background:#c49630}.status-em-conversa { color:#2f5f73; background:#dfedf2; }.status-em-conversa i{background:#4a8da8}.status-em-producao { color:var(--green-deep); background:var(--mist); }.status-em-producao i{background:var(--green)}.status-concluida { color:#4e6656; background:#e7efe9; }.status-concluida i{background:#6c9879}
.empty-demands { padding:55px 20px; text-align:center; }.empty-demands i { display:grid; place-items:center; width:42px; height:42px; margin:0 auto 14px; border-radius:50%; color:var(--green); background:var(--mist); font-style:normal; }.empty-demands h3 { margin-bottom:7px; font:400 18px/1.2 Georgia,serif; }.empty-demands p { color:var(--muted); font-size:9px; }.empty-demands a { color:var(--green); font-size:9px; text-decoration:underline; }
.demand-dialog { width:min(580px,calc(100% - 28px)); max-height:90vh; padding:0; overflow:auto; border:0; border-radius:22px; color:var(--ink); background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.3); }.demand-dialog::backdrop { background:rgba(12,16,13,.7); backdrop-filter:blur(5px); }.dialog-top { padding:18px 22px; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); }.dialog-top span { color:var(--green); font-size:7px; font-weight:700; letter-spacing:.14em; }.dialog-top button { width:28px; height:28px; border:0; border-radius:50%; background:#eef0ed; font-size:17px; }.dialog-content { padding:27px; }.dialog-code { display:flex; align-items:center; justify-content:space-between; color:var(--green); font-size:8px; font-weight:700; }.dialog-code i { padding:6px 9px; border-radius:999px; background:var(--mist); font-style:normal; }.dialog-content h2 { margin:9px 0 13px; font:400 31px/1 Georgia,serif; }.dialog-idea { padding:16px; border-radius:12px; background:var(--paper); font:italic 14px/1.55 Georgia,serif; }.dialog-content dl { margin:18px 0; display:grid; grid-template-columns:1fr 1fr; gap:9px 20px; }.dialog-content dl div { padding-bottom:8px; display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid var(--line); font-size:8px; }.dialog-content dt { color:var(--muted); }.dialog-content dd { margin:0; text-align:right; font-weight:650; }.dialog-status-field { display:grid; gap:7px; }.dialog-status-field span { font-size:8px; font-weight:700; }.dialog-status-field select { padding:11px; border:1px solid var(--line); border-radius:10px; background:#f6f7f5; font-size:9px; }.dialog-actions { margin-top:18px; display:flex; gap:8px; }.dialog-actions .button { flex:1; min-height:44px; padding:0 13px; font-size:9px; }.dialog-content>small { display:block; margin-top:10px; color:var(--green); font-size:8px; }

@media (max-width:900px) {
  .process-block { min-height:auto; padding:65px 38px 110px; grid-template-columns:1fr; }.process-intro { position:static; }.journey-map { min-height:1120px; }
  .ceo-sidebar { position:static; width:100%; padding:20px; flex-direction:row; align-items:center; }.ceo-sidebar nav { margin:0 0 0 auto; display:flex; }.ceo-sidebar nav button,.ceo-sidebar nav a { width:42px; padding:0; display:grid; place-items:center; }.ceo-sidebar nav span,.ceo-session { display:none; }.ceo-main { margin-left:0; padding:25px 20px 60px; }.ceo-metrics { grid-template-columns:1fr 1fr; }
}
@media (max-width:1100px) {
  .quote-page .quote-heading,.quote-page .quote-shell,.quote-page .final-cta { width:calc(100vw - 36px); }
  .quote-page .quote-heading { grid-template-columns:1fr 1.25fr; }
  .quote-page .quote-heading>p:not(.section-kicker) { grid-column:2; }
  .quote-page .quote-shell { grid-template-columns:1fr; }
  .quote-page .quote-aside { display:none; }
}
@media (max-width:620px) {
  .brand img { width:175px; }.site-header.scrolled { padding:14px 20px; }.hero-products { transition:none; }
  .process-block { padding:52px 20px 90px; gap:65px; }.process-intro h2 { font-size:72px; }.process-intro .section-kicker { font-size:18px; }.process-intro>p:not(.section-kicker) { font-size:23px; }.process-intro .text-link-dark { min-width:0; width:100%; font-size:20px; }
  .journey-map { min-height:auto; padding-left:30px; display:grid; gap:18px; }.journey-map::before { content:""; position:absolute; left:10px; top:18px; bottom:18px; border-left:3px dashed rgba(47,107,87,.32); }.journey-path { display:none; }.journey-stop { position:relative!important; inset:auto!important; width:100%; min-height:230px; padding:30px; opacity:0; transform:translateX(15px); }.journey-stop::before { content:""; position:absolute; left:-27px; top:34px; width:10px; height:10px; border-radius:50%; background:var(--green); box-shadow:0 0 0 6px var(--ice); }.journey-map.visible .journey-stop { animation-name:journey-stop-mobile; }@keyframes journey-stop-mobile{to{opacity:1;transform:none}}
  .ceo-sidebar .brand img { width:135px; }.ceo-sidebar nav a:nth-last-child(2) { display:none; }.ceo-topbar { align-items:flex-start; flex-direction:column; }.ceo-actions { width:100%; justify-content:space-between; }.ceo-section-title { align-items:flex-start; flex-direction:column; }.ceo-metrics { grid-template-columns:1fr 1fr; gap:7px; }.ceo-metrics article { min-height:130px; padding:16px; }.ceo-demands { margin:0 -6px; padding:20px 14px; }.demand-header { align-items:flex-start; flex-direction:column; }.demand-search { width:100%; }.demand-tools { align-items:flex-start; flex-direction:column; }.demand-filters { width:calc(100vw - 55px); }.dialog-content dl { grid-template-columns:1fr; }.dialog-actions { flex-direction:column; }
}

/* VOLLUM universe identity cards */
.universes .editorial-heading p { font-size:clamp(76px,7vw,116px); line-height:.86; letter-spacing:-.065em; }
.universes .editorial-heading>span { max-width:420px; font-size:19px; line-height:1.55; }
.universe-showcase { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr); gap:16px; align-items:stretch; }
.universe-gift { min-height:620px; height:100%; position:relative; margin:0; overflow:hidden; border-radius:26px; background:var(--mist); box-shadow:0 28px 70px rgba(20,34,27,.12); }
.universe-gift::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 55%,rgba(8,18,14,.13)); }
.universe-gift img,.universe-gift video { width:100%; height:100%; display:block; object-fit:cover; object-position:center; transition:transform 1s cubic-bezier(.2,.75,.2,1); }
.universe-gift:hover img,.universe-gift:hover video { transform:scale(1.025); }
.universe-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.universe-card { min-height:300px; isolation:isolate; cursor:default; outline:none; border-radius:22px; transition:transform .5s cubic-bezier(.2,.75,.2,1),box-shadow .5s; }
.universe-card::before,.universe-card::after { content:none; }
.universe-custom,.universe-business,.universe-events,.universe-decor,.universe-health,.universe-electronic { color:var(--green-deep); background:var(--mist); }
.universe-card:hover,.universe-card:focus { transform:translateY(-7px); box-shadow:0 28px 65px rgba(20,34,27,.15); }
.universe-number { position:absolute; z-index:5; top:20px; right:21px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.12em; transition:color .3s; }
.universe-card:hover .universe-number,.universe-card:focus .universe-number { color:#fff; }
.universe-name,.universe-detail { position:absolute; z-index:2; inset:0; padding:22px; display:grid; place-content:center; text-align:center; }
.universe-name { transition:transform .45s,opacity .35s; }
.universe-name small { display:block; margin-bottom:10px; font-size:14px; font-weight:800; letter-spacing:.22em; }
.universe-name h3 { margin:0; font:400 clamp(29px,2.25vw,42px)/.92 Georgia,serif; letter-spacing:-.045em; text-align:center; }
.universe-detail { z-index:3; opacity:0; transform:translateY(16px); transition:opacity .4s,transform .5s cubic-bezier(.2,.75,.2,1); }
.universe-detail::before { content:""; position:absolute; z-index:-1; inset:0; background:#85827d; }
.universe-detail p { max-width:92%; margin:0 auto; color:#fff; font:400 clamp(19px,1.45vw,27px)/1.22 Georgia,serif; letter-spacing:-.025em; text-align:center; }
.universe-card:hover .universe-name,.universe-card:focus .universe-name { opacity:0; transform:translateY(-14px); }
.universe-card:hover .universe-detail,.universe-card:focus .universe-detail { opacity:1; transform:none; }

@media (max-width:1100px) {
  .universe-showcase { grid-template-columns:1fr; }
  .universe-gift { min-height:500px; order:-1; }
}
@media (max-width:760px) {
  .universe-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .universe-card { min-height:260px; }
}
@media (max-width:620px) {
  .universes .editorial-heading p { font-size:58px; }
  .universes .editorial-heading>span { font-size:16px; }
  .universe-gift { min-height:360px; height:360px; border-radius:20px; }
  .universe-gift img,.universe-gift video { object-position:56% center; }
  .universe-grid { grid-template-columns:1fr; }
  .universe-card { min-height:250px; }
  .universe-name small { font-size:13px; }
  .universe-name h3 { font-size:40px; }
  .universe-detail p { max-width:88%; font-size:24px; }
}


/* Loja */
.store-page { background:var(--ice); }
.store-header { position:absolute; max-width:none; }
.store-header .desktop-nav { gap:clamp(18px,2.4vw,36px); }
.store-hero { min-height:920px; padding:170px clamp(28px,6vw,96px) 105px; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(48px,6vw,105px); align-items:center; color:#fff; background:radial-gradient(circle at 77% 8%,rgba(46,125,91,.5),transparent 31%),linear-gradient(135deg,#111418 0%,#15171c 62%,#17231e 100%); }
.store-hero-copy { max-width:760px; }
.store-hero-copy .section-kicker { font-size:16px; letter-spacing:.2em; }
.store-hero h1 { margin:26px 0 40px; font:400 clamp(66px,6.35vw,108px)/.98 Georgia,serif; letter-spacing:-.05em; }
.store-hero h1 span,.store-hero h1 em { display:block; }
.store-hero h1 em { margin-top:.08em; color:var(--mist); font-style:italic; }
.store-hero-copy>p:not(.section-kicker) { max-width:780px; color:rgba(255,255,255,.8); font-size:clamp(25px,1.8vw,32px); line-height:1.5; }
.store-hero-copy .button { min-height:82px; margin-top:40px; padding:0 48px; font-size:21px; }
.store-hero-art { min-height:650px; position:relative; margin:0; overflow:hidden; border-radius:38px 38px 128px 38px; background:#283f35; box-shadow:0 45px 110px rgba(0,0,0,.42); }
.store-hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(8,11,10,.72)); pointer-events:none; }
.store-hero-art img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center; transition:transform 1.1s cubic-bezier(.2,.75,.2,1); }
.store-hero-art:hover img { transform:scale(1.035); }
.store-hero-art figcaption { position:absolute; z-index:2; left:30px; right:30px; bottom:28px; display:flex; align-items:end; justify-content:space-between; gap:18px; }
.store-hero-art figcaption span { color:var(--mist); font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.store-hero-art figcaption strong { max-width:300px; font:400 22px/1.2 Georgia,serif; text-align:right; }
.store-universes,.store-catalog { padding:105px clamp(24px,6vw,88px); }
.store-section-heading { max-width:780px; margin-bottom:42px; }
.store-section-heading h2,.catalog-head h2 { margin:0 0 13px; font:400 clamp(39px,4.6vw,66px)/1 Georgia,serif; letter-spacing:-.04em; }
.store-section-heading>p:last-child { color:var(--muted); font-size:16px; }
.store-universe-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.store-universe-card { min-height:360px; position:relative; padding:25px; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; text-align:left; border:0; border-radius:24px; color:var(--ink); background:#fff; box-shadow:0 18px 45px rgba(20,34,27,.06); transition:transform .4s cubic-bezier(.2,.75,.2,1),color .25s,background .25s; }
.store-universe-card::before { content:""; width:180px; height:180px; position:absolute; right:-65px; top:-65px; border-radius:50%; background:var(--card-tint,var(--mist)); opacity:.75; transition:transform .6s cubic-bezier(.2,.75,.2,1); }
.store-universe-card:hover,.store-universe-card.active { transform:translateY(-7px); color:#fff; background:var(--green-deep); }
.store-universe-card:hover::before,.store-universe-card.active::before { transform:scale(1.4); opacity:.18; }
.store-universe-card>span { position:relative; z-index:1; align-self:flex-end; color:var(--green); font-size:10px; font-weight:800; }
.store-universe-card:hover>span,.store-universe-card.active>span { color:var(--mist); }
.store-universe-card small { position:relative; z-index:1; margin-top:38px; color:var(--green); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.store-universe-card:hover small,.store-universe-card.active small { color:var(--mist); }
.store-universe-card h3 { position:relative; z-index:1; margin:10px 0 16px; font:400 31px/.92 Georgia,serif; letter-spacing:-.03em; }
.store-universe-card p { position:relative; z-index:1; max-width:250px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.store-universe-card:hover p,.store-universe-card.active p { color:rgba(255,255,255,.68); }
.store-universe-card b { position:relative; z-index:1; margin-top:auto; padding-top:22px; font-size:10px; font-weight:700; }
.store-universe-card.business { --card-tint:#9da3ad; }.store-universe-card.events { --card-tint:#d9e9e0; }.store-universe-card.decor { --card-tint:#2e7d5b; }.store-universe-card.health { --card-tint:#b7d8c6; }.store-universe-card.electronic { --card-tint:#6e9282; }
.store-campaigns { padding:105px clamp(24px,6vw,88px); overflow:hidden; background:#eef2ef; }
.campaign-heading { margin-bottom:34px; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.campaign-heading h2 { margin:0; font:400 clamp(40px,4.8vw,68px)/1 Georgia,serif; letter-spacing:-.045em; }
.campaign-controls { display:flex; align-items:center; gap:10px; }
.campaign-controls>span { margin-right:8px; color:var(--muted); font-size:13px; font-weight:750; letter-spacing:.13em; }
.campaign-controls button { width:50px; height:50px; display:grid; place-items:center; border:1px solid rgba(21,23,28,.16); border-radius:50%; background:transparent; }
.campaign-controls button:hover { color:#fff; border-color:var(--green); background:var(--green); }
.arrow-left { transform:rotate(180deg); }
.campaign-viewport { overflow:hidden; border-radius:30px; box-shadow:0 30px 75px rgba(20,34,27,.14); }
.campaign-track { display:flex; transition:transform .7s cubic-bezier(.22,.8,.2,1); }
.campaign-banner { min-width:100%; min-height:clamp(470px,50vw,680px); position:relative; overflow:hidden; color:#fff; background:var(--ink); }
.campaign-banner>img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transform:scale(1.02); transition:transform 7s ease; }
.campaign-banner.is-active>img { transform:scale(1.09); }
.campaign-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,14,12,.91) 0%,rgba(9,14,12,.62) 45%,rgba(9,14,12,.08) 78%),linear-gradient(0deg,rgba(0,0,0,.34),transparent 50%); }
.campaign-copy { width:min(650px,70%); position:absolute; z-index:2; left:clamp(28px,6vw,92px); bottom:clamp(35px,7vw,88px); }
.campaign-copy small { color:#b9dfcc; font-size:14px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.campaign-copy h3 { margin:18px 0; font:400 clamp(45px,5.5vw,78px)/.95 Georgia,serif; letter-spacing:-.045em; }
.campaign-copy p { max-width:570px; margin:0 0 28px; color:rgba(255,255,255,.76); font-size:18px; line-height:1.55; }
.campaign-copy button,.campaign-copy a { min-height:58px; padding:0 25px; display:inline-flex; align-items:center; gap:14px; border:0; border-radius:999px; color:var(--ink); background:var(--mist); font-size:15px; font-weight:750; }
.campaign-copy button:hover,.campaign-copy a:hover { color:#fff; background:var(--green); }
.campaign-banner>b { position:absolute; z-index:2; top:30px; right:35px; font-size:14px; letter-spacing:.15em; }
.campaign-dots { margin-top:22px; display:flex; justify-content:center; gap:9px; }
.campaign-dots button { width:10px; height:10px; padding:0; border:0; border-radius:99px; background:#bdc7c1; transition:width .3s ease,background .3s ease; }
.campaign-dots button.active { width:42px; background:var(--green); }
.store-catalog { scroll-margin-top:30px; background:#fff; }
.catalog-head { display:flex; align-items:end; justify-content:space-between; gap:35px; }
.catalog-disclaimer { max-width:680px; margin:14px 0 0; color:var(--muted); font-size:16px; line-height:1.55; }
.catalog-search { width:min(360px,36vw); display:flex; align-items:center; gap:8px; padding:0 16px; border:1px solid var(--line); border-radius:999px; background:var(--ice); }
.catalog-search input { width:100%; min-height:48px; border:0; outline:0; background:transparent; font-size:14px; }
.catalog-toolbar { margin:37px 0 25px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.catalog-filters { display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; }
.catalog-filters button { flex:0 0 auto; padding:11px 17px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fff; font-size:12px; }
.catalog-filters button.active { color:#fff; border-color:var(--green); background:var(--green); }
.catalog-toolbar>span { color:var(--muted); font-size:12px; white-space:nowrap; }
.store-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.store-product-card { overflow:hidden; border:1px solid rgba(21,23,28,.09); border-radius:22px; background:var(--ice); transition:transform .4s cubic-bezier(.2,.75,.2,1),box-shadow .4s; }
.store-product-card:hover { transform:translateY(-6px); box-shadow:0 24px 55px rgba(20,34,27,.12); }
.store-product-image { aspect-ratio:1/.77; position:relative; overflow:hidden; background:var(--mist); }
.store-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.75,.2,1); }
.store-product-card:hover img { transform:scale(1.04); }
.store-product-image>span { position:absolute; top:14px; left:14px; padding:7px 10px; border-radius:999px; color:#fff; background:var(--green); font-size:9px; font-weight:800; letter-spacing:.09em; }
.store-product-info { padding:22px; }
.store-product-info>small { color:var(--green); font-size:9px; font-weight:800; letter-spacing:.13em; }
.store-product-info h3 { margin:7px 0 8px; font:400 26px/1.05 Georgia,serif; }
.store-product-info>p { min-height:42px; color:var(--muted); font-size:13px; line-height:1.55; }
.product-colors { margin-top:16px; display:flex; align-items:center; gap:7px; }
.product-colors i { width:20px; height:20px; display:block; border:2px solid #fff; border-radius:50%; background:var(--product-color); box-shadow:0 0 0 1px rgba(21,23,28,.14); }
.product-colors span { margin-left:3px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.product-bottom { margin-top:22px; padding-top:17px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid var(--line); }
.product-bottom strong { font-size:13px; }
.product-bottom a { display:inline-flex; align-items:center; gap:8px; padding:10px 13px; border-radius:999px; color:#fff; background:var(--ink); font-size:11px; }
.product-bottom a:hover { background:var(--green); }
.product-card-actions { display:flex; align-items:center; gap:7px; }
.product-card-actions button { padding:10px 13px; border:1px solid var(--green); border-radius:999px; color:var(--green-deep); background:transparent; font-size:11px; font-weight:700; }
.product-card-actions button:hover { color:#fff; background:var(--green); }
.product-viewer { width:min(1180px,calc(100vw - 40px)); height:min(760px,calc(100dvh - 40px)); max-width:none; max-height:none; padding:0; overflow:hidden; border:0; border-radius:30px; color:var(--ink); background:#fff; box-shadow:0 40px 120px rgba(4,13,9,.35); }
.product-viewer::backdrop { background:rgba(10,18,14,.72); backdrop-filter:blur(9px); }
.product-viewer[open] { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.7fr); animation:viewerIn .45s cubic-bezier(.2,.8,.2,1); }
@keyframes viewerIn { from { opacity:0; transform:translateY(20px) scale(.98); } }
.viewer-open { overflow:hidden; }
.viewer-close { width:44px; height:44px; position:absolute; z-index:8; top:18px; right:18px; border:1px solid rgba(21,23,28,.13); border-radius:50%; color:var(--ink); background:rgba(255,255,255,.88); font-size:27px; line-height:1; }
.viewer-stage { min-width:0; position:relative; overflow:hidden; background:radial-gradient(circle at 50% 40%,#eef5f0 0,#d9e9e0 46%,#c7dbcf 100%); }
.viewer-stage model-viewer { width:100%; height:100%; min-height:600px; --poster-color:transparent; }
.viewer-stage::before { content:"VOLLUM / 3D"; position:absolute; z-index:2; top:24px; left:28px; color:rgba(36,95,71,.52); font-size:10px; font-weight:800; letter-spacing:.2em; }
.viewer-hint { position:absolute; z-index:3; left:50%; bottom:22px; transform:translateX(-50%); padding:10px 15px; border-radius:99px; color:#fff; background:rgba(21,23,28,.76); font-size:11px; white-space:nowrap; }
.viewer-ar { position:absolute; left:22px; bottom:21px; padding:12px 16px; border:0; border-radius:999px; color:#fff; background:var(--green-deep); font-size:12px; font-weight:750; }
.viewer-progress { width:46%; height:3px; position:absolute; left:27%; bottom:0; overflow:hidden; border-radius:4px; background:rgba(36,95,71,.18); }
.viewer-progress i { display:block; width:60%; height:100%; background:var(--green); animation:viewerLoad 1.2s ease-in-out infinite alternate; }
@keyframes viewerLoad { to { transform:translateX(70%); } }
.viewer-details { padding:clamp(36px,4vw,62px); display:flex; flex-direction:column; justify-content:space-between; gap:28px; }
.viewer-details h2 { margin:13px 0 16px; font:400 clamp(39px,4vw,59px)/.94 Georgia,serif; letter-spacing:-.05em; }
.viewer-details>div>p:not(.section-kicker) { color:var(--muted); font-size:15px; line-height:1.65; }
.viewer-config fieldset { margin:0 0 28px; padding:0; border:0; }
.viewer-config legend { margin-bottom:13px; font-size:13px; font-weight:750; }
.viewer-swatches { display:flex; gap:10px; }
.viewer-swatches button { width:40px; height:40px; position:relative; border:1px solid rgba(21,23,28,.15); border-radius:50%; background:var(--swatch); box-shadow:inset 0 0 0 4px #fff; }
.viewer-swatches button.active::after { content:"✓"; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-weight:800; text-shadow:0 1px 3px rgba(0,0,0,.45); }
.viewer-config dl { margin:0; border-top:1px solid var(--line); }
.viewer-config dl div { padding:13px 0; display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); font-size:13px; }
.viewer-config dt { color:var(--muted); }.viewer-config dd { margin:0; font-weight:700; }
.viewer-actions { display:grid; gap:12px; }
.viewer-actions .button { width:100%; }
.viewer-camera-button { color:#fff; background:var(--green); box-shadow:0 12px 30px rgba(46,125,91,.22); }
.viewer-camera-button:hover { background:var(--green-deep); }
.camera-icon { width:25px; height:25px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:18px; }
.viewer-actions small { color:var(--muted); font-size:11px; line-height:1.45; text-align:center; }
.store-empty { padding:75px 25px; text-align:center; border:1px dashed var(--line); border-radius:24px; background:var(--ice); }
.store-empty i { width:50px; height:50px; margin:0 auto 16px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); font:italic 22px/1 Georgia,serif; }
.store-empty h3 { margin-bottom:8px; font:400 26px/1.1 Georgia,serif; }.store-empty p { margin-bottom:23px; color:var(--muted); }
.store-error { margin-bottom:25px; padding:17px 20px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; border-radius:14px; color:#315542; background:var(--mist); font-size:13px; }
.store-error span { color:#507061; }.store-error a { font-weight:800; }
.catalog-no-results { grid-column:1/-1; padding:55px; display:grid; gap:7px; text-align:center; border-radius:20px; background:var(--ice); }.catalog-no-results span { color:var(--muted); font-size:13px; }
.store-note { padding:110px clamp(24px,6vw,88px); text-align:center; color:#fff; background:var(--green-deep); }
.store-note h2 { margin:0 auto 20px; font:400 clamp(41px,5.4vw,75px)/.98 Georgia,serif; letter-spacing:-.045em; }
.store-note>p:not(.section-kicker) { max-width:650px; margin:0 auto 27px; color:rgba(255,255,255,.66); font-size:16px; line-height:1.6; }
.rights-notice { padding:30px clamp(24px,6vw,88px); display:flex; align-items:flex-start; justify-content:center; gap:16px; color:#234d3b; background:#dcece4; border-top:1px solid rgba(46,125,91,.16); }
.rights-notice>span { width:32px; height:32px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); font-weight:800; }
.rights-notice>div { max-width:920px; }
.rights-notice strong { display:block; margin:1px 0 6px; font-size:15px; }
.rights-notice p { margin:0; color:#507061; font-size:14px; line-height:1.6; }

/* Produtos no Painel CEO */
.product-admin-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:22px; }
.product-admin-card { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#f7f8f6; }
.product-admin-card figure { aspect-ratio:1/.58; position:relative; margin:0; overflow:hidden; background:var(--mist); }
.product-admin-card figure img { width:100%; height:100%; object-fit:cover; }
.product-admin-card figure span { position:absolute; top:10px; left:10px; padding:5px 8px; border-radius:999px; color:#fff; background:var(--green); font-size:7px; font-weight:800; }
.product-admin-card.inactive figure { filter:grayscale(1); opacity:.55; }
.product-admin-card>div { padding:15px; }
.product-admin-card small { color:var(--green); font-size:7px; font-weight:800; letter-spacing:.1em; }
.product-admin-card h3 { margin:5px 0 6px; font:400 18px/1.1 Georgia,serif; }
.product-admin-card p { min-height:30px; margin-bottom:11px; color:var(--muted); font-size:8px; line-height:1.45; }
.product-admin-card footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.product-admin-card footer strong { font-size:9px; }.product-admin-card footer button { padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:#fff; font-size:8px; }
.product-checks { margin:18px 0; display:flex; flex-wrap:wrap; gap:12px; }
.product-checks label { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:9px; }.product-checks input { accent-color:var(--green); }
.product-image-preview { min-height:90px; margin-top:12px; display:grid; place-items:center; overflow:hidden; border-radius:12px; background:var(--mist); }
.product-image-preview img { width:100%; max-height:230px; object-fit:cover; }.product-image-preview span { color:var(--green-deep); font-size:9px; }

@media (max-width:1000px) {
  .store-hero { min-height:auto; grid-template-columns:1fr; padding-top:165px; }.store-hero-copy { max-width:900px; }.store-hero h1 span,.store-hero h1 em { white-space:nowrap; }.store-hero-art { min-height:560px; }
  .store-universe-grid { grid-template-columns:1fr 1fr; }.store-universe-card { min-height:310px; }
  .store-product-grid,.product-admin-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .store-hero { padding:132px 20px 70px; gap:44px; }.store-hero-copy .section-kicker { font-size:14px; }.store-hero h1 { font-size:clamp(49px,15vw,64px); line-height:.98; }.store-hero h1 span,.store-hero h1 em { white-space:normal; }.store-hero-copy>p:not(.section-kicker) { font-size:22px; line-height:1.5; }.store-hero-copy>p:not(.section-kicker) br { display:none; }.store-hero-copy .button { width:100%; min-height:72px; padding:0 30px; font-size:19px; }.store-hero-art { min-height:470px; border-radius:24px 24px 78px 24px; }.store-hero-art figcaption { left:20px; right:20px; bottom:19px; align-items:flex-start; flex-direction:column; }.store-hero-art figcaption strong { max-width:270px; font-size:19px; text-align:left; }
  .store-universes,.store-catalog,.store-campaigns { padding:72px 20px; }.store-universe-grid { grid-template-columns:1fr; }.store-universe-card { min-height:290px; }
  .campaign-heading { align-items:flex-start; flex-direction:column; }.campaign-controls { width:100%; justify-content:flex-end; }.campaign-viewport { border-radius:22px; }.campaign-banner { min-height:610px; }.campaign-shade { background:linear-gradient(0deg,rgba(9,14,12,.94) 0%,rgba(9,14,12,.64) 58%,rgba(9,14,12,.12) 100%); }.campaign-copy { width:auto; left:24px; right:24px; bottom:34px; }.campaign-copy small { font-size:12px; }.campaign-copy h3 { font-size:46px; }.campaign-copy p { font-size:16px; }.campaign-copy button,.campaign-copy a { width:100%; justify-content:center; }.campaign-banner>b { top:22px; right:22px; }
  .catalog-head { align-items:flex-start; flex-direction:column; }.catalog-search { width:100%; }.catalog-toolbar { align-items:flex-start; flex-direction:column; }.catalog-filters { width:calc(100vw - 40px); }.store-product-grid,.product-admin-grid { grid-template-columns:1fr; }
  .store-error { grid-template-columns:1fr; }.store-note { padding:78px 20px; }.store-note h2 { font-size:43px; }
  .rights-notice { padding:25px 20px; }.rights-notice p { font-size:13px; }
  .universe-copy>a { grid-column:2; grid-row:1/4; }
  .contact-actions { width:100%; flex-direction:column; align-items:stretch; }.contact-actions .button { width:100%; }
  .floating-whatsapp { bottom:70px; right:12px; }.store-page .floating-whatsapp { bottom:16px; }
  .portal-header-actions .portal-contact-link { display:none; }
  .product-bottom { align-items:flex-start; flex-direction:column; }.product-card-actions { width:100%; }.product-card-actions button,.product-card-actions a { flex:1; justify-content:center; }
  .product-viewer { width:100vw; height:100dvh; border-radius:0; }.product-viewer[open] { grid-template-columns:1fr; grid-template-rows:45dvh 1fr; overflow:auto; }.viewer-stage model-viewer { min-height:45dvh; }.viewer-details { padding:28px 20px; }.viewer-details h2 { font-size:40px; }.viewer-hint { bottom:13px; font-size:9px; }.viewer-ar { left:14px; bottom:12px; }.viewer-close { top:12px; right:12px; }
}

/* Sobre: imagem limpa e princípios interativos */
.quality-block { padding-bottom:125px; display:grid; grid-template-columns:1fr; gap:22px; }
.about-panel { order:1; min-height:620px; padding:0; border-radius:30px; background:var(--ink); }
.about-panel .about-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:none; transform:scale(1.002); transition:transform 1.1s cubic-bezier(.2,.75,.2,1); }
.about-panel:hover .about-photo { transform:scale(1.025); }
.quality-panel { order:2; min-height:auto; padding:clamp(58px,6vw,92px); color:var(--ink); border:1px solid rgba(47,107,87,.12); border-radius:30px; background:#f7f9f7; }
.quality-panel .section-kicker { color:var(--green); text-align:center; }
.quality-panel h2 { max-width:1050px; margin:0 auto; font-size:clamp(72px,7vw,112px); line-height:.9; text-align:center; }
.quality-panel h2 em { color:var(--green); }
.quality-intro { max-width:820px; margin:36px auto 60px; color:var(--muted); font-size:25px; line-height:1.55; text-align:center; }
.quality-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.quality-list article { min-height:320px; padding:36px; position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:0; overflow:hidden; border:1px solid rgba(47,107,87,.13); border-radius:24px; color:var(--green-deep); background:var(--mist); cursor:default; outline:none; transition:transform .45s cubic-bezier(.2,.75,.2,1),color .4s,background .4s,box-shadow .45s; }
.quality-list article:last-child { border-bottom:1px solid rgba(47,107,87,.13); }
.quality-list article:hover,.quality-list article:focus { padding:36px; color:#fff; background:var(--green-deep); transform:translateY(-8px); box-shadow:0 25px 55px rgba(20,44,34,.18); }
.quality-list article>span { position:absolute; top:30px; left:36px; color:var(--green); font-size:16px; transition:color .35s; }
.quality-list article h3 { margin:0; font-size:clamp(44px,3.8vw,60px); line-height:.98; transition:transform .45s; }
.quality-list article p { max-height:0; margin:0; overflow:hidden; color:rgba(255,255,255,.88); font-size:25px; line-height:1.45; opacity:0; transform:translateY(16px); transition:max-height .5s,margin .4s,opacity .35s,transform .45s; }
.quality-list article i { width:46px; height:46px; position:absolute; top:26px; right:28px; color:var(--green-deep); border-color:rgba(47,107,87,.22); background:rgba(255,255,255,.38); font-size:19px; }
.quality-list article:hover>span,.quality-list article:focus>span { color:var(--acid); }
.quality-list article:hover h3,.quality-list article:focus h3 { transform:translateY(-8px); }
.quality-list article:hover p,.quality-list article:focus p { max-height:180px; margin-top:16px; opacity:1; transform:none; }
.quality-list article:hover i,.quality-list article:focus i { color:var(--green-deep); background:var(--mist); transform:rotate(45deg); }

@media (max-width:900px) {
  .about-panel { min-height:520px; border-radius:26px; }
  .quality-panel { padding:60px 32px; border-radius:26px; }
  .quality-list { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .quality-block { padding:0 14px 80px; gap:14px; }
  .about-panel { min-height:390px; padding:0; border-radius:21px; }
  .quality-panel { padding:48px 20px; border-radius:21px; }
  .quality-panel h2 { font-size:58px; }
  .quality-intro { margin:26px auto 40px; font-size:20px; }
  .quality-list { margin-top:0; grid-template-columns:1fr; gap:10px; }
  .quality-list article,.quality-list article:hover,.quality-list article:focus { min-height:260px; padding:28px!important; transform:none; }
  .quality-list article h3 { font-size:42px; }
  .quality-list article p { max-height:190px; margin-top:14px; color:var(--muted); font-size:21px; opacity:1; transform:none; }
  .quality-list article:hover p,.quality-list article:focus p { color:rgba(255,255,255,.78); }
}

/* Área do Cliente — demonstração interativa */
.tracking-teaser { position:relative; isolation:isolate; width:calc(100% - (2 * clamp(24px,6vw,88px))); min-height:clamp(680px,66vw,1025px); margin-bottom:125px; padding:clamp(68px,7vw,118px); grid-template-columns:.78fr 1.22fr; gap:clamp(65px,7vw,120px); overflow:hidden; border:0; color:#fff; background:radial-gradient(circle at 14% 8%,rgba(127,194,163,.2),transparent 34%),linear-gradient(135deg,#0e2b22 0%,#173f34 52%,#0f211b 100%); box-shadow:0 36px 90px rgba(16,40,31,.22); }
.tracking-teaser::before { content:""; position:absolute; z-index:-1; width:520px; height:520px; left:-250px; bottom:-350px; border:1px solid rgba(217,233,224,.14); border-radius:50%; box-shadow:0 0 0 70px rgba(217,233,224,.03),0 0 0 145px rgba(217,233,224,.025); }
.tracking-copy .section-kicker { color:var(--acid); }
.tracking-copy .section-kicker { font-size:16px; }
.tracking-copy h2 { font-size:clamp(76px,6.7vw,118px); line-height:.88; }
.tracking-copy h2 em { color:var(--mist); font-weight:400; }
.tracking-copy>p:not(.section-kicker) { max-width:650px; margin:38px 0; color:rgba(255,255,255,.78); font-size:24px; line-height:1.65; }
.tracking-benefits { margin:0 0 46px; display:flex; flex-wrap:wrap; gap:14px; }
.tracking-benefits span { min-height:78px; padding:0 32px; display:inline-flex; align-items:center; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:rgba(255,255,255,.82); background:rgba(255,255,255,.055); font-size:24px; }
.tracking-copy .button-dark { min-height:98px; padding:0 42px; color:var(--green-deep); background:var(--acid); box-shadow:0 12px 30px rgba(0,0,0,.16); font-size:26px; }
.tracking-copy .button-dark:hover { background:#fff; }
.portal-demo { overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:28px; color:var(--ink); background:rgba(249,251,249,.97); box-shadow:0 28px 70px rgba(0,0,0,.26); transform:perspective(1600px) rotateY(-2deg); transform-style:preserve-3d; backface-visibility:hidden; transition:transform .7s cubic-bezier(.2,.75,.2,1); }
.tracking-teaser.visible .portal-demo { animation:portal-demo-360 1.55s cubic-bezier(.2,.75,.2,1) both; }
@keyframes portal-demo-360 {
  0% { opacity:0; transform:perspective(1600px) rotateY(-360deg) scale(.82); }
  62% { opacity:1; transform:perspective(1600px) rotateY(18deg) scale(1.02); }
  100% { opacity:1; transform:perspective(1600px) rotateY(-2deg) scale(1); }
}
.tracking-teaser:hover .portal-demo { transform:perspective(1400px) rotateY(0); }
.portal-demo-head { min-height:106px; padding:23px 29px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(21,23,21,.08); }
.portal-demo-head>div { display:flex; align-items:center; gap:13px; }
.portal-demo-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; color:#fff; background:var(--green); font:italic 24px/1 Georgia,serif; }
.portal-demo-head p { margin:0; display:flex; flex-direction:column; }
.portal-demo-head small { color:var(--green); font-size:12px; font-weight:800; letter-spacing:.16em; }
.portal-demo-head strong { margin-top:5px; font:400 22px/1.1 Georgia,serif; }
.portal-secure { padding:10px 14px; border-radius:999px; color:var(--green); background:var(--mist); font-size:13px; font-weight:700; }
.portal-demo-progress { padding:28px 29px 27px; }
.portal-demo-progress>div:first-child { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:15px; }
.portal-demo-progress strong { color:var(--green); font-size:18px; }
.portal-demo-progress>div:last-child { height:8px; margin-top:11px; overflow:hidden; border-radius:99px; background:#dfe6e2; }
.portal-demo-progress i { display:block; width:68%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--green),#5fb58e); box-shadow:0 0 18px rgba(46,125,91,.28); transition:width .7s cubic-bezier(.2,.75,.2,1); }
.portal-demo-main { padding:0 29px 29px; display:grid; grid-template-columns:.82fr 1.18fr; gap:18px; }
.portal-stages { display:grid; gap:7px; }
.portal-stages button { width:100%; min-height:94px; padding:15px 16px; display:grid; grid-template-columns:38px 1fr; grid-template-rows:auto auto; column-gap:13px; align-items:center; border:1px solid transparent; border-radius:15px; color:var(--ink); background:transparent; text-align:left; transition:background .3s,border-color .3s,transform .3s; }
.portal-stages button:hover { transform:translateX(5px); background:#eef4f0; }
.portal-stages button.active { border-color:rgba(46,125,91,.19); background:var(--mist); }
.portal-stages button>span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:var(--muted); background:#e5ebe7; font-size:12px; font-weight:800; }
.portal-stages button.active>span { color:#fff; background:var(--green); box-shadow:0 0 0 5px rgba(46,125,91,.1); }
.portal-stages strong { align-self:end; font-size:17px; }
.portal-stages small { align-self:start; margin-top:4px; color:var(--muted); font-size:14px; }
.portal-stage-detail { min-height:410px; padding:35px; display:flex; flex-direction:column; border-radius:20px; color:#fff; background:linear-gradient(145deg,#2e7d5b 0%,#174a39 100%); box-shadow:0 18px 38px rgba(29,86,64,.19); }
.portal-stage-detail>span { color:var(--acid); font-size:12px; font-weight:800; letter-spacing:.16em; }
.portal-stage-detail h3 { margin:15px 0 12px; font:400 clamp(40px,3.2vw,54px)/1 Georgia,serif; letter-spacing:-.035em; }
.portal-stage-detail>p { margin:0; color:rgba(255,255,255,.78); font-size:19px; line-height:1.55; }
.portal-detail-cards { margin:25px 0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.portal-detail-cards>span { padding:13px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.07); }
.portal-detail-cards small { color:rgba(255,255,255,.58); font-size:10px; letter-spacing:.1em; }
.portal-detail-cards b { margin-top:7px; font-size:14px; }
.portal-stage-detail footer { margin-top:auto; display:flex; flex-wrap:wrap; gap:8px; }
.portal-stage-detail footer span { padding:10px 13px; border-radius:999px; color:var(--green-deep); background:var(--mist); font-size:12px; font-weight:700; }

@media (prefers-reduced-motion:reduce) {
  .tracking-teaser.visible .portal-demo { animation:none; }
}

@media (max-width:1050px) {
  .tracking-teaser { width:calc(100% - 36px); min-height:auto; grid-template-columns:1fr; }
  .tracking-copy { max-width:800px; text-align:center; }
  .tracking-copy>p:not(.section-kicker) { margin-inline:auto; }
  .tracking-benefits { justify-content:center; }
}
@media (max-width:620px) {
  .tracking-teaser { width:auto; margin:0 14px 80px; padding:48px 18px 18px; gap:40px; border-radius:25px; }
  .tracking-copy h2 { font-size:54px; }
  .tracking-copy>p:not(.section-kicker) { font-size:17px; }
  .tracking-benefits { gap:6px; }
  .tracking-benefits { display:grid; grid-template-columns:1fr; }
  .tracking-benefits span { width:100%; min-height:68px; padding:0 18px; justify-content:center; font-size:19px; }
  .tracking-copy .button-dark { width:100%; min-height:82px; padding:0 22px; justify-content:center; font-size:22px; }
  .quote-page .quote-heading,.quote-page .quote-shell,.quote-page .final-cta { width:auto; }
  .quote-page .quote-heading { grid-template-columns:1fr; }
  .quote-page .quote-heading>p:not(.section-kicker) { grid-column:auto; font-size:17px; }
  .quote-page .quote-heading h2 { font-size:52px; }
  .quote-page .quote-main { min-height:720px; padding:34px 20px; }
  .quote-page .form-heading h3 { font-size:38px; }
  .quote-page .form-heading p { font-size:18px; }
  .quote-page .option-card { min-height:128px; padding:16px; grid-template-columns:36px 1fr; }
  .quote-page .option-card .option-icon { width:36px; height:36px; }
  .quote-page .option-card strong { font-size:18px; }
  .quote-page .option-card small { font-size:15px; }
  .quote-page .field>span,.quote-page .chip-field legend { font-size:17px; }
  .quote-page .field input,.quote-page .field select,.quote-page .field textarea { font-size:17px; }
  .quote-page .review-title,.quote-page .review-card dl div { font-size:15px; }
  .quote-page .review-idea { font-size:20px; }
  .quote-page .form-actions { grid-template-columns:1fr; }
  .quote-page .submit-help { font-size:15px; }
  .quote-page .form-actions .button { width:100%; }
  .portal-demo { border-radius:21px; transform:none; }
  .portal-demo-head { padding:16px; }
  .portal-secure { display:none; }
  .portal-demo-progress { padding:19px 16px; }
  .portal-demo-main { padding:0 16px 16px; grid-template-columns:1fr; }
  .portal-stages { grid-template-columns:1fr 1fr; }
  .portal-stages button { min-height:92px; grid-template-columns:30px 1fr; padding:10px; }
  .portal-stages button:hover { transform:none; }
  .portal-stage-detail { min-height:310px; padding:24px; }
}

/* Formulário de orçamento — tipografia ampliada para leitura confortável */
.quote-page .step-dot { font-size:18px; }
.quote-page .step-dot span { width:50px; height:50px; font-size:20px; }
.quote-page .form-heading>span { font-size:19px; }
.quote-page .form-heading h3 { font-size:clamp(52px,4.6vw,74px); }
.quote-page .form-heading p { font-size:23px; }
.quote-page .option-card strong { font-size:25px; }
.quote-page .option-card small { font-size:19px; }
.quote-page .field>span,
.quote-page .chip-field legend { font-size:22px; }
.quote-page .field input,
.quote-page .field select,
.quote-page .field textarea { min-height:72px; font-size:21px; }
.quote-page .idea-field textarea { font-size:23px; }
.quote-page .chip-field label span { font-size:19px; }
.quote-page .upload-field strong { font-size:24px; }
.quote-page .upload-field small { font-size:18px; }
.quote-page .review-title { font-size:20px; }
.quote-page .review-title button { font-size:18px; }
.quote-page .review-idea { font-size:28px; }
.quote-page .review-card dl div { font-size:20px; }
.quote-page .consent-field { font-size:20px; }
.quote-page .field-error { font-size:17px; }
.quote-page .submit-help { font-size:18px; }
.quote-page .form-actions .button { min-height:70px; font-size:19px; }

@media (max-width:620px) {
  .quote-page .step-dot { font-size:15px; }
  .quote-page .step-dot span { width:42px; height:42px; font-size:17px; }
  .quote-page .form-heading>span { font-size:17px; }
  .quote-page .form-heading h3 { font-size:42px; }
  .quote-page .form-heading p { font-size:19px; }
  .quote-page .option-card strong { font-size:20px; }
  .quote-page .option-card small { font-size:16px; }
  .quote-page .field>span,
  .quote-page .chip-field legend { font-size:18px; }
  .quote-page .field input,
  .quote-page .field select,
  .quote-page .field textarea { min-height:64px; font-size:18px; }
  .quote-page .review-title { font-size:16px; }
  .quote-page .review-title button { font-size:15px; }
  .quote-page .review-idea { font-size:23px; }
  .quote-page .review-card dl div { font-size:17px; }
  .quote-page .consent-field { font-size:17px; }
  .quote-page .form-actions .button { min-height:64px; font-size:17px; }
}

/* Orçamento — separação cromática por áreas */
.quote-page .site-header {
  position:absolute;
  max-width:none;
  padding-top:24px;
  padding-bottom:24px;
  background:var(--ink);
}
.quote-page .quote-section {
  padding-top:clamp(155px,12vw,190px);
  color:var(--ink);
  background:#ecefed;
}
.quote-page .quote-heading {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  margin-bottom:48px;
  text-align:center;
}
.quote-page .quote-heading .section-kicker { color:var(--green); }
.quote-page .quote-heading h2 {
  margin:0;
  color:var(--ink);
  font-size:clamp(62px,6vw,96px);
  line-height:.94;
}
.quote-page .quote-shell {
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);
  background:#fff;
}
.quote-page .quote-aside {
  display:flex;
  padding:54px 44px;
  color:#fff;
  background:var(--ink);
}
.quote-page .quote-aside>p { color:#fff; }
.quote-page .quote-aside>small { color:rgba(255,255,255,.58); }
.quote-page .aside-object span { background:var(--green); }
.quote-page .final-cta {
  width:100vw;
  max-width:none;
  margin:100px calc(50% - 50vw) 0;
  padding-inline:clamp(24px,5vw,76px);
  color:#fff;
  background:var(--green);
}
.quote-page .final-cta .section-kicker,
.quote-page .final-cta>p:not(.section-kicker) { color:rgba(255,255,255,.72); }

@media (max-width:900px) {
  .quote-page .quote-shell { grid-template-columns:1fr; }
  .quote-page .quote-aside { display:none; }
}

@media (max-width:620px) {
  .quote-page .quote-heading { margin-bottom:30px; }
  .quote-page .quote-heading h2 { font-size:50px; }
  .quote-page .final-cta { margin-top:70px; }
}

/* Lateral decorativa removida conforme solicitado */
.quote-page .quote-shell { grid-template-columns:1fr; }
.quote-page .quote-aside { display:none; }

/* Confirmação do orçamento — leitura ampla e hierarquia reforçada */
.quote-page .quote-success {
  min-height:680px;
  padding:clamp(24px,3vw,48px);
}
.quote-page .quote-success .success-mark {
  width:76px;
  height:76px;
  margin-bottom:30px;
  font-size:32px;
}
.quote-page .quote-success .section-kicker {
  margin-bottom:14px;
  font-size:16px;
  letter-spacing:.18em;
}
.quote-page .quote-success h3 {
  max-width:780px;
  margin-bottom:22px;
  font-size:clamp(54px,5.4vw,78px);
  line-height:.98;
}
.quote-page .quote-success > p:not(.section-kicker) {
  max-width:820px;
  margin:0;
  font-size:19px;
  line-height:1.65;
}
.quote-page .quote-success > p strong { color:var(--ink); }
.quote-page .success-actions {
  gap:14px;
  margin-top:30px;
}
.quote-page .success-actions .button,
.quote-page .success-actions .text-button {
  min-height:58px;
  padding:16px 24px;
  font-size:16px;
}
.quote-page .quote-success #copyStatus {
  margin-top:18px;
  font-size:15px;
  line-height:1.5;
}

@media (max-width:620px) {
  .quote-page .quote-success { min-height:620px; padding:28px 6px; }
  .quote-page .quote-success .success-mark { width:64px; height:64px; font-size:27px; }
  .quote-page .quote-success .section-kicker { font-size:14px; }
  .quote-page .quote-success h3 { font-size:44px; }
  .quote-page .quote-success > p:not(.section-kicker) { font-size:17px; }
  .quote-page .success-actions .button,
  .quote-page .success-actions .text-button { width:100%; min-height:58px; font-size:16px; }
  .quote-page .quote-success #copyStatus { font-size:14px; }
}

/* Chamada final — frase e ações com mais destaque */
.quote-page .final-cta > p:not(.section-kicker) {
  margin:30px 0 40px;
  font-size:clamp(27px,2.2vw,34px);
  line-height:1.35;
}
.quote-page .final-cta .contact-actions {
  gap:16px;
}
.quote-page .final-cta .contact-actions .button {
  min-height:72px;
  padding:19px 32px;
  font-size:20px;
  border-width:2px;
}
.quote-page .final-cta .contact-actions .button:first-child {
  padding-inline:38px;
}

@media (max-width:620px) {
  .quote-page .final-cta > p:not(.section-kicker) {
    margin:24px 0 32px;
    font-size:23px;
  }
  .quote-page .final-cta .contact-actions { gap:12px; }
  .quote-page .final-cta .contact-actions .button {
    min-height:66px;
    padding:17px 22px;
    font-size:18px;
  }
}

/* Área do Cliente — acesso simples e acompanhamento visual */
.client-page .client-main { grid-template-columns:minmax(360px,.58fr) minmax(0,1.42fr); gap:clamp(42px,5vw,82px); }
.client-page .client-intro>p:not(.section-kicker) { font-size:17px; line-height:1.65; }
.client-page .portal-contact-box span { font-size:12px; }
.client-page .portal-contact-box a { font-size:15px; }
.client-page .portal-auth-card { max-width:520px; padding:34px; }
.client-page .portal-auth-heading>span { font-size:12px; }
.client-page .portal-auth-heading h2 { font-size:32px; }
.client-page .portal-auth-heading p { font-size:15px; }
.client-page .portal-field>span { font-size:13px; }
.client-page .portal-field input { min-height:58px; font-size:16px; }
.client-page .portal-submit { min-height:60px; font-size:16px; }
.portal-auth-divider { margin:18px 0; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.38); font-size:12px; }
.portal-auth-divider::before,.portal-auth-divider::after { height:1px; flex:1; content:""; background:rgba(255,255,255,.13); }
.portal-google { width:100%; min-height:58px; padding:0 18px; display:flex; align-items:center; justify-content:center; gap:13px; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#fff; background:rgba(255,255,255,.07); font-size:15px; font-weight:700; cursor:pointer; transition:.25s; }
.portal-google:hover { color:var(--ink); background:#fff; transform:translateY(-2px); }
.portal-google b { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#4285f4; background:#fff; font-size:17px; font-family:Arial,sans-serif; }
.client-page .portal-switch { margin-top:18px; font-size:13px; }
.portal-demo-access { width:100%; margin-top:20px; padding:15px 5px 3px; border:0; border-top:1px solid rgba(255,255,255,.12); color:var(--acid); background:none; font-size:14px; font-weight:700; cursor:pointer; }
.client-page .portal-feedback { min-height:22px; font-size:13px; }
.client-page .client-portal { min-height:720px; }
.client-page .portal-loading,.client-page .portal-locked,.client-page .portal-empty { min-height:720px; }
.client-page .portal-locked h2 { font-size:43px; }
.client-page .portal-loading p,.client-page .portal-locked p,.client-page .portal-empty p { max-width:440px; font-size:16px; }
.client-page .portal-toolbar { padding:34px 36px 27px; }
.client-page .portal-toolbar small { font-size:11px; }
.client-page .portal-toolbar h2 { font-size:42px; }
.client-page .portal-tabs button { min-height:44px; padding:0 18px; font-size:13px; }
.client-page .client-workspace-grid { min-height:620px; grid-template-columns:280px 1fr; }
.client-page .record-card { padding:18px; }
.client-page .record-card small { font-size:10px; }
.client-page .record-card strong { font-size:16px; }
.client-page .record-card span,.client-page .record-card em { font-size:11px; }
.portal-notification-card { margin:20px 0; padding:17px; border:1px solid rgba(46,125,91,.18); border-radius:14px; background:var(--mist); }
.portal-notification-card>span { color:var(--green); font-size:10px; font-weight:800; letter-spacing:.15em; }
.portal-notification-card strong { margin-top:7px; display:block; font-size:15px; }
.portal-notification-card p { margin:7px 0 13px; color:var(--muted); font-size:13px; line-height:1.5; }
.portal-notification-card button { padding:0; border:0; color:var(--green-deep); background:none; font-size:13px; font-weight:800; cursor:pointer; }

@media (max-width:1050px) {
  .client-page .client-main { grid-template-columns:1fr; }
  .client-page .client-intro { position:static; }
  .client-page .portal-auth-card { max-width:680px; }
}
@media (max-width:620px) {
  .client-page .client-main { padding-inline:14px; }
  .client-page .client-intro>p:not(.section-kicker) { font-size:16px; }
  .client-page .portal-auth-card { padding:24px 18px; }
  .client-page .portal-auth-heading h2 { font-size:29px; }
  .client-page .client-portal,.client-page .portal-loading,.client-page .portal-locked,.client-page .portal-empty { min-height:600px; }
  .client-page .portal-locked h2 { font-size:34px; }
  .client-page .portal-toolbar h2 { font-size:34px; }
  .client-page .client-workspace-grid { grid-template-columns:1fr; }
}

/* WhatsApp flutuante — maior e com movimento de destaque */
.floating-whatsapp {
  right:28px;
  bottom:28px;
  min-height:68px;
  padding:7px 9px 7px 27px;
  gap:17px;
  border-width:2px;
  font-size:18px;
  box-shadow:0 18px 45px rgba(18,50,36,.38);
  isolation:isolate;
  animation:whatsapp-float 2.8s ease-in-out infinite;
}
.floating-whatsapp::after {
  position:absolute;
  z-index:-1;
  inset:-2px;
  content:"";
  border:2px solid rgba(95,181,142,.65);
  border-radius:inherit;
  animation:whatsapp-pulse 2.8s ease-out infinite;
}
.floating-whatsapp i {
  width:52px;
  height:52px;
  font-size:0;
  box-shadow:0 5px 15px rgba(12,54,37,.18);
}
.floating-whatsapp i::before {
  content:"☎";
  font:700 28px/1 Arial,sans-serif;
  transform:rotate(-18deg);
}
.floating-whatsapp:hover {
  animation-play-state:paused;
  transform:translateY(-6px) scale(1.04);
}
@keyframes whatsapp-float {
  0%,100% { transform:translate3d(0,0,0) rotate(0); }
  18% { transform:translate3d(0,-8px,0) rotate(-1deg); }
  35% { transform:translate3d(0,0,0) rotate(0); }
  50% { transform:translate3d(0,-4px,0) rotate(1deg); }
  65% { transform:translate3d(0,0,0) rotate(0); }
}
@keyframes whatsapp-pulse {
  0%,45% { opacity:.7; transform:scale(1); }
  75%,100% { opacity:0; transform:scale(1.18); }
}
@media (max-width:620px) {
  .floating-whatsapp,.store-page .floating-whatsapp {
    right:14px;
    bottom:76px;
    min-height:62px;
    padding:6px 7px 6px 22px;
    gap:13px;
    font-size:16px;
  }
  .floating-whatsapp i { width:48px; height:48px; }
  .floating-whatsapp i::before { font-size:25px; }
}
@media (prefers-reduced-motion:reduce) {
  .floating-whatsapp,.floating-whatsapp::after { animation:none; }
}

/* WhatsApp flutuante — ícone oficial ampliado e cor reconhecível */
.floating-whatsapp {
  min-height:112px;
  padding:8px 10px 8px 34px;
  gap:22px;
  border-color:rgba(255,255,255,.48);
  background:#25d366;
  color:#fff;
  font-size:22px;
  box-shadow:0 22px 55px rgba(18,80,48,.38);
}
.floating-whatsapp:hover { background:#1fbd5a; }
.floating-whatsapp::after { border-color:rgba(37,211,102,.58); }
.floating-whatsapp i {
  width:96px;
  height:96px;
  color:#25d366;
  background:#fff;
}
.floating-whatsapp i::before { content:none; }
.floating-whatsapp i svg {
  width:64px;
  height:64px;
  display:block;
  fill:currentColor;
}
@media (max-width:620px) {
  .floating-whatsapp,.store-page .floating-whatsapp {
    min-height:82px;
    padding:6px 7px 6px 24px;
    gap:15px;
    font-size:17px;
  }
  .floating-whatsapp i { width:70px; height:70px; }
  .floating-whatsapp i svg { width:48px; height:48px; }
}

/* Área do Cliente — respiro lateral e painel sem informações comprimidas */
@media (min-width:1401px) {
  .client-page .client-header,
  .client-page .client-main {
    width:100%;
    max-width:none;
    padding-left:150px;
    padding-right:150px;
  }
  .client-page .client-main {
    grid-template-columns:minmax(390px,470px) minmax(0,1fr);
    gap:70px;
  }
}
.client-page .client-intro { min-width:0; }
.client-page .client-intro h1 {
  max-width:470px;
  font-size:clamp(58px,4.3vw,78px);
  overflow-wrap:break-word;
}
.client-page .client-portal { width:100%; min-width:0; }
.client-page .client-workspace-grid { grid-template-columns:minmax(230px,270px) minmax(0,1fr); }
.client-page .client-dashboard { min-width:0; }
.client-page .dashboard-top { padding:34px 38px 28px; }
.client-page .dashboard-top small { font-size:11px; }
.client-page .dashboard-top h2 { font-size:38px; }
.client-page .dashboard-top p { max-width:620px; font-size:15px; line-height:1.5; }
.client-page .status-pill { padding:11px 15px; font-size:13px; }
.client-page .dashboard-progress { padding:24px 38px 27px; }
.client-page .dashboard-progress>div:first-child { font-size:14px; }
.client-page .dashboard-progress>small { font-size:12px; }
.client-page .dashboard-grid {
  padding:38px;
  grid-template-columns:minmax(280px,1fr) minmax(280px,340px);
  gap:38px;
}
.client-page .dashboard-grid h3 { font-size:23px; }
.client-page .dashboard-timeline article { min-height:105px; grid-template-columns:42px 1fr; gap:16px; }
.client-page .dashboard-timeline article::before { left:20px; top:38px; }
.client-page .dashboard-timeline article>b { width:42px; height:42px; font-size:13px; }
.client-page .dashboard-timeline strong { font-size:15px; }
.client-page .dashboard-timeline p { font-size:13px; line-height:1.5; }
.client-page .dashboard-timeline small { font-size:10px; }
.client-page .project-details { padding:27px; }
.client-page .project-details dl div { font-size:14px; }
.client-page .project-details .button { min-height:50px; font-size:13px; }
.client-page .project-email-link { font-size:13px; }

@media (max-width:1400px) and (min-width:1051px) {
  .client-page .client-header,.client-page .client-main { max-width:none; padding-left:72px; padding-right:72px; }
  .client-page .client-main { grid-template-columns:minmax(330px,400px) minmax(0,1fr); gap:48px; }
  .client-page .client-workspace-grid { grid-template-columns:220px minmax(0,1fr); }
  .client-page .dashboard-grid { grid-template-columns:1fr; }
}
@media (max-width:1050px) {
  .client-page .dashboard-grid { grid-template-columns:1fr minmax(260px,330px); }
}
@media (max-width:760px) {
  .client-page .dashboard-grid { padding:24px 18px; grid-template-columns:1fr; }
  .client-page .dashboard-top { padding:26px 18px; flex-direction:column; }
  .client-page .dashboard-progress { padding:22px 18px; }
  .client-page .client-workspace-grid { grid-template-columns:1fr; }
}

/* Universos VOLLUM — cards maiores e descrições mais legíveis */
.universes .universe-card {
  min-height:380px;
  border-radius:26px;
}
.universes .universe-number {
  top:26px;
  right:27px;
  font-size:16px;
}
.universes .universe-name,
.universes .universe-detail {
  padding:34px;
}
.universes .universe-name small {
  margin-bottom:13px;
  font-size:16px;
}
.universes .universe-name h3 {
  font-size:clamp(34px,2.7vw,48px);
}
.universes .universe-detail p {
  max-width:94%;
  font-size:clamp(24px,1.75vw,32px);
  line-height:1.25;
}
@media (max-width:900px) {
  .universes .universe-card { min-height:330px; }
  .universes .universe-detail p { max-width:90%; font-size:25px; }
}
@media (max-width:620px) {
  .universes .universe-card { min-height:310px; }
  .universes .universe-name,.universes .universe-detail { padding:28px; }
  .universes .universe-detail p { font-size:24px; line-height:1.3; }
}

/* Loja — apresentação, texto e chamada principal ampliados */
.store-page .store-hero-copy { max-width:920px; }
.store-page .store-hero-copy>p:not(.section-kicker) {
  max-width:900px;
  font-size:clamp(30px,2.15vw,39px);
  line-height:1.42;
}
.store-page .store-hero-copy>p:not(.section-kicker) span {
  display:block;
  margin-top:22px;
  color:var(--mist);
}
.store-page .store-hero-copy .button {
  min-height:94px;
  margin-top:48px;
  padding:0 58px;
  gap:22px;
  font-size:24px;
}
.store-page .store-hero-copy .button span { font-size:28px; }
@media (max-width:620px) {
  .store-page .store-hero-copy>p:not(.section-kicker) { font-size:25px; line-height:1.48; }
  .store-page .store-hero-copy>p:not(.section-kicker) br { display:none; }
  .store-page .store-hero-copy>p:not(.section-kicker) span { margin-top:18px; }
  .store-page .store-hero-copy .button { min-height:78px; margin-top:36px; padding:0 28px; font-size:21px; }
}

/* Painel da CEO — entrada centralizada e acesso pela conta Google autorizada */
.ceo-page .admin-auth-gate {
  min-height:100svh;
  padding:56px 24px;
  grid-template-columns:minmax(0,560px);
  justify-content:center;
  align-content:center;
  justify-items:center;
  gap:76px;
  text-align:center;
}
.ceo-page .admin-auth-brand {
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ceo-page .admin-auth-brand .brand img { width:min(440px,82vw); }
.ceo-page .admin-auth-brand p {
  margin-top:15px;
  font-size:20px;
}
.ceo-page .admin-auth-card {
  width:100%;
  padding:52px 48px 42px;
  display:flex;
  flex-direction:column;
  align-items:center;
  border-radius:30px;
}
.ceo-page .admin-auth-card>span {
  color:#8fcbb0;
  font-size:12px;
  letter-spacing:.19em;
}
.ceo-page .admin-auth-card h1 {
  margin:18px 0 12px;
  font-size:clamp(46px,5vw,64px);
}
.ceo-page .admin-auth-card>p {
  max-width:400px;
  margin:0 0 32px;
  font-size:17px;
  line-height:1.55;
}
.ceo-page .google-admin-button {
  width:100%;
  min-height:70px;
  padding:0 24px;
  display:grid;
  grid-template-columns:36px 1fr 24px;
  align-items:center;
  gap:14px;
  color:#202124;
  background:#fff;
  border:1px solid rgba(255,255,255,.8);
  border-radius:999px;
  font-size:17px;
  font-weight:700;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.ceo-page .google-admin-button:hover {
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(0,0,0,.24);
}
.ceo-page .google-admin-button i,
.ceo-page .google-admin-button svg { width:30px; height:30px; display:block; }
.ceo-page .google-admin-button b { font-size:22px; }
.ceo-page .admin-authorized-account {
  margin-top:24px;
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.5;
  text-align:left;
}
.ceo-page .admin-authorized-account>i {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#fff;
  background:var(--green);
  font-style:normal;
}
.ceo-page .admin-authorized-account strong { color:#fff; }
.ceo-page .admin-auth-card>small {
  min-height:22px;
  margin-top:18px;
  font-size:13px;
}
.ceo-page .admin-auth-card>a {
  margin-top:4px;
  font-size:13px;
}
@media (max-width:620px) {
  .ceo-page .admin-auth-gate { padding:42px 18px; gap:48px; }
  .ceo-page .admin-auth-brand .brand img { width:min(290px,82vw); }
  .ceo-page .admin-auth-brand p { font-size:17px; }
  .ceo-page .admin-auth-card { padding:38px 22px 32px; }
  .ceo-page .admin-auth-card h1 { font-size:43px; }
  .ceo-page .admin-auth-card>p { font-size:16px; }
  .ceo-page .google-admin-button { min-height:64px; padding-inline:18px; font-size:15px; }
  .ceo-page .admin-authorized-account { font-size:12px; }
}

/* Loja — tipografia legível, setas vetoriais e ações 3D/AR */
.minimal-arrow {
  width:14px;
  height:14px;
  position:relative;
  display:inline-block;
  flex:0 0 auto;
  font-size:0;
}
.minimal-arrow::before {
  width:10px;
  height:10px;
  position:absolute;
  right:1px;
  top:1px;
  content:"";
  border-top:1.7px solid currentColor;
  border-right:1.7px solid currentColor;
}
.minimal-arrow::after {
  width:14px;
  height:1.7px;
  position:absolute;
  left:0;
  bottom:3px;
  content:"";
  background:currentColor;
  transform:rotate(-45deg);
  transform-origin:right center;
}
.minimal-arrow.arrow-down { transform:rotate(135deg); }
.store-universe-card { min-height:410px; }
.store-universe-card>span { font-size:15px; }
.store-universe-card small {
  margin-top:30px;
  font-size:14px;
}
.store-universe-card h3 {
  margin:13px 0 20px;
  font-size:clamp(38px,2.65vw,48px);
}
.store-universe-card p {
  max-width:330px;
  font-size:17px;
  line-height:1.55;
}
.store-universe-card b {
  display:flex;
  align-items:center;
  gap:9px;
  padding-top:28px;
  font-size:15px;
}
.product-card-actions {
  flex-wrap:wrap;
  justify-content:flex-end;
}
.product-card-actions button,
.product-card-actions a {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 15px;
  font-size:12px;
}
.product-card-actions [data-view-ar] {
  color:#fff;
  border-color:var(--green);
  background:var(--green);
}
.product-card-actions [data-view-ar]:hover { background:var(--green-deep); }
.viewer-camera-button .camera-icon {
  width:24px;
  height:18px;
  position:relative;
  display:inline-block;
  border:1.7px solid currentColor;
  border-radius:4px;
}
.viewer-camera-button .camera-icon::before {
  width:7px;
  height:7px;
  position:absolute;
  left:50%;
  top:50%;
  content:"";
  border:1.7px solid currentColor;
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.viewer-camera-button .camera-icon::after {
  width:8px;
  height:3px;
  position:absolute;
  left:3px;
  top:-5px;
  content:"";
  border:1.7px solid currentColor;
  border-bottom:0;
  border-radius:3px 3px 0 0;
}
@media (max-width:620px) {
  .store-universe-card small { font-size:13px; }
  .store-universe-card h3 { font-size:38px; }
  .store-universe-card p { font-size:16px; }
  .store-universe-card b { font-size:14px; }
  .product-card-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .product-card-actions a { grid-column:1/-1; }
}

/* Painel CEO — escala tipográfica ampliada em toda a operação */
.ceo-page .ceo-sidebar { width:285px; padding:38px 28px 28px; }
.ceo-page .ceo-sidebar .brand img { width:205px; }
.ceo-page .ceo-sidebar nav { margin-top:78px; gap:9px; }
.ceo-page .ceo-sidebar nav button,
.ceo-page .ceo-sidebar nav a {
  min-height:54px;
  padding:0 16px;
  grid-template-columns:30px 1fr;
  font-size:15px;
}
.ceo-page .ceo-sidebar nav i { font-size:17px; }
.ceo-page .ceo-session { padding:20px; }
.ceo-page .ceo-session>span { font-size:10px; }
.ceo-page .ceo-session strong { font-size:22px; }
.ceo-page .ceo-session small,
.ceo-page .ceo-session button { font-size:12px; }
.ceo-page .ceo-main { margin-left:285px; padding:44px clamp(34px,4vw,72px) 90px; }
.ceo-page .ceo-topbar p,
.ceo-page .demand-header p { font-size:11px; }
.ceo-page .ceo-topbar h1 { font-size:38px; }
.ceo-page .ceo-actions>span { font-size:12px; }
.ceo-page .ceo-actions .button { min-height:48px; font-size:14px; }
.ceo-page .ceo-section-title span { font-size:11px; }
.ceo-page .ceo-section-title h2 { font-size:clamp(38px,3.3vw,54px); }
.ceo-page .ceo-section-title>small { font-size:12px; }
.ceo-page .ceo-metrics article { min-height:180px; padding:27px; }
.ceo-page .ceo-metrics article>span { font-size:13px; }
.ceo-page .ceo-metrics article>strong { margin-top:22px; font-size:50px; }
.ceo-page .ceo-metrics article>small { font-size:11px; }
.ceo-page .ceo-demands { padding:36px; }
.ceo-page .demand-header h2 { font-size:34px; }
.ceo-page .demand-search input { min-height:50px; font-size:14px; }
.ceo-page .demand-filters button { padding:11px 16px; font-size:12px; }
.ceo-page .demand-tools>span { font-size:12px; }
.ceo-page .demand-table th { padding:15px 12px; font-size:11px; }
.ceo-page .demand-table td { padding:19px 12px; font-size:13px; }
.ceo-page .demand-table td:first-child strong,
.ceo-page .demand-table td:nth-child(2) strong { font-size:14px; }
.ceo-page .demand-table td small { font-size:11px; }
.ceo-page .table-status { padding:8px 11px; font-size:12px; }
.ceo-page .empty-demands { padding:72px 24px; }
.ceo-page .empty-demands h3 { font-size:25px; }
.ceo-page .empty-demands p,
.ceo-page .empty-demands a { font-size:14px; }
.ceo-page .admin-section-actions .button { min-height:50px; padding-inline:20px; font-size:13px; }
.ceo-page .product-admin-card figure span,
.ceo-page .product-admin-card small { font-size:11px; }
.ceo-page .product-admin-card h3 { font-size:25px; }
.ceo-page .product-admin-card p { font-size:13px; }
.ceo-page .product-admin-card footer strong,
.ceo-page .product-admin-card footer button { font-size:12px; }
@media (max-width:1050px) {
  .ceo-page .ceo-sidebar { width:230px; padding-inline:20px; }
  .ceo-page .ceo-main { margin-left:230px; padding-inline:28px; }
  .ceo-page .ceo-sidebar nav button,.ceo-page .ceo-sidebar nav a { font-size:13px; }
}
@media (max-width:760px) {
  .ceo-page .ceo-sidebar { position:relative; width:100%; min-height:auto; }
  .ceo-page .ceo-sidebar nav { margin-top:30px; }
  .ceo-page .ceo-session { margin-top:30px; }
  .ceo-page .ceo-main { margin-left:0; padding:30px 18px 70px; }
  .ceo-page .ceo-topbar,.ceo-page .ceo-section-title,.ceo-page .demand-header { align-items:flex-start; flex-direction:column; }
  .ceo-page .ceo-metrics { grid-template-columns:1fr 1fr; }
}
@media (max-width:520px) {
  .ceo-page .ceo-metrics { grid-template-columns:1fr; }
  .ceo-page .ceo-demands { padding:24px 18px; }
  .ceo-page .ceo-topbar h1 { font-size:33px; }
}

/* VOLLUM — equilíbrio visual e compatibilidade entre navegadores */
html {
  width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}
body {
  width:100%;
  min-width:320px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,video,svg,canvas,model-viewer { max-width:100%; }
img,video { height:auto; }
button,input,select,textarea { font:inherit; }
button,[type="button"],[type="submit"] { -webkit-appearance:none; appearance:none; }
a,button { -webkit-tap-highlight-color:transparent; }
.site-header,.hero-content,.store-campaigns,.possibilities,.universes,.process-block,.quality-block,.tracking-teaser,.store-universes,.store-catalog,.store-note,.rights-notice,.site-footer {
  min-width:0;
}

/* Home: escala editorial confortável em notebooks e monitores grandes */
.home-header {
  padding:22px clamp(20px,3.5vw,64px);
}
.home-header .brand img { width:clamp(150px,13vw,210px); }
.home-header .desktop-nav a { font-size:clamp(14px,1.05vw,17px); }
.home-header .client-link {
  padding:14px 24px;
  font-size:clamp(14px,1.05vw,17px);
}
.hero-section {
  min-height:760px;
  min-height:min(900px,100svh);
  padding-top:112px;
}
.hero-content { min-height:620px; }
.hero-copy { max-width:980px; padding:30px 0 90px; }
.hero-copy h1 {
  max-width:980px;
  margin-bottom:26px;
  font-size:clamp(64px,7.2vw,116px);
  line-height:.9;
}
.hero-intro {
  max-width:760px;
  margin-bottom:36px;
  font-size:clamp(18px,1.55vw,25px);
}
.hero-actions .button {
  min-width:0;
  min-height:60px;
  padding:0 32px;
  gap:14px;
  font-size:clamp(15px,1.15vw,18px);
}
.hero-actions .button span { font-size:20px; }
.possibilities .section-heading h2 { font-size:clamp(52px,5.3vw,84px); }
.section-heading>p { font-size:clamp(16px,1.25vw,19px); }

/* Chamadas e WhatsApp: visíveis sem dominar a página */
.tracking-benefits span {
  min-height:44px;
  padding:11px 18px;
  font-size:clamp(13px,1vw,16px);
}
.tracking-copy .button {
  min-height:58px;
  padding:0 28px;
  font-size:16px;
}
.floating-whatsapp,
.store-page .floating-whatsapp {
  right:clamp(16px,2vw,28px);
  bottom:clamp(16px,2vw,28px);
  min-height:68px;
  padding:7px 8px 7px 24px;
  gap:14px;
  font-size:17px;
}
.floating-whatsapp i { width:54px; height:54px; }
.floating-whatsapp i svg { width:34px; height:34px; }

/* Loja: conteúdo fluido e sem cortes */
.store-header { padding:22px clamp(20px,3.5vw,64px); }
.store-header .brand img { width:clamp(145px,12vw,200px); }
.store-header .desktop-nav a { font-size:clamp(13px,1vw,16px); }
.store-header .client-link { padding:13px 20px; font-size:15px; }
.store-page .store-hero-copy>p:not(.section-kicker) {
  max-width:760px;
  font-size:clamp(20px,1.65vw,28px);
}
.store-page .store-hero-copy .button {
  min-height:64px;
  margin-top:36px;
  padding:0 34px;
  font-size:18px;
}
.store-page .store-hero-copy .button span { font-size:20px; }
.store-universe-card { min-width:0; }
.store-product-grid>* { min-width:0; }

/* Área do cliente e painel: colunas flexíveis em telas intermediárias */
.client-page .client-header,
.client-page .client-main { box-sizing:border-box; }
.client-page .client-main { width:100%; }
.client-page .client-portal,
.client-page .client-dashboard,
.client-page .client-workspace-grid { min-width:0; }
.ceo-page .ceo-main { min-width:0; }
.ceo-page .ceo-demands { overflow:hidden; }
.ceo-page .demand-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }

@media (max-width:1180px) {
  .desktop-nav a { font-size:14px; }
  .home-header,.store-header { padding-inline:24px; }
  .header-actions { gap:18px; }
  .home-header .client-link,.store-header .client-link { padding:12px 18px; font-size:14px; }
  .hero-copy h1 { font-size:clamp(60px,8.3vw,92px); }
  .hero-intro { font-size:20px; }
  .hero-actions .button { min-height:58px; padding-inline:27px; font-size:16px; }
  .possibilities,.universes,.process-block,.quality-block { padding-left:clamp(24px,4vw,48px); padding-right:clamp(24px,4vw,48px); }
  .client-page .client-main { padding-inline:48px; }
}

@media (max-width:900px) {
  .site-header .desktop-nav,.site-header .client-link { display:none; }
  .site-header .menu-toggle { display:block; margin-left:auto; }
  .home-header,.store-header { display:flex; justify-content:space-between; }
  .hero-section { min-height:720px; padding:108px 24px 0; }
  .hero-content { min-height:600px; }
  .hero-copy { padding-bottom:100px; }
  .hero-copy h1 { font-size:clamp(54px,10.5vw,82px); }
  .hero-intro { max-width:650px; font-size:18px; }
  .section-heading,.process-block,.quality-block,.tracking-teaser { grid-template-columns:1fr; }
  .section-heading { gap:24px; }
  .creation-grid { --creation-columns:2; }
  .universe-grid { grid-template-columns:1fr 1fr; }
  .store-hero { grid-template-columns:1fr; }
  .store-hero-art { min-height:480px; }
  .store-universe-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .client-page .client-main { padding-inline:32px; }
  .client-page .client-intro h1 { max-width:700px; }
  .ceo-page .ceo-main { overflow:hidden; }
}

@media (max-width:620px) {
  .home-header,.store-header { padding:18px 18px; }
  .home-header .brand img,.store-header .brand img { width:145px; }
  .hero-section { min-height:680px; padding:94px 18px 0; }
  .hero-content { min-height:570px; }
  .hero-copy { padding:20px 0 110px; }
  .hero-copy .eyebrow { margin-bottom:18px; font-size:11px; }
  .hero-copy h1 { margin-bottom:22px; font-size:clamp(48px,14.2vw,68px); line-height:.92; }
  .hero-intro { margin-bottom:28px; font-size:16px; line-height:1.55; }
  .hero-actions { width:100%; gap:10px; }
  .hero-actions .button { width:100%; min-height:54px; padding:0 20px; font-size:15px; }
  .hero-video-label { display:none; }
  .hero-meta { font-size:9px; }
  .hero-meta-group { padding:15px 18px; gap:28px; }
  .possibilities,.universes,.process-block,.quality-block { padding-left:18px; padding-right:18px; }
  .possibilities { padding-top:78px; padding-bottom:78px; }
  .possibilities .section-heading h2 { font-size:48px; }
  .creation-toolbar { align-items:flex-start; flex-direction:column; }
  .creation-arrows { width:100%; justify-content:flex-end; }
  .creation-grid,.universe-grid,.store-universe-grid { grid-template-columns:1fr; }
  .creation-grid { --creation-columns:1; }
  .tracking-teaser { width:calc(100% - 36px); padding:28px 20px; }
  .tracking-benefits { display:grid; grid-template-columns:1fr; }
  .tracking-benefits span { width:100%; justify-content:center; text-align:center; }
  .tracking-copy .button { width:100%; justify-content:center; }
  .floating-whatsapp,.store-page .floating-whatsapp {
    right:12px;
    bottom:72px;
    min-height:58px;
    padding:6px 7px 6px 18px;
    gap:11px;
    font-size:15px;
  }
  .floating-whatsapp i { width:46px; height:46px; }
  .floating-whatsapp i svg { width:29px; height:29px; }
  .store-page .store-hero-copy>p:not(.section-kicker) { font-size:19px; }
  .store-page .store-hero-copy .button { min-height:58px; margin-top:30px; padding-inline:26px; font-size:17px; }
  .store-hero-art { min-height:350px; }
  .store-universe-card { min-height:330px; }
  .client-page .client-main { padding-inline:14px; }
  .client-page .client-header { padding-inline:18px; }
  .client-page .portal-header-actions { gap:12px; }
  .client-page .portal-contact-link { display:none; }
  .client-page .client-intro h1 { font-size:clamp(48px,14vw,62px); }
  .client-page .dashboard-grid { padding:24px 18px; }
  .ceo-page .ceo-main { padding-inline:14px; }
  .ceo-page .ceo-demands { padding:22px 16px; }
  .ceo-page .demand-table { min-width:720px; }
}

@media (max-width:380px) {
  .hero-copy h1 { font-size:44px; }
  .hero-intro { font-size:15px; }
  .possibilities .section-heading h2 { font-size:42px; }
  .floating-whatsapp span { display:none; }
  .floating-whatsapp,.store-page .floating-whatsapp { padding:6px; }
}

@supports (height:100dvh) {
  .hero-section { min-height:min(900px,100dvh); }
  .ceo-page .admin-auth-gate { min-height:100dvh; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}

/* Páginas legais */
.legal-page { color:var(--ink); background:var(--paper); }
.legal-header {
  min-height:112px;
  padding:24px clamp(20px,6vw,88px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:#fff;
  background:var(--ink);
}
.legal-header .brand img { width:180px; }
.legal-header>a:last-child { color:rgba(255,255,255,.76); font-size:15px; }
.legal-main { width:min(900px,calc(100% - 40px)); margin:0 auto; padding:90px 0 110px; }
.legal-main>h1 { max-width:760px; margin:16px 0 10px; font:400 clamp(48px,6vw,78px)/.98 Georgia,serif; letter-spacing:-.045em; }
.legal-updated { margin:0 0 58px; color:var(--muted); font-size:14px; }
.legal-main section { padding:29px 0; border-top:1px solid var(--line); }
.legal-main section h2 { margin:0 0 11px; font:400 clamp(25px,2.5vw,34px)/1.1 Georgia,serif; }
.legal-main section p { max-width:780px; margin:0; color:var(--muted); font-size:17px; line-height:1.75; }
.legal-main section a { color:var(--green-deep); text-decoration:underline; }
.site-footer .footer-legal a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:620px) {
  .legal-header { min-height:88px; padding:18px; }
  .legal-header .brand img { width:145px; }
  .legal-header>a:last-child { font-size:13px; }
  .legal-main { width:calc(100% - 36px); padding:66px 0 82px; }
  .legal-main>h1 { font-size:48px; }
  .legal-updated { margin-bottom:42px; }
  .legal-main section p { font-size:16px; }
}
