[hidden]{display:none!important}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.catalog-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--white);min-width:0}.catalog-photo{display:block;height:330px;overflow:hidden}.catalog-photo img{transition:transform .3s}.catalog-photo:hover img{transform:scale(1.025)}.catalog-copy{padding:28px}.catalog-copy h3{font-size:27px;line-height:1.3;overflow-wrap:anywhere}.catalog-copy>p{margin-top:14px;color:var(--muted);font-size:16px;line-height:1.8}.catalog-price{display:block;font-size:22px;margin:20px 0}.catalog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.catalog-actions .button{font-size:14px}.catalog-actions .text-link{font-size:14px}.empty-catalog{padding:36px;border:1px solid var(--line);border-radius:18px}.empty-catalog h3{font-size:26px}.empty-catalog p{margin:15px 0 24px}.product-hero h1{font-size:clamp(38px,4.5vw,62px);overflow-wrap:anywhere}.product-hero-price{display:block;font-size:26px;margin:0 0 24px;color:var(--ice)}.product-details{padding-block:60px}.full-description{max-width:820px;margin:26px 0}.full-description p{font-size:17px;line-height:1.85;margin:0 0 18px;overflow-wrap:anywhere}.inquiry>label,.field-pair label{display:block;font-size:14px;font-weight:700;margin:18px 0 7px}.inquiry input:not([type=checkbox]),.inquiry select,.inquiry textarea{width:100%;min-height:48px;border:1px solid #b7ccc9;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink);font-size:16px}.inquiry textarea{min-height:105px;resize:vertical}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inquiry .contact-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.65;font-weight:400;margin:20px 0}.contact-consent input{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--navy)}.contact-consent a{text-decoration:underline}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.inquiry-submit{width:100%;justify-content:space-between}.inquiry-submit:disabled{opacity:.7}.form-status{font-size:14px;margin-top:14px;line-height:1.6}.form-status.error{color:#a32323}.form-status.success{color:#176b51}.text-button{border:0;background:none;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.cookie-box{position:fixed;z-index:100;bottom:20px;left:20px;width:min(420px,calc(100% - 40px));background:var(--white);border:1px solid #b5cecb;padding:22px;border-radius:14px;box-shadow:0 12px 60px #001e3140;color:var(--ink)}.cookie-box h2{font:700 18px var(--sans);margin:0 0 9px;letter-spacing:0}.cookie-box p{font-size:13px;line-height:1.7}.cookie-box a{text-decoration:underline}.cookie-actions{display:flex;gap:9px;margin-top:18px}.cookie-actions button{flex:1;padding:12px 10px;min-height:44px;border-radius:8px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-size:13px}.cookie-actions button+button{background:white;color:var(--navy)}.privacy-page{max-width:850px;padding-block:50px}.privacy-page h1{font-size:40px;margin:30px 0 22px}.privacy-page h2{font-size:25px;margin:30px 0 14px}.privacy-page p{margin:18px 0;font-size:16px;line-height:1.9}.privacy-page a{text-decoration:underline}.mobile-dock{transition:none}.product-hero .hero-secondary{font-size:14px}
@media(max-width:700px){.catalog-grid{grid-template-columns:1fr;gap:22px}.catalog-photo{height:290px}.catalog-copy{padding:23px}.catalog-copy h3{font-size:25px}.catalog-copy>p{font-size:15px}.catalog-price{font-size:22px}.catalog-actions{gap:14px}.catalog-actions .button{padding-inline:15px}.product-hero .hero-copy{min-height:610px;justify-content:flex-end}.product-hero h1{font-size:42px}.product-hero .hero-description{font-size:16px}.product-details{padding-block:38px}.full-description p{font-size:16px}.field-pair{grid-template-columns:1fr;gap:0}.cookie-box{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);padding:18px}.inquiry .contact-consent{font-size:13px}.inquiry-submit{font-size:14px}.inquiry-note{font-size:12px}.product-hero-price{font-size:24px}.full-description{margin-top:20px}}
@media(max-width:370px){.catalog-photo{height:250px}.catalog-copy{padding:18px}.catalog-actions{align-items:stretch;flex-direction:column}.catalog-actions .text-link{align-self:flex-start}.product-hero h1{font-size:36px}.inquiry-submit{font-size:13px}}

/* Compact inquiry: name, international telephone and an optional comment. */
.phone-field{display:grid;grid-template-columns:130px minmax(0,1fr);gap:9px;align-items:start}
.inquiry .phone-field select,.inquiry .phone-field input{min-width:0;margin:0;font-size:16px;min-height:50px}
.inquiry .phone-field select{padding-left:10px;padding-right:22px;text-overflow:ellipsis}
.phone-error{font-size:12px;line-height:1.5;color:#a32323;margin:7px 0 0}
.inquiry input[aria-invalid="true"]{border-color:#a32323}
.optional-label{float:right;font-weight:400;font-size:12px;color:var(--muted)}
.inquiry .contact-consent{font-size:13px;margin:19px 0;line-height:1.6}
.inquiry .contact-consent input{width:20px;height:20px;margin-top:1px}
.inquiry .submit-label{font:inherit;line-height:inherit;flex-shrink:1}
.inquiry-submit:disabled{cursor:not-allowed;opacity:.6}
.consent-status{font-size:12px;line-height:1.5;color:var(--muted);margin:7px 0 0}
.consent-status:empty,.form-status:empty{display:none}
@media(max-width:700px){.inquiry>label{margin-top:16px}.phone-field{grid-template-columns:112px minmax(0,1fr);gap:8px}.inquiry .phone-field select{font-size:14px}.inquiry textarea{min-height:92px}.inquiry .contact-consent{font-size:12px}.inquiry-note{font-size:11px}}
@media(max-width:370px){.phone-field{grid-template-columns:104px minmax(0,1fr);gap:7px}.inquiry .phone-field input{padding-inline:10px}}

/* A direct inquiry from each completed project. */
.project-card{display:flex;flex-direction:column}
.project-card .project-photo{flex-shrink:0}
.project-card figcaption{display:flex;flex:1;flex-direction:column;align-items:stretch}
.project-card figcaption>p{margin-bottom:20px}
.project-card .project-inquiry{width:100%;margin-top:auto;gap:12px;font-size:14px}
@media(max-width:370px){.project-card .project-inquiry{padding-inline:16px;font-size:13px}}
