*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --foam:#80dbc8;--white:#e8f5f3;--dark:#010a0c;--line:rgba(128,219,200,0.15);
  --sub-bg:#f2f5f4;--sub-dark:#0d1f1c;--sub-mid:#1a3530;--sub-teal:#0a4a3a;--sub-line:rgba(10,60,48,.13);
}
html,body{width:100%;height:100%;overflow:hidden;background:var(--dark);cursor:none;}@media(hover:none){html,body{cursor:auto;}#cursor{display:none;}}
#cursor{position:fixed;width:8px;height:8px;background:var(--foam);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s,opacity .3s;mix-blend-mode:difference;}
#cursor.hover{width:36px;height:36px;opacity:.35;}
#fluid{position:fixed;inset:0;width:100%;height:100%;z-index:0;image-rendering:auto;}
#vignette{position:fixed;inset:0;z-index:1;background:radial-gradient(ellipse at center,transparent 35%,rgba(1,10,12,.78) 100%);pointer-events:none;}
#scanlines{position:fixed;inset:0;z-index:2;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(0,0,0,.04) 3px,rgba(0,0,0,.04) 4px);pointer-events:none;}

/* ── HEADER ── */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:clamp(18px,2.5vw,32px) clamp(24px,5vw,72px);transition:opacity .3s ease;}header.hidden{opacity:0;pointer-events:none;}
.header-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:clamp(12px,1.8vw,20px);}
.header-line{height:1px;background:var(--line);}
.logo{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:18px;letter-spacing:.05em;color:var(--white);text-transform:lowercase;opacity:0;animation:fadeIn 1s ease forwards .2s;cursor:none;text-decoration:none;}
nav{display:flex;flex-direction:row;align-items:center;gap:clamp(18px,3vw,48px);opacity:0;animation:fadeIn 1s ease forwards .4s;}
nav button{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:clamp(10px,1vw,13px);letter-spacing:.2em;text-transform:uppercase;color:var(--foam);background:none;border:none;cursor:none;padding:3px 0;position:relative;opacity:.6;transition:opacity .3s;}
nav button::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--foam);transition:width .4s cubic-bezier(.16,1,.3,1);}
nav button:hover{opacity:1;}nav button:hover::after{width:100%;}
nav button.active{opacity:1;color:var(--white);}nav button.active::after{width:100%;background:var(--white);}

/* ── PAGES ── */
.page{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(24px,5vw,72px) clamp(24px,4vh,48px);padding-top:clamp(90px,12vh,140px);opacity:0;pointer-events:none;transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1);}
.page.active{opacity:1;pointer-events:all;}
.page-inner{margin-left:clamp(0px,8vw,160px);max-width:760px;}

/* HOME */
#page-home .page-inner{max-width:960px;}
#page-home .hey{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(36px,5.5vw,88px);line-height:1.05;letter-spacing:-.025em;color:var(--white);margin-bottom:0;}
.im-prefix{color:var(--white);font-weight:700;font-family:Helvetica,Arial,sans-serif;font-size:clamp(36px,5.5vw,88px);line-height:1.05;letter-spacing:-.025em;flex-shrink:0;}
.home-im-row{display:flex;align-items:flex-start;gap:0.28em;}
#page-home .cycling-wrap{font-family:Helvetica,Arial,sans-serif;font-weight:300;font-size:clamp(36px,5.5vw,88px);line-height:1.05;letter-spacing:-.025em;color:var(--foam);height:1.05em;overflow:visible;position:relative;flex:1;}
.cycling-word{position:absolute;left:0;top:0;line-height:1.05;opacity:0;filter:blur(10px);transition:opacity .8s ease,filter .8s ease;white-space:nowrap;}@media(max-width:600px){.cycling-word{white-space:normal;word-break:break-word;}#page-home .cycling-wrap{height:auto;min-height:2.2em;}}
.cycling-word.show{opacity:1;filter:blur(0);}
.cycling-word.hide{opacity:0;filter:blur(12px);}

/* ABOUT */
.section-label{font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--foam);opacity:.5;margin-bottom:18px;}
.about-title{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(38px,5.5vw,88px);line-height:.95;letter-spacing:-.025em;color:var(--white);margin-bottom:22px;}
.about-divider{width:clamp(36px,5vw,64px);height:1px;background:var(--foam);opacity:.35;margin-bottom:24px;}
.about-body{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:17px;line-height:1.7;color:var(--white);opacity:.85;max-width:500px;margin-bottom:32px;}
.btn-learn{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--white);background:none;border:1px solid rgba(128,219,200,.3);padding:14px 32px;border-radius:999px;cursor:none;transition:border-color .3s,background .3s;}
.btn-learn:hover{border-color:var(--foam);background:rgba(128,219,200,.07);}

