
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Bold.ttf');font-weight:700;font-display:swap}@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Black.ttf');font-weight:900;font-display:swap}@font-face{font-family:Familjen;src:url('../fonts/FamiljenGrotesk-Regular.ttf');font-weight:400;font-display:swap}@font-face{font-family:Familjen;src:url('../fonts/FamiljenGrotesk-Bold.ttf');font-weight:700;font-display:swap}
:root{--coral:#f05a28;--ink:#111;--cream:#f3ebdd;--warm:#d8d3cb;--white:#fff;--edge:clamp(22px,5vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.5 Familjen,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Montserrat,Arial,sans-serif;font-weight:900;letter-spacing:-.045em;line-height:1.06}h2{font-size:clamp(36px,4.5vw,70px);margin-bottom:28px}h3{font-size:clamp(23px,2.25vw,34px);margin-bottom:12px}p{margin-bottom:22px}a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--coral);outline-offset:5px}a,button,summary{-webkit-tap-highlight-color:transparent}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.08em;font-weight:700;line-height:1.5;margin-bottom:22px}.section{padding:100px var(--edge)}.skip{position:fixed;top:10px;left:10px;padding:15px;background:white;z-index:100;transform:translateY(-160%)}.skip:focus{transform:none}.brand-header{height:100px;padding:16px var(--edge);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #1113;background:var(--cream)}.brand-logo img{width:130px;height:64px;object-fit:contain}.brand-logo>span{font:900 22px Montserrat;letter-spacing:.03em}.brand-header nav{display:flex;gap:26px;font-size:14px;font-weight:700}.brand-header nav a:hover,.brand-switch:hover{text-decoration:underline;text-underline-offset:6px}.brand-switch{font-size:14px}.brand-switch span{margin-left:15px}.mobile-menu{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:52px;background:var(--coral);color:var(--ink);border:1px solid var(--ink);padding:15px 22px;font-size:16px;font-weight:700;transition:background .2s,color .2s}.button:hover{background:var(--ink);color:var(--cream)}.button span{font-size:24px;line-height:1}.line-link{display:inline-block;font-weight:700;border-bottom:1px solid;padding-bottom:6px;font-size:16px}.the-hero{padding:24px var(--edge) 0;background:var(--cream)}.hero-overline,.hero-baseline{display:flex;justify-content:space-between;gap:20px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.the-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:5vw;align-items:center;padding:62px 0}.the-hero-copy{position:relative;z-index:2}.the-hero h1{font-size:clamp(40px,6.1vw,98px);line-height:1.02;letter-spacing:-.052em;margin-bottom:28px}.the-hero h1>span{color:var(--coral)}.the-hero-copy>p:not(.eyebrow){max-width:520px;font-size:20px;line-height:1.45}.the-hero-image{position:relative;padding:0 0 25px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}.the-hero-image>img{height:480px;width:100%;object-fit:cover;filter:grayscale(1);object-position:45% center;clip-path:polygon(0 0,100% 0,100% 96%,86% 99%,70% 96%,53% 100%,30% 96%,12% 98%,0 95%)}.image-caption{display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;padding:18px 0}.image-caption img{width:55px;height:38px;object-fit:contain}.ticket-stamp{position:absolute;right:-12px;bottom:75px;background:var(--coral);padding:22px;transform:rotate(6deg);font-size:12px;line-height:1.3;letter-spacing:.03em;box-shadow:5px 5px 0 var(--ink)}.ticket-stamp strong{display:block;font:900 25px/1.05 Montserrat;letter-spacing:-.03em;margin-top:8px}.hero-baseline{border-top:1px dashed #1118;padding:20px 0}.hero-baseline a{white-space:nowrap}.services-section{display:grid;grid-template-columns:1fr 1.25fr;gap:9vw;background:white}.section-intro>p:not(.eyebrow){max-width:390px}.service-list article{display:grid;grid-template-columns:42px 1fr;gap:15px;border-top:1px solid var(--ink);padding:27px 0}.service-list article:last-child{border-bottom:1px solid var(--ink)}.index{font:700 13px/1.5 Familjen;padding-top:6px}.service-list h3{font-size:clamp(24px,2vw,31px)}.service-list p{font-size:17px;line-height:1.5;margin:0;max-width:570px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:360px;font-size:20px;line-height:1.4;margin-bottom:0}.projects-section{background:var(--ink);color:var(--cream)}.projects-section .eyebrow{color:var(--coral)}.project-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:5vw;align-items:center}.project-feature figure img{width:100%;height:430px;object-fit:cover}.project-feature figcaption{font-size:12px;padding-top:12px;opacity:.7}.project-feature-copy h3{font-size:clamp(35px,4vw,60px);margin:20px 0}.project-feature-copy>p{max-width:390px}.project-index{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid #f3ebdd66;margin-top:65px;padding-top:28px}.project-index .index{display:block;color:var(--coral);margin-bottom:22px}.project-index h3{font-size:25px}.project-index p{font-size:16px;opacity:.8;margin-bottom:0}.news-section{background:var(--cream)}.event-ticket{display:grid;grid-template-columns:.7fr 1.8fr .55fr;background:var(--coral);position:relative;margin-top:55px}.ticket-date{padding:40px 28px;display:flex;flex-direction:column;justify-content:center;gap:20px;border-right:2px dashed #1118;position:relative}.ticket-date:before,.ticket-date:after{content:'';position:absolute;width:24px;height:24px;border-radius:50%;background:var(--cream);right:-13px;top:-12px}.ticket-date:after{top:auto;bottom:-12px}.ticket-date>span{font-size:12px;letter-spacing:.06em;font-weight:700}.ticket-date>strong{font:900 clamp(46px,5vw,78px)/1 Montserrat;letter-spacing:-.06em}.ticket-date strong span{font-size:.4em;letter-spacing:-.03em}.ticket-copy{padding:45px}.ticket-copy h3{font-size:clamp(34px,4vw,62px)}.ticket-copy>p:last-child{max-width:490px;margin:0;font-size:17px}.ticket-action{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-left:1px solid #1115;padding:18px;font-size:16px;font-weight:700}.ticket-action span{font-size:42px}.ticket-action:hover{background:#111;color:var(--cream)}.ticket-shop{display:grid;grid-template-columns:1fr 1.5fr;gap:14px 40px;padding:38px 0;border-bottom:1px solid;margin-top:35px}.ticket-shop .eyebrow{grid-column:1/-1;margin:0}.ticket-shop h3{font-size:31px}.ticket-shop p{font-size:17px;margin:0}.availability{font-size:14px;padding:7px 12px;border:1px solid;justify-self:start}.roots-strip{display:flex;align-items:center;gap:30px;justify-content:space-between;background:var(--warm);padding:28px var(--edge)}.roots-strip>img{width:60px;height:45px;object-fit:contain}.roots-strip p{font-weight:700;font-size:24px;margin:0}.roots-strip a{font-size:16px;font-weight:700;border-bottom:1px solid}.contact-section{display:grid;grid-template-columns:1fr 1.25fr;gap:9vw;background:var(--cream)}.contact-section>div>p:not(.eyebrow){font-size:22px;max-width:350px}.location-line{display:block;font-size:14px;margin-top:35px}.contact-section form{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-section label{font-size:14px;font-weight:700}.contact-section input,.contact-section select,.contact-section textarea{font-size:16px;display:block;width:100%;min-width:0;margin-top:9px;padding:14px 10px;border:1px solid #1118;border-radius:0;background:transparent;color:var(--ink)}.contact-section textarea{resize:vertical}.full,.form-note,.form-result{grid-column:1/-1}.form-note{font-size:14px;border-left:2px solid;padding-left:12px;margin:0}.form-result{font-size:16px;margin:0;padding:16px;background:white}.brand-footer{background:var(--ink);color:var(--cream);padding:60px var(--edge) 25px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.brand-footer strong{font:900 22px Montserrat}.brand-footer p{font-size:16px;margin:20px 0 0}.footer-links{display:flex;flex-direction:column;gap:12px}.brand-footer a,.brand-footer summary{font-size:14px}.brand-footer a:hover{text-decoration:underline}.brand-footer small{font-size:12px;grid-column:1/-1;border-top:1px solid #fff4;padding-top:20px}.legal-note{margin-top:20px;max-width:280px}.legal-note summary{cursor:pointer}.legal-note p{font-size:14px}.hafen-page{--coral:#26363d}.hafen-hero{background:#182126;color:var(--cream);display:grid;grid-template-columns:1fr 1.1fr;gap:6vw;align-items:center}.hafen-hero h1{font-size:clamp(43px,5.8vw,90px)}.hafen-hero>div>p:not(.eyebrow){font-size:22px;line-height:1.45;max-width:430px}.hafen-hero figure img{height:480px;width:100%;object-fit:cover;object-position:62% center;filter:saturate(.7)}.hafen-hero figcaption{font-size:12px;letter-spacing:.04em;text-transform:uppercase;border-top:1px solid #f3ebdd77;margin-top:18px;padding-top:14px}.about-section{display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw}.about-section h2{max-width:600px}.large-copy{font-size:clamp(22px,2.2vw,32px);line-height:1.4;letter-spacing:-.02em}.about-section>div>p:last-child{max-width:700px}.history-section{background:var(--warm)}.history-layout{display:grid;grid-template-columns:1.3fr .9fr;gap:8vw;align-items:start}.history-timeline article{display:grid;grid-template-columns:90px 1fr;gap:25px;border-top:1px solid #1116;padding:30px 0}.history-timeline article>span{font-size:12px;font-weight:700;padding-top:5px}.history-timeline h3{font-size:26px}.history-timeline p{font-size:17px;margin:0}.history-photo{background:var(--cream);padding:12px 12px 24px;transform:rotate(2deg)}.history-photo img{height:370px;width:100%;object-fit:cover;object-position:75% center}.history-photo figcaption{font-size:20px;font-weight:700;padding:20px 12px 0}.history-photo figcaption span{font-weight:400;font-size:12px}.managed-events{background:#182126;color:var(--cream)}.managed-list{margin:40px 0}.managed-list article{display:grid;grid-template-columns:50px 1fr 1fr;gap:25px;padding:30px 0;border-top:1px solid #fff5}.managed-list article:last-child{border-bottom:1px solid #fff5}.managed-list h3{font-size:27px}.managed-list p{font-size:17px;margin:0}.hafen-page .button{background:#182126;color:var(--cream)}.hafen-page .button:hover{background:#394b53}.hafen-page :focus-visible{outline-color:#9b4c29}
@media(min-width:1800px){.section,.the-hero,.brand-header,.roots-strip,.brand-footer{padding-left:max(var(--edge),calc((100vw - 1640px)/2));padding-right:max(var(--edge),calc((100vw - 1640px)/2))}}@media(max-width:1100px){.brand-header nav{gap:18px}.brand-switch{display:none}.the-hero-grid{gap:30px}.the-hero h1{font-size:5.8vw}.the-hero-image>img{height:420px}.ticket-copy{padding:30px}.services-section,.contact-section{gap:5vw}.hafen-hero{gap:35px}.history-layout{gap:40px}.project-feature figure img{height:370px}}@media(max-width:800px){.brand-header{height:82px}.brand-header>nav{display:none}.brand-logo img{width:110px;height:53px}.brand-logo>span{font-size:20px}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;font-size:16px;padding:10px}.mobile-menu nav{position:absolute;z-index:30;right:0;top:48px;background:var(--cream);color:var(--ink);width:240px;border:1px solid;padding:24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 12px 22px #1112}.section{padding-top:70px;padding-bottom:70px}.the-hero-grid{grid-template-columns:1fr;padding-top:45px;padding-bottom:25px}.the-hero h1{font-size:clamp(38px,10.5vw,76px)}.the-hero-image{margin-top:20px}.the-hero-image>img{height:440px}.the-hero-copy>p:not(.eyebrow){max-width:590px}.hero-overline>span:last-child{display:none}.hero-baseline{font-size:12px}.hero-baseline>span{max-width:70%}.services-section,.contact-section{grid-template-columns:1fr;gap:45px}.section-intro>p:not(.eyebrow){max-width:550px}.section-heading{display:block}.section-heading>p{margin-top:24px}.project-feature{grid-template-columns:1fr;gap:30px}.project-feature-copy h3 br{display:none}.project-feature-copy h3{max-width:550px}.project-index{grid-template-columns:1fr;gap:30px;margin-top:40px}.project-index article{display:grid;grid-template-columns:30px 1fr;gap:0 15px}.project-index .index{grid-row:1/3}.project-index p{grid-column:2}.event-ticket{grid-template-columns:.65fr 1.35fr}.ticket-action{grid-column:1/-1;flex-direction:row;gap:25px;border-left:0;border-top:1px solid;padding:14px}.ticket-action br{display:none}.ticket-action span{font-size:26px}.ticket-date{padding:26px 16px}.ticket-date>strong{font-size:50px}.ticket-copy{padding:28px 22px}.ticket-copy h3{font-size:32px}.ticket-shop{grid-template-columns:1fr;gap:15px}.ticket-shop h3{margin:0}.ticket-shop .availability{margin-top:10px}.roots-strip{flex-wrap:wrap;gap:20px}.roots-strip p{font-size:20px;flex:1}.roots-strip a{margin-left:80px}.brand-footer{grid-template-columns:1fr 1fr}.brand-footer>div:first-child{grid-column:1/-1}.hafen-hero{grid-template-columns:1fr;gap:45px}.hafen-hero h1{font-size:clamp(42px,9vw,70px)}.hafen-hero figure img{height:390px}.about-section{grid-template-columns:1fr;gap:25px}.about-section>.eyebrow{margin-bottom:0}.history-layout{grid-template-columns:1fr;gap:35px}.history-photo{max-width:560px}.managed-list article{grid-template-columns:28px 1fr;gap:8px 16px}.managed-list p{grid-column:2}}@media(max-width:440px){.the-hero h1{font-size:10.2vw}.the-hero-copy>p:not(.eyebrow){font-size:18px}.the-hero-image>img{height:330px}.ticket-stamp{right:0;bottom:85px;padding:16px}.ticket-stamp strong{font-size:22px}.hero-baseline>span{max-width:62%}.section h2{font-size:36px}.service-list article{grid-template-columns:25px 1fr;gap:10px}.service-list h3{font-size:24px}.event-ticket{grid-template-columns:1fr}.ticket-date{border-right:0;border-bottom:2px dashed #1118;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.ticket-date>span{font-size:12px}.ticket-date>strong{font-size:43px}.ticket-date:before,.ticket-date:after{top:auto;bottom:-13px;right:-12px}.ticket-date:before{right:auto;left:-12px}.ticket-copy{padding:28px 24px}.contact-section form{grid-template-columns:1fr}.contact-section label{grid-column:1}.history-timeline article{grid-template-columns:1fr;gap:12px}.hafen-hero figure img{height:320px}.history-photo img{height:280px}.brand-footer{grid-template-columns:1fr}.brand-footer>div:first-child{grid-column:auto}.project-feature figure img{height:280px}.roots-strip>img{width:45px}.roots-strip a{margin-left:65px}.managed-list h3{font-size:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}} 

.brand-logo img.festival-header-logo{width:180px;height:64px;object-fit:contain;filter:brightness(0)}
@media(max-width:800px){.brand-logo img.festival-header-logo{width:155px;height:53px}}

/* Tönnhafen retains its classic blue identity independently of Events. */
.hafen-page { --brand-blue: #2156a2; --coral: #2156a2; }
.hafen-page .brand-header,
.hafen-page .hafen-hero,
.hafen-page .managed-events,
.hafen-page .brand-footer {
  background: var(--brand-blue);
  color: #fff;
}
.hafen-page .brand-header { border-bottom-color: #ffffff40; }
.hafen-page .brand-logo img.festival-header-logo { filter: none; }
.hafen-page .hafen-hero figcaption { border-top-color: #ffffff70; }
.hafen-page .about-section { background: #fff; }
.hafen-page .history-section { background: #edf2f9; }
.hafen-page .contact-section { background: #f6f8fc; }
.hafen-page .about-section h2,
.hafen-page .history-section h2,
.hafen-page .history-section h3,
.hafen-page .services-section h2,
.hafen-page .services-section h3,
.hafen-page .contact-section h2 { color: var(--brand-blue); }
.hafen-page .history-timeline article { border-top-color: #2156a240; }
.hafen-page .history-timeline article > span,
.hafen-page .service-list .index,
.hafen-page .services-section .line-link { color: var(--brand-blue); }
.hafen-page .history-photo { background: #fff; }
.hafen-page .service-list article { border-color: #2156a260; }
.hafen-page .button { background: var(--brand-blue); color: #fff; border-color: var(--brand-blue); }
.hafen-page .button:hover { background: #194582; }
.hafen-page :focus-visible { outline-color: var(--brand-blue); }
.hafen-page .brand-header :focus-visible,
.hafen-page .hafen-hero :focus-visible,
.hafen-page .managed-events :focus-visible,
.hafen-page .brand-footer :focus-visible { outline-color: #fff; }
.hafen-page .mobile-menu nav { background: #fff; color: var(--brand-blue); }
.hafen-page .mobile-menu nav :focus-visible { outline-color: var(--brand-blue); }

/* Footer identity follows the active department. */
.brand-footer .footer-logo { width: min(190px, 100%); height: 64px; object-fit: contain; object-position: left center; }
.brand-footer .footer-logo-events { filter: brightness(0) invert(1); }

.gateway {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(36px, 5vw, 64px);
  padding: clamp(40px, 7vw, 100px) clamp(24px, 5vw, 80px);
  background: #f3ebdd;
}
.gateway-intro {
  max-width: 610px;
  text-align: center;
}
.gateway-intro h1 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 900;
  letter-spacing: -.045em;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.15;
  margin: 0 0 18px;
}
.gateway-intro p {
  max-width: 565px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.55;
  color: #47433e;
}
.gateway-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: min(100%, 900px);
}
.gateway-choice {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  padding: 48px 38px;
  background: transparent;
  border: 0;
  border-radius: 0;
  --scrap-angle: -2deg;
  transform: rotate(var(--scrap-angle));
  filter: drop-shadow(0 4px 3px #4b3f2b16);
  transition: transform .2s ease, filter .2s ease;
}
.gateway-choice-festival { --scrap-angle: 1.5deg; }
.gateway-choice::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 10px 0;
  background: url('../images/paper-scrap-coral-textured.png') center / 100% 100% no-repeat;
}
.gateway-choice-festival::before {
  background-image: url('../images/paper-scrap-blue-textured.png');
}
.gateway-choice:hover,
.gateway-choice:focus-visible {
  transform: rotate(0deg) translateY(-3px);
  filter: drop-shadow(0 7px 4px #4b3f2b20);
}
.gateway-choice:focus-visible { outline: 3px solid #111; outline-offset: 6px; }
.gateway-choice img { height: auto; object-fit: contain; }
.gateway-events-logo { width: 220px; }
.gateway-festival-logo {
  display: block;
  width: 325px;
  max-width: 100%;
  aspect-ratio: 600 / 151;
  background: #fff;
  mask: url('../images/festival-logo.png') center / contain no-repeat;
  -webkit-mask: url('../images/festival-logo.png') center / contain no-repeat;
}
@media (max-width: 650px) {
  .gateway { gap: 26px; }
  .gateway-intro p { font-size: 17px; }
  .gateway-choices { grid-template-columns: minmax(0, 1fr); max-width: 430px; gap: 20px; }
  .gateway-choice { min-height: 205px; padding: 34px; }
  .gateway-events-logo { width: 190px; }
  .gateway-festival-logo { width: 295px; }
}
@media (prefers-reduced-motion: reduce) {
  .gateway-choice { transition: none; transform: none; }
  .gateway-choice:hover, .gateway-choice:focus-visible { transform: none; }
}

/* Collage elements reuse the original CI dots and scanned paper edges. */
.refreshed-page{overflow-x:clip}
.refreshed-page .section{padding-top:78px;padding-bottom:78px}
.refreshed-page .section-heading{gap:36px;align-items:end;margin-bottom:38px}
.refreshed-page .section-heading h2{margin-bottom:0;font-size:clamp(36px,4.4vw,64px)}
.refreshed-page .section-heading>p{max-width:360px;margin:0}
.raster-scrap{position:absolute;display:block;pointer-events:none;background:#f3ebdd url('../images/ci-dot-raster.svg') center/cover;mask:url('../images/paper-scrap-coral-textured.png') center/100% 100% no-repeat;-webkit-mask:url('../images/paper-scrap-coral-textured.png') center/100% 100% no-repeat}
.events-intro,.company-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:7vw;background:var(--cream)}
.refreshed-page .events-intro{padding-top:48px;padding-bottom:55px}
.intro-copy h1{font-size:clamp(43px,5.4vw,78px);line-height:1.01;margin-bottom:26px}
.intro-copy h1 span{color:var(--coral)}
.intro-copy>p:not(.eyebrow){max-width:590px;font-size:20px;line-height:1.5;margin-bottom:20px}
.intro-copy>p.brand-context{font-size:15px;color:#555047;max-width:555px}
.brand-context a{text-decoration:underline;text-underline-offset:3px}
.intro-copy .line-link{margin-top:6px}
.intro-collage{position:relative;isolation:isolate;min-width:0;padding:25px 6px 35px}
.intro-collage .raster-scrap{z-index:-1;width:75%;height:100%;top:3%;right:-9%;transform:rotate(11deg)}
.collage-photo{width:100%;height:350px;object-fit:cover;filter:grayscale(1);clip-path:polygon(0 2%,90% 0,94% 5%,93% 9%,99% 8%,100% 88%,97% 91%,99% 97%,81% 99%,59% 97%,36% 100%,2% 96%,0 69%)}
.paper-label{position:absolute;bottom:-5px;left:-18px;padding:28px 45px;min-width:240px;background:url('../images/paper-scrap-coral-textured.png') center/100% 100% no-repeat;font:900 23px/1.1 Montserrat,sans-serif;letter-spacing:-.045em;transform:rotate(-6deg)}
.next-events{background:#fff}
.scrap-underline{position:relative;display:inline-block;isolation:isolate}
.scrap-underline:after{content:"";position:absolute;z-index:-1;left:-3%;right:-3%;bottom:-7px;height:25px;background:url('../images/paper-scrap-coral-textured.png') center/100% 100%;transform:rotate(-2deg)}
.upcoming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.upcoming-card{background:var(--cream);min-width:0}
.upcoming-art{height:242px;position:relative;isolation:isolate;overflow:hidden;background:#111}
.upcoming-art .raster-scrap{width:77%;height:135%;right:-10%;top:-15%;transform:rotate(24deg)}
.upcoming-paper{position:absolute;inset:-6px 24px -3px 12px;transform:rotate(-3deg);background:url('../images/paper-scrap-coral-textured.png') center/100% 100% no-repeat;padding:32px 40px;display:flex;flex-direction:column;justify-content:center}
.upcoming-paper>span{font-size:11px;letter-spacing:.1em;font-weight:700}
.upcoming-paper strong{font:900 clamp(40px,4.2vw,61px)/.87 Montserrat,sans-serif;letter-spacing:-.045em;margin-top:12px}
.upcoming-paper img{position:absolute;right:40px;bottom:42px;width:70px;transform:rotate(-8deg)}
.afterwork-card .upcoming-paper{background-image:url('../images/paper-scrap-cream.png');transform:rotate(3deg)}
.afterwork-card .upcoming-art .raster-scrap{right:18%;transform:rotate(-18deg)}
.upcoming-copy{padding:28px 30px}
.upcoming-copy h3{font-size:clamp(25px,2.6vw,37px);line-height:1.06;margin-bottom:18px}
.upcoming-copy>p:not(.eyebrow){font-size:17px;max-width:420px}
.event-status{display:flex;align-items:center;gap:9px;padding-top:18px;border-top:1px solid #1113;margin-bottom:0!important;font-size:13px!important}
.event-status span{width:7px;height:7px;border-radius:50%;background:var(--coral);flex-shrink:0}
.instagram-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#111;color:var(--cream);align-items:center}
.instagram-copy h2{font-size:clamp(36px,4.4vw,65px)}
.instagram-copy h2 span{color:#f05a28}
.instagram-copy p:not(.eyebrow){max-width:380px}
.instagram-handle{font-weight:700;border-bottom:1px solid #f3ebdd80;padding:0 0 8px;display:inline-block;overflow-wrap:anywhere}
.instagram-handle span{margin-left:12px}
.instagram-waves{width:115px;margin-top:48px;filter:invert(1)}
.instagram-frame{position:relative;isolation:isolate;max-width:540px;width:100%;justify-self:center}
.instagram-frame .raster-scrap{z-index:-1;inset:-22px -20px 45px;transform:rotate(5deg)}
.instagram-frame iframe{width:100%;height:535px;display:block;border:0;background:white;border-radius:3px}
.instagram-frame>p{font-size:12px;line-height:1.5;color:#cbc5bb;margin:22px 0 0}
.instagram-frame>p a{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.instagram-section :focus-visible{outline-color:#f05a28}
.compact-services{background:var(--cream)}
.compact-service-list{border-top:1px solid #1115}
.compact-service-list article{display:grid;grid-template-columns:35px 1fr 1.45fr;gap:24px;align-items:baseline;border-bottom:1px solid #1115;padding:23px 0}
.compact-service-list .index{font-size:12px}
.compact-service-list h3{font-size:clamp(21px,2.1vw,29px);margin:0}
.compact-service-list p{font-size:16px;line-height:1.5;margin:0;max-width:580px}
.refreshed-page .contact-section{background:#fff;position:relative}
.contact-copy{position:relative;isolation:isolate}
.contact-copy .raster-scrap{width:245px;height:125px;left:-60px;bottom:-25px;transform:rotate(-11deg);z-index:-1;opacity:.65}
.contact-email{font-size:clamp(19px,2vw,28px);font-weight:700;display:inline-block;letter-spacing:-.03em;margin:10px 0 25px;overflow-wrap:anywhere}
.contact-email span{margin-left:10px}
.refreshed-page .location-line{display:block;font-size:13px;max-width:330px}
.refreshed-page .form-note{border:0;padding:0;font-size:12px;line-height:1.5;color:#625d55}
.refreshed-page .contact-section form{background:var(--cream);padding:32px;gap:20px;position:relative}
.refreshed-page .contact-section form:before{content:"";position:absolute;inset:-12px 0 auto;height:18px;background:var(--cream);clip-path:polygon(0 75%,6% 38%,11% 55%,19% 17%,27% 48%,34% 25%,43% 63%,49% 28%,55% 46%,61% 6%,68% 34%,74% 14%,82% 51%,89% 25%,94% 57%,100% 10%,100% 100%,0 100%)}
.refreshed-page .form-result{background:white}
.company-intro{background:#2156a2;color:white}
.refreshed-page .company-intro{padding-top:54px;padding-bottom:70px}
.company-intro h1{font-size:clamp(40px,4.8vw,68px)}
.company-intro h1 span{color:#f3ebdd}
.company-intro .collage-photo{height:410px;filter:none}
.company-intro .paper-label{background-image:url('../images/paper-scrap-blue-textured.png');color:#fff}
.company-intro a:focus-visible{outline-color:white}
.hafen-page .compact-services{background:#f6f8fc}
.hafen-page .compact-services h2,.hafen-page .compact-service-list h3{color:#2156a2}
.hafen-page .compact-service-list article{border-color:#2156a240}
.company-history{background:#edf2f9}
.company-history h2,.company-history .history-timeline h3,.archive-heading h3{color:#2156a2}
.company-history .scrap-underline:after{background-image:url('../images/paper-scrap-blue-textured.png');opacity:.24}
.history-lead{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:start;margin:55px 0 68px}
.archive-photo{position:relative;isolation:isolate;margin-top:20px}
.archive-photo .raster-scrap{z-index:-1;inset:-20px 18px -15px -25px;transform:rotate(-7deg)}
.archive-photo figure{background:#fff;padding:13px 13px 20px;transform:rotate(2deg)}
.archive-photo img{width:100%;height:330px;object-fit:cover}
.archive-photo figcaption{font-size:12px;padding:17px 7px 0}
.history-lead .history-timeline article{grid-template-columns:82px 1fr;gap:18px;padding:25px 0}
.history-lead .history-timeline h3{font-size:24px}
.history-lead .history-timeline article>span{font-size:10px}
.archive-heading{border-top:1px solid #2156a250;padding-top:30px;margin-bottom:30px}
.archive-heading h3{font-size:clamp(26px,3vw,40px)}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.archive-card{background:#fff}
.archive-card>img{width:100%;height:200px;object-fit:cover}
.archive-card>div{padding:24px}
.archive-grid h3{font-size:26px;color:#2156a2}
.archive-grid p{font-size:16px}
.archive-caption{font-size:10px;line-height:1.4;display:block;color:#5a6572}
.archive-note{background:#2156a2;color:#fff;padding:30px 24px;clip-path:polygon(2% 0,96% 1%,100% 7%,99% 98%,93% 100%,52% 98%,28% 100%,0 98%,1% 63%,0 22%)}
.archive-note h3{color:#fff}
.archive-note hr{border:0;border-top:1px solid #fff6;margin:28px 0}
.archive-note .eyebrow{font-size:10px;display:block}
.hafen-page.refreshed-page .contact-section{background:#fff}
.hafen-page .contact-email{color:#2156a2}
@media(min-width:1500px){.refreshed-page .section{padding-left:max(80px,calc((100vw - 1380px)/2));padding-right:max(80px,calc((100vw - 1380px)/2))}}
@media(max-width:1000px){
 .events-intro,.company-intro{gap:4vw;grid-template-columns:1.1fr .9fr}
 .intro-copy>p:not(.eyebrow){font-size:18px}
 .intro-copy>p.brand-context{font-size:14px}
 .collage-photo{height:330px}
 .paper-label{min-width:205px;padding:26px 34px;font-size:20px}
 .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .archive-note{grid-column:1/-1}
 .instagram-section{gap:5vw}
 .upcoming-paper{padding-left:28px;padding-right:28px}
 .upcoming-copy{padding:25px}
 .refreshed-page .contact-section form{padding:24px}
}
@media(max-width:760px){
 .refreshed-page .section{padding-top:55px;padding-bottom:55px}
 .events-intro,.company-intro{grid-template-columns:1fr;gap:25px}
 .refreshed-page .events-intro{padding-top:36px;padding-bottom:42px}
 .intro-copy h1{font-size:clamp(43px,9vw,65px)}
 .intro-collage{max-width:570px;width:100%;justify-self:center;margin:0}
 .events-intro .intro-collage{display:none}
 .company-intro .collage-photo{height:310px}
 .company-intro .intro-copy h1{font-size:clamp(40px,8vw,60px)}
 .refreshed-page .section-heading{display:block;margin-bottom:32px}
 .refreshed-page .section-heading>p{margin-top:24px}
 .upcoming-grid{gap:18px}
 .upcoming-art{height:195px}
 .upcoming-paper{inset:0 3px;padding:28px 24px}
 .upcoming-paper strong{font-size:43px}
 .upcoming-paper>span{font-size:9px}
 .upcoming-paper img{width:38px;right:25px;bottom:34px}
 .upcoming-copy{padding:22px 20px}
 .upcoming-copy h3{font-size:25px}
 .upcoming-copy>p:not(.eyebrow){font-size:15px}
 .instagram-section{grid-template-columns:1fr;gap:35px}
 .instagram-copy h2{font-size:44px}
 .instagram-waves{display:none}
 .instagram-frame{max-width:500px}
 .compact-service-list article{grid-template-columns:27px 1fr;gap:9px 15px;padding:23px 0}
 .compact-service-list p{grid-column:2}
 .refreshed-page .contact-section{grid-template-columns:1fr;gap:35px}
 .contact-copy .raster-scrap{left:auto;right:-40px;bottom:-5px;width:130px;height:100px;opacity:.3}
 .history-lead{grid-template-columns:1fr;gap:35px;margin-top:35px}
 .archive-photo{max-width:520px}
 .archive-grid{grid-template-columns:1fr}
 .archive-note{grid-column:auto}
 .archive-card>img{height:260px}
}
@media(max-width:480px){
 .upcoming-grid{grid-template-columns:1fr;gap:28px}
 .upcoming-art{height:205px}
 .upcoming-paper{inset:-10px 25px -5px 12px;padding-left:40px}
 .upcoming-paper strong{font-size:52px}
 .upcoming-paper>span{font-size:10px}
 .upcoming-paper img{width:60px;right:40px}
 .instagram-copy h2{font-size:38px}
 .instagram-frame iframe{height:520px}
 .instagram-frame .raster-scrap{inset:-15px -12px 65px}
 .history-lead .history-timeline article{grid-template-columns:1fr;gap:10px}
 .refreshed-page .contact-section form{padding:24px 18px}
 .refreshed-page .contact-section label{grid-column:1/-1}
 .refreshed-page .contact-section form .button{font-size:15px;gap:15px}
}

body.tonn-design{margin:0;max-width:none}body.tonn-design #wpadminbar{letter-spacing:normal}.tonn-honey{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.tonn-note{padding:16px;background:#edf2f9}.tonn-design .instagram-frame .tonn-instagram-link{display:block;background:#f3ebdd;color:#111;padding:55px 35px;min-height:240px}.tonn-design .gateway{position:relative}.tonn-design .gateway-legal{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:12px}.tonn-design .gateway-legal a{margin:0 10px}.tonn-design button,.tonn-design input,.tonn-design select,.tonn-design textarea{font-family:Familjen,Arial,sans-serif}
