:root{--ink:#14251e;--muted:#657069;--soft:#f5f4ef;--line:#dedfd7;--blue:#244d3b;--blue-dark:#183a2b;--teal:#244d3b;--gold:#ae9871;--shadow:0 16px 42px rgba(15,30,22,.08);--radius:4px}
body{background:#faf9f5;font-family:Arial,Helvetica,sans-serif}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em}.nav,.hero-inner,.section,.materials-inner,.calculator-inner{width:min(1400px,calc(100% - 80px))}.topbar{background:#faf9f5;border-color:var(--line)}.nav{min-height:100px}.brand{letter-spacing:.13em;font-size:20px}.brand small{letter-spacing:.22em;font-weight:400;font-size:10px;margin-top:5px}.brand-mark{width:52px;height:52px;background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:0;box-shadow:none;font:18px Georgia,serif;letter-spacing:0}.links{gap:12px}.links a{font-weight:500}.links a,.lang,.lang button{border-radius:0}.lang button.active{box-shadow:none}.hero{min-height:650px;background-image:linear-gradient(90deg,rgba(12,26,19,.87),rgba(12,26,19,.55) 50%,rgba(12,26,19,.13)),url('construction-sosua-cabarete.jpg');background-size:cover;background-position:58% 56%}.hero::after{display:none}.hero-inner{padding:90px 0;grid-template-columns:minmax(0,1fr) 290px;gap:65px}.hero h1{font-size:clamp(40px,4.7vw,72px);line-height:1.09;max-width:880px}.eyebrow{border:0;background:none;padding:0;border-radius:0;font-size:11px;letter-spacing:.16em;font-weight:500}.lead{font-size:17px;line-height:1.75;max-width:610px}.btn,.calc-button{border-radius:2px;box-shadow:none;letter-spacing:.04em;font-weight:500}.btn.primary{background:#d6c8ad;color:#14251e;border-color:#d6c8ad}.btn.light{background:transparent;border:1px solid #ffffff80;color:#fff}.proof-card{border-radius:0;background:rgba(12,26,19,.36);backdrop-filter:blur(8px);border:1px solid #ffffff40;box-shadow:none}.proof-card strong{font-family:Georgia,serif;font-weight:400}.kicker{font-size:11px;letter-spacing:.18em;font-weight:500;color:var(--teal)}.section{padding:85px 0}.section-head h2,.calculator h2,.materials h2{font-size:clamp(30px,3.2vw,48px);line-height:1.18}.portfolio-card,.portfolio-card:hover{border-radius:3px;box-shadow:none}.portfolio-card{border:1px solid var(--line);background:#fff}.portfolio-image{aspect-ratio:4/3;object-fit:cover}.portfolio-meta h3{font-family:Georgia,serif;font-weight:400;font-size:23px}.materials{background:#f0efe8}.category-card,.table-wrap,.calc-form,.calc-result,.toggle-card,.search-box,input,select{border-radius:3px;box-shadow:none}.category-card.active{background:#244d3b}.calculator{background:#faf9f5}.calc-result{background:#142b20}.cta{width:min(1400px,calc(100% - 80px));margin:0 auto 80px}.cta-card{border-radius:3px;background:#203b2e;box-shadow:none}.cta .kicker{color:#d6c8ad!important}.cta h2{font-size:clamp(32px,3.5vw,50px)}.cta-stat .btn{margin-bottom:24px}.wa-btn{background:#244d3b!important;box-shadow:0 6px 22px #0002!important}.mobile-lang-floating{border-radius:3px!important}.mobile-lang-floating button{border-radius:2px!important}
/* Shared Aguasol24 footer markup, with styles isolated from the construction components. */
.compactFooter{display:block;background:#0e1713;color:#b3b8b4;padding:64px 0 28px;border-radius:0;margin:0;font-size:14px}.compactFooter .shell{width:min(1400px,calc(100% - 80px));margin:auto}.compactFooterTop{display:grid;grid-template-columns:190px 1.6fr .8fr 1fr 1.4fr;gap:35px;align-items:start}.a24-brand{display:grid;grid-template-columns:48px 1fr;grid-template-rows:24px 24px;gap:0 12px;align-items:center;color:#fff}.a24-brand .brandMark{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border:1px solid #ccc;font:16px Georgia,serif}.brandName{font-size:18px;font-weight:700;letter-spacing:.11em}.brandDescriptor{font-size:10px;letter-spacing:.23em}.compactFooterPositioning{font:26px/1.4 Georgia,serif;margin:0}.compactFooterLinks>p,.compactFooterContact>p{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#758078;margin:0 0 22px}.compactFooterLinks>a{display:block;font-weight:600;margin:0 0 16px}.compactFooterLinks>a:before{content:'›';padding-right:10px}.compactFooterContact>a,.footerOffice{display:grid;grid-template-columns:66px 1fr;gap:10px;margin:0 0 18px;align-items:center}.compactFooter small{text-transform:uppercase;font-size:9px;color:#758078;letter-spacing:.06em}.footerSocialLinks{border-top:1px solid #ffffff20;padding-top:16px;display:flex;gap:9px}.footerSocialLinks a{width:35px;height:35px;border:1px solid #ffffff50;display:grid;place-items:center}.footerSocialLinks svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6}.footerSocialLinks .socialFill{fill:currentColor}.compactFooterBottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff20;margin-top:55px!important;padding-top:26px;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.compactFooterBottom p{margin:0}.compactFooterBottom>div{display:flex;gap:25px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ad8f53;outline-offset:4px}section[id]{scroll-margin-top:120px}
@media(max-width:1100px){.compactFooterTop{grid-template-columns:1fr 1fr 1fr}.compactFooterPositioning{grid-column:2/4}.hero-inner{gap:30px}.nav{gap:14px}.links{gap:0}.links a{padding:10px}}
@media(max-width:760px){.nav,.hero-inner,.section,.materials-inner,.calculator-inner,.compactFooter .shell{width:calc(100% - 36px)}.nav{min-height:82px;flex-wrap:wrap;padding:15px 0}.brand{font-size:17px}.brand-mark{width:44px;height:44px}.links{display:flex!important;flex-wrap:wrap;gap:0;width:100%;justify-content:space-between}.links a{font-size:12px;padding:8px 3px}.lang{padding:1px}.lang button{padding:6px;font-size:11px}.mobile-lang-floating{display:none!important}.hero{min-height:0}.hero-inner{grid-template-columns:1fr;padding:55px 0;gap:35px}.hero h1{font-size:42px}.hero .lead{font-size:16px}.hero-proof{display:grid;grid-template-columns:1fr;gap:10px}.proof-card{padding:18px}.section{padding:55px 0}.cta{width:calc(100% - 36px);margin-bottom:50px}.cta-card{padding:28px}.compactFooter{padding:42px 0 85px}.compactFooterTop{grid-template-columns:1fr 1fr;gap:30px 20px}.footerBrand,.compactFooterPositioning,.compactFooterContact{grid-column:1/3}.compactFooterPositioning{font-size:25px}.compactFooterBottom{flex-direction:column;gap:18px;margin-top:35px!important}.compactFooterBottom>div{flex-wrap:wrap;gap:20px}.wa-btn{right:14px!important;bottom:14px!important}.materials h2,.calculator h2,.section-head h2{font-size:34px}section[id]{scroll-margin-top:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.material-shell,.calculator-shell{width:min(1400px,calc(100% - 80px));margin-left:auto;margin-right:auto}.compactFooter{text-align:left}.cta-stat{border-radius:3px}.portfolio-grid .portfolio-card{border-radius:3px}.hero-actions{display:flex}
@media(max-width:980px) and (min-width:761px){.hero-inner{grid-template-columns:1fr}.proof{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.nav{margin-left:auto;margin-right:auto}.brand{max-width:none}.links a{display:block}.hero-actions{display:flex}.hero-actions .btn{flex:1 1 auto;width:auto}.proof{grid-template-columns:1fr;gap:10px}.proof-card{border-radius:0}.proof-card strong{font-size:28px}.proof-card span{font-size:12px}.material-shell,.calculator-shell{width:calc(100% - 36px);margin-left:auto;margin-right:auto}.section{margin-left:auto;margin-right:auto}.cta{margin-left:auto;margin-right:auto;padding:0}.eyebrow{padding:0;border-radius:0}}

/* Version 002: hero crop and readable construction estimate. */
.hero h1{max-width:850px;font-size:clamp(40px,4.2vw,64px)}
.hero .lead{max-width:650px}
.calc-result{background:#142b20;color:#fff}
.calc-result .result-hero{background:#142b20;color:#fff}
.calc-result .result-hero span,.calc-result .result-line{color:rgba(255,255,255,.72)}
.calc-result .result-hero strong,.calc-result .result-line strong{color:#fff}
.calc-result .result-line{border-bottom-color:rgba(255,255,255,.35)}
@media(max-width:760px){
  .hero{background-size:cover;background-position:68% 55%}
  .hero h1{font-size:clamp(32px,8.8vw,42px);line-height:1.12}
  .hero .lead{line-height:1.65}
  .hero-actions{gap:10px}
  .hero-actions .btn{white-space:normal;text-align:center;padding:12px 16px}
  .calc-result .result-lines{padding-left:18px;padding-right:18px}
  .calc-result .result-line{gap:12px}
  .calc-result .result-line span{min-width:0}
  .calc-result .result-line strong{flex-shrink:0}
  .calc-result .result-hero strong{font-size:clamp(27px,7.5vw,42px);overflow-wrap:anywhere}
}

/* Version 005 — viewport-fit Hero.
   Desktop/tablet: fill the visible first screen below the 100px header.
   Mobile keeps natural content height to avoid cramped/oversized layouts. */
@media (min-width:761px){
  .hero{
    min-height:max(650px,calc(100vh - 100px));
    min-height:max(650px,calc(100svh - 100px));
    min-height:max(650px,calc(100dvh - 100px));
  }
  .hero-inner{
    min-height:inherit;
    box-sizing:border-box;
    align-content:center;
  }
}
@media (min-width:761px) and (max-height:800px){
  .hero-inner{
    padding-top:55px;
    padding-bottom:55px;
  }
}

/* Version 006 — cleaner mobile Hero */
@media (max-width:760px){
  .hero .eyebrow,
  .hero .lead,
  .hero .hero-actions{
    display:none !important;
  }

  .hero-inner{
    padding-top:44px;
    padding-bottom:34px;
    gap:24px;
    align-items:start;
  }

  .hero h1{
    margin:0;
    font-size:clamp(38px,10.5vw,48px);
    line-height:1.04;
    max-width:100%;
  }

  .proof{
    margin-top:6px;
    gap:10px;
  }

  .proof-card{
    padding:18px 20px;
  }
}

/* Version 009: sky-positioned mobile title and editorial project facts. */
.construction-mobile-stats,.construction-mobile-portfolio{display:none}
@media (max-width:760px){
  .hero .proof{display:none}
  .hero .eyebrow,.hero .lead,.hero .hero-actions{display:none!important}
  .hero{
    min-height:max(520px,calc(100vh - 128px));
    min-height:max(520px,calc(100svh - 128px));
    background-size:cover;background-position:68% 55%;
    background-image:linear-gradient(180deg,rgba(8,24,19,.64) 0%,rgba(8,24,19,.36) 28%,rgba(8,24,19,.06) 58%,rgba(8,24,19,.12) 100%),url('construction-sosua-cabarete.jpg');
  }
  .hero-inner{
    min-height:inherit;box-sizing:border-box;gap:0;
    padding:52px 8px 56px;align-content:start;align-items:start;
  }
  .hero h1{
    font-size:clamp(36px,9.4vw,48px);line-height:1.08;
    max-width:560px;text-wrap:balance;margin:0;
  }
  .construction-mobile-stats{
    display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);
    gap:0;margin:0;padding:30px 24px;background:#faf9f5;color:#14251e;
    border:0;align-items:stretch;
  }
  .construction-mobile-stats .proof-card{
    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
    gap:8px;margin:0;min-height:0;padding:16px 0 16px 22px;
    background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;
  }
  .construction-mobile-stats .proof-card:first-child{
    grid-row:1 / 3;padding:12px 20px 12px 0;border-right:1px solid #c9c7bb;
  }
  .construction-mobile-stats .proof-card:nth-child(3){border-top:1px solid #c9c7bb}
  .construction-mobile-stats .proof-card strong{
    margin:0;color:#244d3b;font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(18px,4.8vw,26px);font-weight:400;line-height:1.15;letter-spacing:-.025em;
  }
  .construction-mobile-stats .proof-card:first-child strong{
    font-size:clamp(68px,19vw,102px);line-height:.95;letter-spacing:-.06em;
  }
  .construction-mobile-stats .proof-card span{margin:0;color:#526057;font-size:12px;line-height:1.5;max-width:190px}
  .construction-mobile-stats .proof-card:first-child span{max-width:100px}
  #portfolio>.section-head{display:none}
  #portfolio>.construction-mobile-portfolio{display:block;margin-bottom:26px}
  #portfolio>.construction-mobile-portfolio .kicker{margin:0 0 12px;font-size:10px;letter-spacing:.14em;color:#657069;font-weight:500}
  #portfolio>.construction-mobile-portfolio h2{margin:0;font-size:clamp(28px,7.6vw,34px);line-height:1.15;letter-spacing:-.025em;overflow-wrap:normal}
  #portfolio>.construction-mobile-portfolio .section-copy{margin:16px 0 0;font-size:14px;line-height:1.7;max-width:540px}
}

/* Version 010: mobile consultation action and centered estimate. */
.construction-consultation-action{display:none}
@media(max-width:760px){
  .calc-result .result-hero{
    align-items:center;justify-content:center;text-align:center;
    min-height:180px;padding:32px 16px 28px;
  }
  .calc-result .result-hero span{
    text-align:center;font-size:11px;letter-spacing:.12em;font-weight:500;
  }
  .calc-result .result-hero strong{
    width:100%;margin-top:16px;text-align:center;
    font-size:clamp(30px,8.6vw,48px);line-height:1.15;letter-spacing:-.025em;
    font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:#fff;
  }
  .cta-card{gap:28px;padding:32px 24px}
  .cta-card>div:first-child{text-align:center}
  .cta-card .kicker{font-size:10px;letter-spacing:.16em;margin-bottom:16px}
  .cta-card h2{font-size:clamp(30px,8vw,40px);line-height:1.15}
  .cta-card>div:first-child>p:not(.kicker){font-size:15px;line-height:1.75;color:#d7e1db}
  .construction-consultation-action{
    display:flex;align-items:center;justify-content:center;gap:12px;
    width:100%;min-height:60px;margin:28px 0 0;padding:16px;
    background:#faf9f5;color:#203b2e;border:1px solid #faf9f5;border-radius:3px;
    font-size:14px;font-weight:600;line-height:1.4;text-align:center;
  }
  .construction-consultation-action svg{width:24px;height:24px;flex-shrink:0}
  .construction-consultation-action:hover{background:#e8ede7}
  .cta-card .cta-stat{
    display:flex;align-items:center;justify-content:center;gap:18px;
    padding:22px 0 0;border:0;border-top:1px solid rgba(255,255,255,.25);
    background:none;border-radius:0;text-align:left;
  }
  .cta-card .cta-stat>.btn{display:none}
  .cta-card .cta-stat strong{font-family:Georgia,'Times New Roman',serif;font-size:42px;font-weight:400;line-height:1;color:#d6c8ad}
  .cta-card .cta-stat>span{max-width:190px;font-size:12px;line-height:1.55;color:#d7e1db}
}

/* Version 011: mobile calculator instructions and result reveal. */
.construction-calculator-instruction{display:none}
@media(max-width:760px){
  .construction-calculator-instruction{display:block;margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid #dedfd7;font-size:14px;line-height:1.7;color:#526057}
  .calc-result:not(.has-result){display:none}
}

/* Version 012: premium mobile calculator presentation. */
.construction-mobile-calculator-intro{display:none}
@media(max-width:760px){
  .calculator{
    padding:54px 0 64px;
    background:linear-gradient(180deg,#f6f4ed 0,#faf9f5 210px);
  }
  .calculator-shell{
    width:calc(100% - 32px);
  }

  /* Replace the long desktop-style heading with a concise editorial mobile intro. */
  .calculator .section-head{
    display:block;
    margin:0 0 20px;
    padding:0;
  }
  .calculator .section-head>div:not(.construction-mobile-calculator-intro),
  .calculator .section-head>.section-copy{
    display:none!important;
  }
  .construction-mobile-calculator-intro{
    display:block;
    position:relative;
    padding:26px 24px 24px;
    background:#eef1e9;
    border:1px solid #d9ded4;
    border-radius:12px;
    overflow:hidden;
  }
  .construction-mobile-calculator-intro:before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:#244d3b;
  }
  .construction-mobile-calculator-intro .kicker{
    margin:0 0 14px;
    font-size:10px;
    line-height:1;
    letter-spacing:.18em;
    color:#244d3b;
  }
  .construction-mobile-calculator-intro h2{
    margin:0;
    max-width:480px;
    font-size:clamp(31px,8.1vw,40px)!important;
    line-height:1.08!important;
    letter-spacing:-.03em;
    color:#14251e;
  }
  .construction-mobile-calculator-intro>p:last-child{
    margin:16px 0 0;
    max-width:500px;
    font-size:14px;
    line-height:1.65;
    color:#5a665f;
  }

  /* Make the form feel like a designed product panel, not a Word document. */
  .calc-panel{
    padding:18px 18px 22px!important;
    background:#fff;
    border:1px solid #dde0d8;
    border-radius:12px!important;
    box-shadow:0 12px 34px rgba(20,37,30,.055)!important;
  }
  .construction-calculator-instruction{
    position:relative;
    display:block;
    margin:0 0 26px;
    padding:18px 18px 18px 50px;
    border:0;
    border-radius:9px;
    background:#203b2e;
    color:#f6f3ea;
    font-size:13px;
    line-height:1.6;
  }
  .construction-calculator-instruction:before{
    content:"✓";
    position:absolute;
    left:17px;
    top:18px;
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.36);
    border-radius:50%;
    font-size:12px;
    line-height:1;
    color:#fff;
  }

  .calc-field{
    margin-bottom:22px;
  }
  .calc-field label:not(.toggle-card){
    display:block;
    margin:0 0 9px;
    font-size:11px;
    line-height:1.2;
    letter-spacing:.07em;
    font-weight:700;
    color:#536158;
  }
  .calc-field select,
  .calc-field input[type="number"]{
    min-height:58px;
    padding-left:16px;
    padding-right:16px;
    border:1px solid #d7dbd2;
    border-radius:8px!important;
    background:#f8f7f2;
    font-size:17px;
    color:#14251e;
  }
  .calc-help{
    margin:9px 0 0!important;
    font-size:12px!important;
    line-height:1.55!important;
    color:#718078!important;
  }
  .switch-row{
    gap:10px;
  }
  .toggle-card{
    min-height:56px;
    border-radius:8px!important;
    background:#f8f7f2;
  }
  .calc-action{
    margin-top:8px;
  }
  .calc-button{
    min-height:58px;
    border-radius:8px!important;
    font-size:14px;
  }
  .calc-formula{
    margin-top:12px!important;
    font-size:11px!important;
    line-height:1.55!important;
    color:#7a847f!important;
  }
}

/* Version 013: improve mobile calculator readability and CTA scale. */
@media(max-width:760px){
  .construction-calculator-instruction{
    padding:22px 22px 22px 62px!important;
    font-size:18px!important;
    line-height:1.58!important;
    border-radius:12px!important;
  }
  .construction-calculator-instruction:before{
    left:20px!important;
    top:22px!important;
    width:30px!important;
    height:30px!important;
    font-size:16px!important;
    border-width:1.5px!important;
  }

  .calc-button{
    min-height:68px!important;
    font-size:21px!important;
    line-height:1.15!important;
    font-weight:700!important;
    border-radius:10px!important;
    letter-spacing:-.01em;
  }

  .calc-formula{
    margin-top:16px!important;
    font-size:13px!important;
    line-height:1.55!important;
    color:#6b7771!important;
  }
}

/* Version 015: desktop Estimated Total alignment refinement. */
@media(min-width:761px){
  .estimate-total,
  .estimated-total,
  .estimate-result,
  .calc-result{
    /* keep existing layout; only refine the large total amount if nested selector applies */
  }

  .estimate-total .amount,
  .estimate-total .total,
  .estimated-total .amount,
  .estimated-total .total,
  .estimate-result .amount,
  .estimate-result .total,
  .calc-result .amount,
  .calc-result .total,
  .estimate-value,
  .estimated-value,
  .total-value{
    padding-left:24px;
  }
}

/* Version 016: correct desktop total amount alignment. */
@media(min-width:761px){
  .calc-result .result-hero strong{
    padding-left:24px!important;
  }
}

/* Version 017: center the desktop Estimated Total header and amount. */
@media(min-width:761px){
  .calc-result .result-hero{
    align-items:center!important;
    text-align:center!important;
  }
  .calc-result .result-hero strong{
    padding-left:0!important;
  }
}
