:root{--accent:#b88c2a;--accent-deep:#8f6a19;--accent-soft:#fff3db;--bg:#fffdfa;--container:1160px;--dark:#2b2b2b;--line:#eadfca;--muted:#6e6559;--radius:20px;--shadow-card:0 10px 25px #0000000d;--shadow-soft:0 16px 40px #71581d14;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--surface:#ffffff;--surface-soft:#fff8ed}
:root body{transition:opacity 300ms}
:root.waiting body{opacity:.2}
*,*::before,*::after{box-sizing:border-box}
a{color:inherit;text-decoration:none}
body{background:linear-gradient(180deg, #fbf7f0 0%, var(--bg) 100%);color:var(--dark);font-family:Georgia, 'Times New Roman', serif;line-height:1.65;margin:0}
body.no-scroll{overflow:hidden}
button{background:none;border:none;font:inherit}
h1,h2,h3,p,ul{margin:0}
html{scroll-behavior:smooth}
img,svg{display:block;max-width:100%}
input,textarea{background:#fffdfa;border:1px solid var(--line);border-radius:14px;color:var(--dark);padding:.9rem 1rem;width:100%}
label{display:block;font-family:Arial, Helvetica, sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.06em;margin-bottom:.35rem;text-transform:uppercase}
textarea{min-height:12rem;resize:vertical}
ul{padding:0}
.btn{align-items:center;border-radius:999px;display:inline-flex;font-family:Arial, Helvetica, sans-serif;font-size:.9rem;font-weight:700;gap:.5rem;justify-content:center;min-height:48px;padding:0 1.25rem}
.btn--ghost{background:#ffffffc7;border:1px solid var(--line)}
.btn--primary{background:var(--accent);color:#ffffff}
.card h3,.panel h3{color:var(--accent-deep);font-size:1.2rem;margin-bottom:.7rem}
.card p + p,.panel p + p{margin-top:.8rem}
.card,.panel{padding:1.4rem}
.card-stack,.feature-grid{display:grid;gap:1rem}
.contact-card{align-items:center;display:grid;gap:1.5rem;grid-template-columns:minmax(0, 1.2fr) minmax(260px, .8fr);padding:clamp(1.5rem, 3vw, 2.5rem)}
.contact-card__actions{display:grid;gap:1rem;justify-items:start}
.contact-layout{display:grid;gap:1.5rem;grid-template-columns:minmax(280px, .9fr) minmax(0, 1.1fr)}
.contact-panel,.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.5rem}
.container{margin:0 auto;max-width:var(--container);padding:0 var(--space-3)}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem}
.error-page{min-height:70vh;padding:5rem 0}
.error-page__inner{display:grid;gap:1rem;max-width:40rem}
.feature-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2, minmax(0, 1fr));margin-bottom:1rem}
.form-grid__full{grid-column:1 / -1}
.gallery-grid{grid-template-columns:repeat(3, minmax(0, 1fr));margin-top:1rem}
.gallery-grid img{border-radius:16px;height:220px;object-fit:cover;width:100%}
.gallery-grid--wide{grid-template-columns:repeat(4, minmax(0, 1fr));margin-top:1.5rem}
.hero{padding:4.5rem 0 3rem}
.hero h1{font-size:clamp(2.5rem, 6vw, 5rem);line-height:.95}
.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem}
.hero__card{align-self:end;padding:1.5rem}
.hero__card h2{font-size:1.2rem;margin-bottom:1rem}
.hero__card li,.check-list li{padding-left:1.6rem;position:relative}
.hero__card li::before,.check-list li::before{color:var(--accent);content:'•';font-size:1.2rem;left:0;position:absolute;top:-.1rem}
.hero__card ul,.check-list{display:grid;gap:.8rem;list-style:none}
.hero__card,.card,.panel,.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}
.hero__copy{display:grid;gap:1.15rem}
.hero__inner{background:radial-gradient(circle at top left, #fff3db 0%, #f5ead5 38%, #fffdfa 100%);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow-soft);display:grid;gap:var(--space-4);grid-template-columns:minmax(0, 1.35fr) minmax(280px, .9fr);padding:clamp(1.5rem, 3vw, 3rem)}
.hero__lead{color:var(--muted);font-size:1.08rem;max-width:40rem}
.hero__media img{border-radius:24px;box-shadow:var(--shadow-card);height:100%;object-fit:cover;width:100%}
.lang-switch{display:flex;gap:.35rem}
.lang-switch a{border:1px solid var(--line);border-radius:999px;font-family:Arial, Helvetica, sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.08em;padding:.45rem .7rem;text-transform:uppercase}
.lang-switch a.active{background:var(--accent);border-color:var(--accent);color:#fff}
.lead{color:var(--muted);font-size:1.08rem}
.media-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}
.media-card img{height:100%;object-fit:cover;width:100%}
.mobile-nav{background:#fffdfb;border-bottom:1px solid var(--line);display:none}
.mobile-nav.is-open{display:block}
.mobile-nav__inner{padding:0 var(--space-3) var(--space-3)}
.mobile-nav__inner ul{align-items:flex-start;flex-direction:column;gap:.3rem}
.mobile-nav__lang{padding:1rem 0 .8rem}
.narrow{max-width:860px}
.page-hero{padding:3.5rem 0 2rem}
.profile-grid{grid-template-columns:1fr}
.prose-pre{white-space:pre-wrap}
.section{padding:var(--space-6) 0}
.section--contact{padding-bottom:5rem}
.section--soft{background:linear-gradient(180deg, #fffaf2 0%, #fffdf8 100%)}
.section-grid{align-items:start;display:grid;gap:var(--space-4);grid-template-columns:repeat(2, minmax(0, 1fr))}
.section-heading{display:grid;gap:.6rem;margin-bottom:1.5rem;max-width:42rem}
.section-heading h2,.section-grid h2,.contact-card h2,.error-page h1{font-size:clamp(2rem, 4vw, 3rem);line-height:1}
.section__eyebrow,.hero__eyebrow{color:var(--accent-deep);font-size:.82rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.site-brand{align-items:center;display:inline-flex;gap:var(--space-2)}
.site-brand__logo{border-radius:14px;box-shadow:inset 0 0 0 1px #eadfca;display:inline-flex;padding:.25rem}
.site-brand__logo svg{height:56px;width:56px}
.site-brand__text{display:grid;gap:.15rem}
.site-brand__text small{color:var(--muted);font-size:.82rem}
.site-brand__text strong{font-size:1.2rem;font-weight:700}
.site-footer{border-top:1px solid var(--line);padding:1.5rem 0 2rem}
.site-footer__inner{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
.site-footer__meta{color:var(--muted);display:grid;gap:.35rem;justify-items:end;text-align:right}
.site-header{backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #f1e6d4;position:sticky;top:0;z-index:20}
.site-header__actions{align-items:center;display:flex;gap:.75rem}
.site-nav a,.mobile-nav__inner a{font-family:Arial, Helvetica, sans-serif;font-size:.83rem;font-weight:700;letter-spacing:.08em;padding:.45rem 0;text-transform:uppercase}
.site-nav a.active,.site-nav a:hover,.mobile-nav__inner a:hover{color:var(--accent)}
.site-nav ul,.mobile-nav__inner ul{align-items:center;display:flex;gap:1rem;list-style:none}
.site-nav__toggle{display:none;height:48px;padding:.4rem;width:48px}
.site-nav__toggle span{background:var(--dark);border-radius:999px;display:block;height:2px;margin:7px 0;width:24px}
.teaser-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
.teaser-grid,.profile-grid,.gallery-grid{display:grid;gap:1rem}
.topbar{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;min-height:88px}
@media (max-width: 720px){
.btn{width:100%}
.contact-card__actions{justify-items:stretch}
.container{padding:0 1rem}
.hero{padding-top:2.5rem}
.site-brand__text small{display:none}
.site-footer__meta{justify-items:start;text-align:left}
.topbar{min-height:76px}}
@media (max-width: 980px){
.contact-layout,.teaser-grid,.gallery-grid,.gallery-grid--wide,.form-grid{grid-template-columns:1fr}
.hero__inner,.section-grid,.feature-grid,.contact-card{grid-template-columns:1fr}
.site-nav{display:none}
.site-nav__toggle{display:inline-block}}