@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/jost-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jost-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2')}

body{margin:0;background:#F7F1E8;-webkit-font-smoothing:antialiased;caret-color:#665424}
html{scroll-behavior:smooth;scrollbar-color:#A7924E #EFE6DB}
*{box-sizing:border-box}
::selection{background:#C9B172;color:#1E1612}
a{color:#665424;text-underline-offset:4px}a:hover{color:#231A16}
:focus-visible{outline:2px solid #A7924E;outline-offset:3px}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
details[open] .faq-plus{transform:rotate(45deg)}
details[open] .faq-answer{animation:faqIn .35s cubic-bezier(.16,1,.3,1)}
@keyframes faqIn{from{opacity:.2;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq-plus{transition:transform .3s cubic-bezier(.16,1,.3,1);flex:none}
summary:hover{color:#665424 !important}
.btn-dark{transition:background .25s ease,transform .25s cubic-bezier(.16,1,.3,1)}
.btn-dark:hover{background:#3A2C25 !important;transform:translateY(-1px)}
.btn-gold{transition:background .25s ease,transform .25s cubic-bezier(.16,1,.3,1)}
.btn-gold:hover{background:#D8C18A !important;transform:translateY(-1px)}
.btn-line{transition:border-color .25s ease}
.btn-line:hover{border-color:#C9B172 !important}
.row-link{transition:gap .3s cubic-bezier(.16,1,.3,1)}
.row-link:hover{gap:14px !important}
.t-row{transition:background .35s ease,padding .35s cubic-bezier(.16,1,.3,1)}
.t-row:hover{background:#F1E8DC;padding-left:16px !important;padding-right:16px !important}
.t-row:hover .t-thumb{transform:scale(1.06)}
.t-thumb{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.nav-link{position:relative;color:inherit;text-decoration:none}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#A7924E;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.nav-link:hover::after{transform:scaleX(1)}
.ba-range{-webkit-appearance:none;appearance:none;background:transparent}
.ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:56px;height:100%;cursor:ew-resize}
.ba-range::-moz-range-thumb{width:56px;height:100%;border:0;background:transparent;cursor:ew-resize}
.ba-frame:focus-within .ba-knob{box-shadow:0 0 0 3px #C9B172}
.chip{transition:background .25s ease,color .25s ease,border-color .25s ease}
.chip:hover{border-color:#231A16 !important}
.case-card{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.case-card:hover{transform:translateY(-4px)}
.case-card:hover .case-img{transform:scale(1.03)}
.case-img{transition:transform .7s cubic-bezier(.16,1,.3,1)}
input::placeholder,textarea::placeholder{color:#9C8E80}
input:focus,textarea:focus{border-color:#A7924E !important;outline:none}

/* Fio de ouro: a linha fina da logo atravessa a página e termina no símbolo da LUCASO */
.thread{position:absolute;top:0;bottom:0;left:max(20px,calc(50% - 664px));width:1px;pointer-events:none;z-index:1}
.thread-line{position:absolute;left:0;top:0;bottom:0;width:1px}
.thread-node{position:absolute;left:-5px;width:11px;height:11px;border-radius:50%}

/* Hero */
.hero-photo{animation:heroPhoto 1.6s cubic-bezier(.16,1,.3,1) both}
@keyframes heroPhoto{from{opacity:.4;transform:scale(1.05)}to{opacity:1;transform:none}}
.hero-line{display:block;animation:heroLine .9s cubic-bezier(.16,1,.3,1) both}
.hero-line.l2{animation-delay:.12s}
.hero-fade{animation:heroLine .9s cubic-bezier(.16,1,.3,1) .24s both}
@keyframes heroLine{from{opacity:.15;transform:translateY(22px)}to{opacity:1;transform:none}}
.scroll-cue span{animation:cue 2.4s cubic-bezier(.45,0,.55,1) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

@supports (animation-timeline: view()){
  .thread-line{transform:scaleY(0);transform-origin:top;animation:threadGrow linear both;animation-timeline:view();animation-range:entry 0% cover 55%}
  @keyframes threadGrow{to{transform:scaleY(1)}}
  .thread-node{animation:nodeIn linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  @keyframes nodeIn{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
  .thread-end{animation:endIn linear both;animation-timeline:view();animation-range:entry 20% cover 40%}
  @keyframes endIn{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
  .step-fill{transform:scaleX(0);transform-origin:left;animation:fill linear both;animation-timeline:view();animation-range:entry 40% cover 55%}
  @keyframes fill{to{transform:scaleX(1)}}
  .draw path,.draw ellipse,.draw line,.draw circle{stroke-dasharray:1;stroke-dashoffset:1;animation:draw linear both;animation-timeline:view();animation-range:entry 10% cover 50%}
  @keyframes draw{to{stroke-dashoffset:0}}
  .reveal-photo{animation:revealUp linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  @keyframes revealUp{from{clip-path:inset(18% 0 0 0);transform:translateY(40px)}to{clip-path:inset(0 0 0 0);transform:none}}
  .reveal-img{animation:revealImg linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
  @keyframes revealImg{from{clip-path:inset(0 0 22% 0)}to{clip-path:inset(0 0 0 0)}}
  .reveal-text{animation:revealText linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  @keyframes revealText{from{opacity:.25;transform:translateY(28px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion: reduce){
  .hero-photo,.hero-line,.hero-fade,.step-fill,.reveal-photo,.reveal-img,.reveal-text,.thread-line,.thread-node,.thread-end,.scroll-cue span,.draw path,.draw ellipse,.draw line,.draw circle{animation:none !important;transform:none !important;clip-path:none !important;opacity:1 !important;stroke-dashoffset:0 !important}
  html{scroll-behavior:auto}
}

@media (max-width: 1180px){.thread{display:none !important}}
@media (max-width: 1100px){
  .hero{min-height:0 !important;flex-direction:column !important;padding-top:0 !important}
  .hero-media{position:relative !important;width:calc(100% + 48px) !important;margin:76px -24px 0 !important;height:560px !important;inset:auto !important}
  .hero-photo{width:100% !important;object-fit:cover !important;object-position:84% 0 !important;-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent) !important;mask-image:linear-gradient(to bottom,#000 72%,transparent) !important}
  .hero-copy{padding:8px 0 80px !important;margin-top:-40px !important}
  .scroll-cue{display:none !important}
}
@media (max-width: 860px){
  .nav-links{display:none !important}
  .seat-photo{height:auto !important;width:100% !important;max-width:520px !important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 10%,#000 82%,transparent 100%) !important;mask-image:linear-gradient(to bottom,transparent 0%,#000 10%,#000 82%,transparent 100%) !important}
  .felipe-copy{padding:16px 0 96px !important}
  .diagram{display:none !important}
  .sticky-col{position:static !important}
}
@media (max-width: 560px){.hero-media{height:440px !important}.nav-cta{padding:11px 16px !important}.t-thumb-wrap{width:60px !important;height:76px !important}}

.site-header{background:transparent;transition:background .35s ease,box-shadow .35s ease}
.site-header.scrolled{--nav-pad:12px;background:rgba(247,241,232,.9);box-shadow:0 1px 0 rgba(35,26,22,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.case-wrap,.sc-pass{display:contents}
[hidden]{display:none !important}
.skip-link{position:absolute;left:16px;top:-80px;z-index:100;background:#231A16;color:#F7F1E8;padding:12px 18px;border-radius:999px;text-decoration:none;font-family:'Jost',sans-serif}
.skip-link:focus{top:16px}
.form-erro{margin:0;font-size:14px;line-height:1.5;color:#F2C9B8}
.ba-frame{touch-action:pan-y}
p,li,figcaption{text-wrap:pretty}
.row-link{min-height:44px}
.nav-link{padding:12px 0}.nav-link::after{bottom:6px}
@media (max-width:1099px){.sticky-col{position:static !important}}
img{max-width:100%}

.cc{position:fixed;left:16px;bottom:16px;z-index:60;max-width:440px;width:calc(100% - 32px);background:#231A16;color:#E9DFD3;border:1px solid #4A3B31;border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 60px -24px rgba(0,0,0,.55);font-family:'Jost',sans-serif}
.cc-title{margin:0 0 8px;font-weight:400;font-size:19px;color:#F7F1E8}
.cc-text{margin:0;font-size:14px;line-height:1.55}
.cc a{color:#E0CD98}
.cc-prefs{margin:14px 0 0}.cc-prefs fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cc-legend{font-size:13px;letter-spacing:.04em;color:#D9CDBF;margin-bottom:6px}
.cc-opt{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;cursor:pointer;min-height:44px}
.cc-opt input{width:20px;height:20px;margin:2px 0 0;accent-color:#C9B172;flex:none}
.cc-opt b{font-weight:500;color:#F7F1E8}
.cc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cc-btn{font-family:inherit;font-size:14px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid #6A5848;background:transparent;color:#F7F1E8;cursor:pointer}
.cc-btn:hover{border-color:#C9B172}
.cc-primary{background:#C9B172;border-color:#C9B172;color:#1E1612}
.cc-primary:hover{background:#D8C18A}
.cc-link{border-color:transparent;text-decoration:underline;text-underline-offset:4px}
.legal-nav{display:flex;flex-wrap:wrap;gap:4px 28px;font-size:13px}
.legal-nav a,.legal-btn{color:#BFB2A3;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.legal-nav a:hover,.legal-btn:hover{color:#F7F1E8}
.legal-btn{font:inherit;background:none;border:0;padding:0;cursor:pointer}
@media (max-width:560px){.cc{left:8px;right:8px;bottom:8px;width:auto;max-width:none;padding:18px 16px 14px}.cc-actions .cc-btn{flex:1 1 auto}}
.doc h2{scroll-margin-top:24px}.doc ul{padding-left:1.2em}.doc li{margin:6px 0}
.doc table{width:100%;border-collapse:collapse;font-size:15px;margin:12px 0}.doc th,.doc td{text-align:left;padding:10px 8px;border-bottom:1px solid #DCCDBA;vertical-align:top}
