.contact-form-section{padding:80px max(24px,6vw);overflow:hidden}
.contact-form-section .contact-card{width:min(940px,100%);max-width:940px;margin:auto;border-radius:8% 12% 9% 11% / 5% 7% 6% 8%;padding:clamp(28px,5vw,70px);text-align:left}
.contact-form-section .contact-card>p{max-width:65ch;margin-left:0;margin-right:0}
.contact-form-section h2{font-size:clamp(38px,5vw,64px)}
.contact-form{position:relative;margin-top:30px;font-size:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-weight:750;line-height:1.5}
.form-grid label{margin-bottom:0}
.form-grid+label{margin-top:22px}
.contact-form input,.contact-form select,.contact-form textarea{box-sizing:border-box;min-width:0;width:100%;min-height:50px;border:2px solid var(--ink);border-radius:13px;background:#fff;color:var(--ink);font:inherit;font-weight:400;padding:12px 14px}
.contact-form textarea{resize:vertical;min-height:125px}
.contact-form :is(input,select,textarea):focus-visible{outline:3px solid #087d83;outline-offset:3px}
.contact-form [hidden]{display:none!important}
.contact-form .form-honey{position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}
.form-privacy{font-size:15px;line-height:1.65!important;max-width:65ch!important}
.form-privacy a,.contact-card>p a{text-decoration:underline;text-underline-offset:3px}
.contact-form .form-status{margin:20px 0;font-size:17px;line-height:1.6;max-width:65ch;font-weight:700}
.form-status:empty{display:none}
.form-status.is-error{border-left:5px solid #a01839;padding-left:14px;color:#7b1230}
.form-status.is-success{border-left:5px solid #157946;padding-left:14px;color:#11552f}
.contact-form button{cursor:pointer;font-family:inherit}
.contact-form button:disabled{cursor:wait;opacity:.65}
.form-reference{background:var(--turquoise);border:2px solid var(--ink);padding:12px 18px;border-radius:18px}
.service-enquiry{display:inline-block;margin-top:16px;text-decoration:underline;text-underline-offset:5px;font-weight:850}
.catalog{padding:70px max(24px,6vw);border-top:3px solid var(--ink);background:var(--yellow)}
.catalog-architecture{background:linear-gradient(165deg,var(--turquoise) 70%,var(--pink) 70%)}
.catalog-development{background:linear-gradient(15deg,var(--yellow) 15%,var(--green) 15%)}
.catalog>h2{max-width:900px;margin-bottom:32px;font-size:clamp(34px,4.5vw,58px)}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:26px;align-items:start}
.property-card{max-width:600px;overflow:hidden;border:3px solid var(--ink);border-radius:26px 42px 28px 34px;background:#fff;box-shadow:5px 6px 0 var(--ink)}
.property-card>a{display:block}
.property-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:3px solid var(--ink)}
.property-copy{padding:26px}
.property-copy h3{font-size:30px;line-height:1.15;margin:10px 0;overflow-wrap:anywhere}
.property-copy p{font-size:17px;line-height:1.5}
.property-copy .text-link{display:inline-block;min-height:44px;padding-top:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.project-detail{max-width:1200px;margin:auto;padding:40px max(24px,4vw) 80px}
.project-detail>.language-switch,.legal-content>.language-switch{width:max-content;margin:0 0 32px}
.project-detail h1{font-size:clamp(40px,7vw,84px);max-width:1050px;overflow-wrap:anywhere}
.project-location{font-size:22px;margin:20px 0 30px}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}
.project-gallery img{width:100%;height:auto;border:3px solid var(--ink);border-radius:20px}
.project-gallery img:first-child{grid-column:1/-1;max-height:780px;object-fit:contain;background:#f2fbfa}
.project-description,.legal-text{font-size:18px;line-height:1.85;max-width:78ch;overflow-wrap:anywhere}
.project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:40px}
.draft-notice{border:2px solid var(--ink);background:var(--yellow);border-radius:14px;padding:18px;font-weight:750}
.translation-note{font-size:15px;font-style:italic}
.legal-content{max-width:1080px;margin:auto;padding:40px 28px 90px;min-height:55vh}
.legal-content h1{font-size:clamp(40px,6vw,72px);margin:20px 0 34px;overflow-wrap:anywhere}
.back-link{display:inline-flex;align-items:center;min-height:44px;font-weight:800}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}.contact-form-section{padding:55px 18px}.contact-form-section .contact-card{padding:34px 24px;border-radius:32px}.contact-form{font-size:17px}.project-gallery{grid-template-columns:1fr}.project-actions{align-items:stretch;flex-direction:column}.project-actions .button{text-align:center}.back-link{font-size:14px;max-width:180px}.catalog{padding:55px 24px}}
