:root {
  --pine: #0d7059;
  --pine-dark: #0a5748;
  --pine-deep: #082f2b;
  --mint: #eff6f1;
  --mint-dark: #e2efe8;
  --sage: #e6eee8;
  --cream: #f7f2e8;
  --gold: #d7b06a;
  --ink: #183830;
  --muted: #687d73;
  --line: #d9e4dd;
  --white: #ffffff;
  --shadow: 0 18px 42px rgba(8, 47, 43, .12);
  --radius-lg: 24px;
  --radius-md: 16px;
  --container: 1180px;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: var(--white);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--white); }
a { color: inherit; text-decoration: none; }
button, select { font: inherit; }
button { cursor: pointer; }
.container { width: min(var(--container), calc(100% - 64px)); margin: 0 auto; }

.announcement { background: var(--pine-deep); color: rgba(255,255,255,.82); font-size: 11px; letter-spacing: .02em; }
.announcement__inner { min-height: 30px; display:flex; align-items:center; justify-content:center; gap: 9px; }
.announcement__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
.announcement a { color: var(--gold); font-weight: 700; margin-left: 8px; }

.site-header { position: relative; z-index: 20; background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(18, 67, 55, .08); }
.header__inner { height: 76px; display:flex; align-items:center; gap: 28px; }
.brand { display: inline-flex; align-items:center; gap: 10px; flex-shrink: 0; }
.brand__mark { width: 35px; height: 35px; position: relative; display:inline-block; }
.brand__mark i, .brand__mark b { position:absolute; display:block; border-radius: 60% 40% 60% 40%; background: var(--pine); width: 15px; height: 20px; transform: rotate(35deg); }
.brand__mark i:nth-child(1){top:0; left:10px; transform:rotate(0deg)} .brand__mark i:nth-child(2){top:8px; right:0; transform:rotate(75deg)} .brand__mark i:nth-child(3){bottom:0; right:8px; transform:rotate(155deg)} .brand__mark i:nth-child(4){bottom:4px; left:0; transform:rotate(245deg)} .brand__mark b {top:10px; left:10px; width:13px; height:13px; border: 3px solid var(--gold); background: transparent; transform:rotate(45deg);}
.brand__text { line-height: 1; display:flex; flex-wrap:wrap; column-gap: 5px; align-items:baseline; max-width: 192px; }
.brand__text strong { font-family: Fraunces, Georgia, serif; letter-spacing: .03em; font-size: 15px; font-weight: 700; color: var(--pine-deep); }
.brand__text small { font-size: 9px; font-weight: 800; letter-spacing: .18em; color: var(--pine); }
.brand__text em { display:block; width:100%; margin-top: 5px; font-size: 6.5px; font-style: normal; letter-spacing: .1em; color: var(--muted); text-transform: uppercase; }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap: 20px; margin-left: auto; font-size: 10px; font-weight: 700; color: #456057; }
.desktop-nav a { position:relative; padding: 29px 0 26px; white-space:nowrap; }
.desktop-nav a::after { content:""; position:absolute; height: 2px; background: var(--pine); left:0; right:100%; bottom: 20px; transition: right .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a.is-active::after { right: 0; }
.header-wa { display:flex; align-items:center; gap: 7px; color: white; background: var(--pine); border-radius: 10px; padding: 8px 11px; font-size: 8px; line-height: 1.2; box-shadow: 0 6px 15px rgba(8,121,87,.18); }
.header-wa small, .header-wa strong { display:block; white-space: nowrap; } .header-wa small { font-size: 8px; } .header-wa strong { font-size: 8px; font-weight: 800; }
.wa-icon { display:grid; place-items:center; width:18px; height:18px; border:1.5px solid rgba(255,255,255,.8); border-radius:50%; font-size: 11px; }
.menu-toggle { display:none; border:0; background:transparent; padding:6px; } .menu-toggle span { display:block; width:22px; height:2px; background:var(--pine-deep); margin:4px; transition:.2s; }
.mobile-nav { display:none; }

.hero { min-height: 605px; position:relative; overflow:visible; color: var(--white); background: var(--pine-deep); }
.hero__image { position:absolute; inset:0; background-image: url("images/hero.jpg"); background-size:cover; background-position:center 53%; transform: scaleX(-1); }
.hero__overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(4, 45, 36,.93) 0%, rgba(4, 45, 36,.78) 31%, rgba(4,45,36,.17) 73%, rgba(4,45,36,.34) 100%); }
.hero__content { position:relative; min-height: 490px; padding-top: 88px; display:flex; justify-content:space-between; }
.hero__copy { max-width: 600px; } .eyebrow { display:flex; align-items:center; gap: 8px; color: var(--pine); font-weight:800; letter-spacing:.13em; text-transform:uppercase; font-size:10px; margin:0 0 15px; }
.eyebrow span { width: 21px; height: 2px; background: var(--gold); display:inline-block; } .eyebrow--light { color: rgba(255,255,255,.75); }
.hero h1 { margin:0; font: 600 clamp(44px, 5vw, 73px)/.97 Fraunces, Georgia, serif; letter-spacing:-.045em; }
.hero h1 span, h2 em, h3 em { color: var(--gold); font-style:normal; }
.hero__lead { max-width: 420px; font-size: 14px; line-height:1.75; color:rgba(255,255,255,.78); margin: 23px 0 26px; }
.hero__actions { display:flex; align-items:center; gap:25px; } .button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius: 8px; padding: 13px 18px; font-size:11px; font-weight:800; transition:transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform:translateY(-2px); box-shadow: 0 10px 20px rgba(5,60,48,.18); } .button--gold { color:var(--pine-deep); background:var(--gold); } .button--primary { color:white; background:var(--pine); } .button--light { color:var(--pine-deep); background:var(--white); } .button--outline { color:var(--pine); background:transparent; border:1px solid var(--pine); }
.text-link { display:inline-flex; gap:8px; align-items:center; color:var(--pine); font-size:10px; font-weight:800; } .text-link span { font-size:17px; transition:transform .2s; } .text-link:hover span { transform:translateX(4px); } .text-link--light { color:rgba(255,255,255,.85); }
.hero__stats { display:flex; gap: 31px; margin-top: 65px; } .hero-stat { display:flex; align-items:center; gap: 9px; } .hero-stat__icon { color:var(--gold); font-size:24px; } .hero-stat strong { display:block; font-size:18px; line-height:1; } .hero-stat span { display:block; margin-top:5px; color:rgba(255,255,255,.63); font-size:9px; }
.hero__side-note { align-self:flex-end; display:flex; align-items:center; gap:10px; margin: 0 65px 85px 0; font:italic 13px/1.2 Fraunces, Georgia, serif; color:rgba(255,255,255,.8); text-align:right; }
.hero__side-note-line { width:32px; height:1px; background:var(--gold); }
.search-panel-wrap { position:relative; z-index:3; margin-top:-75px; }
.search-panel { min-height:82px; background:var(--white); border-radius:14px; padding: 13px 16px; display:grid; grid-template-columns: 1.4fr repeat(3, 1fr) 1fr; gap: 9px; align-items:center; box-shadow: 0 16px 40px rgba(5,60,48,.18); color:var(--ink); }
.search-panel__label { display:flex; flex-direction:column; padding:0 12px; } .search-panel__label strong { font-size:12px; } .search-panel__label small { color:var(--muted); font-size:8px; margin-top:4px; } .search-panel__icon { color:var(--pine); font-size:24px; line-height: .8; margin-bottom:5px; }
.select-field { border-left:1px solid var(--line); padding:5px 12px; } .select-field span { display:block; color:var(--muted); text-transform:uppercase; letter-spacing:.09em; font-size:8px; font-weight:700; margin-bottom:6px; } .select-field select { width:100%; border:0; outline:0; color:var(--ink); font-size:10px; font-weight:700; background:transparent; }
.search-button { height:48px; }

