:root{
  /* Brand palette — change these values to retheme the whole site. */
  --ink:#111111;
  --paper:#f7f5ef;
  --white:#ffffff;
  --blue:#173f5f;          /* modrotisk */
  --blue-soft:#e8eff3;
  --wood:#9a6b45;          /* natural wood */
  --wood-light:#d9c0a5;
  --line:#d8d4ca;
  --max:1180px;
  --radius:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
a{color:inherit}
.site-header{height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(247,245,239,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:750;letter-spacing:-.02em;min-width:0}.brand-logo{width:52px;height:52px;object-fit:contain;flex:none}.brand-name{white-space:nowrap}
.site-header nav{display:flex;gap:25px;font-size:14px}.site-header nav a{text-decoration:none}.site-header nav a:hover,.text-link:hover{color:var(--blue)}
.header-actions{display:flex;align-items:center;gap:18px}.lang,.menu{border:0;background:none;font:inherit;cursor:pointer}.menu{display:none;font-size:22px}
.hero{min-height:calc(100vh - 76px);position:relative;display:grid;align-items:end;overflow:hidden;background:var(--blue)}
.hero-image{position:absolute;inset:0}.hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,15,18,.82),rgba(10,15,18,.18) 72%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 58%);z-index:1}.hero-image>*{position:relative;z-index:2}
.hero-overlay{position:relative;color:white;max-width:var(--max);width:100%;margin:auto;padding:12vh 5vw 10vh;display:flex;justify-content:space-between;align-items:center;gap:60px}.hero-copy{position:relative;z-index:3;max-width:730px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;margin:0 0 16px;color:var(--wood)}.hero .eyebrow{color:#dcebf3}
.hero h1{font-family:Georgia,serif;font-size:clamp(54px,8vw,110px);line-height:.9;letter-spacing:-.055em;margin:0 0 28px;max-width:700px}.hero h1 em{font-weight:400}.lead{font-size:clamp(18px,2vw,23px);max-width:650px}
.hero-logo{flex:none;width:290px;height:290px;border-radius:50%;background:rgba(255,255,255,.97);padding:14px;box-shadow:0 24px 70px rgba(0,0,0,.25);position:relative;z-index:3}.hero-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.button{display:inline-block;text-decoration:none;padding:12px 19px;border:1px solid transparent;font-weight:750;font-size:14px;transition:.2s}.button.primary{background:white;color:var(--ink)}.button.light{border-color:rgba(255,255,255,.6);color:white}.button.dark{background:var(--ink);color:white}.button:hover{transform:translateY(-1px)}
.event-banner{background:var(--blue);color:white;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:58px max(5vw,calc((100vw - var(--max))/2))}.event-banner .eyebrow{color:var(--wood-light);margin-bottom:10px}.event-banner h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,58px);line-height:1;margin:0 0 8px}.event-banner p{max-width:720px;margin:5px 0}.event-meta{font-weight:700}
.section{max-width:var(--max);margin:auto;padding:110px 5vw}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.section h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.045em;margin:0 0 24px}.split p{max-width:600px}
.image-placeholder{aspect-ratio:4/3;background:var(--blue-soft);border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden;color:var(--blue);font-size:12px;letter-spacing:.08em}.image-placeholder span{position:absolute;bottom:12px;left:14px;text-transform:uppercase;font-weight:700;font-size:10px}.placeholder-art{font-size:26px;opacity:.72;letter-spacing:.08em;text-transform:uppercase;text-align:center;font-weight:750}
.light-section{max-width:none;padding-left:max(5vw,calc((100vw - var(--max))/2));padding-right:max(5vw,calc((100vw - var(--max))/2));background:var(--white)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.section-note{max-width:330px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{border:1px solid var(--line);background:var(--paper)}.card .image-placeholder{border:0;border-bottom:1px solid var(--line)}.card-body{padding:28px}.card h3{font-family:Georgia,serif;font-size:30px;margin:0 0 8px}
.organizer{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.organizer-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.organizer-list span{padding:17px 0;border-bottom:1px solid var(--line);font-weight:650}.text-link{font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.join{display:grid;grid-template-columns:1fr .75fr;gap:90px;align-items:center;background:var(--wood-light);max-width:none;padding-left:max(5vw,calc((100vw - var(--max))/2));padding-right:max(5vw,calc((100vw - var(--max))/2))}.practice{border-left:3px solid var(--blue);padding:12px 0 12px 18px;margin:28px 0;display:flex;flex-direction:column}.tall{aspect-ratio:3/4}
.gallery-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:12px}.gallery-grid .large{grid-row:span 2;aspect-ratio:3/4}.gallery-grid .image-placeholder{min-height:220px}
.contact{background:var(--ink);color:white}.contact-inner{max-width:var(--max);margin:auto;padding:90px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-family:Georgia,serif;font-size:64px;line-height:1;margin:0 0 20px}.contact .eyebrow{color:var(--wood-light)}.contact-details p{border-bottom:1px solid #333;padding:14px 0;display:flex;justify-content:space-between;gap:20px}.contact-details span{color:#aaa}.contact-details strong{font-weight:600}footer{background:var(--ink);color:#888;border-top:1px solid #333;padding:22px 5vw;display:flex;justify-content:space-between;font-size:12px}footer a{color:#ddd}
@media(max-width:1000px){.hero-logo{width:220px;height:220px}.hero-overlay{gap:35px}}
@media(max-width:800px){.site-header{height:64px}.site-header nav{position:absolute;left:0;right:0;top:64px;background:var(--paper);border-bottom:1px solid var(--line);display:none;flex-direction:column;gap:0;padding:8px 5vw}.site-header nav.open{display:flex}.site-header nav a{padding:13px 0;border-bottom:1px solid var(--line)}.menu{display:block}.brand-name{font-size:14px}.brand-logo{width:46px;height:46px}.hero{min-height:calc(100vh - 64px)}.hero-overlay{padding:10vh 5vw 8vh;display:block}.hero-logo{width:150px;height:150px;margin:38px 0 0 auto}.hero h1{max-width:none}.split,.organizer,.join,.contact-inner,.cards{grid-template-columns:1fr;gap:40px}.section{padding-top:75px;padding-bottom:75px}.event-banner{flex-direction:column;align-items:flex-start;padding-top:45px;padding-bottom:45px}.section-heading{display:block}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .large{grid-column:span 2;grid-row:auto}.contact h2{font-size:50px}footer{display:block}footer span{display:block;margin:5px 0}}
