:root{--paper:#e8f1fb;--ink:#20211f;--muted:#77776f;--line:#d9d6cd;--orange:#e15f3d;--blue:#9cb9bd;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.page-wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.site-header{height:84px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:25px;font-weight:700;letter-spacing:-2px;color:var(--ink);text-decoration:none}.wordmark span,.about-mark span{color:var(--orange)}nav{display:flex;align-items:center;gap:38px}nav a,.site-footer a{font-size:12px;color:var(--ink);text-decoration:none}nav a:hover,.site-footer a:hover,.text-link:hover{color:var(--orange)}.nav-contact{border:1px solid var(--ink);padding:11px 16px;border-radius:30px}.nav-contact span{margin-left:8px}.hero{min-height:640px;padding-top:104px;position:relative;display:grid;grid-template-columns:1fr .86fr;align-items:center;column-gap:7%}.eyebrow{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 26px}.status-dot{display:inline-block;width:7px;height:7px;background:#7a9c79;border-radius:50%;margin-right:9px;vertical-align:1px}.hero h1{font-size:clamp(48px,6.7vw,88px);letter-spacing:-.075em;line-height:.99;margin:0;max-width:650px;font-weight:500}.hero h1 span{font:italic 500 .92em var(--serif);letter-spacing:-.07em}.hero-intro{font-size:16px;color:#66665f;max-width:370px;line-height:1.65;margin:29px 0 30px}.text-link{display:inline-flex;gap:14px;align-items:center;text-decoration:none;color:var(--ink);font-size:12px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:8px;transition:color .2s}.hero-art{height:500px;position:relative;overflow:hidden;background:#e4d7c6;display:grid;place-items:center}.art-sun{position:absolute;width:210px;height:210px;border-radius:50%;background:var(--orange);top:58px;right:55px}.art-orbit{position:absolute;border:1px solid rgba(32,33,31,.44);border-radius:50%;width:430px;height:160px;transform:rotate(-34deg)}.orbit-two{width:350px;height:280px;transform:rotate(42deg);border-color:rgba(32,33,31,.24)}.art-letter{position:relative;z-index:1;font-size:148px;letter-spacing:-.14em;font-weight:500;line-height:1}.art-letter span{font:italic 500 137px var(--serif);color:var(--paper);margin-left:-8px}.art-caption{position:absolute;bottom:20px;left:22px;font:9px/1.6 var(--mono);letter-spacing:.09em}.art-spark{position:absolute;right:22px;bottom:22px;font-size:32px;color:var(--orange)}.hero-index{position:absolute;bottom:35px;left:0;right:0;display:flex;align-items:center;gap:13px;color:var(--muted);font:9px var(--mono);letter-spacing:.07em}.index-line{width:44px;height:1px;background:var(--line)}.work-section{padding-top:125px;padding-bottom:140px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2,.about-copy h2,.contact-section h2{font-size:clamp(38px,5.1vw,64px);font-weight:500;letter-spacing:-.065em;line-height:1.05;margin:0}.section-heading h2 em,.about-copy h2 em,.contact-section h2 em{font-family:var(--serif);font-weight:500}.section-note{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 3px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-image{height:300px;position:relative;display:block;overflow:hidden;text-decoration:none;color:var(--ink)}.image-one{background:#d7c5ac}.image-two{background:#b6c6c1}.image-three{background:#d6bdb1}.image-label,.image-arrow{position:absolute;z-index:2;font:9px var(--mono);letter-spacing:.08em}.image-label{top:18px;left:18px}.image-arrow{right:17px;top:15px;font:20px var(--sans);transition:transform .2s}.project-image:hover .image-arrow{transform:translate(3px,-3px)}.image-shape{position:absolute;display:block}.shape-one{width:205px;height:205px;background:#e86843;border-radius:50%;top:50px;left:calc(50% - 90px)}.shape-one:after{content:'';position:absolute;width:100px;height:100px;background:#e4d7c6;right:-38px;bottom:5px;border-radius:50%}.shape-two{width:240px;height:185px;background:#263e3b;border-radius:50% 50% 0 0;bottom:-21px;left:calc(50% - 120px);transform:rotate(-14deg)}.shape-two:after{content:'';position:absolute;border:1px solid #e8e1d3;border-radius:50%;width:205px;height:145px;left:17px;top:20px}.shape-three{width:0;height:0;border-left:130px solid transparent;border-right:130px solid transparent;border-bottom:215px solid #df7254;left:calc(50% - 130px);top:53px;transform:rotate(8deg)}.shape-three:after{content:'';position:absolute;width:130px;height:130px;border-radius:50%;background:#e5d9c8;top:82px;left:-65px}.image-type{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-40%);font:italic 500 34px/1.05 var(--serif);text-align:center;color:#f4f1e9;mix-blend-mode:difference;white-space:nowrap}.project-meta{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.06em;color:var(--muted);margin-top:19px}.project-card h3{font-size:19px;font-weight:500;letter-spacing:-.035em;margin:12px 0 7px}.project-card>p{font-size:12px;line-height:1.7;color:#71716b;margin:0;max-width:310px}.about-section{background:#dce9f5;padding:110px 0 120px}.about-inner{display:grid;grid-template-columns:.75fr 1.4fr .4fr;gap:35px;align-items:start}.about-inner>.eyebrow{margin-top:13px}.about-copy h2{font-size:clamp(40px,5vw,63px)}.about-copy>p{max-width:480px;font-size:14px;line-height:1.8;color:#696a63;margin:27px 0 25px}.about-mark{font-size:24px;letter-spacing:-.1em;font-weight:600;justify-self:end}.contact-section{padding-top:130px;padding-bottom:125px}.contact-section .eyebrow{margin-bottom:20px}.contact-section h2{font-size:clamp(54px,8vw,100px)}.contact-section>p:not(.eyebrow){font-size:14px;line-height:1.7;color:#6d6d66;max-width:370px;margin:25px 0}.contact-placeholder{display:inline-block;margin-top:15px;border:1px dashed #aaa69b;color:#77776f;padding:13px 16px;font:9px var(--mono);letter-spacing:.08em}.site-footer{border-top:1px solid var(--line);min-height:88px;display:flex;align-items:center;justify-content:space-between}.site-footer>span{font:9px var(--mono);color:var(--muted)}.site-footer a:last-child{font-size:10px}
@media(max-width:800px){.page-wrap{width:calc(100% - 48px)}.site-header{height:72px;padding:0 24px}.hero{min-height:auto;padding-top:76px;padding-bottom:88px;grid-template-columns:1fr;gap:46px}.hero-art{height:min(500px,90vw)}.hero-index{bottom:27px}.work-section{padding-top:80px;padding-bottom:90px}.project-grid{grid-template-columns:1fr 1fr;row-gap:38px}.project-image{height:270px}.project-card:last-child{grid-column:1/-1}.project-card:last-child .project-image{height:330px}.about-section{padding:80px 0}.about-inner{grid-template-columns:1fr 2fr;gap:14px}.about-mark{display:none}.contact-section{padding:90px 0}.section-note{font-size:11px}}
@media(max-width:560px){.page-wrap{width:calc(100% - 40px)}.site-header{padding:0 20px}nav{gap:18px}nav a{font-size:11px}.nav-contact{padding:9px 12px}.hero{padding-top:61px;gap:35px}.hero h1{font-size:clamp(47px,12vw,66px)}.hero-intro{font-size:14px;max-width:320px}.hero-art{height:390px}.art-sun{width:155px;height:155px;right:26px;top:42px}.art-letter{font-size:118px}.art-letter span{font-size:110px}.hero-index{font-size:8px;gap:8px}.index-line{width:24px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:42px}.section-note{margin-top:16px}.project-grid{grid-template-columns:1fr;gap:36px}.project-card:last-child{grid-column:auto}.project-image,.project-card:last-child .project-image{height:300px}.about-inner{display:block}.about-inner>.eyebrow{margin-bottom:25px}.about-copy h2{font-size:43px}.about-copy>p{font-size:13px}.contact-section h2{font-size:64px}.site-footer{min-height:76px}.site-footer .wordmark{font-size:21px}.site-footer>span{font-size:8px}.site-footer a:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.language-switch{display:flex;align-items:center;gap:7px;margin-left:27px}.language-option{width:32px;height:24px;padding:3px;display:grid;place-items:center;border:1px solid transparent;border-radius:3px;opacity:.56;transition:opacity .2s,border-color .2s}.language-option:hover,.language-option.is-current{opacity:1}.language-option.is-current{border-color:var(--ink)}.flag{display:block;width:24px;height:15px;box-shadow:0 0 0 1px rgba(32,33,31,.08)}.contact-link,.contact-phone{display:block;width:max-content;text-decoration:none;color:var(--ink);font-size:14px;margin-top:15px}.contact-link{font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:7px}.contact-phone{font-size:12px;color:var(--muted)}.contact-link:hover,.contact-phone:hover{color:var(--orange)}@media(max-width:800px){.language-switch{margin-left:15px;gap:3px}.language-option{width:27px;height:23px;padding:3px}}@media(max-width:560px){.language-switch{margin-left:8px}.language-option{width:23px;height:20px;padding:2px}.flag{width:19px;height:12px}.site-header{gap:8px}nav{gap:12px}}

.hero-art{margin:0;isolation:isolate;background:#e5e3df}.portrait-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%}.portrait-credit{position:absolute;right:13px;bottom:13px;padding:7px 10px;background:rgba(232,241,251,.92);color:var(--ink);font:9px var(--mono);letter-spacing:.04em}

:root{--serif:var(--sans);--mono:var(--sans)}*{font-family:var(--sans)!important}h1,h2,h3,h1 *,h2 *,h3 *{font-weight:700!important}


.image-one{background:#fff}.image-one .poster-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#fff}.image-one .image-arrow{top:auto;bottom:14px;display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;background:rgba(232,241,251,.92)}

.image-two{background:#202638}.image-two .case-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:15% center}.image-two .image-arrow{top:auto;bottom:14px;display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;background:rgba(232,241,251,.92)}

.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin:30px 0 34px}.form-field{display:grid;gap:8px}.form-field-full{grid-column:1/-1}.contact-form label{font-size:11px;color:var(--muted)}.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid #c8d4df;border-radius:2px;background:rgba(255,255,255,.72);color:var(--ink);font:inherit;font-weight:400}.contact-form textarea{resize:vertical;min-height:135px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #7393b5;outline-offset:2px}.submit-button{justify-self:start;border:0;background:var(--ink);color:var(--paper);padding:13px 18px;cursor:pointer;font:inherit;font-weight:700}.submit-button span{margin-left:12px}.submit-button:hover{background:#405a72}.form-note{align-self:center;margin:0;color:var(--muted);font-size:10px;line-height:1.5}@media(max-width:560px){.contact-form{grid-template-columns:1fr;gap:14px}.form-field-full{grid-column:auto}.form-note{margin-top:-3px}}

.site-footer{min-height:104px;gap:22px}.footer-details{display:grid;gap:6px;margin:0;color:var(--muted);font:10px/1.5 var(--sans);font-style:normal}.footer-details span:last-child{display:flex;gap:16px}.footer-details a,.footer-meta a{color:var(--ink);text-decoration:none}.footer-details a:hover,.footer-meta a:hover{color:var(--orange)}.footer-meta{display:grid;gap:7px;justify-items:end}.footer-meta>span{font:9px var(--sans);color:var(--muted)}.footer-meta>a{font-size:10px}@media(max-width:560px){.site-footer{display:grid;grid-template-columns:auto 1fr;gap:16px;padding-block:18px}.footer-details{grid-column:1/-1;grid-row:2;gap:8px}.footer-details span:last-child{flex-wrap:wrap;gap:8px 16px}.footer-meta{grid-column:2;grid-row:1;align-self:center}}

.image-three{background:#e94ca5}.image-three .case-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.image-three .image-arrow{top:auto;bottom:14px;display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;background:rgba(232,241,251,.92)}

.site-header>.wordmark{font-size:14px;letter-spacing:.08em;white-space:nowrap}@media(max-width:560px){.site-header>.wordmark{font-size:11px;letter-spacing:.035em}}

/* Small-screen layout with iOS safe-area support. */
@media (max-width: 560px) {
  .page-wrap {
    width: auto;
    margin-left: max(20px, env(safe-area-inset-left));
    margin-right: max(20px, env(safe-area-inset-right));
  }

  .site-header {
    height: auto;
    min-height: 64px;
    padding: 10px max(20px, env(safe-area-inset-right)) 10px max(20px, env(safe-area-inset-left));
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 8px;
  }

  .site-header > .wordmark {
    grid-column: 1;
    grid-row: 1;
    font-size: clamp(9px, 3vw, 11px);
    letter-spacing: .025em;
  }

  .site-header > nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    justify-content: space-between;
    gap: 6px;
  }

  .site-header > nav a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
  }

  .site-header > .language-switch {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin: 0;
  }

  .site-header .language-option {
    width: 32px;
    height: 32px;
  }
}

/* The stage portrait is the hero image; copy overlaps its darker left edge. */
@media (min-width: 801px) {
  .hero {
    min-height: 760px;
    grid-template-columns: 1fr .9fr;
    column-gap: 0;
  }

  .hero-copy {
    position: relative;
    z-index: 2;
    margin-right: -110px;
    padding: 22px 110px 22px 0;
    background: linear-gradient(90deg, var(--paper) 0%, var(--paper) 58%, rgba(232, 241, 251, .92) 80%, rgba(232, 241, 251, 0) 100%);
  }

  .hero-art {
    height: min(760px, 68vw);
  }
}

.portrait-image {
  object-position: 50% 50%;
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
  gap: clamp(26px, 5vw, 72px);
  align-items: start;
  margin-top: 28px;
}

.contact-form-column {
  min-width: 0;
}

.contact-portrait {
  margin: 30px 0 0;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #dce9f5;
}

.contact-portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 22%;
}

.contact-portrait figcaption {
  padding-top: 8px;
  color: var(--muted);
  font: 10px var(--sans);
}

@media (max-width: 800px) {
  .hero-copy {
    margin-right: 0;
    padding: 0;
    background: none;
  }

  .hero-art {
    height: auto;
    aspect-ratio: 3 / 4;
  }

  .contact-layout {
    grid-template-columns: minmax(0, 1fr) minmax(210px, .7fr);
    gap: 24px;
  }
}

@media (max-width: 560px) {
  .contact-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .contact-portrait {
    width: min(100%, 390px);
    margin-top: 4px;
  }
}

.contact-portrait {
  position: relative;
}

.contact-portrait figcaption {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 6px 9px;
  background: rgba(232, 241, 251, .92);
}

.contact-portrait {
  width: min(100%, 280px);
  justify-self: end;
}

@media (max-width: 560px) {
  .contact-portrait {
    justify-self: center;
  }
}

/* Full-width photo banner with copy layered over the image. */
.hero.page-wrap {
  width: 100%;
  max-width: none;
  min-height: 0;
  height: clamp(500px, 52vw, 700px);
  margin: 0;
  padding: 0 max(20px, calc((100vw - 1160px) / 2));
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #17171a;
}

.hero-art {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-art::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 12, 17, .72) 0%, rgba(10, 12, 17, .48) 38%, rgba(10, 12, 17, .08) 78%), linear-gradient(0deg, rgba(10, 12, 17, .58) 0%, transparent 52%);
  pointer-events: none;
}