/* WORK */
.work-list{list-style:none;display:flex;flex-direction:column;}
.work-item{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line);cursor:none;transition:padding-left .3s cubic-bezier(.16,1,.3,1);}
.work-item:first-child{border-top:1px solid var(--line);}
.work-item:hover{padding-left:10px;}
.work-title{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(19px,2.6vw,36px);letter-spacing:-.01em;color:var(--white);transition:color .3s;}
.work-item:hover .work-title{color:var(--foam);}
.work-right{display:flex;align-items:baseline;gap:16px;}
.work-meta{font-family:Helvetica,Arial,sans-serif;font-weight:300;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--foam);opacity:.4;}
.work-arrow{display:none;}


/* CONTACT */
/* Two flex columns. Left: headline then sub directly below. Right: email+socials then imprint at bottom. */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 clamp(24px,4vw,64px);
  align-items:stretch;
  width:100%;
  padding:0 clamp(24px,5vw,72px);
  padding-left:clamp(24px,8vw,160px);
  height:clamp(260px,44vh,420px);
}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr;height:auto;gap:32px 0;padding:0 clamp(24px,5vw,72px);}}

/* Left column: headline at top, sub directly below — both flush, no space-between */
.contact-left{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

/* Right column: email+socials at top, imprint at bottom */
.contact-right{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.contact-right-top{ display:flex; flex-direction:column; }

.contact-big{
  font-family:Helvetica,Arial,sans-serif;
  font-weight:700;
  font-size:clamp(34px,5vw,84px);
  line-height:.95;
  letter-spacing:-.03em;
  color:var(--white);
}
.contact-sub{
  font-family:Helvetica,Arial,sans-serif;
  font-weight:400;
  font-size:clamp(22px,3vw,42px);
  color:var(--foam);
  opacity:.55;
}
.contact-email{
  font-family:Helvetica,Arial,sans-serif;
  font-weight:400;
  font-size:clamp(24px,3.5vw,56px);
  color:var(--white);
  text-decoration:none;
  display:inline-flex;
  width:fit-content;
  padding-bottom:clamp(10px,1.5vh,18px);
  border-bottom:1px solid rgba(128,219,200,.3);
  margin-bottom:clamp(14px,2vh,28px);
  transition:color .3s;
  cursor:none;
  letter-spacing:-.01em;
  line-height:1.1;
}
.contact-email:hover{color:var(--foam);}
.contact-socials{ display:flex; flex-direction:column; gap:clamp(10px,1.4vh,18px); }
.contact-socials a{
  font-family:Helvetica,Arial,sans-serif;
  font-weight:400;
  font-size:clamp(18px,1.8vw,28px);
  color:var(--white);
  text-decoration:none;
  opacity:.55;
  transition:opacity .3s;
  cursor:none;
  display:flex;
  align-items:center;
  gap:12px;
}
.contact-socials a:hover{opacity:1;}
.contact-socials .si{ width:clamp(20px,1.8vw,28px); height:clamp(20px,1.8vw,28px); fill:currentColor; opacity:.7; flex-shrink:0; }
.contact-imprint{
  font-family:Helvetica,Arial,sans-serif;
  font-weight:400;
  font-size:clamp(22px,3vw,42px);
  color:var(--white);
  text-decoration:none;
  opacity:.6;
  letter-spacing:-.01em;
  border-bottom:1px solid rgba(128,219,200,.3);
  padding-bottom:3px;
  display:inline-block;
  transition:opacity .3s;
  cursor:none;
}
.contact-imprint:hover{opacity:1;}






/* ── SUBPAGE ── */
#subpage{position:fixed;inset:0;z-index:50;background:var(--sub-bg);visibility:hidden;opacity:0;transition:opacity .45s ease;overflow-y:auto;overflow-x:hidden;}
#subpage.open{visibility:visible;opacity:1;}
.sub-header{opacity:1;position:sticky;top:0;z-index:5;padding:clamp(16px,2vw,26px) clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(242,245,244,.96);border-bottom:1px solid var(--sub-line);backdrop-filter:blur(8px);}
.sub-logo{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:18px;letter-spacing:.05em;color:var(--sub-dark);text-transform:lowercase;}
.subpage-back{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sub-teal);background:none;border:none;cursor:none;opacity:.6;transition:opacity .3s;display:flex;align-items:center;gap:8px;}
.subpage-back:hover{opacity:1;}
.sub-body{padding:clamp(56px,6vw,96px) clamp(24px,4vw,56px) 120px;max-width:1400px;margin:0 auto;}

/* Project page */
.proj-top{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:56px;align-items:start;}
@media(max-width:700px){.proj-top{grid-template-columns:1fr;gap:32px;}}
.proj-client-logo{height:36px;margin-bottom:20px;display:flex;align-items:center;}
.proj-client-logo img{max-height:36px;max-width:140px;object-fit:contain;opacity:.75;filter:grayscale(1);}
.proj-client-name{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--sub-teal);opacity:.6;}
.proj-num{font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sub-teal);opacity:.45;margin-bottom:12px;}
.proj-title{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(42px,6.5vw,96px);line-height:.93;letter-spacing:-.03em;color:var(--sub-dark);margin-bottom:24px;}
.proj-desc{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.75;color:var(--sub-mid);opacity:.9;}
.proj-facts{display:flex;flex-direction:column;align-self:end;}
.proj-fact{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--sub-line);}
.proj-fact:first-child{border-top:1px solid var(--sub-line);}
.proj-fact-label{font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sub-teal);opacity:.5;display:flex;gap:10px;}
.proj-fact-value{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:14px;color:var(--sub-dark);opacity:.8;}



