:root{
  --paper:#f9f7f2;--cream:#f6f3ed;--ink:#252a22;--forest:#29422c;--leaf:#435943;
  --purple:#44366a;--border:#ddd7cf;--footer:#282927;--font:'Grenze',serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;font-size:19px;line-height:1.35;font-synthesis:none;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
a{color:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--forest);outline-offset:4px}
.skip-link{position:fixed;top:-70px;left:14px;z-index:200;padding:9px 16px;background:white}.skip-link:focus{top:10px}
.topbar{height:104px;background:var(--paper);border-bottom:1px solid rgba(71,65,52,.12)}
.topbar-inner{max-width:1740px;margin:auto;height:100%;padding:8px 4.3%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.brand-emblem{width:63px;height:82px;object-fit:contain}
.brand-lines{display:flex;flex-direction:column;gap:1px;white-space:nowrap}
.brand-name{font-family:var(--font);color:var(--purple);font-size:clamp(29px,3vw,41px);font-weight:600;letter-spacing:0;line-height:1.0}
.brand-description{font-size:clamp(16px,1.8vw,23px);letter-spacing:.015em;line-height:1.08;color:var(--purple)}
.language-switch{display:flex;align-items:center;gap:10px;padding-top:1px}
.lang-btn{border:1px solid transparent;background:transparent;border-radius:2px;padding:5px 7px;display:flex;align-items:center;gap:6px;opacity:.68;font-size:15px;letter-spacing:.06em;transition:opacity .15s ease,border-color .15s ease;color:#3b403b}
.lang-btn.active{border-color:#b6b3ab;opacity:1;background:#fffdf9}
.lang-btn:hover{opacity:1}
.lang-btn svg{height:17px;width:25px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.language-divider{width:1px;height:22px;background:#d7d2cb}
.hero{height:clamp(465px,51vw,700px);display:flex;align-items:center;position:relative;isolation:isolate;background-image:url('assets/hero-willa.webp');background-position:center 48%;background-size:cover;background-repeat:no-repeat}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(249,246,239,.86) 0%,rgba(249,246,239,.72) 25%,rgba(249,246,239,.24) 48%,rgba(249,246,239,0) 69%)}
.hero-content{margin-left:7%;max-width:530px;width:47%;padding:0 0 14px}
.hero h1{font-weight:400;font-size:clamp(50px,5vw,82px);line-height:1.01;letter-spacing:0;margin:0 0 26px}
.hero h1 span{display:block;white-space:nowrap}
.hero-paragraph{font-size:clamp(20px,1.55vw,25px);line-height:1.25;max-width:440px;margin:0 0 25px}
.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:0;min-height:41px;padding:8px 28px;font-size:19px;font-weight:400;line-height:1.1;background:var(--forest);color:#fff;text-decoration:none;transition:background .14s ease}
.button:hover{background:#1e3322}
.investments{padding:23px 4.3% 40px;background:var(--paper)}
.section-intro{text-align:center;margin-bottom:23px}
.green-rule{display:block;background:#6f806b;height:2px;width:32px;margin:0 auto 12px}
.section-intro h2{font-size:19px;letter-spacing:.19em;font-weight:400;margin:0}
.investment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1610px;margin:0 auto;border:1px solid var(--border)}
.investment-card{text-align:center;min-height:207px;display:flex;flex-direction:column;align-items:center;padding:25px 22px 26px}
.investment-card:not(:last-child){border-right:1px solid var(--border)}
.focus-icon{height:58px;width:58px;color:var(--leaf);margin-bottom:11px}
.investment-card h3{font-size:30px;font-weight:400;line-height:1.04;margin:0 0 12px}
.investment-card p{font-size:19px;line-height:1.24;margin:0;max-width:320px}
.approach{display:grid;grid-template-columns:43% 57%;min-height:268px;background:#fdfbf8}
.approach-copy{display:flex;align-items:center;padding:35px 10% 39px 13%}
.approach-copy-content{max-width:465px}
.approach h2,.contact h2{font-size:clamp(40px,3.4vw,57px);font-weight:400;letter-spacing:0;line-height:1.02;margin:0 0 18px}
.green-rule.align-left{margin-left:0;margin-bottom:17px}
.approach p{font-size:19px;line-height:1.26;max-width:410px;margin:0}
.approach-photo{min-height:268px;background:url('assets/panorama-gor.webp') center 57%/cover no-repeat}
.contact{display:grid;grid-template-columns:18% 32% 50%;min-height:310px;background:#fbf9f5}
.contact-photo{background:url('assets/kontakt-rezydencja.webp') left center/cover no-repeat}
.contact-copy{padding:54px 13% 40px 10%;display:flex;flex-direction:column;justify-content:center}
.contact-copy h2{font-size:clamp(32px,3.1vw,52px);white-space:nowrap;margin:0 0 20px}
.contact-copy p{font-size:19px;line-height:1.23;max-width:310px;margin:0}
.contact-form-area{padding:40px 7% 32px 4%;display:flex;align-items:center}
#inquiry-form{width:100%;max-width:630px}
#inquiry-form label{display:block;margin-bottom:8px;font-size:17px;line-height:1.1;color:#3b4039}
#inquiry-form label>span{display:block;margin:0 0 4px}
#inquiry-form input:not([type='checkbox']),#inquiry-form textarea{border:1px solid #d5cec5;border-radius:0;background:#faf8f4;display:block;width:100%;margin-top:3px;padding:7px 9px;color:#1f2a21;outline-offset:0;font-size:17px}
#inquiry-form input:not([type='checkbox']){height:31px}
#inquiry-form textarea{height:85px;min-height:70px;resize:vertical}
#inquiry-form input:focus-visible,#inquiry-form textarea:focus-visible{outline:1px solid var(--forest);border-color:var(--forest)}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-notice{padding:0 0 7px}
#inquiry-form .privacy-confirm{display:flex;align-items:flex-start;gap:7px;margin:3px 0 3px;color:#48524b;font-size:16px;line-height:1.3}
.privacy-confirm input[type='checkbox']{flex:0 0 auto;margin:0;accent-color:var(--forest)}
.privacy-confirm span{margin:0!important}
#privacy-information{color:#51574e;font-size:16px;line-height:1.3;margin-bottom:5px}
#privacy-information summary{cursor:pointer;text-decoration:underline;text-decoration-color:#9ca49b;text-underline-offset:2px}
#privacy-information p{margin:6px 0 3px;max-width:550px}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.button-submit{display:block;width:100%;min-height:34px;padding:5px 16px;font-size:19px}
.button-submit[disabled]{opacity:.65;cursor:wait}
.form-status{margin:5px 0 0;min-height:15px;font-size:14px;line-height:1.2}
.form-status.error{color:#9a2d2d}.form-status.success{color:#235c37}
.footer{background:var(--footer);color:#ece7db;min-height:166px;padding:16px 15px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.footer>img{width:43px;height:50px;object-fit:contain}
.footer-company{font-size:24px;line-height:1.02;letter-spacing:.04em}
.footer-foundation{font-size:16px;letter-spacing:.015em;line-height:1.1}
.footer-divider{height:1px;width:330px;max-width:75%;background:#64645e;margin:13px 0 9px}
.footer small{font-size:15px}
@media(min-width:1750px){body{max-width:1750px;margin:auto}}
@media(max-width:1120px){.contact{grid-template-columns:13% 36% 51%}.contact-copy{padding:40px 8%}.contact-form-area{padding:35px 8% 27px 4%}.contact-copy h2{font-size:38px}.hero-content{width:53%}.hero h1{font-size:clamp(45px,5.5vw,62px)}.approach-copy{padding:38px 10%}}
@media(max-width:790px){.topbar{height:88px}.brand-emblem{width:49px;height:67px}.brand-name{font-size:27px}.brand-description{font-size:17px}.language-switch{gap:4px}.lang-btn{gap:4px;font-size:12px;padding:4px}.lang-btn svg{width:24px;height:16px}.hero{height:580px;background-position:64% center;align-items:flex-start}.hero-shade{background:linear-gradient(180deg,rgba(249,247,241,.88) 0%,rgba(249,247,241,.72) 35%,rgba(249,247,241,.03) 75%)}.hero-content{width:90%;max-width:560px;margin:53px 5% 0;padding:0}.hero h1{font-size:clamp(45px,7.3vw,64px)}.hero-paragraph{font-size:20px;max-width:390px}.investments{padding:26px 5% 40px}.investment-grid{grid-template-columns:1fr}.investment-card{min-height:165px;padding:21px 14px}.investment-card:not(:last-child){border-right:0;border-bottom:1px solid var(--border)}.investment-card h3{font-size:27px}.investment-card p{max-width:440px;font-size:19px}.focus-icon{width:48px;height:48px;margin-bottom:6px}.approach{grid-template-columns:1fr}.approach-copy{padding:38px 8%}.approach h2{font-size:47px}.approach p{max-width:600px}.approach-photo{min-height:240px}.contact{grid-template-columns:1fr}.contact-photo{min-height:155px;background-position:center 60%}.contact-copy{padding:38px 8% 15px}.contact-copy h2{font-size:45px}.contact-copy p{max-width:600px}.contact-form-area{padding:16px 8% 36px}.footer{min-height:155px}}
@media(max-width:480px){.topbar{height:82px}.topbar-inner{padding:7px 3.5%;gap:6px}.brand{gap:4px}.brand-emblem{width:41px;height:60px}.brand-name{font-size:23px}.brand-description{font-size:14px;letter-spacing:.04em}.language-switch{gap:2px}.lang-btn{flex-direction:column;gap:0;padding:1px 3px;line-height:1}.lang-btn svg{height:13px;width:20px}.lang-btn span{font-size:11px}.language-divider{height:25px}.hero{height:570px;background-position:65% center}.hero-content{margin-top:57px}.hero h1{font-size:clamp(38px,9.5vw,50px);letter-spacing:0;margin-bottom:19px}.hero-paragraph{font-size:19px;max-width:350px}.form-pair{grid-template-columns:1fr;gap:0}.contact-photo{min-height:120px}.contact-copy h2{font-size:41px;white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.lang-btn{transition:none}}

/* Allow translations to wrap naturally at small viewport widths. */
html[lang="pl"] .hero h1 span{white-space:normal}
@media(max-width:480px){html[lang="pl"] .hero h1{font-size:clamp(38px,8.8vw,47px)}}

/* Header selector: flags only, no visible language labels or navigation. */
.language-switch{gap:9px}
.lang-btn{display:inline-flex;justify-content:center;align-items:center;width:42px;height:34px;padding:4px}
.lang-btn svg{width:29px;height:19px}
@media(max-width:480px){.language-switch{gap:5px}.lang-btn{width:31px;height:27px;padding:3px}.lang-btn svg{width:23px;height:16px}}

/* v3: typography is explicitly inherited by EVERY text element, including form fields. */
html, body, h1, h2, h3, h4, p, a, span, small, label, button, input, textarea, select, summary, details {
  font-family:var(--font);font-synthesis:none;
}
.brand-santis{font-weight:700}.brand-capital{font-weight:500}
.brand-description,.footer-foundation{font-family:var(--font);font-weight:400;font-style:normal;text-transform:none}
.brand-name,.footer-company{text-transform:none;letter-spacing:0}
.footer-email{font-size:18px;margin-top:9px;text-decoration:none}
.footer-email:hover{text-decoration:underline;text-underline-offset:3px}
.hero-paragraph{margin-bottom:0}
#privacy-information p{margin:12px 0}
@media(max-width:790px){.hero h1 span{white-space:normal}}
@media(max-width:350px){.brand-name{font-size:21px}.brand-description{font-size:13px}.brand-emblem{width:33px}.lang-btn{width:29px}.topbar-inner{gap:4px}}

/* v4: Polish headline keeps two lines on desktop. */
@media(min-width:791px){html[lang="pl"] .hero-content{max-width:720px}}

/* v6: Safari parity — no text inflation, identical form controls, explicit kerning/ligatures. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-kerning:normal;font-variant-ligatures:common-ligatures;text-rendering:optimizeLegibility}
#inquiry-form input:not([type='checkbox']),#inquiry-form textarea{-webkit-appearance:none;appearance:none;box-shadow:none;line-height:1.2}
.button-submit{-webkit-appearance:none;appearance:none}
.contact-copy h2{white-space:normal;text-wrap:balance}

/* v6: larger section label */
.section-intro h2{font-size:24px;letter-spacing:.17em}
@media(max-width:480px){.section-intro h2{font-size:20px;letter-spacing:.14em}}
.investment-card p{max-width:345px}

/* v6: photos melt softly into the neighbouring text column, like the hero */
.approach-photo,.contact-photo{position:relative}
.approach-photo::before,.contact-photo::before{content:"";position:absolute;inset:0;pointer-events:none}
.approach-photo::before{background:linear-gradient(90deg,#fdfbf8 0%,rgba(253,251,248,.72) 8%,rgba(253,251,248,.36) 18%,rgba(253,251,248,.12) 29%,rgba(253,251,248,0) 40%)}
.contact-photo::before{background:linear-gradient(270deg,#fbf9f5 0%,rgba(251,249,245,.8) 14%,rgba(251,249,245,.45) 30%,rgba(251,249,245,.15) 46%,rgba(251,249,245,0) 60%)}
@media(max-width:790px){
 .approach-photo::before{background:linear-gradient(180deg,#fdfbf8 0%,rgba(253,251,248,.7) 14%,rgba(253,251,248,.25) 30%,rgba(253,251,248,0) 45%,rgba(253,251,248,0) 86%,rgba(253,251,248,.55) 100%)}
 .contact-photo::before{background:linear-gradient(180deg,rgba(251,249,245,.6) 0%,rgba(251,249,245,0) 16%,rgba(251,249,245,0) 45%,rgba(251,249,245,.25) 62%,rgba(251,249,245,.7) 82%,#fbf9f5 100%)}
}