.benefits-strip { background: #fff; border-bottom:px solid var(--line); } .benefits-grid { min-height:100px; display:grid; grid-template-columns:repeat(4,1fr); gap:30px; align-items:center; } .benefit { display:flex; align-items:center; gap:13px; } .benefit__icon { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--mint); color:var(--pine); font-size:20px; } .benefit strong { display:block; font-size:10px; } .benefit span { display:block; color:var(--muted); font-size:8px; margin-top:4px; }

.section { padding: 87px 0; } .section--mint { background:var(--mint); } .section--sage { background:var(--sage); } .section--compact { padding: 32px 0 75px; }
.section-heading { margin-bottom:30px; } .section-heading--row { display:flex; justify-content:space-between; align-items:end; gap:20px; } h2 { margin:0; color:var(--pine-deep); font:600 clamp(34px, 4vw, 49px)/1 Fraunces, Georgia, serif; letter-spacing:-.035em; } .section-intro { color:var(--muted); font-size:11px; margin:9px 0 0; line-height:1.6; }
.filter-summary { min-height:18px; color:var(--muted); font-size:10px; margin:-10px 0 12px; } .filter-summary strong { color:var(--pine); }
.project-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; } .project-card { overflow:hidden; border:1px solid rgba(8,121,87,.12); border-radius:12px; background:var(--white); box-shadow:0 6px 15px rgba(5,60,48,.05); transition:transform .25s, box-shadow .25s; } .project-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.project-card__image { height:168px; position:relative; overflow:hidden; } .project-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; } .project-card:hover img { transform:scale(1.06); } .status-pill { position:absolute; top:10px; left:10px; padding:5px 8px; border-radius:5px; background:var(--pine); color:white; font-size:8px; font-weight:800; } .status-pill--soon { background:var(--gold); color:var(--pine-deep); }
.project-card__body { padding:14px 13px 13px; } .project-card h3 { margin:0; color:var(--pine-deep); font:700 14px Fraunces,Georgia,serif; } .project-location { color:var(--muted); font-size:8px; margin:5px 0 14px; min-height:12px; } .project-price { font-size:14px; font-weight:800; color:var(--pine); } .project-price small { font-size:8px; font-weight:500; color:var(--muted); } .project-meta { display:flex; gap:12px; margin:10px 0 14px; color:var(--muted); font-size:8px; } .project-card .button { padding:10px; width:100%; font-size:9px; }
.empty-state { padding: 45px 20px; text-align:center; border:1px dashed var(--line); border-radius:14px; } .empty-state__icon { color:var(--pine); font-size:32px; } .empty-state h3 { margin:8px 0 4px; font:600 20px Fraunces,Georgia,serif; } .empty-state p { color:var(--muted); font-size:11px; }
.type-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; } .type-card { border-radius:12px; overflow:hidden; background:var(--pine-deep); color:white; position:relative; min-height:144px; } .type-card img { width:100%; height:144px; display:block; object-fit:cover; opacity:.75; transition:transform .3s; } .type-card:hover img { transform:scale(1.06); } .type-card::after { content:""; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,rgba(3,38,29,.9)); } .type-card__label { position:absolute; z-index:1; bottom:12px; left:14px; right:12px; font-size:10px; font-weight:800; } .type-card__label small { display:block; font-size:8px; color:rgba(255,255,255,.75); margin-top:3px; font-weight:500; }
.financing-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; } .finance-card { border-radius:16px; min-height:260px; position:relative; display:flex; overflow:hidden; } .finance-card__copy { position:relative; z-index:1; padding:26px 26px 22px; width:67%; } .finance-card h3 { margin:0 0 7px; color:white; font:600 31px Fraunces,Georgia,serif; } .finance-card p:not(.eyebrow) { margin:0; color:rgba(255,255,255,.84); font-size:10px; line-height:1.5; } .finance-card ul { list-style:none; padding:0; margin:15px 0 17px; } .finance-card li { font-size:9px; margin:8px 0; color:rgba(255,255,255,.82); } .finance-card li::before { content:"✓"; color:var(--gold); font-weight:800; margin-right:8px; } .finance-card .button { font-size:9px; padding:10px 13px; } .finance-card--green { background:var(--pine); } .finance-card--cream { background:#d6ebe5; } .finance-card--cream h3, .finance-card--cream p:not(.eyebrow), .finance-card--cream li { color:var(--pine-deep); } .finance-card--cream li::before { color:var(--pine); } .finance-card--cream .eyebrow { color:var(--pine); } .finance-card__visual { position:absolute; inset:0 0 0 auto; width:48%; background-size:cover; background-position:center; clip-path:polygon(26% 0,100% 0,100% 100%,0 100%); } .finance-card__visual--subsidy { background-image:linear-gradient(90deg,rgba(8,121,87,.35),transparent),url("images/30.jpeg"); } .finance-card__visual--commercial { background-image:linear-gradient(90deg,rgba(214,235,229,.6),transparent),url("images/4590.jpeg"); } .finance-badge { position:absolute; top:35px; right:16px; padding:9px 10px; border:1px solid rgba(255,255,255,.75); border-radius:50%; width:80px; height:80px; display:grid; place-content:center; text-align:center; color:white; font-size:8px; line-height:1.05; transform:rotate(-10deg); } .finance-badge strong { display:block; color:var(--gold); font:600 15px Fraunces,Georgia,serif; } .finance-badge small { font-size:7px; } .finance-card__visual--commercial span { position:absolute; right:17px; top:37px; font:italic 11px/1.1 Fraunces, Georgia, serif; color:var(--pine-deep); transform:rotate(-6deg); } .finance-card__visual--commercial strong { font-size:16px; }
.story-grid { display:grid; grid-template-columns: .95fr 1fr; gap:80px; align-items:center; } .story-image { position:relative; border-radius:17px; overflow:hidden; height:350px; } .story-image img { width:100%; height:100%; object-fit:cover; } .story-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(2,38,29,.8),transparent 55%); } .story-image__caption { position:absolute; z-index:1; bottom:25px; left:26px; color:white; font:italic 16px/1.15 Fraunces,Georgia,serif; } .story-image__caption strong { color:var(--gold); font-size:20px; } .story-copy h2 { margin-bottom:12px; } .reason-list { margin-top:25px; display:grid; grid-template-columns:1fr 1fr; gap:20px 15px; } .reason { display:grid; grid-template-columns:36px 1fr; gap:10px; align-items:start; } .reason__icon { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.65); color:var(--pine); font-size:18px; } .reason strong { font-size:10px; display:block; } .reason span { color:var(--muted); font-size:8px; display:block; margin-top:4px; line-height:1.4; }
.stats-section { background:var(--pine-deep); color:white; } .stats-grid { display:grid; grid-template-columns:repeat(4,1fr); min-height:145px; align-items:center; } .stat-item { display:flex; align-items:center; gap:16px; padding:18px 27px; border-right:1px solid rgba(255,255,255,.22); } .stat-item:first-child { padding-left:0; } .stat-item:last-child { border:0; } .stat-item__icon { color:var(--gold); font-size:29px; } .stat-item strong { display:block; color:white; font:600 28px Fraunces,Georgia,serif; } .stat-item small { display:block; color:rgba(255,255,255,.62); font-size:8px; margin-top:3px; }
.contact-section { padding: 28px 0; background:var(--mint); } .contact-card { background:var(--pine); border-radius:16px; padding:32px 42px; display:flex; justify-content:space-between; align-items:center; color:white; background-image:radial-gradient(circle at 84% 15%,rgba(230,188,82,.2),transparent 26%), linear-gradient(120deg,var(--pine),var(--pine-dark)); } .contact-card h2 { color:white; font-size:38px; } .contact-card p:not(.eyebrow) { margin:11px 0 0; font-size:11px; color:rgba(255,255,255,.75); } .contact-card__actions { display:flex; align-items:center; gap:20px; } .contact-phone { font-size:11px; font-weight:700; color:rgba(255,255,255,.85); }
.site-footer { padding:45px 0 18px; background:#09251f; color:white; } .footer-grid { display:grid; grid-template-columns:1.55fr .7fr 1.1fr 1.15fr 1.3fr; gap:35px; padding-bottom:38px; } .brand--footer .brand__text strong { color:white; } .brand--footer .brand__text em { color:rgba(255,255,255,.5); } .footer-brand > p { max-width:210px; color:rgba(255,255,255,.55); font-size:9px; line-height:1.6; margin-top:20px; } .footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:10px; } .footer-links h4 { margin:0 0 4px; color:var(--gold); font-size:10px; } .footer-links a, .footer-links p { color:rgba(255,255,255,.62); font-size:9px; line-height:1.55; margin:0; } .footer-links a:hover { color:white; } .socials { display:flex; gap:7px; margin-top:4px; } .socials a { width:22px; height:22px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:white; font-size:9px; } .footer-bottom { border-top:1px solid rgba(255,255,255,.13); padding-top:17px; display:flex; justify-content:space-between; color:rgba(255,255,255,.4); font-size:8px; } .footer-bottom .footer-credit { color:rgba(255,255,255,.27); font-size:7px; letter-spacing:.02em; }
.toast { position:fixed; z-index:50; bottom:20px; left:50%; transform:translate(-50%, 20px); background:var(--pine-deep); color:white; border:1px solid rgba(255,255,255,.2); padding:12px 17px; border-radius:8px; font-size:10px; opacity:0; pointer-events:none; transition:.25s; box-shadow:var(--shadow); } .toast.is-visible { opacity:1; transform:translate(-50%,0); }

@media (max-width: 1100px) { .desktop-nav { gap:12px; } .header__inner { gap:15px; } .header-wa { padding:7px; } .hero__side-note { margin-right:20px; } .project-grid { grid-template-columns:repeat(3,1fr); } .type-grid { grid-template-columns:repeat(3,1fr); } .type-card { min-height:170px; } .type-card img { height:170px; } }
@media (max-width: 820px) { .container { width:min(var(--container), calc(100% - 40px)); } .desktop-nav, .header-wa { display:none; } .menu-toggle { display:block; margin-left:auto; } .mobile-nav { display:none; padding:8px 20px 18px; background:white; box-shadow:0 15px 25px rgba(5,60,48,.1); } .mobile-nav.is-open { display:grid; } .mobile-nav a { padding:11px 0; border-bottom:1px solid var(--line); color:var(--pine-deep); font-size:12px; font-weight:700; } .mobile-nav__cta { color:white !important; border:0 !important; background:var(--pine); border-radius:7px; text-align:center; margin-top:8px; }
  .hero { min-height:670px; } .hero__content { min-height:560px; padding-top:70px; } .hero__overlay { background:linear-gradient(90deg,rgba(4,45,36,.95),rgba(4,45,36,.4)); } .hero__side-note { display:none; } .hero h1 { font-size:clamp(43px,9vw,65px); } .hero__stats { margin-top:45px; gap:18px; } .hero-stat strong { font-size:15px; } .search-panel-wrap { margin-top:-90px; } .search-panel { grid-template-columns:repeat(3,1fr); padding:15px; } .search-panel__label { grid-column:1/-1; padding:0 4px 8px; } .select-field { border-left:0; border-right:1px solid var(--line); padding:3px 8px; } .select-field:nth-of-type(3) { border-right:0; } .search-button { grid-column:1/-1; width:100%; }
  .benefits-grid { min-height:auto; padding:26px 0; grid-template-columns:repeat(2,1fr); gap:22px 12px; } .section { padding:62px 0; } .project-grid { grid-template-columns:repeat(2,1fr); } .financing-grid, .story-grid { grid-template-columns:1fr; gap:20px; } .story-copy { padding-top:15px; } .stats-grid { grid-template-columns:repeat(2,1fr); padding:15px 0; } .stat-item, .stat-item:first-child { padding:18px 14px; border-bottom:1px solid rgba(255,255,255,.22); border-right:1px solid rgba(255,255,255,.22); } .stat-item:nth-child(2n) { border-right:0; } .contact-card { padding:28px 25px; align-items:flex-start; flex-direction:column; gap:22px; } .footer-grid { grid-template-columns:repeat(2,1fr); gap:27px 20px; } .footer-brand { grid-column:1/-1; } }
@media (max-width: 520px) { .container { width:calc(100% - 30px); } .announcement { font-size:9px; } .announcement__inner { justify-content:flex-start; white-space:nowrap; overflow:hidden; } .announcement a { margin-left:auto; } .header__inner { height:68px; } .brand__text strong { font-size:13px; } .brand__mark { transform:scale(.88); transform-origin:left center; margin-right:-4px; } .hero { min-height:685px; } .hero__content { min-height:575px; padding-top:55px; } .hero__image { background-position:58% center; } .hero__lead { font-size:12px; max-width:320px; } .hero__actions { flex-wrap:wrap; gap:16px; } .hero__stats { gap:14px; margin-top:34px; } .hero-stat { gap:5px; } .hero-stat__icon { font-size:18px; } .hero-stat strong { font-size:13px; } .hero-stat span { font-size:7px; } .search-panel { border-radius:10px; } .search-panel__label strong { font-size:11px; } .search-panel__label small { font-size:7px; } .select-field span { font-size:7px; } .select-field select { font-size:8px; } .benefits-grid { grid-template-columns:1fr 1fr; } .benefit { align-items:flex-start; gap:7px; } .benefit__icon { flex-basis:31px; width:31px; height:31px; font-size:15px; } .benefit strong { font-size:8px; } .benefit span { font-size:7px; } .section-heading--row { align-items:flex-start; flex-direction:column; gap:13px; } h2 { font-size:38px; } .project-grid { grid-template-columns:1fr 1fr; gap:10px; } .project-card__image { height:125px; } .project-card__body { padding:10px; } .project-card h3 { font-size:11px; } .project-location { font-size:7px; margin-bottom:9px; } .project-price { font-size:12px; } .project-meta { font-size:7px; gap:6px; margin:8px 0 10px; } .project-card .button { padding:8px 4px; font-size:8px; } .type-grid { grid-template-columns:repeat(2,1fr); gap:9px; } .type-card, .type-card img { min-height:120px; height:120px; } .type-card__label { left:10px; bottom:9px; font-size:9px; } .finance-card { min-height:390px; } .finance-card__copy { width:100%; padding:24px 20px; } .finance-card__visual { width:100%; height:52%; inset:auto 0 0; clip-path:polygon(0 18%,100% 0,100% 100%,0 100%); } .finance-card h3 { font-size:29px; } .finance-card__visual--commercial span { top:27px; } .story-image { height:280px; } .story-image__caption { left:18px; bottom:18px; font-size:13px; } .story-image__caption strong { font-size:17px; } .reason-list { grid-template-columns:1fr; gap:14px; } .stats-grid { grid-template-columns:1fr 1fr; } .stat-item strong { font-size:22px; } .stat-item__icon { font-size:22px; } .contact-card h2 { font-size:31px; } .contact-card__actions { align-items:flex-start; flex-direction:column; gap:10px; } .footer-grid { grid-template-columns:1fr 1fr; } .footer-bottom { flex-direction:column; gap:8px; line-height:1.5; } }


.brand__logo {
  width: 52px;
  height: 52px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.brand--footer .brand__logo {
  width: 28px;
  height: 28px;
}

.search-panel { grid-template-columns: 1fr auto; }
.search-panel__label { padding: 0 12px; }
.search-panel .search-button { min-width: 190px; }
.location-card img { filter: brightness(.72); }
.gallery-block { padding-top: 56px; }
.photo-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.photo-gallery figure { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:12px; background:var(--pine-deep); box-shadow:0 8px 20px rgba(5,60,48,.12); }
.photo-gallery img { display:block; width:100%; aspect-ratio:1.32; object-fit:cover; transition:transform .35s ease; }
.photo-gallery figure:hover img { transform:scale(1.045); }
.photo-gallery figcaption { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 13px; color:var(--pine-deep); background:white; font-size:12px; font-weight:800; }
.photo-gallery figcaption span { color:var(--muted); font-size:9px; font-weight:600; }
.faq-wrap { padding:48px 0; }
.faq-wrap h2 { color:white; margin-bottom:24px; }
.faq-wrap h2 em { color:var(--gold); font-style:normal; }
.faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.faq-grid details { padding:16px 18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:10px; color:white; }
.faq-grid summary { cursor:pointer; font-size:12px; font-weight:700; line-height:1.5; }
.faq-grid details p { margin:10px 0 0; color:rgba(255,255,255,.72); font-size:10px; line-height:1.7; }
.floating-wa { position:fixed; right:20px; bottom:20px; z-index:30; padding:13px 17px; border-radius:999px; background:#128c58; color:white; font-size:12px; font-weight:800; box-shadow:0 8px 24px rgba(5,60,48,.24); }
.floating-wa:hover { background:var(--pine-dark); transform:translateY(-2px); }
.socials a { width:30px; height:30px; border:0; transition:transform .2s ease, opacity .2s ease; }
.socials a:hover { transform:translateY(-2px); opacity:.88; }
.socials a img { display:block; width:15px; height:15px; object-fit:contain; filter:brightness(0) invert(1); }
.socials a:nth-child(1) { background:linear-gradient(45deg,#feda75 0%,#fa7e1e 28%,#d62976 58%,#962fbf 78%,#4f5bd5 100%); }
.socials a:nth-child(2) { background:#0866ff; }
.socials a:nth-child(3) { background:#010101; }
.socials a:nth-child(4) { background:#ed1f24; }
@media(max-width:820px) { .faq-wrap { padding:35px 0; } .faq-grid { grid-template-columns:1fr; } .photo-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .search-panel { grid-template-columns:1fr; gap:12px; } .search-panel__label { padding:0; } .search-panel .search-button { width:100%; } .photo-gallery { gap:9px; } .photo-gallery figcaption { align-items:flex-start; flex-direction:column; padding:9px; font-size:10px; } .floating-wa { right:12px; bottom:12px; font-size:11px; } }

.brand--footer .brand__logo {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: contain !important;
}

.brand__logo-footer {
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  object-fit: contain !important;
  display: block !important;
}

.finance-badge {
  display: none !important;
}

/* Header tetap di atas saat halaman di-scroll */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.about-grid { display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:56px; }
.about-copy h2 { max-width:650px; }
.about-copy h2 em { color:var(--pine); font-style:normal; }
.about-purpose { margin:24px 0; padding-left:16px; border-left:3px solid var(--gold); color:var(--pine-deep); font-family:Fraunces,Georgia,serif; font-size:18px; line-height:1.45; }
.about-card { padding:30px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--mint); text-align:center; box-shadow:var(--shadow); }
.about-card > img { width:88px; height:88px; object-fit:contain; }
.about-card h3 { margin:14px 0 4px; color:var(--pine-deep); font:600 22px Fraunces,Georgia,serif; }
.about-card > p { margin:0; color:var(--muted); font-size:11px; }
.about-developers { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.about-developers span { color:var(--muted); font-size:9px; line-height:1.5; }
.about-developers strong { display:block; margin-bottom:3px; color:var(--pine-deep); font-size:10px; }
.about-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:42px; }
.about-panel { padding:23px; border:1px solid var(--line); border-radius:var(--radius-md); background:white; box-shadow:0 8px 24px rgba(5,60,48,.05); }
.about-panel .eyebrow { margin-bottom:14px; }
.about-panel > p:not(.eyebrow) { color:var(--muted); font-size:11px; line-height:1.75; }
.about-panel-intro { margin:0 0 10px; }
.about-panel ul,.about-panel ol { margin:0; padding-left:19px; }
.about-panel li { margin:0 0 13px; padding-left:2px; color:var(--muted); font-size:10px; line-height:1.65; }
.about-panel li:last-child { margin-bottom:0; }
.about-panel li strong,.about-values strong { display:block; margin-bottom:3px; color:var(--pine-deep); font-size:11px; }
.about-panel li span,.about-values span { display:block; }
.about-panel--vision { background:var(--mint); }
.about-panel--values { grid-column:1/-1; }
.about-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.about-values div { color:var(--muted); font-size:10px; line-height:1.65; }
.about-association { grid-column:1/-1; margin:0; color:var(--muted); font-size:10px; line-height:1.7; }
.partner-section { padding-top:46px; }
.partner-section .section-heading { margin-bottom:22px; }
.partner-logos { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.partner-logo { min-height:132px; padding:18px 14px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; gap:14px; border:1px solid var(--line); border-radius:12px; background:white; box-shadow:0 8px 24px rgba(5,60,48,.04); transition:transform .2s ease,box-shadow .2s ease; }
.partner-logo:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.partner-logo img { max-width:100%; width:100%; height:55px; object-fit:contain; object-position:left center; }
.partner-logo span { display:block; }
.partner-logo strong { display:block; color:var(--pine-deep); font-size:11px; }
.partner-logo small { display:block; margin-top:4px; color:var(--muted); font-size:9px; }
.partner-note { margin:14px 0 0; color:var(--muted); font-size:9px; line-height:1.65; }
.marketing-card { display:flex; align-items:center; gap:16px; padding:12px; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:rgba(0,0,0,.12); }
.marketing-card > img { width:78px; height:88px; border-radius:8px; object-fit:cover; object-position:center 23%; }
.marketing-card > div { display:grid; gap:5px; }
.marketing-card small { color:rgba(255,255,255,.68); font-size:9px; }
.marketing-card__bio { margin:0; color:rgba(255,255,255,.78); font-size:9px; line-height:1.45; }
.marketing-card strong { color:white; font:600 21px Fraunces,Georgia,serif; }
.marketing-card .button { padding:10px 13px; font-size:9px; white-space:nowrap; }
.marketing-card .contact-phone { font-size:9px; }
@media(max-width:950px) { .partner-logos { grid-template-columns:repeat(3,minmax(0,1fr)); } .contact-card { gap:22px; } }
@media(max-width:820px) { .partner-logos { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .partner-section { padding-top:32px; } .partner-logo { min-height:115px; padding:13px; } .partner-logo img { height:44px; } .marketing-card { width:100%; } .marketing-card > img { width:68px; height:78px; } }
.trust-strip { padding:8px 0 14px; }
.trust-strip .benefits-grid { min-height:82px; }
.trust-strip .benefit__icon { font-size:12px; font-weight:800; }
.trust-agent { display:flex; align-items:center; gap:11px; padding:0 0 13px; border-top:1px solid var(--line); }
.trust-agent img { width:40px; height:40px; border-radius:50%; object-fit:cover; object-position:center 20%; }
.trust-agent span { display:grid; gap:3px; }
.trust-agent small { color:var(--muted); font-size:8px; }
.trust-agent strong { color:var(--pine-deep); font-size:10px; }
.trust-agent a { margin-left:auto; color:var(--pine); font-size:9px; font-weight:800; }
.location-explorer { display:grid; grid-template-columns:minmax(0,1fr) 245px; gap:16px; align-items:stretch; }
.location-explorer .type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.location-explorer .type-card,.location-explorer .type-card img { min-height:168px; height:168px; }
.location-map-panel { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:23px; border-radius:14px; background:var(--pine-deep); color:white; }
.location-map-panel__icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:16px; border-radius:50%; color:var(--gold); background:rgba(255,255,255,.12); font-size:25px; }
.location-map-panel strong { font:600 19px/1.2 Fraunces,Georgia,serif; }
.location-map-panel p { margin:9px 0 18px; color:rgba(255,255,255,.7); font-size:10px; line-height:1.65; }
.calculator-wrap { display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; align-items:center; margin-top:28px; padding:28px; border:1px solid var(--line); border-radius:16px; background:white; box-shadow:0 10px 28px rgba(5,60,48,.06); }
.calculator-copy h2 { font-size:clamp(30px,3vw,40px); }
.calculator-copy h2 em { color:var(--pine); }
.calculator-copy p:not(.eyebrow) { color:var(--muted); font-size:11px; line-height:1.6; }
.calculator-copy > small { display:block; margin-top:14px; color:var(--muted); font-size:9px; line-height:1.55; }
.kpr-calculator { display:grid; gap:12px; }
.kpr-calculator label { display:grid; gap:6px; color:var(--pine-deep); font-size:9px; font-weight:700; }
.kpr-calculator input { width:100%; min-height:42px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; color:var(--ink); font:500 12px Arial,Helvetica,sans-serif; background:#fbfdfc; }
.kpr-calculator input:focus { outline:2px solid rgba(8,121,87,.2); border-color:var(--pine); }
.calculator-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.kpr-calculator .button { min-height:44px; }
.calculator-result { min-height:48px; margin:0; padding:12px 14px; border-radius:8px; color:var(--muted); background:var(--mint); font-size:10px; line-height:1.5; }
.calculator-result strong { display:block; color:var(--pine-deep); font-size:17px; }
.calculator-result small { display:block; margin-top:4px; font-size:9px; }
.testimonial-section { background:#fff; }
.testimonial-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:25px 40px; align-items:center; }
.testimonial-grid h2 { font-size:clamp(34px,4vw,48px); }
.testimonial-grid h2 em { color:var(--pine); }
.testimonial-grid .button { margin-top:18px; }
.testimonial-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.testimonial-photos figure { margin:0; overflow:hidden; border-radius:12px; background:var(--mint); }
.testimonial-photos img { display:block; width:100%; aspect-ratio:.82; object-fit:cover; }
.testimonial-photos figcaption { min-height:48px; padding:10px; color:var(--pine-deep); font-size:9px; line-height:1.45; font-weight:700; }
.testimonial-note { grid-column:1/-1; margin:0; color:var(--muted); font-size:9px; }
@media(max-width:950px) { .location-explorer { grid-template-columns:1fr; } .location-map-panel { min-height:190px; } .calculator-wrap { grid-template-columns:1fr 1fr; gap:20px; } }
@media(max-width:820px) { .trust-strip .benefits-grid { padding:20px 0; } .trust-agent { padding-bottom:13px; } .location-explorer .type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .calculator-wrap,.testimonial-grid { grid-template-columns:1fr; } .testimonial-note { grid-column:auto; } }
@media(max-width:520px) { .trust-strip .benefits-grid { gap:17px 8px; } .trust-agent { gap:8px; } .trust-agent a { max-width:112px; text-align:right; line-height:1.4; } .location-explorer .type-card,.location-explorer .type-card img { min-height:132px; height:132px; } .location-map-panel { padding:18px; } .calculator-wrap { padding:19px; margin-top:20px; } .calculator-row { gap:9px; } .kpr-calculator input { font-size:11px; } .testimonial-photos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .testimonial-photos figcaption { min-height:46px; padding:8px; font-size:8px; } }
@media(max-width:820px) { .about-grid { grid-template-columns:1fr; gap:28px; } }
@media(max-width:820px) { .about-details { grid-template-columns:1fr; margin-top:32px; } .about-panel--values,.about-association { grid-column:auto; } .about-values { grid-template-columns:1fr; } }

/* About brand card: property photography with a legible, transparent logo. */
.about-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 38px 30px 30px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(5,60,48,.38) 0%, rgba(5,60,48,.88) 55%, rgba(5,60,48,.97) 100%), url("images/hero.jpg") center 58%/cover;
  color: white;
  text-align: center;
  box-shadow: var(--shadow);
}
.about-card__tag {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  color: white;
  background: rgba(5,60,48,.34);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  backdrop-filter: blur(8px);
}
.about-card > img {
  width: 96px;
  height: 96px;
  padding: 13px;
  object-fit: contain;
  border-radius: 24px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 28px rgba(0,0,0,.18);
}
.about-card h3 { margin: 16px 0 4px; color: white; text-shadow: 0 2px 12px rgba(0,0,0,.25); }
.about-card > p { color: rgba(255,255,255,.84); }
.about-developers { width: 100%; border-top-color: rgba(255,255,255,.35); }
.about-developers span { color: rgba(255,255,255,.76); }
.about-developers strong { color: white; }
@media(max-width:520px) {
  .about-card { min-height: 320px; padding: 44px 20px 22px; }
  .about-card__tag { top: 14px; right: 14px; }
  .about-card > img { width: 84px; height: 84px; }
  .about-developers { gap: 8px; }
}

/* Keep trust icons centered despite the general benefit text styles. */
.trust-strip .benefit .benefit__icon {
  display: grid;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  align-self: center;
  place-items: center;
  box-sizing: border-box;
  line-height: 1;
  text-align: center;
}
.trust-strip .benefit > span:last-child { min-width: 0; }
.trust-strip .benefit__icon { font-variant-numeric: tabular-nums; }
.footer-developers > span { display: block; line-height: 1.45; }
.footer-developers > span + span { margin-top: 12px; }
.footer-developers strong { display: block; color: rgba(255,255,255,.95); font-size: 11px; }
.footer-developers small { display: block; margin-top: 3px; color: rgba(255,255,255,.64); font-size: 9px; line-height: 1.55; }
@media(max-width:520px) {
  .trust-strip .benefit .benefit__icon { flex-basis: 36px; width: 36px; height: 36px; }
  .footer-developers small { font-size: 8px; }
}
.reason .reason__icon {
  display: grid;
  width: 36px;
  height: 36px;
  box-sizing: border-box;
  place-items: center;
  line-height: 1;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
}

/* Consistent WhatsApp branding across every link and call to action. */
.header-wa { min-height: 42px; gap: 9px; }
.mobile-nav__cta { display: flex; min-height: 48px; justify-content: center; align-items: center; gap: 9px; }
.floating-wa { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 10px 16px; }
.floating-wa span { line-height: 1; }
@media(max-width:520px) {
  .floating-wa { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); min-height: 48px; padding: 10px 14px; font-size: 11px; }
}

/* Refined trust strip and marketing contact row. */
.benefits-strip { border-bottom: 1px solid var(--line); }
.trust-strip { padding: 0; background: #fff; }
.trust-strip .benefits-grid {
  min-height: 112px;
  padding: 15px 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}
.trust-strip .benefit {
  min-width: 0;
  min-height: 64px;
  gap: 13px;
  padding: 7px 17px;
  border-right: 1px solid var(--line);
}
.trust-strip .benefit:first-child { padding-left: 0; }
.trust-strip .benefit:last-child { padding-right: 0; border-right: 0; }
.trust-strip .benefit .benefit__icon {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border: 1px solid #e2efea;
  background: #f0f7f4;
  color: var(--pine);
  font-size: 17px;
  font-weight: 700;
}
.trust-strip .benefit__icon--number { font-size: 15px !important; letter-spacing: -.04em; }
.trust-strip .benefit__icon img { display: block; width: 34px; height: 34px; object-fit: contain; }
.trust-strip .benefit__icon svg { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }
.trust-strip .benefit .benefit__copy { display: grid; min-width: 0; gap: 5px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.35; }
.trust-strip .benefit__copy strong { color: var(--pine-deep); font-size: 12px; line-height: 1.3; }
.trust-agent {
  min-height: 82px;
  align-items: center;
  gap: 14px;
  padding: 13px 0 15px;
  border-top: 1px solid var(--line);
}
.trust-agent img { flex: 0 0 50px; width: 50px; height: 50px; border: 2px solid #edf5f1; object-position: center 20%; }
.trust-agent span { gap: 4px; }
.trust-agent small { font-size: 10px; }
.trust-agent strong { font-size: 13px; }
.trust-agent a {
  min-height: 40px;
  margin-left: auto;
  padding: 0 14px;
  border: 1px solid #dcece5;
  border-radius: 999px;
  background: #f5faf7;
  color: var(--pine-deep);
  font-size: 10px;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.trust-agent a:hover { transform: translateY(-1px); border-color: #b9d9ca; background: #edf7f2; }
.trust-agent a::before { width: 17px; height: 17px; flex-basis: 17px; }
@media(max-width:820px) {
  .trust-strip .benefits-grid { padding: 16px 0; }
  .trust-strip .benefit { padding-right: 11px; padding-left: 11px; }
  .trust-strip .benefit:first-child { padding-left: 0; }
  .trust-strip .benefit:last-child { padding-right: 0; }
}
@media(max-width:520px) {
  .trust-strip .benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 12px 0; }
  .trust-strip .benefit { min-height: 68px; gap: 9px; padding: 10px 8px; border-right: 0; }
  .trust-strip .benefit:nth-child(odd) { border-right: 1px solid var(--line); }
  .trust-strip .benefit:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .trust-strip .benefit:first-child { padding-left: 0; }
  .trust-strip .benefit:last-child { padding-right: 0; }
  .trust-strip .benefit .benefit__icon { flex-basis: 42px; width: 42px; height: 42px; font-size: 14px; }
  .trust-strip .benefit__icon--number { font-size: 12px !important; }
  .trust-strip .benefit__icon img { width: 29px; height: 29px; }
  .trust-strip .benefit__copy { gap: 3px; font-size: 8px !important; }
  .trust-strip .benefit__copy strong { font-size: 9px; }
  .trust-agent { min-height: 74px; gap: 9px; padding: 11px 0; }
  .trust-agent img { flex-basis: 44px; width: 44px; height: 44px; }
  .trust-agent small { font-size: 8px; }
  .trust-agent strong { font-size: 10px; }
  .trust-agent a { min-height: 36px; gap: 5px; padding: 0 9px; font-size: 8px; }
  .trust-agent a::before { flex-basis: 15px; width: 15px; height: 15px; }
}
a[href*="wa.me"] { display: inline-flex; align-items: center; gap: 8px; }
a[href*="wa.me"]::before {
  content: "";
  display: inline-block;
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #25d366 url("images/social/whatsapp.svg") center/contain no-repeat;
}

/* Project map card now uses the supplied entrance photo, with a legible overlay. */
.location-map-panel {
  position: relative;
  overflow: hidden;
  justify-content: flex-end;
  min-height: 100%;
  padding: 24px;
  background: linear-gradient(180deg, rgba(4,34,27,.08) 8%, rgba(4,34,27,.38) 42%, rgba(4,34,27,.94) 100%), url("images/project-gate.jpg") center 48%/cover;
  box-shadow: 0 10px 28px rgba(5,60,48,.14);
}
.location-map-panel__icon { color: white; background: rgba(255,255,255,.18); backdrop-filter: blur(5px); }
.location-map-panel strong { color: white; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.location-map-panel p { color: rgba(255,255,255,.9); text-shadow: 0 1px 8px rgba(0,0,0,.3); }
.location-map-panel .button { min-height: 44px; }
@media(max-width:950px) { .location-map-panel { min-height: 280px; } }
@media(max-width:520px) { .location-map-panel { min-height: 250px; padding: 20px; background-position: center 50%; } }

/* Signature palette: evergreen, warm limestone, and restrained champagne. */
body { background: #fbfaf6; }
.site-header { background: rgba(251,250,246,.97); border-bottom-color: rgba(8,47,43,.1); }
.announcement { background: var(--pine-deep); }
.announcement__dot { box-shadow: 0 0 0 4px rgba(215,176,106,.14); }
.desktop-nav { color: #4d665d; }
.desktop-nav a::after { background: var(--gold); }
.header-wa { background: var(--pine); box-shadow: 0 8px 20px rgba(8,47,43,.2); }
.hero { background: var(--pine-deep); }
.hero__overlay { background: linear-gradient(90deg, rgba(8,47,43,.96) 0%, rgba(8,47,43,.83) 34%, rgba(8,47,43,.22) 76%, rgba(8,47,43,.34) 100%); }
.hero h1 span, h2 em, h3 em { color: var(--gold); }
.button { border-radius: 10px; }
.button--gold { background: linear-gradient(135deg, #e5c681, #d7b06a); box-shadow: 0 8px 22px rgba(215,176,106,.2); }
.button--gold:hover { background: #e7c982; box-shadow: 0 12px 24px rgba(215,176,106,.28); }
.button--primary { background: var(--pine); box-shadow: 0 7px 18px rgba(8,47,43,.13); }
.button--primary:hover { background: var(--pine-dark); }
.button--light { background: #fbfaf6; }
.button--outline { border-color: var(--pine); }
.search-panel { border: 1px solid rgba(8,47,43,.07); background: #fffefa; box-shadow: 0 20px 48px rgba(8,47,43,.16); }
.search-button { background: var(--pine); }
.section--mint { background: #f0f5f0; }
.section--sage { background: #e8eee7; }
.project-card { border-color: rgba(8,47,43,.1); }
.status-pill { background: var(--pine); }
.status-pill--soon { background: var(--gold); }
.finance-card--cream { background: #f0ede2; }
.finance-card__visual--commercial { background-image: linear-gradient(90deg, rgba(240,237,226,.62), transparent), url("images/4590.jpeg"); }
.contact-section { background: #f0f5f0; }
.contact-card { background-color: var(--pine-deep); background-image: radial-gradient(circle at 84% 15%,rgba(215,176,106,.22),transparent 27%), linear-gradient(120deg,#0d7059,#082f2b); box-shadow: 0 18px 38px rgba(8,47,43,.16); }
.site-footer { background: #062823; }
a[href*="wa.me"]:focus-visible, .button:focus-visible, .desktop-nav a:focus-visible, .mobile-nav a:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
@media(prefers-reduced-motion:no-preference) {
  .button, .header-wa, .floating-wa { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
}

/* Responsive polish for navigation, the hero action, and the benefit grid. */
.search-panel__icon { display: inline-flex; align-items: center; justify-content: center; }
.search-panel__icon svg { display: block; width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.reason-list { align-items: stretch; gap: 12px; }
.reason {
  min-width: 0;
  min-height: 82px;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(8,47,43,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.54);
}
.reason__icon { width: 42px; height: 42px; background: #f8faf6; }
.reason > .reason__icon { margin: 0; color: var(--pine); }
.reason > span:last-child { display: grid; min-width: 0; gap: 5px; margin: 0; }
.reason > span:last-child > span { margin: 0; }
.reason__icon svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.reason strong { color: var(--pine-deep); font-size: 12px; line-height: 1.35; }
.reason span { margin-top: 5px; font-size: 10px; line-height: 1.5; }
.story-copy .section-intro { max-width: 54ch; font-size: 13px; line-height: 1.7; }
.footer-links, .footer-grid > * { min-width: 0; }
.footer-links p, .footer-links small { overflow-wrap: anywhere; }
.floating-wa { background: var(--pine); }
.floating-wa:hover { background: var(--pine-dark); }

@media(max-width:1080px) {
  .desktop-nav, .header-wa { display: none; }
  .menu-toggle { display: block; margin-left: auto; }
  .mobile-nav { position: static; padding: 8px 24px 18px; background: #fffefa; box-shadow: none; border-top: 1px solid var(--line); }
  .mobile-nav.is-open { display: grid; }
  .mobile-nav a { padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--pine-deep); font-size: 12px; font-weight: 700; }
  .mobile-nav .mobile-nav__cta { justify-content: center; color: white !important; border: 0 !important; background: var(--pine); border-radius: 9px; text-align: center; margin-top: 9px; }
  .story-grid { gap: 38px; }
}

@media(min-width:521px) and (max-width:820px) {
  .hero__content { min-height: 560px; padding-bottom: 82px; }
  .search-panel-wrap { margin-top: -48px; }
  .search-panel { grid-template-columns: minmax(0,1fr) auto; gap: 16px; padding: 16px 18px; }
  .search-panel .search-panel__label { display: grid; grid-template-columns: 34px minmax(0,1fr); grid-column: auto; align-items: center; column-gap: 12px; row-gap: 4px; padding: 0; }
  .search-panel__icon { grid-row: 1 / span 2; margin: 0; }
  .search-panel .search-panel__label strong { font-size: 13px; }
  .search-panel .search-panel__label small { margin: 0; font-size: 10px; line-height: 1.4; }
  .search-panel .search-button { grid-column: auto; width: auto; min-width: 190px; }
  .reason-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media(max-width:520px) {
  .hero__content { min-height: 600px; padding-bottom: 74px; }
  .search-panel-wrap { margin-top: -42px; }
  .search-panel { grid-template-columns: minmax(0,1fr); gap: 14px; padding: 17px; }
  .search-panel .search-panel__label { display: grid; grid-template-columns: 30px minmax(0,1fr); grid-column: auto; align-items: center; column-gap: 10px; row-gap: 4px; padding: 0; }
  .search-panel__icon { grid-row: 1 / span 2; margin: 0; }
  .search-panel .search-panel__label strong { font-size: 12px; }
  .search-panel .search-panel__label small { margin: 0; font-size: 9px; line-height: 1.45; }
  .search-panel .search-button { grid-column: auto; width: 100%; min-width: 0; }
  .reason-list { grid-template-columns: minmax(0,1fr); gap: 10px; margin-top: 20px; }
  .reason { min-height: 72px; grid-template-columns: 40px minmax(0,1fr); gap: 11px; padding: 11px; }
  .reason__icon { width: 40px; height: 40px; }
  .reason strong { font-size: 12px; }
  .reason span { font-size: 10px; }
  .story-copy .section-intro { font-size: 12px; }
  .floating-wa { right: 16px; bottom: max(16px,env(safe-area-inset-bottom)); width: 52px; height: 52px; min-height: 52px; padding: 0; border-radius: 50%; box-shadow: 0 8px 22px rgba(8,47,43,.3); }
  .floating-wa span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .floating-wa::before { flex-basis: 24px; width: 24px; height: 24px; }
}

/* Keep anchored sections clear of the sticky header and make the hero actions
   wrap cleanly instead of colliding with the overlapping inquiry panel. */
html { scroll-padding-top: 92px; }
section[id], .benefits-strip[id] { scroll-margin-top: 92px; }
.site-header { isolation: isolate; }
.hero { min-height: 0; }
.hero__content {
  min-height: clamp(560px, 52vw, 650px);
  align-items: center;
  padding: clamp(64px, 8vw, 102px) 0 clamp(142px, 12vw, 168px);
}
.hero__copy { position: relative; z-index: 1; width: min(100%, 650px); }
.hero h1 { line-height: 1.04; overflow-wrap: anywhere; }
.hero__actions { flex-wrap: wrap; gap: 12px; }
.hero__actions .button { min-height: 48px; }
.button--glass {
  color: #fff;
  border: 1px solid rgba(255,255,255,.56);
  background: rgba(8,47,43,.48);
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
  backdrop-filter: blur(8px);
}
.button--glass:hover { background: rgba(8,47,43,.72); }
.search-panel-wrap { margin-top: -76px; }
.about-section { padding-bottom: 48px; }

@media(max-width:1080px) {
  .header__inner { min-height: 72px; height: auto; }
  .site-header { scroll-margin-top: 0; }
  html { scroll-padding-top: 86px; }
  section[id], .benefits-strip[id] { scroll-margin-top: 86px; }
}

@media(max-width:820px) {
  .hero__content { min-height: 0; padding: 70px 0 128px; }
  .hero__copy { max-width: 620px; }
  .hero h1 { font-size: clamp(38px, 8vw, 58px); }
  .hero__lead { max-width: 46ch; }
  .search-panel-wrap { margin-top: -48px; }
  .about-section { padding-bottom: 38px; }
}

@media(max-width:520px) {
  html { scroll-padding-top: 78px; }
  section[id], .benefits-strip[id] { scroll-margin-top: 78px; }
  .hero__content { padding: 58px 0 118px; }
  .hero h1 { font-size: clamp(34px, 9vw, 44px); line-height: 1.03; }
  .hero h1 br { display: none; }
  .hero__lead { margin: 18px 0 22px; font-size: 12px; }
  .hero__actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
  .hero__actions .button { width: 100%; }
  .hero__actions .button--glass { min-height: 46px; }
  .search-panel-wrap { margin-top: -34px; }
}

/* Final responsive safeguards (kept last so older overrides cannot undo them). */
@media(max-width:1080px) {
  .desktop-nav { display: none; }
  .site-header a.header-wa { display: flex; }
  .site-header .menu-toggle { display: block; margin-left: auto; }
  .site-header .mobile-nav { position: static; }
}
@media(max-width:520px) {
  .site-header a.header-wa { display: none; }
}
@media(max-width:820px) {
  .hero__content { min-height: 0; padding: 70px 0 128px; }
  .hero__actions { flex-wrap: wrap; }
  .search-panel-wrap { margin-top: -48px; }
}
@media(max-width:520px) {
  .hero__content { padding: 58px 0 118px; }
  .hero h1 br { display: none; }
  .hero__actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
  .hero__actions .button { width: 100%; }
  .search-panel-wrap { margin-top: -34px; }
}
html { scroll-padding-top: 92px; }
section[id], .benefits-strip[id] { scroll-margin-top: 92px; }
@media(max-width:1080px) {
  html { scroll-padding-top: 86px; }
  section[id], .benefits-strip[id] { scroll-margin-top: 86px; }
}
@media(max-width:520px) {
  html { scroll-padding-top: 78px; }
  section[id], .benefits-strip[id] { scroll-margin-top: 78px; }
}

/* Fine spacing pass based on the latest screenshots. */
.search-panel-wrap { margin-top: -48px; }
.search-panel { min-width: 0; min-height: 100px; gap: 18px; padding: 18px 22px; }
.search-panel .search-panel__label {
  display: grid;
  min-width: 0;
  grid-template-columns: 30px minmax(0,1fr);
  grid-column: auto;
  align-items: center;
  column-gap: 12px;
  row-gap: 5px;
  padding: 0;
}
.search-panel .search-panel__label strong { min-width: 0; font-size: 13px; line-height: 1.35; }
.search-panel .search-panel__label small { min-width: 0; margin: 0; font-size: 10px; line-height: 1.45; }
.search-panel__icon { grid-row: 1 / span 2; justify-self: start; align-self: center; width: 24px; height: 24px; margin: 0; }
.search-panel .search-button { grid-column: auto; width: auto; min-width: 190px; min-height: 52px; white-space: nowrap; }
.gallery-block { padding-top: clamp(48px, 5vw, 76px); }
.gallery-block .section-heading { margin-bottom: 36px; }
.gallery-subheading {
  margin-top: clamp(36px, 5.5vw, 64px);
  padding-top: clamp(8px, 1.5vw, 16px);
}
.gallery-subheading h2 {
  max-width: 100%;
  margin: 12px 0 10px;
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1.08;
  text-wrap: balance;
}
.gallery-subheading .section-intro { margin-top: 0; line-height: 1.65; }
.location-map-panel .location-whatsapp { margin-top: 14px; color: rgba(255,255,255,.9); text-decoration: underline; text-underline-offset: 3px; }
.kpr-calculator .calculator-whatsapp { width: 100%; min-height: 44px; }
.floating-wa[href*="wa.me"] {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  min-height: 54px;
  max-width: calc(100vw - 32px);
  padding: 0;
  border-radius: 50%;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  box-shadow: 0 9px 24px rgba(8,47,43,.28);
}
.floating-wa[href*="wa.me"]::before { flex: none; width: 25px; height: 25px; }
.floating-wa[href*="wa.me"] span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(min-width:521px) and (max-width:820px) {
  .search-panel-wrap { margin-top: -32px; }
  .search-panel { grid-template-columns: minmax(0,1fr) auto; }
}
@media(max-width:520px) {
  .search-panel-wrap { margin-top: -24px; }
  .search-panel { grid-template-columns: minmax(0,1fr); gap: 14px; padding: 17px; }
  .search-panel .search-panel__label { grid-template-columns: 28px minmax(0,1fr); column-gap: 10px; }
  .search-panel .search-panel__label strong { font-size: 12px; }
  .search-panel .search-panel__label small { font-size: 9px; }
  .search-panel .search-button { grid-column: auto; width: 100%; min-width: 0; }
  .floating-wa[href*="wa.me"] { width: 52px; height: 52px; min-height: 52px; }
}

/* Footer brand lockup: balance the logo with the two-line wordmark. */
.brand--footer { align-items: center; gap: 12px; }
.brand--footer .brand__logo { width: 44px !important; height: 44px !important; max-width: 44px !important; max-height: 44px !important; object-fit: contain !important; }
.brand--footer .brand__text { max-width: none; flex-direction: column; flex-wrap: nowrap; align-items: flex-start; row-gap: 0; }
.brand--footer .brand__text strong { font-size: 13px; line-height: 1.2; letter-spacing: .025em; white-space: nowrap; }
.brand--footer .brand__text em { margin-top: 4px; font-size: 7px; line-height: 1.3; letter-spacing: .1em; }
@media (max-width: 520px) { .brand--footer { gap: 11px; } .brand--footer .brand__logo { width: 42px !important; height: 42px !important; max-width: 42px !important; max-height: 42px !important; } .brand--footer .brand__text strong { font-size: 12px; } }

/* Anchor navigation and marketing portrait refinements. */
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
section[id], .benefits-strip[id], .calculator-wrap[id] { scroll-margin-top: 0; }
@media (max-width: 1080px) { html { scroll-padding-top: 82px; } }
@media (max-width: 520px) { html { scroll-padding-top: 76px; } }
.trust-agent img, .marketing-card > img { object-position: center 35%; }
.marketing-card > img { flex: 0 0 auto; aspect-ratio: 1 / 1.08; }