.proj-next{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:40px;border-top:1px solid var(--sub-line);cursor:none;}
.proj-next-label{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(22px,3.5vw,48px);letter-spacing:-.02em;color:var(--sub-dark);transition:color .3s;}
.proj-next:hover .proj-next-label{color:var(--sub-teal);}

/* About subpage */
.about-sub-headline{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:90px;line-height:.93;letter-spacing:-.03em;color:var(--sub-dark);margin-bottom:64px;text-align:left;word-break:break-word;overflow-wrap:break-word;}
@media(max-width:700px){.about-sub-headline{font-size:clamp(26px,7vw,48px);line-height:1.0;margin-bottom:36px;}}
.about-sub-grid{display:grid;grid-template-columns:3fr 2fr;gap:72px;align-items:start;margin-bottom:160px;}
@media(max-width:700px){.about-sub-grid{grid-template-columns:1fr;}}
.about-sub-text{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:18px;line-height:1.8;color:var(--sub-dark);opacity:.85;}
.about-sub-text p+p{margin-top:28px;}
.about-photo{background:rgba(10,74,58,.06);border:1px solid var(--sub-line);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;}
.about-photo span{font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--sub-teal);opacity:.3;}

.facts-grid{display:flex;gap:clamp(48px,8vw,140px) clamp(48px,8vw,140px);flex-wrap:wrap;margin-bottom:160px;padding-top:0;justify-content:center;row-gap:32px;}
@media(max-width:700px){.facts-grid{column-gap:32px;row-gap:8px;}}
.fact-item{width:180px;min-height:150px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;}
.fact-num{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(52px,6.5vw,88px);letter-spacing:-.02em;color:var(--sub-dark);order:1;transition:opacity .4s ease,transform .4s ease;}
.fact-label{font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sub-teal);opacity:.55;order:2;margin-top:6px;transition:opacity .4s ease;min-height:2.6em;line-height:1.3;display:flex;align-items:flex-start;justify-content:center;}
.fact-item.fact-changing .fact-num,.fact-item.fact-changing .fact-label{opacity:0;transform:translateY(6px);}

