
:root{--paper:#f7f5f0;--ink:#161616;--muted:#6f6a62;--line:#d7d1c7;--gold:#a58255;--dark:#111;--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6}a{text-decoration:none;color:inherit}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;min-height:82px;padding:18px max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(247,245,240,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.08)}
.brand{display:flex;align-items:center;gap:12px;font-weight:600}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border:1px solid;font-family:"Playfair Display",serif}.nav{display:flex;gap:24px;font-size:.9rem}
.btn{min-height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #111;background:#111;color:#fff;font-weight:600;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-small{min-height:42px;font-size:.83rem}.btn-light{background:#fff;color:#111;border-color:#fff}.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.55)}
.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.16em;margin:0 0 16px}
.hero{min-height:100vh;position:relative;color:#fff;background:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=90") center/cover no-repeat}
.hero-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,7,.76),rgba(7,7,7,.2))}
.hero-grid{position:relative;z-index:2;min-height:100vh;max-width:var(--max);margin:auto;padding:145px 28px 65px;display:grid;grid-template-columns:1.15fr .65fr;align-items:end;gap:70px}
.hero-copy-box h1,.about-content h2,.timeline-heading h2,.section-heading h2,.download-band h2,.contact h2{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.04em;line-height:1.03;margin:0}
.hero-copy-box h1{font-size:clamp(3.4rem,7vw,7.2rem);max-width:920px}.hero-copy{max-width:670px;color:rgba(255,255,255,.76);font-size:1.1rem;margin:25px 0 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-person{justify-self:end;width:min(360px,100%)}.hero-person-caption{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(255,255,255,.5);font-size:.86rem}.hero-person-caption span{color:rgba(255,255,255,.62)}
.silhouette{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(205,199,188,.28),rgba(80,80,80,.16));border:1px solid rgba(255,255,255,.18)}
.silhouette-hero{height:570px}.silhouette-profile{height:650px;background:linear-gradient(145deg,#ded8cc,#b8afa1)}
.silhouette .head{position:absolute;width:126px;height:145px;border-radius:50% 50% 46% 46%;left:50%;top:18%;transform:translateX(-50%);background:#272727}
.silhouette .neck{position:absolute;width:64px;height:70px;left:50%;top:39%;transform:translateX(-50%);background:#272727}
.silhouette .torso{position:absolute;width:84%;height:60%;left:50%;bottom:-15%;transform:translateX(-50%);border-radius:50% 50% 0 0;background:#272727}
.silhouette .helmet{position:absolute;width:150px;height:40px;border-radius:80% 80% 20% 20%;left:50%;top:16.5%;transform:translateX(-50%);background:#b0a590}
.section{max-width:var(--max);margin:0 auto;padding:120px 28px}
.about-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}.portrait-frame{background:#d9d3c8}.portrait-note{font-size:.78rem;color:var(--muted);margin-top:13px}.about-content h2,.timeline-heading h2,.section-heading h2,.download-band h2,.contact h2{font-size:clamp(2.6rem,5vw,5rem)}.about-content .lead{font-size:1.22rem;color:#34312d}.about-content>p{max-width:800px;color:#565149}.about-values{margin-top:42px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.about-values article{padding:23px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.about-values span{color:var(--gold);font-size:.75rem}.about-values strong{display:block;font-family:"Playfair Display",serif;font-size:1.55rem;margin:28px 0 4px}.about-values p{margin:0;color:var(--muted);font-size:.9rem}
.timeline-section{padding:120px max(28px,calc((100vw - var(--max))/2));background:#171717;color:#fff}.timeline-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:85px}.timeline-heading>p{max-width:520px;color:rgba(255,255,255,.55)}.year-group{display:grid;grid-template-columns:180px 1fr;gap:55px;margin-bottom:100px}.year-title{position:sticky;top:120px;height:max-content}.year-title span{display:block;color:#a79072;font-size:.7rem;letter-spacing:.15em}.year-title strong{font-family:"Playfair Display",serif;font-size:4rem;font-weight:500}
.timeline{position:relative}.timeline:before{content:"";position:absolute;left:124px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.16)}.timeline-item{display:grid;grid-template-columns:94px 32px 1fr;gap:14px;padding-bottom:36px;position:relative}.date{text-align:right;padding-top:5px}.date b{display:block;color:#b69770;letter-spacing:.06em}.date small{color:rgba(255,255,255,.4)}.dot{width:11px;height:11px;background:#b69770;border-radius:50%;margin:11px auto 0;box-shadow:0 0 0 6px #171717;z-index:2}.card{padding:26px 28px;border:1px solid rgba(255,255,255,.14);background:#1f1f1f}.card.featured{background:#27231e;border-color:#715d45}.phase{font-size:.7rem;font-weight:700;letter-spacing:.14em;color:#b69770}.card h3{font-family:"Playfair Display",serif;font-size:1.95rem;font-weight:500;margin:8px 0}.card p{margin:0;color:rgba(255,255,255,.58)}
.section-heading{margin-bottom:54px}.row-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.text-link{border-bottom:1px solid;padding-bottom:5px;font-weight:600}
.projects{border-top:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 24px}.project-card-large{grid-column:1/-1}.project-image{min-height:460px;background-position:center;background-size:cover}.project-card-large .project-image{min-height:670px}.image-one{background-image:url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=90")}.image-two{background-image:url("https://images.unsplash.com/photo-1562774053-701939374585?auto=format&fit=crop&w=1400&q=90")}.image-three{background-image:url("https://images.unsplash.com/photo-1586773860418-d37222d8fce3?auto=format&fit=crop&w=1400&q=90")}.image-four{background-image:url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1400&q=90")}.project-info{display:flex;justify-content:space-between;gap:20px;border-top:1px solid;padding-top:15px}.project-info p{font-size:.77rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0}.project-info h3{font-family:"Playfair Display",serif;font-size:1.7rem;font-weight:500;margin:3px 0 0}
.services{border-top:1px solid var(--line)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.services-grid article{min-height:265px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.services-grid span{color:var(--gold);font-size:.8rem}.services-grid h3{font-family:"Playfair Display",serif;font-size:2rem;font-weight:500;margin:50px 0 8px}.services-grid p{margin:0;color:var(--muted)}
.download-band{padding:90px max(28px,calc((100vw - var(--max))/2));background:#82715c;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:60px}.download-band>div{max-width:850px}.download-band p:not(.eyebrow){color:rgba(255,255,255,.72)}
.contact{padding:110px max(28px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#ddd7cc}.contact>div>p:not(.eyebrow){color:#5d5850}.contact form{display:grid;gap:18px}.contact label{display:grid;gap:7px;font-size:.84rem;font-weight:600}input,textarea{font:inherit;background:transparent;border:0;border-bottom:1px solid #716a61;padding:13px 0;outline:none}.contact form .btn{width:max-content;margin-top:12px}
.footer{padding:38px max(28px,calc((100vw - var(--max))/2));min-height:145px;background:#111;color:#fff;display:flex;justify-content:space-between;align-items:center}.footer p{font-size:.82rem;color:rgba(255,255,255,.54)}
@media(max-width:1050px){.nav{display:none}.hero-grid{grid-template-columns:1fr .45fr}.about-section{grid-template-columns:1fr}.about-portrait{max-width:520px}.timeline-heading{flex-direction:column;align-items:flex-start}.year-group{grid-template-columns:1fr}.year-title{position:static}.services-grid{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}}
@media(max-width:720px){.site-header{min-height:70px}.brand-text,.site-header>.btn{display:none}.hero-grid{grid-template-columns:1fr;padding-top:120px}.hero-copy-box h1{font-size:clamp(3rem,14vw,5rem)}.hero-person{justify-self:start;width:210px}.silhouette-hero{height:300px}.silhouette .head{width:74px;height:87px}.silhouette .neck{width:40px;height:44px}.silhouette .helmet{width:90px;height:25px}.section{padding-top:80px;padding-bottom:80px}.about-values,.project-grid,.services-grid{grid-template-columns:1fr}.timeline-section{padding-top:80px}.timeline:before{left:15px}.timeline-item{grid-template-columns:31px 1fr}.date{grid-column:2;text-align:left}.dot{grid-column:1;grid-row:1/3}.card{grid-column:2}.project-card-large{grid-column:auto}.project-image,.project-card-large .project-image{min-height:420px}.row-heading,.download-band{flex-direction:column;align-items:flex-start}.footer{flex-direction:column;align-items:flex-start;gap:10px}}


/* ===== PROJECTOS INTERACTIVOS / GALERIA ===== */
.project-help{
  margin:14px 0 0;
  max-width:520px;
  color:var(--muted);
  font-size:.92rem;
}

.project-open{
  width:100%;
  display:block;
  padding:0;
  border:0;
  background:transparent;
  text-align:inherit;
  cursor:pointer;
}

.project-open .project-image{
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:transform .35s ease, filter .35s ease;
}

.project-open .project-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72));
  opacity:0;
  transition:opacity .3s ease;
}

.project-hover{
  position:absolute;
  left:24px;
  right:24px;
  bottom:22px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .3s ease, transform .3s ease;
}

.project-hover .view-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  font-size:1.45rem;
  font-weight:300;
}

.project-hover strong{
  font-size:.92rem;
}

.project-hover small{
  margin-left:auto;
  color:rgba(255,255,255,.7);
}

.project-open:hover .project-image,
.project-open:focus-visible .project-image{
  transform:scale(1.008);
  filter:saturate(.92);
}

.project-open:hover .project-image::after,
.project-open:focus-visible .project-image::after{
  opacity:1;
}

.project-open:hover .project-hover,
.project-open:focus-visible .project-hover{
  opacity:1;
  transform:translateY(0);
}

.project-open:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:5px;
}

body.gallery-open{
  overflow:hidden;
}

.gallery-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
  padding:32px;
}

.gallery-modal.is-open{
  display:grid;
  place-items:center;
}

.gallery-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,8,8,.88);
  backdrop-filter:blur(10px);
}

.gallery-dialog{
  position:relative;
  z-index:2;
  width:min(1220px,96vw);
  max-height:92vh;
  overflow:auto;
  padding:28px;
  background:#151515;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
}

.gallery-close{
  position:absolute;
  top:18px;
  right:20px;
  z-index:5;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:transparent;
  color:#fff;
  font-size:1.8rem;
  cursor:pointer;
}

.gallery-top{
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding-right:60px;
  margin-bottom:20px;
}

.gallery-kicker{
  margin:0 0 4px;
  color:#b69770;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.15em;
}

.gallery-top h2{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:500;
}

.gallery-top p:not(.gallery-kicker){
  margin:5px 0 0;
  color:rgba(255,255,255,.52);
}

#galleryCounter{
  align-self:end;
  color:rgba(255,255,255,.55);
  white-space:nowrap;
}

.gallery-stage{
  position:relative;
  min-height:420px;
  display:grid;
  place-items:center;
  background:#0e0e0e;
}

.gallery-stage img{
  display:block;
  max-width:100%;
  max-height:68vh;
  width:auto;
  height:auto;
  object-fit:contain;
}

.gallery-nav{
  position:absolute;
  z-index:4;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  background:rgba(0,0,0,.45);
  color:#fff;
  cursor:pointer;
  font-size:1.25rem;
}

.gallery-prev{left:18px}
.gallery-next{right:18px}

.gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:10px;
  margin-top:12px;
}

.gallery-thumb{
  padding:0;
  border:1px solid transparent;
  background:#222;
  cursor:pointer;
  opacity:.52;
  transition:.2s;
}

.gallery-thumb:hover,
.gallery-thumb.active{
  opacity:1;
}

.gallery-thumb.active{
  border-color:#b69770;
}

.gallery-thumb img{
  display:block;
  width:100%;
  height:92px;
  object-fit:cover;
}

@media(max-width:720px){
  .project-hover{
    opacity:1;
    transform:none;
    left:16px;
    right:16px;
    bottom:15px;
  }

  .project-open .project-image::after{
    opacity:.72;
  }

  .project-hover small{
    display:none;
  }

  .gallery-modal{
    padding:10px;
  }

  .gallery-dialog{
    width:100%;
    padding:18px;
  }

  .gallery-top{
    padding-right:45px;
  }

  .gallery-stage{
    min-height:280px;
  }

  .gallery-nav{
    width:42px;
    height:42px;
  }

  .gallery-prev{left:8px}
  .gallery-next{right:8px}

  .gallery-thumb img{
    height:72px;
  }
}


/* ===== FICHA DETALHADA DO PROJECTO ===== */
.gallery-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.55fr);
  gap:18px;
  align-items:start;
}

.gallery-media{
  min-width:0;
}

.project-facts{
  min-width:0;
  padding:22px;
  background:#1d1d1d;
  border:1px solid rgba(255,255,255,.13);
}

.facts-kicker{
  margin:0 0 17px;
  color:#b69770;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.15em;
}

.project-facts dl{
  margin:0;
}

.project-facts dl>div{
  padding:13px 0;
  border-top:1px solid rgba(255,255,255,.11);
}

.project-facts dt{
  margin-bottom:4px;
  color:rgba(255,255,255,.42);
  font-size:.69rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.project-facts dd{
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:.89rem;
  line-height:1.45;
}

.location-proof{
  margin-top:18px;
  padding:16px;
  display:flex;
  gap:12px;
  background:#25221e;
  border:1px solid #5d4d3b;
}

.location-pin{
  flex:0 0 35px;
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  border:1px solid #b69770;
  border-radius:50%;
  color:#b69770;
  font-size:1.1rem;
}

.location-proof strong{
  font-size:.82rem;
}

.location-proof p{
  margin:3px 0 0;
  color:rgba(255,255,255,.52);
  font-size:.75rem;
}

.map-link{
  min-height:45px;
  margin-top:12px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid rgba(255,255,255,.22);
  font-size:.81rem;
  transition:.2s;
}

.map-link:not(.is-disabled):hover{
  background:#fff;
  color:#111;
}

.map-link.is-disabled{
  opacity:.38;
  cursor:not-allowed;
}

.verification-note{
  margin:11px 0 0;
  color:rgba(255,255,255,.36);
  font-size:.69rem;
  line-height:1.45;
}

@media(max-width:900px){
  .gallery-layout{
    grid-template-columns:1fr;
  }

  .project-facts{
    order:2;
  }
}

@media(max-width:720px){
  .project-facts{
    padding:16px;
  }
}


/* ===== SIMULADOR ORÇAMENTAL ===== */
.budget-section{
  padding:115px max(28px,calc((100vw - var(--max))/2));
  background:#eeeae2;
}

.budget-intro{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:end;
  margin-bottom:52px;
}

.budget-intro h2{
  font-family:"Playfair Display",serif;
  font-size:clamp(2.6rem,5vw,5rem);
  line-height:1.03;
  letter-spacing:-.04em;
  font-weight:500;
  margin:0;
}

.budget-intro>p{
  max-width:560px;
  color:var(--muted);
  margin:0;
}

.budget-card{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  border:1px solid #cfc8bc;
  background:#f8f6f1;
}

.budget-form{
  padding:38px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.budget-field{
  display:grid;
  gap:8px;
}

.budget-field label{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.budget-field input,
.budget-field select{
  width:100%;
  min-height:50px;
  padding:0 13px;
  border:1px solid #c8c1b5;
  background:#fff;
  font:inherit;
  outline:none;
}

.budget-field input:focus,
.budget-field select:focus{
  border-color:var(--gold);
}

.budget-field small{
  color:var(--muted);
  font-size:.72rem;
}

.budget-field.is-hidden{
  display:none;
}

.budget-submit{
  align-self:end;
  width:100%;
  min-height:50px;
}

.budget-result{
  padding:42px;
  background:#171717;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.budget-result-label{
  margin:0 0 9px;
  color:#b69770;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.15em;
}

.budget-result>strong{
  font-family:"Playfair Display",serif;
  font-size:clamp(2.6rem,5vw,4.8rem);
  font-weight:500;
  line-height:1;
}

.budget-result>p:not(.budget-result-label):not(.budget-note){
  color:rgba(255,255,255,.55);
}

.budget-breakdown{
  margin-top:24px;
  border-top:1px solid rgba(255,255,255,.14);
}

.budget-breakdown>div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.budget-breakdown span{
  color:rgba(255,255,255,.46);
  font-size:.78rem;
}

.budget-breakdown b{
  font-size:.82rem;
}

.budget-contact{
  margin-top:22px;
  min-height:46px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid rgba(255,255,255,.26);
  font-size:.82rem;
  font-weight:600;
}

.budget-contact:hover{
  background:#fff;
  color:#111;
}

.budget-note{
  margin:14px 0 0;
  color:rgba(255,255,255,.34);
  font-size:.69rem;
  line-height:1.45;
}

@media(max-width:900px){
  .budget-intro,
  .budget-card{
    grid-template-columns:1fr;
  }

  .budget-intro{
    gap:25px;
  }
}

@media(max-width:720px){
  .budget-section{
    padding:80px 18px;
  }

  .budget-form{
    padding:22px;
    grid-template-columns:1fr;
  }

  .budget-result{
    padding:26px 22px;
  }

  .budget-submit{
    width:100%;
  }
}


/* ===== SIMULADOR ORÇAMENTAL AVANÇADO ===== */
.budget-advanced{
  background:#ece8df;
}

.project-type-selector{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:26px;
}

.project-type-card{
  min-width:0;
  min-height:132px;
  padding:18px;
  border:1px solid #cbc4b8;
  background:#f8f6f1;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:.22s ease;
}

.project-type-card:hover,
.project-type-card.is-active{
  border-color:#8f714e;
  background:#171717;
  color:#fff;
}

.project-type-icon{
  display:block;
  margin-bottom:22px;
  font-size:1.5rem;
  color:var(--gold);
}

.project-type-card strong{
  display:block;
  font-family:"Playfair Display",serif;
  font-size:1.25rem;
  font-weight:500;
}

.project-type-card small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.35;
}

.project-type-card.is-active small,
.project-type-card:hover small{
  color:rgba(255,255,255,.55);
}

.budget-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(310px,.55fr);
  gap:22px;
  align-items:start;
}

.budget-main{
  min-width:0;
}

.project-summary{
  padding:28px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  background:#f8f6f1;
  border:1px solid #cbc4b8;
}

.summary-label{
  display:block;
  margin-bottom:7px;
  color:#9c7950;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.14em;
}

.project-summary h3,
.phases-header h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:2rem;
  font-weight:500;
}

.project-summary p{
  max-width:720px;
  margin:9px 0 0;
  color:var(--muted);
}

.summary-badge{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid #b69b78;
  color:#8f714e;
  font-size:.76rem;
  font-weight:700;
}

.project-inputs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:10px;
}

.project-inputs label{
  padding:16px;
  background:#f8f6f1;
  border:1px solid #cbc4b8;
}

.project-inputs label>span{
  display:block;
  margin-bottom:8px;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.project-inputs input,
.project-inputs select{
  width:100%;
  min-height:43px;
  padding:0 9px;
  border:1px solid #cbc4b8;
  background:#fff;
  font:inherit;
}

.input-with-unit{
  display:flex;
  align-items:center;
  border:1px solid #cbc4b8;
  background:#fff;
}

.input-with-unit input{
  min-width:0;
  border:0;
}

.input-with-unit b{
  padding:0 10px;
  color:var(--muted);
  font-size:.8rem;
}

.phases-header{
  margin-top:40px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:25px;
}

.phase-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.phase-actions button{
  min-height:38px;
  padding:0 12px;
  border:1px solid #aaa296;
  background:transparent;
  cursor:pointer;
  font-size:.75rem;
  font-weight:600;
}

.phase-list{
  margin-top:18px;
  border-top:1px solid #c9c1b5;
}

.phase-item{
  position:relative;
  display:grid;
  grid-template-columns:26px 42px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:104px;
  padding:17px 0;
  border-bottom:1px solid #c9c1b5;
  cursor:pointer;
}

.phase-item input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.phase-check{
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  border:1px solid #948b7e;
  background:transparent;
}

.phase-check::after{
  content:"";
  width:9px;
  height:5px;
  border-left:2px solid transparent;
  border-bottom:2px solid transparent;
  transform:rotate(-45deg) translateY(-1px);
}

.phase-item input:checked + .phase-check{
  background:#171717;
  border-color:#171717;
}

.phase-item input:checked + .phase-check::after{
  border-left-color:#fff;
  border-bottom-color:#fff;
}

.phase-number{
  font-family:"Playfair Display",serif;
  font-size:1.35rem;
  color:#a3835e;
}

.phase-content{
  min-width:0;
}

.phase-top{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.phase-top strong{
  font-size:.92rem;
}

.phase-top small{
  padding:3px 7px;
  border:1px solid #c8c0b4;
  color:#7c746a;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.phase-description{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
}

.phase-rate{
  color:#59534c;
  font-size:.75rem;
  font-weight:700;
  white-space:nowrap;
}

.budget-estimate-panel{
  position:sticky;
  top:105px;
  padding:30px;
  background:#171717;
  color:#fff;
}

.budget-estimate-panel>strong{
  display:block;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.4rem,4vw,4rem);
  font-weight:500;
  line-height:1;
}

.budget-estimate-panel>p:not(.budget-result-label):not(.budget-note){
  color:rgba(255,255,255,.52);
}

.estimate-summary{
  margin-top:24px;
  border-top:1px solid rgba(255,255,255,.14);
}

.estimate-summary>div{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:11px 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}

.estimate-summary span{
  color:rgba(255,255,255,.42);
  font-size:.72rem;
}

.estimate-summary b{
  max-width:58%;
  text-align:right;
  font-size:.76rem;
}

.estimate-range{
  margin:20px 0;
  padding:15px;
  background:#25221e;
  border:1px solid #5d4d3b;
}

.estimate-range span{
  display:block;
  color:#b69770;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.estimate-range strong{
  display:block;
  margin-top:6px;
  font-size:.95rem;
}

.advanced-calculate{
  width:100%;
}

@media(max-width:1100px){
  .project-type-selector{
    grid-template-columns:repeat(2,1fr);
  }

  .budget-workspace{
    grid-template-columns:1fr;
  }

  .budget-estimate-panel{
    position:static;
  }

  .project-inputs{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:720px){
  .project-type-selector{
    display:flex;
    overflow-x:auto;
    gap:9px;
    padding-bottom:7px;
    scroll-snap-type:x proximity;
  }

  .project-type-card{
    flex:0 0 72%;
    min-height:118px;
    scroll-snap-align:start;
  }

  .project-summary{
    display:block;
    padding:21px;
  }

  .summary-badge{
    display:inline-block;
    margin-top:14px;
  }

  .project-inputs{
    grid-template-columns:1fr;
  }

  .phases-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .phase-item{
    grid-template-columns:25px 34px minmax(0,1fr);
  }

  .phase-rate{
    grid-column:3;
    margin-top:-7px;
  }

  .budget-estimate-panel{
    padding:23px 20px;
  }
}
