/* Ferman Coder, surreal edition. Everything after the opening climbs the building:
   each section sits one floor higher, from the graphite at street level to the fog above the clouds.
   The opening (header + .cinema) keeps its own stylesheets untouched. */

@font-face{font-family:Poppins;src:url('assets/fonts/poppins-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/fonts/poppins-latin-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Archivo';src:url('assets/fonts/archivo-latin-var.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('assets/fonts/source-serif-4-latin-var.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('assets/fonts/source-serif-4-latin-italic-var.woff2') format('woff2');font-weight:200 900;font-style:italic;font-display:swap}

:root{
  --fc-grafite:#1D2125;--fc-chumbo:#3B434A;--fc-andar:#525B62;--fc-concreto:#8A9197;--fc-nevoa:#D6D9DA;--fc-prata:#EEF1F2;--fc-luz:#E2AE62;
  --fc-muted:#B9C0C5;--fc-ink-soft:#3A4146;
  --fc-max:1360px;--fc-gutter:clamp(20px,6vw,104px);
  --fc-display:'Archivo','Arial Narrow',Arial,sans-serif;--fc-text:'Source Serif 4',Georgia,serif;--fc-ui:Poppins,Arial,Helvetica,sans-serif;
}

/* ---------- Shared type ---------- */
.fc{font-family:var(--fc-text);font-size:18px;line-height:1.6;color:var(--fc-prata);-webkit-font-smoothing:antialiased}
.fc h1,.fc h2,.fc h3,.fc-display{text-wrap:balance;font-family:var(--fc-display);font-stretch:118%;font-weight:500;letter-spacing:-.02em;line-height:1.02;margin:0}
.fc h2{font-size:clamp(40px,5.2vw,75px);max-width:13ch}
.fc h3{font-size:clamp(24px,2.2vw,32px);line-height:1.1}
.fc p{margin:0}
.fc-lede{font-size:clamp(18px,1.5vw,21px);line-height:1.6;max-width:58ch;color:var(--fc-muted)}
.fc-wrap{max-width:var(--fc-max);margin:0 auto}

/* ---------- Actions ---------- */
.fc-pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;font:500 15px/1.3 var(--fc-ui);letter-spacing:-.01em;padding:14px 28px;border-radius:99px;border:0;cursor:pointer;background:linear-gradient(145deg,#fff,#d0d4dc);color:#15171c;box-shadow:inset 0 1px #fff,0 4px 18px #0003;text-decoration:none}
.fc-pill:hover{background:linear-gradient(145deg,#fff,#e2e5ea)}
.fc-pill--dark{background:var(--fc-grafite);color:var(--fc-prata);box-shadow:none}
.fc-pill--dark:hover{background:#2b3136}
.fc-link{display:inline-block;font:500 14px/1.4 var(--fc-ui);letter-spacing:-.01em;color:inherit;border-bottom:1px solid currentColor;padding:12px 0 3px}
.fc-link:hover{color:var(--fc-luz)}
.fc :is(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--fc-luz);outline-offset:4px}

/* ---------- Soluções: the building, floor by floor ---------- */
.fc-floors{position:relative;background:var(--fc-grafite);padding:clamp(40px,6vw,96px) var(--fc-gutter) clamp(90px,10vw,160px);overflow:hidden}
.fc-floors__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:clamp(56px,7vw,110px)}
.fc-floor{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.fc-floor__copy{position:relative;z-index:4;padding:44px 0}
.fc-level{display:flex;align-items:center;gap:12px;font:500 14px var(--fc-ui);color:var(--fc-concreto);margin:0 0 18px}
.fc-level::before{content:"";width:44px;height:1px;background:currentColor}
.fc-floor h3{margin-bottom:16px}
.fc-floor__copy p{color:var(--fc-muted);max-width:46ch;margin-bottom:14px}
.fc-floor:nth-child(3) .fc-level{color:var(--fc-luz)}

/* The slices: the opening's own building, cut and floating. */
.fc-slice{position:relative;height:clamp(220px,24vw,340px);isolation:isolate}
.fc-slice__cut{position:absolute;inset:0;background:url('assets/find-building.webp') no-repeat;background-size:118% auto;filter:saturate(.7) contrast(1.04) brightness(.84);-webkit-mask-image:radial-gradient(75% 85% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(75% 85% at 50% 50%,#000 62%,transparent 100%)}
.fc-slice--top .fc-slice__cut{background-position:46% 4%}
.fc-slice--mid .fc-slice__cut{background-position:46% 41%}
.fc-slice--base .fc-slice__cut{background-position:46% 84%}
.fc-slice--top{transform:translateX(-18px) rotate(-.6deg)}
.fc-slice--mid{transform:translateX(26px)}
.fc-slice--base{transform:translateX(-6px) rotate(.4deg)}
/* Each slice levitates: its shadow lands on the fog far below. */
.fc-slice::after{content:"";position:absolute;left:18%;right:18%;bottom:-46px;height:30px;border-radius:50%;background:radial-gradient(closest-side,#000a,transparent);filter:blur(6px);z-index:-1}
/* Window light. On the systems floor it is always on; elsewhere it answers hover and focus. */
.fc-slice__light{position:absolute;inset:0;background:radial-gradient(60% 50% at 30% 55%,#e2ae6266,transparent 70%),radial-gradient(50% 45% at 74% 50%,#e2ae6255,transparent 70%);mix-blend-mode:screen;opacity:0;transition:opacity .45s ease}
.fc-slice--mid .fc-slice__light{opacity:1}
.fc-floor:hover .fc-slice__light,.fc-floor:focus-within .fc-slice__light{opacity:1}
.fc-slice__wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fc-fog{position:relative;height:150px;margin:-70px 0 -70px 30%;z-index:3;pointer-events:none;background:url('assets/find-fog.webp') center/cover no-repeat;filter:grayscale(1) brightness(.6);opacity:.85;-webkit-mask-image:radial-gradient(50% 40% at 55% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(50% 40% at 55% 50%,#000 30%,transparent 100%)}

/* ---------- Conceitos: scale models resting on the clouds ---------- */
.fc-models{position:relative;background:linear-gradient(180deg,var(--fc-grafite) 0%,var(--fc-chumbo) 100%);padding:clamp(90px,10vw,150px) var(--fc-gutter) clamp(80px,9vw,130px);overflow:hidden}
.fc-models__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:end}
.fc-models__head .fc-lede{color:#CDD2D6}
.fc-stage{position:relative;max-width:var(--fc-max);height:clamp(340px,46vw,660px);margin:clamp(50px,6vw,90px) auto 0;perspective:1600px}
.fc-stage::after{content:"";position:absolute;left:-12%;right:-12%;bottom:-30px;height:clamp(150px,19vw,270px);background:url('assets/find-fog.webp') center/cover no-repeat;filter:grayscale(1) brightness(.95);opacity:.88;z-index:6;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 62%,transparent 100%)}
.fc-model{position:absolute;display:block;transform-origin:50% 100%;border-radius:4px;overflow:hidden;background:#000;box-shadow:0 60px 70px -30px #000c;transition:transform .5s ease,filter .5s ease}
.fc-model img{display:block;width:100%;height:auto}
.fc-model--hero{left:25%;width:50%;bottom:9%;z-index:4;transform:rotateX(9deg)}
.fc-model--left{left:-2%;width:31%;bottom:20%;z-index:3;transform:rotateX(7deg) rotateY(9deg)}
.fc-model--right{right:-2%;width:31%;bottom:20%;z-index:3;transform:rotateX(7deg) rotateY(-9deg)}
.fc-model--far-left{left:12%;width:19%;bottom:58%;z-index:2;transform:rotateX(5deg);opacity:.55;filter:blur(.6px)}
.fc-model--far-right{right:12%;width:19%;bottom:60%;z-index:2;transform:rotateX(5deg);opacity:.55;filter:blur(.6px)}
.fc-model:hover,.fc-model:focus-visible{filter:brightness(1.08)}
.fc-model--hero:hover,.fc-model--hero:focus-visible{transform:rotateX(4deg) translateY(-10px)}
.fc-sectors{position:relative;z-index:7;max-width:var(--fc-max);margin:clamp(100px,11vw,160px) auto 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 26px;font:500 15px var(--fc-ui);color:#E3E7E9}
.fc-sectors > span{color:#B4BBC0}
.fc-sectors a{padding:10px 0;border-bottom:1px solid transparent}
.fc-sectors a:hover{border-color:currentColor}
.fc-all{position:relative;z-index:7;max-width:var(--fc-max);margin:10px auto 0}
.fc-all summary{display:inline-block;cursor:pointer;list-style:none;font:500 14px var(--fc-ui);border-bottom:1px solid currentColor;padding:12px 0 3px;color:var(--fc-prata)}
.fc-all summary::-webkit-details-marker{display:none}
.fc-all ul{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 28px}
.fc-all li a{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid #eef1f22e;font:500 15px var(--fc-ui)}
.fc-all li small{font:italic 15px var(--fc-text);color:#B4BBC0;text-align:right}
.fc-all li a:hover small{color:var(--fc-luz)}
.fc-self{position:relative;z-index:7;max-width:var(--fc-max);margin:clamp(70px,9vw,120px) auto 0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.fc-self h3{margin-bottom:16px}
.fc-self p{color:#CDD2D6;max-width:46ch}
.fc-mini{position:relative;display:block;height:clamp(220px,22vw,300px);border-radius:6px;overflow:hidden;background:url('assets/find-sky.webp') center/cover;box-shadow:0 30px 60px #0006}
.fc-mini::before{content:"";position:absolute;left:0;right:0;bottom:-70%;height:110%;background:url('assets/find-building.webp') center top/70% auto no-repeat;filter:saturate(.7) brightness(.82)}
.fc-mini::after{content:"";position:absolute;inset:0;background:#0003}
.fc-mini span{position:absolute;z-index:2;left:8%;right:8%;top:30%;text-align:center;font:700 clamp(22px,2.4vw,34px)/1.04 Arial,sans-serif;letter-spacing:-.05em;color:#F1F4F8}

/* ---------- Como trabalhamos: four steps that climb ---------- */
.fc-process{position:relative;background:linear-gradient(180deg,var(--fc-chumbo) 0%,var(--fc-andar) 100%);padding:clamp(90px,10vw,150px) var(--fc-gutter) clamp(120px,12vw,190px)}
.fc-process__head{margin-bottom:clamp(50px,7vw,110px)}
.fc-process .fc-lede{color:#D3D8DB;margin-top:28px}
.fc-steps{list-style:none;margin:0 auto;padding:0;max-width:var(--fc-max);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;align-items:end}
.fc-step{border-top:1px solid #eef1f259;padding-top:22px}
.fc-step:nth-child(2){margin-bottom:90px}
.fc-step:nth-child(3){margin-bottom:180px}
.fc-step:nth-child(4){margin-bottom:270px}
.fc-step__n{display:block;font:300 64px/1 var(--fc-display);font-stretch:125%;color:#eef1f270;margin-bottom:22px}
.fc-step h3{font-size:28px;margin-bottom:12px}
.fc-step p{font-size:17px;color:#DDE1E4;max-width:30ch}
.fc-step:first-child{border-top-color:var(--fc-luz)}
.fc-step:first-child .fc-step__n{color:var(--fc-luz)}
.fc-process__foot{max-width:var(--fc-max);margin:clamp(50px,6vw,70px) auto 0;display:flex;justify-content:space-between;align-items:center;gap:24px;color:#DDE1E4;font-size:17px}

/* ---------- Crossing the clouds ---------- */
.fc-clouds{position:relative;height:300px;margin:-150px 0;z-index:4;pointer-events:none;background:linear-gradient(180deg,transparent 22%,#9aa1a6 40%,var(--fc-nevoa) 58%)}
.fc-clouds::before{content:"";position:absolute;inset:0;background:url('assets/find-fog.webp') center 40%/cover no-repeat;filter:grayscale(1) brightness(.93);-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,#000 55%,transparent);mask-image:linear-gradient(180deg,transparent,#000 40%,#000 55%,transparent)}

/* ---------- Sobre: above the clouds ---------- */
.fc-about{position:relative;background:var(--fc-nevoa);color:var(--fc-grafite);padding:190px var(--fc-gutter) clamp(90px,10vw,140px)}
.fc-about__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,96px);align-items:start}
.fc-portrait{position:relative;aspect-ratio:4/5;margin:0;border-radius:4px;overflow:hidden;background:linear-gradient(170deg,#eef1f2 0%,#b9bfc3 100%);display:grid;place-items:center}
.fc-portrait::before{content:"";position:absolute;left:-20%;right:-20%;bottom:-10%;height:55%;background:url('assets/find-cloud.webp') center/cover no-repeat;filter:grayscale(1) brightness(1.3);opacity:.8}
.fc-portrait span{position:relative;font:300 clamp(80px,9vw,120px)/1 var(--fc-display);font-stretch:125%;color:#1d212538}
.fc-portrait figcaption{position:absolute;left:16px;bottom:16px}
.fc-about h2{color:var(--fc-grafite);margin-top:clamp(0px,3vw,40px)}
.fc-about__grid p{font-size:20px;max-width:52ch;margin-top:26px;color:#2D3338}
.fc-sign{margin-top:40px;font:500 15px var(--fc-ui)}
.fc-sign small{display:block;font:italic 16px var(--fc-text);color:#555D63}
/* Pending facts stay visible until Joshua supplies them. */
.fc .fc-need{display:inline-block;max-width:none;font-size:12px;font:500 12px/1.35 var(--fc-ui);color:#6B4A12;background:#e2ae6233;border:1px dashed #9C7230;border-radius:6px;padding:5px 9px;margin-top:16px}

/* ---------- Contato: the top floor ---------- */
.fc-contact{background:linear-gradient(180deg,var(--fc-nevoa) 0%,var(--fc-prata) 40%);color:var(--fc-grafite);padding:clamp(80px,9vw,120px) var(--fc-gutter) clamp(90px,10vw,140px)}
.fc-contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,96px);align-items:start}
.fc-contact h2{color:var(--fc-grafite)}
.fc-contact .fc-lede{color:var(--fc-ink-soft);margin-top:28px}
.fc-contact__wa{display:inline-block;margin-top:34px;font:500 15px var(--fc-ui);color:var(--fc-ink-soft);border-bottom:1px solid currentColor;padding:10px 0 3px}
.fc-panel{background:#fff;border-radius:14px;padding:clamp(24px,3vw,36px);box-shadow:0 1px 0 #0000000a,0 30px 60px -30px #1d212540;color:var(--fc-grafite)}
.fc-panel fieldset{border:0;margin:0;padding:0;min-width:0}
.fc-progress{display:flex;align-items:center;gap:14px;margin-bottom:30px;font:500 13px var(--fc-ui);color:#5E676D}
.fc-progress ol{display:flex;flex:1;gap:8px;list-style:none;margin:0;padding:0}
.fc-progress li{flex:1;height:3px;border-radius:2px;background:#D6D9DA}
.fc-progress li.is-active{background:var(--fc-luz)}
.fc-panel legend,.fc-panel .fc-review-title{display:block;font-family:var(--fc-display);font-stretch:112%;font-size:clamp(22px,2.2vw,28px);font-weight:500;letter-spacing:-.015em;line-height:1.15;margin:0 0 14px;padding:0}
.fc-panel label{display:block;font:500 14px var(--fc-ui);margin:16px 0 8px}
.fc-panel input:not([type=radio]),.fc-panel textarea{width:100%;border:1.5px solid #C2C8CB;border-radius:10px;padding:14px 16px;font:400 16px var(--fc-ui);color:var(--fc-grafite);background:#fff}
.fc-panel textarea{min-height:120px;resize:vertical}
.fc-panel input[aria-invalid=true],.fc-panel textarea[aria-invalid=true]{border-color:#A3402F}
.fc-hint{font-size:15px;color:#555D63;margin-top:10px}
.fc-choice{display:flex!important;align-items:center;gap:12px;border:1.5px solid #C2C8CB;border-radius:12px;padding:14px 16px;margin:0 0 10px!important;cursor:pointer;font:500 15px var(--fc-ui)}
.fc-choice input{accent-color:var(--fc-grafite);width:18px;height:18px}
.fc-choice:has(input:checked){border-color:var(--fc-grafite);background:#f2f4f5}
.fc-error{margin-top:14px;font:500 14px var(--fc-ui);color:#A3402F}
.fc-review{white-space:pre-wrap;font:400 15px/1.55 var(--fc-ui);background:#f2f4f5;border-radius:10px;padding:16px;margin:0}
.fc-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;margin-top:26px}
.fc-back{font:500 14px var(--fc-ui);background:none;border:0;color:var(--fc-ink-soft);cursor:pointer;padding:12px 6px;margin-right:auto;text-decoration:underline;text-underline-offset:4px}
.fc-note{font:400 13px/1.5 var(--fc-ui);color:#5E676D;margin-top:18px}

/* ---------- Footer ---------- */
.fc-footer{background:var(--fc-grafite);color:#B4BBC0;padding:34px var(--fc-gutter);font:400 14px var(--fc-ui)}
.fc-footer .fc-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.fc-footer a{padding:10px 0}
.fc-footer a:hover{color:var(--fc-prata)}
.fc-footer small{margin-left:auto;font-size:14px}

/* ---------- Inner pages ---------- */
.fc-page{margin:0;background:var(--fc-grafite)}
.fc-bar{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:20;width:min(1240px,calc(100% - 28px));min-height:69px;display:flex;align-items:center;gap:20px 28px;padding:11px 18px 11px 25px;border-radius:9px;background:#080d16d9;border:1px solid #c6d6ec21;font-family:var(--fc-ui);color:#EDF1F6}
.fc-bar__brand{display:flex;align-items:center;gap:10px;font:700 13px Arial,sans-serif;letter-spacing:.15em;white-space:nowrap}
.fc-bar__brand b{font:italic 900 26px Arial,sans-serif;letter-spacing:0;border-left:1.5px solid #EDF1F6;padding-left:6px}
.fc-bar__back{margin-left:auto;font-size:14px;font-weight:500;color:#C5CBD3;padding:12px 0}
.fc-bar__back:hover{color:#fff}
.fc-bar__wa{border:1px solid #ffffff30;border-radius:99px;padding:11px 18px;font-size:14px;font-weight:500;white-space:nowrap}
.fc-bar__wa:hover{border-color:#ffffff70}
.fc-crumb{font:500 14px var(--fc-ui);color:#A9B0B6;margin-bottom:26px}
.fc-crumb a:hover{color:var(--fc-prata)}
.fc-inner-hero{position:relative;padding:clamp(150px,15vw,200px) var(--fc-gutter) clamp(140px,14vw,210px);background:var(--fc-grafite);overflow:hidden}
.fc-inner-hero::after{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:220px;background:url('assets/find-fog.webp') center/cover no-repeat;filter:grayscale(1) brightness(.5);opacity:.9;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 60%,transparent 100%);z-index:1}
.fc-inner-hero__grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.fc-inner-hero h1{font-size:clamp(44px,4.6vw,76px);max-width:none}
.fc-inner-hero .fc-lede{margin:26px 0 36px}
.fc-inner-hero .fc-slice{height:clamp(260px,32vw,470px)}
.fc-band{padding:clamp(80px,9vw,120px) var(--fc-gutter)}
.fc-band--dark{background:linear-gradient(180deg,var(--fc-grafite),var(--fc-chumbo))}
.fc-band--mid{background:linear-gradient(180deg,var(--fc-chumbo),var(--fc-andar))}
.fc-band--light{background:var(--fc-nevoa);color:var(--fc-grafite);padding-top:190px}
.fc-band--light h2{color:var(--fc-grafite)}
.fc-signs{list-style:none;margin:64px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px}
.fc-signs li{font:400 clamp(22px,2vw,28px)/1.18 var(--fc-display);font-stretch:112%;letter-spacing:-.015em;border-top:1px solid #eef1f240;padding-top:22px}
.fc-parts{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px}
.fc-parts h2{font-size:clamp(36px,4vw,56px)}
.fc-parts dl{display:grid;grid-template-columns:minmax(150px,auto) 1fr;margin:0}
.fc-parts dt,.fc-parts dd{margin:0;padding:22px 0;border-top:1px solid #eef1f230}
.fc-parts dt{font:500 17px var(--fc-ui);padding-right:40px}
.fc-parts dd{color:#DDE1E4}
.fc-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,96px);align-items:center}
.fc-start p{font-size:22px;color:#2D3338;max-width:40ch;margin:24px 0 34px}
.fc-related__label{font:500 15px var(--fc-ui);color:var(--fc-ink-soft);margin:0 0 18px}
.fc-related{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fc-related a{display:block}
.fc-related img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 30px 50px -25px #0009}
.fc-related strong{display:block;margin-top:12px;font:500 15px var(--fc-ui)}
.fc-related small{display:block;font:italic 15px var(--fc-text);color:#555D63}
.fc-related a:hover strong{text-decoration:underline;text-underline-offset:4px}
.fc-concept-hero{position:relative;padding:clamp(150px,14vw,190px) var(--fc-gutter) 0;background:linear-gradient(180deg,var(--fc-grafite),var(--fc-chumbo));overflow:hidden}
.fc-concept-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:end}
.fc-concept-hero h1{font-size:clamp(64px,9vw,150px);font-stretch:125%;max-width:none}
.fc-concept-hero .fc-lede{color:#CDD2D6}
.fc-study{display:inline-block;margin-top:22px;font:500 14px/1.4 var(--fc-ui);color:var(--fc-grafite);background:var(--fc-prata);border-radius:99px;padding:8px 16px}
.fc-bigmodel{position:relative;max-width:1240px;margin:clamp(50px,6vw,80px) auto 0;perspective:1800px;padding-bottom:clamp(80px,10vw,140px)}
.fc-bigmodel img{display:block;width:100%;height:auto;border-radius:6px;transform:rotateX(12deg);transform-origin:50% 100%;box-shadow:0 80px 90px -40px #000d}
.fc-bigmodel::after{content:"";position:absolute;left:-20%;right:-20%;bottom:0;height:clamp(160px,20vw,300px);background:url('assets/find-fog.webp') center/cover no-repeat;filter:grayscale(1) brightness(.9);opacity:.9;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 60%,transparent 100%)}
.fc-views{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,96px)}
.fc-views h2{font-size:clamp(28px,2.6vw,36px);max-width:none;margin-bottom:22px}
.fc-views blockquote{margin:0 0 6px;font:400 clamp(22px,2vw,28px)/1.2 var(--fc-display);font-stretch:112%;color:var(--fc-prata)}
.fc-views ul{list-style:none;margin:0;padding:0}
.fc-views li{padding:16px 0;border-top:1px solid #eef1f230;color:#DDE1E4}
.fc-stages{list-style:none;display:flex;gap:10px;margin:18px 0 0;padding:0}
.fc-stages li{flex:1;border:0;padding:12px 14px;border-radius:8px;background:#ffffff14;border-left:3px solid var(--fc-concreto);font:500 14px var(--fc-ui);color:var(--fc-prata)}
.fc-stages li:nth-child(2){border-left-color:var(--fc-luz)}
.fc-stages li:nth-child(3){border-left-color:#9FB8A6}
.fc-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px}
.fc-story h2{font-size:clamp(26px,2.4vw,34px);max-width:none;margin-bottom:14px}
.fc-story p{color:#DDE1E4;max-width:56ch}
.fc-next{display:flex;justify-content:space-between;gap:20px;margin-top:60px;padding-top:24px;border-top:1px solid #1d212526;font:500 15px var(--fc-ui)}
.fc-next a{padding:10px 0}
.fc-next a:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- Narrow screens ---------- */
@media (max-width:900px){
  .fc-floors__intro,.fc-floor,.fc-models__head,.fc-self,.fc-about__grid,.fc-contact__grid,.fc-inner-hero__grid,.fc-start,.fc-views,.fc-parts,.fc-concept-hero__grid,.fc-story{grid-template-columns:1fr;gap:28px}
  .fc-floor{gap:0}
  .fc-floor .fc-slice{order:-1;transform:none}
  .fc-floor__copy{padding:26px 0 54px}
  .fc-fog{display:none}
  .fc-model--left,.fc-model--right,.fc-model--far-left,.fc-model--far-right{display:none}
  .fc-model--hero{left:4%;width:92%;bottom:14%}
  .fc-steps{grid-template-columns:1fr 1fr;gap:40px 28px;align-items:start}
  .fc-step:nth-child(n){margin-bottom:0}
  .fc-step:nth-child(even){margin-top:60px}
  .fc-signs{grid-template-columns:1fr;gap:28px;margin-top:40px}
  .fc-related{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}
@media (max-width:640px){
  .fc{font-size:17px}
  .fc-steps{grid-template-columns:1fr;gap:34px}
  .fc-step:nth-child(even){margin-top:0}
  .fc-step__n{font-size:44px;margin-bottom:10px}
  .fc-process__foot{flex-direction:column;align-items:flex-start}
  .fc-about{padding-top:170px}
  .fc-portrait{aspect-ratio:1/1}
  .fc-about__grid p{font-size:18px}
  .fc-actions .fc-pill{flex:1}
  .fc-bar{top:14px;padding:8px 14px;min-height:62px}
  .fc-bar__brand{font-size:11px}
  .fc-bar__wa{display:none}
  .fc-inner-hero h1{font-size:44px}
  .fc-parts dl{grid-template-columns:1fr}
  .fc-parts dt{padding-bottom:4px}
  .fc-parts dd{border-top:0;padding-top:0}
  .fc-related{grid-template-columns:1fr 1fr}
  .fc-stages{flex-direction:column}
  .fc-footer small{margin-left:0}
}
@media (max-width:800px){
  .fc-slice__cut{background-image:url('assets/find-building-mobile.webp')}
}
@media (prefers-reduced-motion:reduce){
  .fc-slice__light,.fc-model{transition:none}
  .fc-model--hero:hover,.fc-model--hero:focus-visible{transform:rotateX(9deg)}
}

/* ---------- Inner pages load only this stylesheet, so they carry their own base ---------- */
.fc-page *,.fc-page *::before,.fc-page *::after{box-sizing:border-box}
.fc-page a{color:inherit;text-decoration:none}
.fc-page a.fc-pill{color:#15171c}
.fc-page a.fc-pill--dark{color:var(--fc-prata)}
.fc-page img{max-width:100%}
.fc-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fc-skip{position:absolute;left:16px;top:-80px;z-index:50;background:var(--fc-prata);color:var(--fc-grafite);font:500 14px var(--fc-ui);padding:12px 16px;border-radius:8px}
.fc-skip:focus{top:16px}
.fc-mini--big{height:clamp(300px,42vw,560px);margin:clamp(50px,6vw,80px) auto 0;max-width:1240px}
.fc-mini--big span{font-size:clamp(32px,5vw,72px)}
.fc-band--light .fc-next{border-top-color:#1d212526}

/* Same layering as .cinema + .solutions in opening.css, so the hand-off from the opening is unchanged. */
.cinema + .fc-floors{position:relative;z-index:2}

/* Abaixo de 800px a cena vem das cópias de 1280px que já existem no projeto. Só muda
   de qual arquivo o pixel vem: posição, tamanho, máscara e filtro continuam os da regra de cima. */
@media (max-width:800px){
  .fc-fog{background-image:url('assets/find-fog-mobile.webp')}
  .fc-stage::after{background-image:url('assets/find-fog-mobile.webp')}
  .fc-mini{background-image:url('assets/find-sky-mobile.webp')}
  .fc-mini::before{background-image:url('assets/find-building-mobile.webp')}
  .fc-clouds::before{background-image:url('assets/find-fog-mobile.webp')}
  .fc-portrait::before{background-image:url('assets/find-fog-mobile.webp')}
  .fc-inner-hero::after{background-image:url('assets/find-fog-mobile.webp')}
  .fc-bigmodel::after{background-image:url('assets/find-fog-mobile.webp')}
}