.sub-section-title{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:46px;letter-spacing:-.02em;color:var(--sub-dark);margin-bottom:48px;text-align:center;line-height:1;}
.skills-section{margin-bottom:160px;}
.skill-group{margin-bottom:120px;}
.skill-group-title{font-family:Helvetica,Arial,sans-serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--sub-teal);opacity:.65;margin-bottom:20px;text-align:center;}.skill-group.soft-group .skill-group-title{color:#b0186a;opacity:.8;}
/* Skills: pills auto-width, max 4 per row, centered */
.skill-tags{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:center;
  /* Limit to ~4 pills per row by constraining container width */
  max-width:860px;
  margin:0 auto;
}
.skill-tag{
  font-family:Helvetica,Arial,sans-serif;
  font-weight:400;
  font-size:17px;
  color:var(--sub-teal);
  border:1.5px solid rgba(10,74,58,.35);
  padding:16px 28px;
  border-radius:999px;
  opacity:.85;
  transition:border-color .3s,opacity .3s;
  cursor:default;
  /* width follows text — no fixed width */
  width:auto;
  white-space:nowrap;
}
.skill-tag.soft{color:#b0186a;border-color:rgba(180,20,100,.3);}
.skill-tag.soft:hover{border-color:rgba(180,20,100,.7);opacity:1;}
.skill-tag:not(.soft):hover{border-color:rgba(10,74,58,.8);opacity:1;}
@media(max-width:700px){
  .skill-tags{max-width:420px;}
  .skill-tag{font-size:14px;padding:12px 20px;}
}

/* Tools: max 5 per row, centered, bigger */
.tools-grid{
  display:flex;
  flex-wrap:wrap;
  gap:40px;
  justify-content:center;
  max-width:calc(5*130px + 4*40px);
  margin:0 auto;
}
.tool-item{display:flex;flex-direction:column;align-items:center;gap:12px;cursor:default;width:130px;}
.tool-icon{width:96px;height:96px;object-fit:contain;border-radius:22px;}
.tool-label{font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:var(--sub-teal);opacity:.65;text-align:center;}
@media(max-width:700px){
  .tools-grid{max-width:calc(3*100px + 2*28px);gap:28px;}
  .tool-item{width:100px;}
  .tool-icon{width:72px;height:72px;}
}

.clients-section{margin-bottom:160px;text-align:center;display:none;}
.clients-intro{font-family:Helvetica,Arial,sans-serif;font-size:17px;color:var(--sub-mid);opacity:.75;margin-bottom:24px;max-width:560px;line-height:1.65;margin-left:auto;margin-right:auto;}
.logo-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;width:100%;}
@media(max-width:700px){.logo-wall{grid-template-columns:repeat(3,1fr);}}
@media(max-width:420px){.logo-wall{grid-template-columns:repeat(2,1fr);}}
.logo-cell{padding:20px 16px;display:flex;align-items:center;justify-content:center;min-height:80px;}
.logo-cell img{max-width:90px;max-height:36px;object-fit:contain;filter:grayscale(1);opacity:.5;transition:opacity .3s;}
.logo-cell:hover img{opacity:.8;}


/* Media layouts */
.media-grid{margin-bottom:56px;}
.img-placeholder{background:rgba(10,74,58,.05);border:1px solid var(--sub-line);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;}
.img-placeholder span,.vid-placeholder span{font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--sub-teal);opacity:.3;margin-top:8px;}
.img-placeholder.full,.vid-placeholder.full{grid-column:1/-1;}
.vid-placeholder{background:rgba(10,74,58,.08);border:1px solid var(--sub-line);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;cursor:none;}
.vid-play{width:48px;height:48px;border:1.5px solid var(--sub-teal);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--sub-teal);opacity:.4;padding-left:3px;}

.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.grid-2col .full{grid-column:1/-1;aspect-ratio:16/9;}
.grid-2col .img-placeholder:not(.full),.grid-2col .vid-placeholder:not(.full){aspect-ratio:4/3;}

.grid-full-then-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.grid-full-then-2 .full{grid-column:1/-1;aspect-ratio:16/9;}
.grid-full-then-2 .img-placeholder:not(.full),.grid-full-then-2 .vid-placeholder:not(.full){aspect-ratio:4/3;}

