/* Shared visual language with connectionscuracao.net. */
:root { --brand-bg:#faf8f2; --brand-ink:#173b4a; --brand-muted:#566b70; --brand-rust:#d24c2d; --brand-line:#dce1db; --brand-surface:#fffdf8; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { background:var(--brand-bg); color:var(--brand-ink); padding:0 0 90px; }
a,button,input,select { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid var(--brand-rust); outline-offset:4px; }
[hidden] { display:none !important; }
.cc-skip-link { position:fixed; left:16px; top:-100px; z-index:1100; padding:14px; background:var(--brand-ink); color:white; }
.cc-skip-link:focus { top:8px; }
.brand-announcement { background:#173b4a; color:#fffdf5; display:flex; justify-content:space-between; gap:16px; padding:10px max(40px,calc((100vw - 1280px)/2)); font-size:11px; letter-spacing:.035em; }
.brand-announcement a { color:#f9dfb1; text-decoration:none; }
.brand-nav { position:sticky; top:0; z-index:50; background:var(--brand-bg); border-bottom:1px solid var(--brand-line); }
.brand-nav-inner { width:min(1280px,100% - 80px); margin:auto; min-height:83px; display:flex; align-items:center; gap:32px; }
.brand-logo { font:600 32px/1 'Outfit',sans-serif; letter-spacing:-1.7px; color:var(--brand-ink); text-decoration:none; white-space:nowrap; }
.brand-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--brand-rust); margin-left:3px; }
.brand-links { display:flex; align-items:center; gap:30px; margin-left:auto; }
.brand-links a { color:var(--brand-ink); text-decoration:none; font-size:12px; font-weight:600; }
.brand-links a[aria-current] { color:var(--brand-rust); }
.brand-links a:hover { text-decoration:underline; text-underline-offset:5px; }
.cc-dark-toggle { flex-shrink:0; background:transparent; border:1px solid var(--brand-line); }
#cc-digital-app { max-width:1280px; width:calc(100% - 80px); margin:0 auto; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.brand-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:58px; align-items:center; padding:38px 0 32px; }
.cc-header { text-align:left; margin:0; }
.brand-eyebrow { font-size:10px; text-transform:uppercase; letter-spacing:.17em; font-weight:700; line-height:1.6; margin:0 0 18px; color:var(--brand-rust); }
.cc-header .brand-eyebrow { display:flex; align-items:center; gap:10px; color:var(--brand-ink); }
.cc-header .brand-eyebrow > span:first-child { color:var(--brand-rust); font-size:25px; }
#cc-digital-app h1 { color:var(--brand-ink); font-size:clamp(46px,5.8vw,80px); font-weight:500; line-height:1.02; letter-spacing:-.065em; margin:0; }
#cc-digital-app h1 em { font-family:Georgia,serif; font-weight:400; letter-spacing:-.07em; color:var(--brand-rust); }
.brand-intro { font-size:16px; line-height:1.75; color:var(--brand-muted); max-width:350px; margin:26px 0 0; }
.brand-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:30px; }
.brand-button { display:inline-flex; align-items:center; gap:28px; padding:15px 23px; border-radius:40px; background:var(--brand-ink); color:var(--brand-bg); font-size:12px; font-weight:600; text-decoration:none; }
.brand-button:hover { background:var(--brand-rust); color:white; }
.brand-text-link { color:var(--brand-ink); font-size:12px; font-weight:600; text-decoration:none; }
.brand-local { display:flex; align-items:center; gap:12px; margin-top:38px; font-size:11px; line-height:1.7; }
.brand-local-mark { background:#e8eadc; color:#173b4a; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; font:500 22px 'Outfit',sans-serif; }
.cc-tagline,.cc-tagline a { font-size:11px; letter-spacing:0; color:var(--brand-muted); }
.brand-feature { position:relative; min-width:0; height:480px; border-radius:18px; overflow:hidden; background:#e9e5d8; color:#173b4a; }
.brand-feature-top { position:absolute; top:28px; left:30px; right:30px; display:flex; align-items:center; justify-content:space-between; font-size:10px; letter-spacing:.12em; font-weight:600; }
.brand-feature-top > span:last-child { display:grid; place-items:center; width:34px; height:34px; border:1px solid #173b4a50; border-radius:50%; font-size:20px; }
.brand-card-stack { position:absolute; inset:82px 35px 125px; }
.brand-card-stack img { position:absolute; width:65%; max-width:270px; border-radius:13px; box-shadow:0 18px 30px #173b4a26; }
.brand-card-back { right:0; top:0; transform:rotate(15deg); }
.brand-card-middle { left:0; top:42px; transform:rotate(-13deg); }
.brand-card-front { right:9%; top:106px; transform:rotate(5deg); }
.brand-feature-bottom { position:absolute; bottom:30px; left:30px; right:30px; display:flex; flex-direction:column; gap:9px; font-size:11px; }
.brand-feature-bottom strong { font:500 34px/1.15 'Outfit',sans-serif; letter-spacing:-.04em; }
.brand-benefits { display:flex; justify-content:space-between; gap:20px; padding:20px 0 26px; border-bottom:1px solid var(--brand-line); font-size:11px; }
.brand-benefits b { color:var(--brand-rust); margin-right:10px; }
.brand-collection-heading { padding-top:46px; }
.brand-collection-heading h2 { font:500 clamp(30px,3.3vw,44px)/1.1 'Outfit',sans-serif; letter-spacing:-.045em; margin:0; }
.brand-collection-heading .brand-eyebrow { margin-bottom:10px; }
.cc-delivery { text-align:left; color:var(--brand-muted); font-size:12px; margin:12px 0 24px; }
.cc-search-wrap { margin:25px 0 18px; }
.cc-search { max-width:none; background:var(--brand-surface); border:1px solid var(--brand-line); border-radius:9px; box-shadow:none; padding:15px 18px; color:var(--brand-ink); }
.cc-search:focus { border-color:var(--brand-rust); box-shadow:0 0 0 3px #d24c2d15; }
.cc-tabs { justify-content:flex-start; gap:8px; padding-bottom:6px; margin-bottom:22px; }
.cc-tab { border:1px solid var(--brand-line); background:transparent; color:var(--brand-ink); border-radius:30px; padding:9px 16px; font:600 12px 'DM Sans',sans-serif; }
.cc-tab:hover { background:#e8eadc; color:#173b4a; }
.cc-tab.active { background:var(--brand-ink); color:var(--brand-bg); border-color:var(--brand-ink); box-shadow:none; }
.cc-toolbar { justify-content:flex-end; margin:22px 0 10px; }
.cc-sort,.cc-sort-wrap label { color:var(--brand-muted); font-size:12px; }
.cc-sort { border-color:var(--brand-line); background:var(--brand-surface); }
.cc-meta { text-align:left; color:var(--brand-muted); font-size:12px; }
.cc-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.cc-card { min-width:0; background:var(--brand-surface); border:1px solid var(--brand-line); border-radius:14px; padding:22px; box-shadow:none; }
.cc-card:hover { transform:translateY(-4px); border-color:#a9b1aa; box-shadow:0 8px 24px #173b4a0a; }
.cc-card-img { height:170px; background:white; border:0; border-radius:9px; padding:18px; object-fit:contain; }
.cc-name { color:var(--brand-ink); font-size:15px; font-weight:600; }
.cc-desc { color:var(--brand-muted); font-size:12px; line-height:1.65; }
.cc-card .cc-name,.cc-card .cc-price,.cc-card .cc-desc { padding-right:0; }
.cc-price { color:var(--brand-ink); font:500 28px 'Outfit',sans-serif; letter-spacing:-.04em; }
.cc-badge { color:#274e3f; background:#e5eadd; border-radius:4px; padding:5px 8px; }
.cc-btn { border-radius:7px; font-weight:600; font-size:12px; padding:12px; }
.cc-btn-primary { background:#173b4a; }
.cc-btn-primary:hover { background:#29586a; }
.cc-btn-cart { background:#e8eadc; color:#173b4a; border:1px solid #dce1db; }
.cc-btn-cart:hover { background:#dce1ce; box-shadow:none; }
.cc-btn-ghost { color:var(--brand-ink); border-color:var(--brand-line); }
.cc-btn-soldout { background:#e8e9e3; color:#596664; }
.cc-fav-btn,.cc-share-btn { box-shadow:none; width:34px; height:34px; }
.cc-faq { margin-top:55px; padding:34px 0; border-top:1px solid var(--brand-line); }
.cc-faq h3 { color:var(--brand-ink); font:500 32px 'Outfit',sans-serif; letter-spacing:-.04em; }
.cc-faq-item { background:var(--brand-surface); border:1px solid var(--brand-line); border-radius:9px; }
.cc-faq-q { color:var(--brand-ink); background:transparent; }
.cc-faq-q:hover { background:#e8eadc; color:#173b4a; }
.cc-faq-a-inner { color:var(--brand-muted); }
.cc-footer { background:#173b4a; color:#d4dede; border:0; border-radius:16px; margin:30px 0 0; padding:40px 24px; }
.cc-footer .brand-logo,.cc-footer a { color:#fffdf5; }
.brand-footer-copy { font-size:12px; margin:15px 0 24px; }
.cc-social-link { border-color:#ffffff40; }
.cc-modal,.cc-quickview-modal,.cc-terms-modal { background:var(--brand-surface); color:var(--brand-ink); border-radius:16px; }
.cc-cart-bar { background:#173b4a; border-top:1px solid #ffffff30; }
.cc-back-top { background:#173b4a; }
body.cc-dark { --brand-bg:#14292f; --brand-ink:#f5f2e9; --brand-muted:#b7c6c6; --brand-rust:#f49477; --brand-line:#3a5055; --brand-surface:#1e363d; background:var(--brand-bg); }
body.cc-dark #cc-digital-app { background:transparent; }
body.cc-dark .cc-card,body.cc-dark .cc-modal,body.cc-dark .cc-quickview-modal,body.cc-dark .cc-terms-modal { background:var(--brand-surface); border-color:var(--brand-line); }
body.cc-dark .cc-name,body.cc-dark .cc-price,body.cc-dark .cc-faq-q,body.cc-dark .cc-faq h3 { color:var(--brand-ink); }
body.cc-dark .cc-desc,body.cc-dark .cc-tagline,body.cc-dark .cc-tagline a { color:var(--brand-muted); }
body.cc-dark .cc-search,body.cc-dark .cc-sort,body.cc-dark .cc-faq-item,body.cc-dark .cc-faq-q { background:var(--brand-surface); border-color:var(--brand-line); color:var(--brand-ink); }
@media(max-width:1000px) { .brand-hero { gap:30px; } .brand-feature { height:420px; } .brand-card-stack { inset:80px 20px 120px; } .brand-card-front { top:90px; } .cc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) {
  html { scroll-padding-top:125px; }
  .brand-announcement { padding:9px 18px; justify-content:center; } .brand-announcement > span { display:none; }
  .brand-nav-inner { width:calc(100% - 36px); min-height:98px; padding:14px 0; gap:12px; flex-wrap:wrap; }
  .brand-logo { font-size:30px; } .brand-links { order:3; width:100%; margin:0; justify-content:space-between; gap:10px; } .brand-links a { font-size:11px; } .cc-dark-toggle { margin-left:auto; }
  #cc-digital-app { width:calc(100% - 36px); padding:0; }
  .brand-hero { grid-template-columns:1fr; gap:28px; padding-top:30px; }
  #cc-digital-app h1 { font-size:clamp(42px,11.6vw,68px); }
  .brand-intro { font-size:14px; margin-top:18px; } .brand-actions { gap:20px; margin-top:22px; } .brand-local { margin-top:23px; }
  .brand-feature { height:360px; } .brand-card-stack { inset:65px 28px 100px; } .brand-card-stack img { width:58%; max-width:240px; } .brand-card-middle { top:25px; } .brand-card-front { top:65px; }
  .brand-feature-top { top:20px; left:23px; right:23px; font-size:9px; } .brand-feature-bottom { bottom:23px; left:23px; } .brand-feature-bottom strong { font-size:29px; }
  .brand-benefits { display:grid; gap:12px; font-size:10px; } .brand-collection-heading { padding-top:32px; }
  .cc-grid { grid-template-columns:1fr; gap:16px; } .cc-card-img { height:180px; } .cc-card { padding:20px; } .cc-tabs { gap:7px; } .cc-tab { padding:9px 12px; }
  .cc-faq h3 { font-size:28px; } .cc-footer { padding:30px 20px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
@media print { .brand-nav,.brand-announcement,.brand-hero,.brand-benefits,.brand-collection-heading { display:none; } }
.cc-footer a:hover { color:#f9dfb1; }
body.cc-dark .cc-faq-a-inner { color:var(--brand-muted); }
body.cc-dark .cc-share-btn { color:var(--brand-ink); background:var(--brand-surface); border-color:var(--brand-line); }
