@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --navy:#071a2d; --deep:#04111e; --gold:#d9a83e; --cream:#f4f0e8; --ink:#15202b; --muted:#69727a; --font-sans:'Manrope'; --font-serif:'Cormorant Garamond'; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-sans),sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.eyebrow { margin:0 0 22px; color:#f2c767; font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.eyebrow.dark { color:#a77312; }
em { color:var(--gold); font-family:var(--font-serif),serif; font-weight:500; }
.site-header { position:absolute; z-index:20; top:0; left:0; right:0; height:102px; display:flex; align-items:center; justify-content:space-between; padding:0 5.5vw; border-bottom:1px solid #ffffff22; color:#fff; }
.brand img { width:auto; height:88px; object-fit:contain; }
nav { display:flex; gap:36px; font-size:12px; font-weight:600; letter-spacing:.08em; }
nav a { position:relative; padding:14px 0; }
nav a:after { content:""; position:absolute; left:0; right:100%; bottom:6px; height:1px; background:var(--gold); transition:.25s; }
nav a:hover:after { right:0; }
.header-cta { padding:13px 20px; border:1px solid #ffffff77; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:.2s; }
.header-cta:hover { background:#fff; color:var(--navy); }
.hero { min-height:780px; height:100vh; position:relative; display:flex; align-items:center; overflow:hidden; background:var(--deep); color:#fff; }
.hero-photo { position:absolute; inset:0; background:url('../assets/casa-container-noite.jpg') center/cover no-repeat; filter:saturate(.55) contrast(1.05); transform:scale(1.015); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,14,25,.97) 0%,rgba(3,14,25,.85) 42%,rgba(3,14,25,.25) 75%),linear-gradient(0deg,rgba(3,14,25,.75),transparent 45%); }
.hero-content { position:relative; z-index:2; width:min(760px,85vw); margin-left:8vw; padding-top:62px; }
.hero h1 { margin:0; font-size:clamp(48px,6vw,88px); line-height:.96; font-weight:500; letter-spacing:-.055em; }
.hero h1 em { display:inline-block; margin-top:12px; font-size:1.02em; }
.hero-lead { max-width:600px; margin:30px 0 34px; color:#dae0e5; font-size:17px; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:32px; padding:0 23px; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; transition:.25s; }
.button.gold { background:var(--gold); color:#071522; }
.button.gold:hover { background:#f0c65c; transform:translateY(-2px); }
.button.ghost { border:1px solid #ffffff55; color:#fff; }
.button.ghost:hover { border-color:#fff; background:#ffffff10; }
.hero-proof { position:absolute; z-index:3; right:5.5vw; bottom:0; display:grid; grid-template-columns:repeat(3,1fr); background:rgba(4,17,30,.9); border:1px solid #ffffff18; backdrop-filter:blur(8px); }
.hero-proof div { min-width:168px; padding:22px 24px; border-right:1px solid #ffffff18; }
.hero-proof div:last-child { border:0; }
.hero-proof strong,.hero-proof span { display:block; }
.hero-proof strong { color:#fff; font-family:var(--font-serif),serif; font-size:23px; font-weight:500; }
.hero-proof span { margin-top:5px; color:#9eabb6; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.section { padding:120px 8vw; }
.intro { display:grid; grid-template-columns:1.2fr .8fr; column-gap:8vw; }
.section-heading h2,.residential-copy h2,.commercial h2,.about h2,.contact h2 { margin:0; font-size:clamp(42px,5vw,68px); line-height:1.02; font-weight:500; letter-spacing:-.045em; }
.intro-copy { align-self:end; max-width:510px; margin:0 0 5px; color:var(--muted); font-size:16px; line-height:1.8; }
.path-grid { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:72px; background:#cfc8bb; border:1px solid #cfc8bb; }
.path-card { min-height:390px; position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:35px; overflow:hidden; color:#fff; }
.path-card:before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#06182ee6 5%,#071a2d22 82%); }
.residential-path { background:url('../assets/casa-container-dia.jpg') center/cover; }
.commercial-path { background:linear-gradient(135deg,#0c2944,#061424); }
.commercial-path:after { content:""; position:absolute; width:270px; height:270px; top:44px; right:55px; border:1px solid #d9a83e66; transform:rotate(45deg); }
.path-number,.path-content { position:relative; z-index:2; }
.path-number { align-self:flex-end; color:#ffffffa8; font-family:var(--font-serif),serif; font-size:28px; }
.path-content p { margin:0 0 12px; color:#f0c35e; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.path-content h3 { margin:0 0 13px; font-family:var(--font-serif),serif; font-size:38px; font-weight:500; }
.path-content span { display:block; max-width:470px; color:#d5dce1; font-size:13px; line-height:1.7; }
.path-content a { display:inline-block; margin-top:24px; padding-bottom:4px; border-bottom:1px solid #d9a83e88; color:#f1c45d; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.residential { display:grid; grid-template-columns:1.08fr .92fr; min-height:760px; background:#fff; }
.residential-image { position:relative; min-height:680px; }
.residential-image>img { width:100%; height:100%; object-fit:cover; }
.image-label { position:absolute; left:0; bottom:0; min-width:300px; padding:22px 28px; background:var(--navy); color:#fff; }
.image-label span,.image-label strong { display:block; }
.image-label span { color:#d5aa49; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.image-label strong { margin-top:6px; font-family:var(--font-serif),serif; font-size:21px; font-weight:500; }
.residential-copy { display:flex; flex-direction:column; justify-content:center; padding:80px 8vw 80px 7vw; background:#fff; }
.residential-copy h2 { font-size:clamp(40px,4.5vw,64px); }
.residential-copy>p:not(.eyebrow) { margin:28px 0 34px; color:var(--muted); line-height:1.8; }
.feature-list>div { display:flex; gap:20px; padding:17px 0; border-top:1px solid #e1ddd5; }
.feature-list b { color:#b4821c; font-family:var(--font-serif),serif; font-size:15px; }
.feature-list span,.feature-list strong { display:block; }
.feature-list strong { margin-bottom:5px; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.feature-list span { color:#737b82; font-size:12px; line-height:1.6; }
.text-link { align-self:flex-start; margin-top:34px; padding-bottom:7px; border-bottom:1px solid #bd8a22; color:#8c6415; font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.case-study { display:grid; grid-template-columns:.85fr 1.15fr; min-height:560px; background:#eae4d9; }
.case-copy { padding:90px 8vw; display:flex; flex-direction:column; justify-content:center; }
.case-copy h2 { margin:0; font-family:var(--font-serif),serif; font-size:48px; font-weight:500; }
.case-copy>p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.8; }
.case-study>img { width:100%; height:100%; object-fit:cover; }
.case-specs { display:grid; grid-template-columns:repeat(3,1fr); margin-top:30px; border-top:1px solid #cfc6b9; padding-top:24px; }
.case-specs small,.case-specs strong { display:block; }
.case-specs small { color:#857c70; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.case-specs strong { margin-top:6px; font-family:var(--font-serif),serif; font-size:20px; font-weight:500; }
.commercial { background:var(--navy); color:#fff; }
.commercial-top { display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; align-items:end; }
.commercial-top>p { color:#aeb9c2; font-size:15px; line-height:1.85; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); margin:70px 0 45px; border-top:1px solid #ffffff25; border-left:1px solid #ffffff25; }
.service-grid article { min-height:245px; padding:30px; border-right:1px solid #ffffff25; border-bottom:1px solid #ffffff25; }
.service-grid span { color:#c99a37; font-family:var(--font-serif),serif; font-size:17px; }
.service-grid h3 { margin:35px 0 12px; font-family:var(--font-serif),serif; font-size:28px; font-weight:500; }
.service-grid p { margin:0; color:#aeb9c2; font-size:12px; line-height:1.7; }
.portfolio { background:#f6f2eb; }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:44px 28px; margin-top:70px; }
.portfolio-grid article { min-height:225px; padding:25px; background:#fff; box-shadow:0 15px 40px #1a26320a; transition:.25s; }
.portfolio-grid article:hover { transform:translateY(-5px); box-shadow:0 20px 50px #1a263216; }
.case-top { display:flex; align-items:center; justify-content:space-between; }
.case-top span { color:#9a6d16; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.case-top b { color:#283746; font-family:var(--font-serif),serif; font-size:16px; font-weight:500; }
.portfolio-grid h3 { margin:38px 0 11px; font-family:var(--font-serif),serif; font-size:28px; font-weight:500; }
.portfolio-grid p { color:#707980; font-size:12px; line-height:1.7; }
.line { width:35px; height:2px; margin-top:22px; background:var(--gold); }
.clients { padding:52px 8vw; background:#e7e0d5; text-align:center; }
.clients>p { color:#8f7650; font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.clients>div { display:flex; flex-wrap:wrap; justify-content:center; gap:24px 45px; margin-top:25px; color:#39424a; font-family:var(--font-serif),serif; font-size:19px; }
.about { display:grid; grid-template-columns:.7fr 1.3fr; gap:10vw; background:#091d31; color:#fff; }
.about-number { display:flex; flex-direction:column; justify-content:center; border-right:1px solid #ffffff1f; }
.about-number strong { color:var(--gold); font-family:var(--font-serif),serif; font-size:84px; font-weight:400; line-height:1; }
.about-number span { margin-top:14px; color:#97a7b5; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.about-copy>p:not(.eyebrow) { max-width:650px; color:#b5c0ca; line-height:1.8; }
.about-points { display:grid; grid-template-columns:1fr 1fr; gap:12px 30px; margin-top:30px; }
.about-points span { padding:13px 0; border-top:1px solid #ffffff28; color:#dfe4e8; font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.contact { padding:120px 8vw 80px; background:linear-gradient(135deg,#0b2742,#04111e); color:#fff; text-align:center; }
.contact h2 { font-size:clamp(48px,6vw,78px); }
.contact>p:not(.eyebrow) { max-width:620px; margin:28px auto 35px; color:#b7c1ca; line-height:1.8; }
.contact-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
.contact-routing { display:grid; grid-template-columns:repeat(3,1fr); max-width:960px; margin:75px auto 0; padding-top:28px; border-top:1px solid #ffffff26; text-align:left; }
.contact-routing span,.contact-routing b { display:block; }
.contact-routing b { margin-bottom:7px; color:#d5a53e; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.contact-routing span { color:#b9c3cb; font-size:12px; }
footer { display:flex; align-items:center; justify-content:space-between; padding:33px 5.5vw; background:#020d17; color:#84919b; }
footer img { width:90px; height:45px; object-fit:contain; mix-blend-mode:screen; }
footer p { font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
footer div { display:flex; gap:28px; font-size:10px; }
.whatsapp-float { position:fixed; z-index:30; right:20px; bottom:20px; padding:13px 17px; background:#d9a83e; color:#071522; box-shadow:0 12px 32px #0005; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:900px) {
  .site-header { height:96px; padding:0 22px; } nav { display:none; } .brand img { width:auto; height:72px; } .header-cta { padding:11px 13px; font-size:9px; }
  .hero { min-height:760px; } .hero-content { margin-left:24px; width:calc(100% - 48px); } .hero-overlay { background:linear-gradient(90deg,rgba(3,14,25,.95),rgba(3,14,25,.58)); }
  .hero-proof { left:0; right:0; width:100%; } .hero-proof div { min-width:0; padding:15px 11px; } .hero-proof strong { font-size:18px; } .hero-proof span { font-size:7px; }
  .section { padding:84px 24px; } .intro,.commercial-top,.about { grid-template-columns:1fr; } .intro-copy { margin-top:28px; } .path-grid { grid-template-columns:1fr; margin-top:45px; }
  .residential,.case-study { grid-template-columns:1fr; } .residential-image { min-height:490px; } .residential-copy { padding:75px 24px; } .case-copy { padding:75px 24px; } .case-study>img { max-height:500px; }
  .service-grid,.portfolio-grid { grid-template-columns:1fr 1fr; } .about-number { border-right:0; border-bottom:1px solid #ffffff1f; padding-bottom:35px; } .about-number strong { font-size:65px; }
  .contact-routing { grid-template-columns:1fr; gap:22px; } footer { flex-wrap:wrap; gap:18px; } footer p { order:3; width:100%; } .whatsapp-float { right:12px; bottom:12px; }
}
@media (max-width:560px) {
  .hero h1 { font-size:46px; } .hero-lead { font-size:14px; } .hero-actions .button { width:100%; } .hero-proof strong { font-size:14px; }
  .path-card { min-height:330px; padding:24px; } .path-content h3 { font-size:32px; } .image-label { min-width:255px; }
  .service-grid,.portfolio-grid { grid-template-columns:1fr; } .service-grid article { min-height:210px; } .case-specs { gap:10px; } .case-specs strong { font-size:16px; }
  .clients>div { gap:16px 25px; font-size:17px; } .about-points { grid-template-columns:1fr; } .contact { padding:90px 24px 75px; } footer div { flex-direction:column; gap:8px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* V2 — direção clara, arquitetônica e orientada a portfólio */
body { background:#fbfaf7; }
.site-header { position:absolute; background:rgba(255,255,255,.96); border-bottom:1px solid #e7e2d9; color:var(--navy); box-shadow:0 4px 22px #0616270a; }
.brand img { mix-blend-mode:normal; }
.header-cta { border-color:#b98a2e; color:#8a6417; }
.header-cta:hover { background:var(--navy); border-color:var(--navy); color:#fff; }
.hero { background:#f4f0e8; color:var(--navy); }
.hero-photo { left:44%; background-image:url('../assets/casa-container-dia.jpg'); background-position:center; filter:saturate(.85) contrast(1.02); }
.hero-overlay { background:linear-gradient(90deg,#f8f5ef 0%,#f8f5ef 36%,rgba(248,245,239,.93) 48%,rgba(248,245,239,.1) 75%),linear-gradient(0deg,rgba(7,26,45,.15),transparent 35%); }
.hero-content { width:min(720px,84vw); }
.hero h1 { color:var(--navy); }
.hero-lead { max-width:570px; color:#59646e; }
.button.dark-ghost { border-color:#0b294777; color:var(--navy); }
.button.dark-ghost:hover { background:var(--navy); border-color:var(--navy); color:#fff; }
.hero-proof { background:rgba(255,255,255,.95); border-color:#dcd6cc; box-shadow:0 12px 34px #0a1c2d14; }
.hero-proof div { border-color:#ded8cf; }
.hero-proof strong { color:var(--navy); }
.hero-proof span { color:#737d84; }
.intro { background:#fbfaf7; }
.about { background:#f0ebe2; color:var(--ink); }
.about-number { border-color:#d2c9bc; }
.about-number span,.about-copy>p:not(.eyebrow) { color:#667078; }
.about-points span { border-color:#d3ccc1; color:#3c4851; }
.contact { background:#fff; color:var(--navy); border-top:1px solid #e8e2d9; }
.contact>p:not(.eyebrow),.contact-routing span { color:#68747c; }
.contact .button.ghost { border-color:#0b294755; color:var(--navy); }
.contact-routing { border-color:#d8d1c7; }
.portfolio { background:#f8f5ef; }
.portfolio-head { display:grid; grid-template-columns:1.1fr .9fr; gap:9vw; align-items:end; }
.portfolio-head>p { max-width:520px; margin:0 0 8px; color:#6a747b; font-size:15px; line-height:1.8; }
.portfolio-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:48px 0 28px; }
.portfolio-tabs span { padding:10px 15px; border:1px solid #d8d1c7; background:#fff; color:#6e767c; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.portfolio-tabs .active { background:var(--navy); border-color:var(--navy); color:#fff; }
.portfolio-feature { display:grid; grid-template-columns:1.2fr .8fr; min-height:470px; background:#fff; box-shadow:0 18px 50px #1b2b3a10; }
.portfolio-feature>img { width:100%; height:100%; min-height:470px; object-fit:cover; }
.portfolio-feature>div { display:flex; flex-direction:column; justify-content:center; padding:55px; }
.portfolio-kicker { color:#a9791c; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.portfolio-feature h3 { margin:17px 0; font-family:var(--font-serif),serif; font-size:42px; font-weight:500; line-height:1.05; }
.portfolio-feature p { color:#6a747b; font-size:13px; line-height:1.75; }
.feature-metrics { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.feature-metrics b { padding:9px 12px; background:#f2eee6; color:#36434c; font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.portfolio-grid { grid-template-columns:repeat(2,1fr); gap:30px; margin-top:30px; }
.portfolio-grid article { min-height:0; padding:0; overflow:hidden; border:1px solid #e4ded4; background:#fff; box-shadow:0 12px 35px #1a26320b; }
.portfolio-image { position:relative; height:290px; overflow:hidden; background:#d9d5cd; }
.portfolio-image>img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.portfolio-grid article:hover .portfolio-image>img { transform:scale(1.035); }
.portfolio-image>span { position:absolute; left:18px; top:18px; padding:8px 11px; background:rgba(7,26,45,.9); color:#fff; font-size:8px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.portfolio-card-copy { padding:24px 26px 27px; }
.client-mark { height:44px; display:flex; align-items:center; margin-bottom:20px; }
.client-mark img { width:auto; max-width:150px; max-height:42px; object-fit:contain; mix-blend-mode:multiply; }
.client-mark b { color:#243746; font-size:11px; letter-spacing:.12em; }
.portfolio-grid .case-top { align-items:flex-end; gap:20px; }
.portfolio-grid .case-top h3 { margin:0; font-family:var(--font-serif),serif; font-size:27px; font-weight:500; }
.portfolio-grid .case-top>b { flex:0 0 auto; color:#9a711e; font-family:var(--font-serif),serif; font-size:16px; font-weight:500; }
.portfolio-card-copy>p { min-height:42px; margin:12px 0 0; color:#727b81; font-size:12px; line-height:1.7; }
.trademark-note { max-width:850px; margin:38px auto 0; color:#8a8e90; font-size:9px; line-height:1.7; text-align:center; }
.clients.light-clients { background:#fff; border-top:1px solid #ece6dd; }
@media (max-width:900px) {
  .hero-photo { left:0; top:42%; }
  .hero-overlay { background:linear-gradient(180deg,#f8f5ef 0%,#f8f5ef 44%,rgba(248,245,239,.72) 64%,rgba(7,26,45,.18)); }
  .hero-content { align-self:flex-start; margin-top:135px; }
  .portfolio-head,.portfolio-feature { grid-template-columns:1fr; }
  .portfolio-feature>img { min-height:390px; }
  .portfolio-feature>div { padding:40px; }
}
@media (max-width:620px) {
  .site-header { background:#fff; }
  .hero { min-height:850px; }
  .hero-content { margin-top:110px; }
  .hero h1 { font-size:43px; }
  .hero-photo { top:54%; }
  .portfolio-grid { grid-template-columns:1fr; }
  .portfolio-image { height:245px; }
  .portfolio-feature>img { min-height:300px; }
  .portfolio-feature>div { padding:30px 24px; }
  .portfolio-feature h3 { font-size:34px; }
}

/* V3 — capa de intenção, páginas segmentadas e galerias em movimento */
.choice-page { min-height:100vh; background:#f7f4ed; padding:0 5vw 38px; }
.choice-header { height:128px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #ddd7cc; }
.choice-header>img { width:auto; height:96px; object-fit:contain; }
.choice-header>div { text-align:right; }
.choice-header span,.choice-header a { display:block; }
.choice-header span { color:#8d7b5b; font-size:8px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.choice-header a { margin-top:5px; color:var(--navy); font-family:var(--font-serif),serif; font-size:20px; }
.choice-intro { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:7vw; padding:64px 3vw 46px; }
.choice-intro .eyebrow { grid-column:1/-1; margin-bottom:-5px; }
.choice-intro h1 { margin:0; color:var(--navy); font-size:clamp(45px,5.2vw,74px); line-height:.98; font-weight:500; letter-spacing:-.05em; }
.choice-intro>p:last-child { margin:0 0 5px; color:#657079; font-size:14px; line-height:1.8; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.choice-card { min-height:430px; position:relative; overflow:hidden; color:#fff; }
.choice-photo,.choice-shade { position:absolute; inset:0; }
.choice-photo { transition:transform .6s ease; }
.choice-card:hover .choice-photo { transform:scale(1.035); }
.choice-residential .choice-photo { background:#0c2944 url('../assets/casa-container-dia.jpg') center/cover; }
.choice-commercial .choice-photo { background:#061424 url('../portfolio/franca-shopping.jpg') center/cover; }
.choice-shade { background:linear-gradient(0deg,rgba(4,17,30,.95),rgba(4,17,30,.08) 78%); }
.choice-index { position:absolute; top:25px; right:28px; font-family:var(--font-serif),serif; font-size:25px; }
.choice-copy { position:absolute; left:35px; right:35px; bottom:33px; }
.choice-copy small { color:#efc561; font-size:8px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.choice-copy h2 { margin:11px 0 9px; font-family:var(--font-serif),serif; font-size:40px; font-weight:500; }
.choice-copy p { max-width:540px; margin:0; color:#d4dce1; font-size:12px; line-height:1.7; }
.choice-copy b { display:inline-flex; gap:30px; margin-top:22px; padding-bottom:5px; border-bottom:1px solid #d9a83e; color:#f1c45d; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.choice-copy i { font-style:normal; }
.choice-trust { display:flex; justify-content:center; flex-wrap:wrap; gap:30px 55px; padding:28px 20px 0; color:#768087; font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
.choice-trust strong { color:var(--navy); }
.inner-page { background:#fbfaf7; }
.inner-header { position:relative; height:118px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; background:#fff; border-bottom:1px solid #e5dfd6; color:var(--navy); }
.inner-brand img { width:auto; height:88px; object-fit:contain; }
.inner-header nav { display:flex; }
.inner-cta { padding:13px 17px; border:1px solid #bb8b2c; color:#8a6417; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.inner-hero { min-height:650px; display:grid; grid-template-columns:.92fr 1.08fr; background:#f4f0e8; }
.inner-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:72px 6vw; }
.back-link { align-self:flex-start; margin-bottom:42px; color:#7b858c; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.inner-hero h1 { margin:0; color:var(--navy); font-size:clamp(48px,5.2vw,75px); line-height:.98; font-weight:500; letter-spacing:-.055em; }
.inner-hero-copy>p:not(.eyebrow) { max-width:610px; margin:28px 0 32px; color:#647078; font-size:14px; line-height:1.8; }
.inner-hero-copy .button { align-self:flex-start; }
.inner-hero-image { position:relative; }
.inner-hero-image>img { width:100%; height:100%; object-fit:cover; }
.inner-hero-image>span,.commercial-mosaic>span { position:absolute; left:0; bottom:0; padding:16px 22px; background:rgba(7,26,45,.92); color:#fff; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.light-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; padding:110px 8vw; }
.inner-title h2 { margin:0; font-size:clamp(40px,4.5vw,64px); line-height:1.03; font-weight:500; letter-spacing:-.045em; }
.service-list-light { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d9d3c9; border-left:1px solid #d9d3c9; }
.service-list-light article { min-height:220px; padding:28px; border-right:1px solid #d9d3c9; border-bottom:1px solid #d9d3c9; }
.service-list-light b { color:#a87819; font-family:var(--font-serif),serif; font-size:16px; }
.service-list-light h3 { margin:30px 0 10px; font-family:var(--font-serif),serif; font-size:27px; font-weight:500; }
.service-list-light p { margin:0; color:#737d83; font-size:12px; line-height:1.7; }
.featured-project { display:grid; grid-template-columns:.75fr 1.25fr; gap:7vw; padding:100px 8vw; background:#eee8de; }
.project-heading { align-self:center; }
.project-heading h2 { margin:0; font-family:var(--font-serif),serif; font-size:48px; font-weight:500; line-height:1.05; }
.project-heading>p:not(.eyebrow) { color:#687279; line-height:1.8; }
.project-heading>div { display:flex; flex-wrap:wrap; gap:26px; margin-top:28px; padding-top:22px; border-top:1px solid #ccc2b4; }
.project-heading span small,.project-heading span b { display:block; }
.project-heading small { color:#877d70; font-size:8px; text-transform:uppercase; }
.project-heading b { margin-top:6px; font-family:var(--font-serif),serif; font-size:18px; font-weight:500; }
.project-carousel { width:100%; min-width:0; }
.carousel-stage { position:relative; height:430px; overflow:hidden; background:#ccd0d0; }
.carousel-stage>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.02); transition:opacity .65s ease,transform 1.2s ease; }
.carousel-stage>img.active { opacity:1; transform:scale(1); }
.carousel-arrow { position:absolute; z-index:3; top:50%; width:42px; height:42px; border:0; background:rgba(255,255,255,.92); color:var(--navy); cursor:pointer; transform:translateY(-50%); font-size:17px; }
.carousel-arrow.prev { left:14px; }.carousel-arrow.next { right:14px; }
.carousel-count { position:absolute; z-index:3; right:15px; bottom:14px; padding:7px 9px; background:rgba(7,26,45,.88); color:#fff; font-size:8px; letter-spacing:.12em; }
.carousel-dots { display:flex; gap:6px; margin-top:11px; }
.carousel-dots button { width:18px; height:3px; padding:0; border:0; background:#c9c5bd; cursor:pointer; }
.carousel-dots button.active { width:35px; background:var(--gold); }
.process-section { padding:100px 8vw; background:#fff; text-align:center; }
.process-section h2 { margin:0; font-family:var(--font-serif),serif; font-size:50px; font-weight:500; }
.process-section>div { display:grid; grid-template-columns:repeat(4,1fr); max-width:1100px; margin:52px auto 0; border-top:1px solid #d9d3c9; }
.process-section span { padding:25px 15px; color:#4f5b64; font-size:11px; }
.process-section span b { display:block; margin-bottom:14px; color:#a9791c; font-family:var(--font-serif),serif; font-size:16px; }
.inner-contact { padding:100px 8vw; background:var(--navy); color:#fff; text-align:center; }
.inner-contact h2 { margin:0 0 34px; font-size:clamp(46px,5vw,68px); line-height:1; font-weight:500; letter-spacing:-.04em; }
.inner-footer { display:flex; align-items:center; justify-content:space-between; padding:28px 5vw; background:#fff; color:#727c83; font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.inner-footer img { width:auto; height:72px; object-fit:contain; }
.commercial-mosaic { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:2px; overflow:hidden; }
.commercial-mosaic img { width:100%; height:100%; object-fit:cover; }
.project-gallery { padding:110px 7vw; background:#f2eee6; }
.gallery-intro { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:end; margin-bottom:60px; }
.gallery-intro .eyebrow { grid-column:1/-1; margin-bottom:-16px; }
.gallery-intro h2 { margin:0; font-size:clamp(45px,5vw,70px); line-height:1; font-weight:500; letter-spacing:-.045em; }
.gallery-intro>p:last-child { color:#67737b; line-height:1.8; }
.projects-stack { display:grid; gap:26px; }
.project-row { display:grid; grid-template-columns:1.22fr .78fr; min-height:470px; background:#fff; border:1px solid #e0d9ce; }
.project-row:nth-child(even) .project-carousel { order:2; }
.project-row .carousel-stage { height:100%; min-height:470px; }
.project-row .carousel-dots { padding:0 0 12px 14px; }
.project-info { display:flex; flex-direction:column; justify-content:center; padding:44px; }
.project-type { color:#a67619; font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.project-client-mark { height:45px; display:flex; align-items:center; margin:25px 0; }
.project-client-mark img { width:auto; max-width:155px; max-height:43px; object-fit:contain; mix-blend-mode:multiply; }
.project-client-mark b { color:var(--navy); font-size:10px; letter-spacing:.12em; }
.project-info h3 { margin:0; font-family:var(--font-serif),serif; font-size:35px; font-weight:500; line-height:1.05; }
.project-info>strong { margin-top:12px; color:#9d731f; font-family:var(--font-serif),serif; font-size:18px; font-weight:500; }
.project-info>p { color:#6d777e; font-size:12px; line-height:1.75; }
.commercial-proof { display:grid; grid-template-columns:repeat(4,1fr); padding:0 7vw 100px; background:#f2eee6; }
.commercial-proof span { padding:25px; border-top:1px solid #cfc6b8; color:#6e777d; font-size:10px; line-height:1.6; }
.commercial-proof b { display:block; margin-bottom:7px; color:var(--navy); font-size:11px; text-transform:uppercase; }
@media (max-width:900px) {
  .choice-intro,.inner-hero,.light-section,.featured-project,.gallery-intro { grid-template-columns:1fr; }
  .choice-intro .eyebrow,.gallery-intro .eyebrow { grid-column:auto; }
  .inner-header nav { display:none; }
  .inner-hero-image { min-height:520px; }
  .project-row { grid-template-columns:1fr; }.project-row:nth-child(even) .project-carousel { order:0; }
  .commercial-proof { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .choice-page { padding:0 16px 24px; }.choice-header { height:104px; }.choice-header>img { height:78px; width:auto; }.choice-header a { font-size:16px; }
  .choice-intro { padding:42px 8px 30px; }.choice-intro h1 { font-size:43px; }.choice-grid { grid-template-columns:1fr; }.choice-card { min-height:375px; }.choice-copy { left:24px; right:24px; bottom:24px; }
  .inner-header { height:100px; padding:0 18px; }.inner-brand img { height:72px; width:auto; }.inner-cta { padding:10px; font-size:8px; }
  .inner-hero { min-height:0; }.inner-hero-copy { padding:55px 24px; }.inner-hero h1 { font-size:45px; }.inner-hero-image { min-height:420px; }
  .light-section,.featured-project,.project-gallery { padding:78px 24px; }.service-list-light { grid-template-columns:1fr; }.carousel-stage { height:330px; }
  .process-section { padding:75px 24px; }.process-section>div { grid-template-columns:1fr 1fr; }
  .project-row .carousel-stage { min-height:340px; }.project-info { padding:30px 24px; }.project-info h3 { font-size:31px; }
  .commercial-proof { grid-template-columns:1fr; padding:0 24px 75px; }.inner-footer { flex-wrap:wrap; gap:15px; }
}
@media (prefers-reduced-motion:reduce) { .carousel-stage>img { transition:none; }.choice-photo { transition:none; } }

/* Contact and social shortcuts */
.social-dock { position:fixed; z-index:50; right:18px; bottom:22px; display:flex; flex-direction:column; gap:9px; }
.social-link { position:relative; display:flex; align-items:center; justify-content:flex-end; color:#fff; text-decoration:none; }
.social-icon { position:relative; z-index:2; display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(255,255,255,.42); border-radius:50%; background:var(--navy); box-shadow:0 9px 28px rgba(7,26,45,.22); font-size:14px; font-weight:800; text-transform:none; transition:transform .2s ease,background .2s ease; }
.social-label { position:absolute; right:22px; padding:11px 35px 11px 15px; border-radius:22px 0 0 22px; background:var(--navy); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:0; transform:translateX(8px); pointer-events:none; transition:opacity .2s ease,transform .2s ease; white-space:nowrap; }
.social-link:hover .social-label,.social-link:focus-visible .social-label { opacity:1; transform:translateX(0); }
.social-link:hover .social-icon,.social-link:focus-visible .social-icon { transform:translateY(-2px); background:#b6811c; }
.social-wa .social-icon { background:#168f58; font-size:17px; transform:rotate(-18deg); }
.social-wa:hover .social-icon,.social-wa:focus-visible .social-icon { background:#117548; transform:rotate(-18deg) translateY(-2px); }
.social-ig .social-icon { font-size:0; }
.social-ig .social-icon::before { content:""; width:17px; height:17px; border:2px solid #fff; border-radius:5px; }
.social-ig .social-icon::after { content:""; position:absolute; width:5px; height:5px; border:2px solid #fff; border-radius:50%; box-shadow:7px -7px 0 -2px #fff; }
.social-in .social-icon { font-family:Arial,sans-serif; font-size:17px; letter-spacing:-1px; }
@media (max-width:640px) { .social-dock { right:12px; bottom:12px; flex-direction:row; }.social-icon { width:43px; height:43px; }.social-label { display:none; } }