.portrait-image {
  object-position: 50% 0%;
}

.hero-copy {
  position: relative;
  z-index: 2;
  width: min(100%, 650px);
  max-width: 650px;
  margin: 0;
  padding: 24px 0;
  color: #fff;
}

.hero-copy h1,
.hero-copy h1 span {
  color: #fff;
}

.hero-copy .hero-intro {
  color: rgba(255, 255, 255, .9);
}

.hero-copy .text-link {
  color: #fff;
  border-color: rgba(255, 255, 255, .85);
}

.hero-index {
  z-index: 2;
  left: max(20px, calc((100vw - 1160px) / 2));
  right: max(20px, calc((100vw - 1160px) / 2));
  color: rgba(255, 255, 255, .85);
}

.hero-index .index-line {
  background: rgba(255, 255, 255, .58);
}

@media (max-width: 800px) {
  .hero.page-wrap {
    height: clamp(540px, 82vw, 680px);
    padding: 0 24px;
    align-items: flex-end;
  }

  .hero-copy {
    max-width: 620px;
    padding: 24px 0 92px;
  }

  .hero-index {
    left: 24px;
    right: 24px;
    bottom: 22px;
  }
}

@media (max-width: 560px) {
  .hero.page-wrap {
    height: clamp(500px, 145vw, 640px);
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }

  .hero-copy {
    padding-bottom: 88px;
  }

  .hero-index {
    left: max(20px, env(safe-area-inset-left));
    right: max(20px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

.hero-copy {
  background: none;
}

.about-section {
  background-color: #dce9f5;
  background-image: linear-gradient(rgba(220, 233, 245, .58), rgba(220, 233, 245, .7)), url("assets/teaterscene-lidt-om-mig.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