.grid-2-then-full{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.grid-2-then-full .full{grid-column:1/-1;aspect-ratio:16/9;}
.grid-2-then-full .img-placeholder:not(.full){aspect-ratio:4/3;}

.grid-wide-narrow{display:grid;grid-template-columns:3fr 2fr;gap:14px;align-items:start;}
.grid-wide-narrow .wide .img-placeholder{aspect-ratio:3/2;}
.grid-wide-narrow .narrow{display:flex;flex-direction:column;gap:14px;}
.grid-wide-narrow .narrow .img-placeholder{aspect-ratio:3/4;}

/* Creative friends */
.friends-section{margin-bottom:100px;text-align:center;}
.friends-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:960px;margin:0 auto;}
@media(max-width:600px){.friends-grid{grid-template-columns:1fr;}}
.friend-card{display:flex;flex-direction:column;text-align:left;}
.friend-photo{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top;background:rgba(10,74,58,.06);border:1px solid var(--sub-line);margin-bottom:16px;filter:grayscale(.2);}
.friend-name{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(17px,1.6vw,22px);color:var(--sub-dark);letter-spacing:-.01em;margin-bottom:6px;}
.friend-role{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:15px;color:var(--sub-teal);opacity:.8;margin-bottom:14px;}
.friend-links{display:flex;gap:14px;}
.friend-link{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub-teal);text-decoration:none;opacity:.65;transition:opacity .3s;cursor:none;border-bottom:1px solid rgba(10,74,58,.25);padding-bottom:2px;}
.friend-link:hover{opacity:1;}

/* ── ABOUT SUBPAGE ANIMATIONS ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}
.reveal-delay-4{transition-delay:.4s;}
.skill-fill{transition:width 1.2s cubic-bezier(.16,1,.3,1) !important;}
.skill-fill.animate{width:0 !important;}

/* ── WAVE TRANSITION ── */
.wave-overlay{
  position:fixed;inset:0;width:100%;height:100%;
  z-index:500;pointer-events:none;display:none;
}



/* Legal pages */
.legal-wrap{max-width:720px;}
.legal-h1{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(28px,3.5vw,48px);letter-spacing:-.02em;color:var(--sub-dark);margin-bottom:8px;margin-top:0;}
.legal-h2{font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(13px,1.2vw,16px);letter-spacing:.04em;text-transform:uppercase;color:var(--sub-teal);margin-top:32px;margin-bottom:8px;opacity:.7;}
.legal-p{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:15px;line-height:1.75;color:var(--sub-dark);opacity:.8;}
.legal-small{font-family:Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sub-teal);opacity:.5;margin-bottom:16px;}
.legal-link{color:var(--sub-teal);text-decoration:none;border-bottom:1px solid rgba(10,74,58,.25);padding-bottom:1px;cursor:none;}
.legal-link:hover{opacity:.7;}
.legal-block{margin-bottom:72px;}

@media(max-width:700px){
  .grid-2col,
  .grid-full-then-2,
  .grid-2-then-full,
  .grid-wide-narrow{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .grid-wide-narrow .narrow{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .media-grid .img-placeholder,
  .media-grid .vid-placeholder{
    width:100%;
    aspect-ratio:16/9 !important;
  }
  .media-grid .img-placeholder.full,
  .media-grid .vid-placeholder.full{
    grid-column:unset;
  }
}

/* Close button at bottom of subpages */
.subpage-close-btn{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin:120px auto 0;width:fit-content;
  cursor:none;background:none;border:none;padding:0;
  opacity:.5;transition:opacity .3s;
}
.subpage-close-btn:hover{opacity:1;}
.subpage-close-circle{
  width:52px;height:52px;border-radius:50%;
  border:1.5px solid var(--sub-teal);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.subpage-close-x{
  font-size:18px;line-height:1;color:var(--sub-teal);
  font-family:Helvetica,Arial,sans-serif;font-weight:300;
}
.subpage-close-label{
  font-family:Helvetica,Arial,sans-serif;font-weight:400;
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--sub-teal);
}

/* Staggered reveal */
.stagger-item{
  opacity:0;
  transform:translateY(20px);
  filter:blur(4px);
  transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),filter .5s ease;
}
.stagger-item.stagger-in{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

@media(max-width:700px){.contact-imprint-cell{margin-top:80px;}.contact-right-bottom{margin-top:80px;}.contact-imprint-wrap{margin-top:48px;}}
@keyframes fadeIn{to{opacity:1;}}
@media(max-width:600px){nav{gap:14px;}.page-inner{margin-left:0;}}