body.page:not(.page--home){--acid:#2563EB;--paper:#f2f2f2;--muted:rgba(242,242,242,.7);--hair:rgba(255,255,255,.1);background:#0b0b0b;overflow-x:clip}body.page:not(.page--home)::before{opacity:.055!important;right:-12%!important;filter:grayscale(1) brightness(1.4)!important}body.page:not(.page--home)::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:76px 76px}body.page:not(.page--home) .main{padding-top:118px}
body.page:not(.page--home) .navbar{top:18px}body.page:not(.page--home) .navbar__inner{max-width:calc(100vw - 96px);border:1px solid rgba(255,255,255,.08);background:rgba(11,11,11,.72);backdrop-filter:blur(20px);box-shadow:0 18px 70px rgba(0,0,0,.25)}body.page:not(.page--home) .navbar__brand{display:flex;align-items:center;gap:10px}body.page:not(.page--home) .navbar__logo{width:42px;height:42px}body.page:not(.page--home) .navbar__brandtext{font-family:"Audiowide",sans-serif;font-size:9px;line-height:1.12;letter-spacing:.08em}body.page:not(.page--home) .navbar__link{font-size:10px;letter-spacing:.13em}body.page:not(.page--home) .navbar__cta{font-size:9px;padding:11px 13px;border-radius:10px;box-shadow:none}
body.page:not(.page--home) .page-hero{padding:clamp(90px,11vw,170px) 0 clamp(60px,8vw,110px)}body.page:not(.page--home) .page-hero__inner{max-width:min(1380px,calc(100vw - 128px));padding:0;margin:0 auto}body.page:not(.page--home) .page-hero__title{font-size:clamp(62px,9vw,150px);line-height:.84;letter-spacing:-.018em;margin-bottom:clamp(44px,6vw,78px);max-width:1250px}body.page:not(.page--home) .lead,body.page:not(.page--home) .project-lead{font-size:clamp(18px,1.65vw,27px);line-height:1.55;color:var(--muted);max-width:850px}body.page:not(.page--home) .page-hero__inner::before{content:"SELECTED CONTEXT / 2026";display:block;margin-bottom:28px;color:var(--acid);font-family:"Audiowide",sans-serif;font-size:9px;letter-spacing:.16em}
body.page--about .about-grid{grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,110px);border-top:1px solid var(--hair);padding-top:36px}body.page--about .about-col{max-width:none}body.page--about .about-text{font-size:clamp(17px,1.35vw,21px);line-height:1.7;color:var(--muted)}body.page--about .card{border-radius:0;background:#0e0e0e;border-color:var(--hair);box-shadow:none}
body.page--portfolio .projects{padding:0 0 150px}body.page--portfolio .projects .page-hero__inner{max-width:min(1380px,calc(100vw - 128px));padding:0}body.page--portfolio .projectsGrid{display:block;border-top:1px solid var(--paper);gap:0}body.page--portfolio .pCard{border:0;border-bottom:1px solid var(--hair);border-radius:0;background:transparent;box-shadow:none}body.page--portfolio .pCard:hover{transform:none;background:rgba(37,99,235,.035);box-shadow:none}body.page--portfolio .pTitle{font-size:clamp(22px,3vw,46px);font-family:"Audiowide",sans-serif;font-weight:400;text-transform:uppercase}body.page--portfolio .pSub{font-size:15px;line-height:1.55;color:var(--muted);max-width:620px}
body.page--contact .contact-box{margin-top:20px;padding-bottom:130px}body.page--contact .contact-form{border-top:1px solid var(--paper);padding-top:36px}body.page--contact .contact-form input[type="text"],body.page--contact .contact-form input[type="email"],body.page--contact .contact-form textarea{border-radius:0;background:#0e0e0e;border-color:var(--hair)}body.page--contact .contact-form input:focus,body.page--contact .contact-form textarea:focus{border-color:var(--acid);box-shadow:0 0 0 1px var(--acid)}
body:has(.booking) .booking{padding-bottom:150px}body:has(.booking) .booking-card{border-radius:0!important;background:#0e0e0e!important;border-color:var(--hair)!important;box-shadow:none!important}body:has(.booking) .booking-navbtn,body:has(.booking) .booking-datebadge,body:has(.booking) .booking-times button,body:has(.booking) .booking-topics button,body:has(.booking) .booking-form input,body:has(.booking) .booking-form textarea{border-radius:0!important}body:has(.booking) .booking-kicker{color:var(--acid)!important}
body:has(.project-challenges) .project-hero{padding-top:clamp(90px,10vw,150px)}body:has(.project-challenges) .project-title{font-size:clamp(58px,8.5vw,138px);line-height:.86;letter-spacing:-.018em}body:has(.project-challenges) .project-lead{border-top:1px solid var(--hair);padding-top:34px;margin-top:32px}body:has(.project-challenges) .project-challenges{padding:70px 0 100px}body:has(.project-challenges) .project-challenges__inner{max-width:min(1380px,calc(100vw - 128px));gap:clamp(50px,8vw,130px)}body:has(.project-challenges) .project-challenges__title{font-size:clamp(28px,3.5vw,52px);line-height:1.02}body:has(.project-challenges) .project-card{border-radius:0;background:#0e0e0e;border:1px solid var(--hair);box-shadow:none;padding:28px;transition:.25s}body:has(.project-challenges) .project-card:hover{border-color:rgba(37,99,235,.65);transform:translateX(5px)}body:has(.project-challenges) .project-card__title{font-size:clamp(17px,1.6vw,24px)}body:has(.project-challenges) .project-card__text{line-height:1.65;color:var(--muted)}body:has(.project-challenges) .project-gallery{padding:40px 0 110px}body:has(.project-challenges) .project-gallery__grid{max-width:min(1380px,calc(100vw - 128px));margin:0 auto;gap:20px}body:has(.project-challenges) .project-shot{border-radius:0;background:#0a0a0a;border-color:var(--hair);box-shadow:none}body:has(.project-challenges) .project-shot:hover{border-color:var(--acid);transform:translateY(-3px)}body.page:not(.page--home) .btn{border-radius:0}body.page:not(.page--home) .footer-contact{background:#0b0b0b;border-top:1px solid var(--hair)}
@media(max-width:1199px){body.page:not(.page--home) .navbar__inner{max-width:calc(100vw - 44px)}body.page:not(.page--home) .navbar__brandtext{display:none}body.page:not(.page--home) .page-hero__inner,body.page--portfolio .projects .page-hero__inner,body:has(.project-challenges) .project-challenges__inner,body:has(.project-challenges) .project-gallery__grid{max-width:calc(100vw - 72px)}}@media(max-width:799px){body.page:not(.page--home) .main{padding-top:96px}body.page:not(.page--home) .navbar{top:10px}body.page:not(.page--home) .navbar__inner{max-width:calc(100vw - 20px)}body.page:not(.page--home) .page-hero{padding:70px 0 56px}body.page:not(.page--home) .page-hero__inner,body.page--portfolio .projects .page-hero__inner,body:has(.project-challenges) .project-challenges__inner,body:has(.project-challenges) .project-gallery__grid{max-width:calc(100vw - 36px)}body.page:not(.page--home) .page-hero__title{font-size:clamp(48px,15vw,88px)}body.page--about .about-grid{grid-template-columns:1fr}body:has(.project-challenges) .project-title{font-size:clamp(46px,14vw,80px)}}


.section-kicker{display:inline-block;margin-bottom:16px;color:var(--acid);font-family:"Audiowide",sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.section-title{margin:0;max-width:900px;font-family:"Audiowide",sans-serif;font-size:clamp(28px,4vw,58px);line-height:1.04;text-transform:uppercase}.section-text{margin:18px 0 0;max-width:760px;color:var(--muted);font-size:17px;line-height:1.7}.subpage-section{padding:0 0 110px}.section-intro{margin-bottom:34px}.info-grid{display:grid;gap:20px}.info-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card{padding:26px;border:1px solid var(--hair);background:#0e0e0e}.info-card span{display:inline-block;margin-bottom:18px;color:var(--acid);font-family:"Audiowide",sans-serif;font-size:10px;letter-spacing:.18em}.info-card h3{margin:0 0 12px;font-family:"Audiowide",sans-serif;font-size:clamp(16px,1.8vw,24px);font-weight:400;text-transform:uppercase}.info-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}.info-card a{color:var(--paper);text-decoration:underline;text-underline-offset:4px}.subpage-cta{padding:0 0 120px}.subpage-cta__inner,.project-cta-band__inner{display:grid;grid-template-columns:minmax(0,1.1fr) auto;gap:40px;align-items:end;padding:34px 0 0;border-top:1px solid var(--hair)}.subpage-cta__actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:flex-start}.portfolio-cta-top{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-bottom:34px}.project-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px}.project-meta div{padding:18px;border:1px solid var(--hair);background:#0e0e0e}.project-meta span{display:block;margin-bottom:10px;color:var(--acid);font-family:"Audiowide",sans-serif;font-size:9px;letter-spacing:.16em}.project-meta strong{display:block;font-family:"Audiowide",sans-serif;font-size:14px;font-weight:400;line-height:1.45;text-transform:uppercase}.project-cta-band{padding:0 0 100px}body.page--contact .contact-highlights{margin:26px 0 34px}body.page--consultation .consultation-highlights{margin-top:14px}body.page--about .about-points{margin-top:18px}.footer-contact__cta{display:flex;flex-direction:column;gap:14px;order:3;max-width:420px;align-items:flex-start}.footer-contact__ctaText{margin:0;color:rgba(11,11,11,.76);font-size:14px;line-height:1.65}.footer-contact__ctaActions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.footer-contact__textlink{color:var(--ink)}.footer-contact__textlink:after{background:var(--ink)}.footer-contact__textlink span{color:var(--ink)}
@media(max-width:1199px){.info-grid--three,.project-meta{grid-template-columns:1fr 1fr}.subpage-cta__inner,.project-cta-band__inner{grid-template-columns:1fr}.footer-contact__inner{align-items:flex-start}.footer-contact__cta{max-width:none}}
@media(max-width:799px){.info-grid--three,.project-meta{grid-template-columns:1fr}.subpage-section,.subpage-cta,.project-cta-band{padding-bottom:84px}.portfolio-cta-top{margin-bottom:28px}.section-title{font-size:clamp(26px,9vw,44px)}}
@media(max-width:900px){.footer-contact__cta{order:3;width:100%;align-items:center;text-align:center}.footer-contact__ctaActions{align-items:center}.footer-contact__cta .btn{width:100%;max-width:560px;justify-content:center}}

/* SUBPAGES — navigation alignment overrides */
@media(min-width:1025px){
  body.page:not(.page--home) .navbar{top:16px}
  body.page:not(.page--home) .navbar__inner{max-width:min(1440px,calc(100vw - 64px));border-radius:0;border:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.12);background:rgba(10,10,10,.88);box-shadow:0 18px 60px rgba(0,0,0,.22)}
  body.page:not(.page--home) .navbar__brandtext{display:block}
  body.page:not(.page--home) .navbar__logo{width:auto;height:38px}
  body.page:not(.page--home) .navbar__link{font-size:10px;letter-spacing:.14em}
  body.page:not(.page--home) .navbar__cta{font-size:9px;padding:0 14px 0 20px;border-radius:0!important;box-shadow:none}
}
.footer-contact__textlink{display:inline-flex;align-items:center;gap:12px;position:relative;padding-bottom:6px;font-family:"Audiowide",sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.footer-contact__textlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(.28);transform-origin:left;transition:transform .25s}.footer-contact__textlink:hover::after{transform:scaleX(1)}
body.page:not(.page--home) .footer-contact__item{color:var(--paper);background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.11)}body.page:not(.page--home) .footer-contact__item:hover{background:rgba(255,255,255,.06);border-color:rgba(37,99,235,.4)}body.page:not(.page--home) .footer-contact__bottom{border-color:rgba(255,255,255,.12);color:var(--muted)}body.page:not(.page--home) .footer-contact__cookies{color:var(--paper)}body.page:not(.page--home) .footer-contact__ctaText{color:var(--muted)}body.page:not(.page--home) .footer-contact__cta .footer-contact__label{color:var(--acid)}body.page:not(.page--home) .footer-contact__textlink{color:var(--paper)}body.page:not(.page--home) .footer-contact__textlink::after{background:var(--acid)}body.page:not(.page--home) .footer-contact__textlink span{color:var(--acid)}


/* PORTFOLIO — moved section 04 / context */
.portfolio-context{padding:110px 0 130px;overflow:hidden;border-top:1px solid var(--hair)}
.portfolio-context__heading{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:clamp(50px,8vw,130px);align-items:end;margin-bottom:74px}
.portfolio-context__title{margin:0;font-family:"Audiowide",sans-serif;font-size:clamp(42px,6vw,96px);line-height:.95;font-weight:400;letter-spacing:-.015em;text-transform:uppercase;color:var(--paper)}
.portfolio-context__title span{color:var(--acid)}
.portfolio-context__lead{margin:0;max-width:440px;color:var(--muted);font-family:"Audiowide",sans-serif;font-size:11px;line-height:1.65;letter-spacing:.08em;text-transform:uppercase}
.portfolio-context__logos{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);overflow:hidden;padding:28px 0;background:#0e0e0e}
.portfolio-context__track{display:flex;width:max-content;align-items:center;animation:portfolioContextMarquee 38s linear infinite}
.portfolio-context__track img{width:190px;height:80px;object-fit:contain;filter:grayscale(1) brightness(2);opacity:.56;margin:0 42px}
@keyframes portfolioContextMarquee{to{transform:translateX(-50%)}}
.portfolio-context__about{display:grid;grid-template-columns:.35fr 1fr;gap:clamp(60px,9vw,140px);padding-top:clamp(90px,12vw,170px)!important}
.portfolio-context__name{display:flex;flex-direction:column;gap:10px;font-family:"Audiowide",sans-serif;font-size:10px;color:var(--muted2,rgba(242,242,242,.5))}
.portfolio-context__name strong{font-weight:400;color:var(--acid)}
.portfolio-context__manifesto{grid-column:2;margin:0;font-family:"Audiowide",sans-serif;font-size:clamp(32px,4.2vw,68px);line-height:1.02;text-transform:uppercase;color:var(--paper)}
.portfolio-context__manifesto span{color:var(--acid)}
.portfolio-context__about>.story-text-link{grid-column:2;justify-self:start;margin-top:18px;color:var(--paper)}
.portfolio-context__about>.story-text-link::after{background:var(--acid)}
.portfolio-context__about>.story-text-link span{color:var(--acid)}
@media(max-width:999px){.portfolio-context{padding:90px 0 100px}.portfolio-context__heading{grid-template-columns:1fr;gap:26px}.portfolio-context__about{grid-template-columns:1fr;gap:34px}.portfolio-context__manifesto,.portfolio-context__about>.story-text-link{grid-column:1}.portfolio-context__track img{width:150px;height:68px;margin:0 28px}}
@media(max-width:599px){.portfolio-context{padding:76px 0 84px}.portfolio-context__title{font-size:clamp(36px,11vw,58px)}.portfolio-context__track img{width:125px;height:58px;margin:0 22px}.portfolio-context__manifesto{font-size:clamp(30px,9.5vw,46px)}}
@media(prefers-reduced-motion:reduce){.portfolio-context__track{animation:none;flex-wrap:wrap;width:100%;justify-content:center}}

/* =========================================================
   PORTFOLIO V36 — VISUAL GRID / HOME LANGUAGE
   Image first, name + description second.
========================================================= */
body.page--portfolio{
  --paper:#f2f2f2;
  --ink:#0b0b0b;
  --muted:rgba(11,11,11,.64);
  --muted2:rgba(11,11,11,.46);
  --hair:rgba(11,11,11,.14);
  background:var(--paper) !important;
  color:var(--ink) !important;
}
body.page--portfolio::before{display:none !important;}
body.page--portfolio::after{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
  background-size:76px 76px !important;
}
body.page--portfolio .main{position:relative;z-index:1;background:transparent;}
body.page--portfolio .page-hero__inner::before{content:none !important;}
body.page--portfolio .portfolio-hero .page-hero__inner::before{
  content:"PORTFOLIO" !important;
  display:block;
  margin-bottom:30px;
  color:var(--acid);
  font-family:"Audiowide",sans-serif;
  font-size:9px;
  letter-spacing:.18em;
}

body.page--portfolio .portfolio-hero{
  padding:clamp(68px,7vw,110px) 0 clamp(58px,6vw,92px) !important;
  border-bottom:1px solid var(--hair);
  background:rgba(242,242,242,.92);
}
body.page--portfolio .portfolio-hero__layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:clamp(48px,8vw,130px);
  align-items:end;
}
body.page--portfolio .portfolio-hero .page-hero__title{
  margin:0 !important;
  max-width:980px !important;
  color:var(--ink);
  font-family:"Audiowide",sans-serif !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  font-size:clamp(58px,8.1vw,132px) !important;
  line-height:.86 !important;
}
body.page--portfolio .portfolio-hero .page-hero__title span{
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1px var(--ink);
  text-shadow:none;
  font-weight:400;
}
body.page--portfolio .portfolio-hero__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:26px;
  padding-bottom:7px;
}
body.page--portfolio .portfolio-hero__copy p{
  margin:0;
  max-width:520px;
  color:rgba(11,11,11,.68);
  font-size:clamp(17px,1.4vw,22px);
  line-height:1.6;
}
body.page--portfolio .portfolio-hero .story-text-link{
  color:var(--ink);
  font-size:10px;
}
body.page--portfolio .portfolio-hero .story-text-link::after{background:var(--acid);}
body.page--portfolio .portfolio-hero .story-text-link span{color:var(--acid);}

body.page--portfolio .projects{
  padding:clamp(62px,7vw,100px) 0 clamp(120px,13vw,190px) !important;
  background:transparent;
}
body.page--portfolio .projects .page-hero__inner{
  max-width:min(1460px,calc(100vw - 96px)) !important;
}
body.page--portfolio .portfolio-gallery__head{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  padding:0 0 24px;
  margin-bottom:30px;
  border-bottom:1px solid var(--hair);
  font-family:"Audiowide",sans-serif;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.page--portfolio .portfolio-gallery__head span{color:var(--acid);}
body.page--portfolio .portfolio-gallery__head p{margin:0;color:rgba(11,11,11,.48);}

body.page--portfolio .projectsGrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(48px,5vw,84px) clamp(28px,3vw,48px) !important;
  align-items:start;
  border:0 !important;
}
body.page--portfolio .pCard{
  display:block;
  min-width:0;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:none !important;
}
body.page--portfolio .pCard:hover{
  background:transparent !important;
  transform:none !important;
}
body.page--portfolio .pVisual{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#e5e5e1;
  border:1px solid rgba(11,11,11,.14);
  isolation:isolate;
}
body.page--portfolio .pCard:nth-child(4n+2) .pVisual,
body.page--portfolio .pCard:nth-child(4n+3) .pVisual{background:#ededeb;}
body.page--portfolio .pVisual__grid{
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:
    linear-gradient(rgba(11,11,11,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.035) 1px,transparent 1px);
  background-size:54px 54px;
  opacity:.62;
}
body.page--portfolio .pVisual img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:clamp(22px,3vw,46px);
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
  filter:saturate(.92) contrast(1.02);
}
body.page--portfolio .pCard:hover .pVisual img{transform:scale(1.025);filter:saturate(1) contrast(1.03);}
body.page--portfolio .pVisual::after{
  content:"";
  position:absolute;
  inset:0;
  border:2px solid var(--acid);
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
}
body.page--portfolio .pCard:hover .pVisual::after{opacity:1;}
body.page--portfolio .pIndex{
  position:absolute;
  top:18px;
  left:18px;
  min-width:50px;
  height:50px;
  padding:0 12px;
  display:grid;
  place-items:center;
  background:var(--acid);
  color:#fff;
  font-family:"Audiowide",sans-serif;
  font-size:10px;
  letter-spacing:.08em;
  z-index:2;
}
body.page--portfolio .pVisual__cta{
  position:absolute;
  right:18px;
  bottom:18px;
  display:inline-flex;
  gap:14px;
  align-items:center;
  padding:11px 13px;
  background:var(--acid);
  color:#fff;
  font-family:"Audiowide",sans-serif;
  font-size:8px;
  letter-spacing:.12em;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .22s ease,transform .22s ease;
  z-index:2;
}
body.page--portfolio .pVisual__cta b{font-size:15px;font-weight:400;}
body.page--portfolio .pCard:hover .pVisual__cta{opacity:1;transform:none;}
body.page--portfolio .pBody{padding:22px 2px 0;}
body.page--portfolio .pMeta{
  min-height:28px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:15px;
  font-family:"Audiowide",sans-serif;
  font-size:8px;
  line-height:1.5;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(11,11,11,.47);
}
body.page--portfolio .pMeta>span{color:var(--acid);}
body.page--portfolio .pLive{
  flex:0 0 auto;
  color:rgba(11,11,11,.58);
  border-bottom:1px solid rgba(11,11,11,.28);
  padding-bottom:3px;
}
body.page--portfolio .pLive:hover{color:var(--acid);border-color:var(--acid);}
body.page--portfolio .pTitle{
  margin:0 0 12px !important;
  font-family:"Audiowide",sans-serif;
  font-size:clamp(25px,2.45vw,40px) !important;
  line-height:1.02;
  letter-spacing:-.015em !important;
  font-weight:400 !important;
  color:var(--ink);
  text-transform:uppercase;
}
body.page--portfolio .pTitle a{transition:color .18s ease;}
body.page--portfolio .pCard:hover .pTitle a{color:var(--acid);}
body.page--portfolio .pSub{
  margin:0 !important;
  max-width:610px;
  min-height:72px;
  color:rgba(11,11,11,.65) !important;
  font-size:15px !important;
  line-height:1.65 !important;
}
body.page--portfolio .pCaseLink{
  display:inline-flex;
  align-items:center;
  gap:13px;
  position:relative;
  margin-top:20px;
  padding-bottom:7px;
  font-family:"Audiowide",sans-serif;
  font-size:9px;
  letter-spacing:.12em;
  color:var(--ink);
  text-transform:uppercase;
}
body.page--portfolio .pCaseLink::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--acid);
  transform:scaleX(.24);
  transform-origin:left;
  transition:transform .28s ease;
}
body.page--portfolio .pCaseLink span{color:var(--acid);transition:transform .2s ease;}
body.page--portfolio .pCaseLink:hover::after{transform:scaleX(1);}
body.page--portfolio .pCaseLink:hover span{transform:translateX(5px);}

/* Context follows the same white/gray/blue system as the home page. */
body.page--portfolio .portfolio-context{
  padding:clamp(100px,11vw,160px) 0 clamp(110px,12vw,180px) !important;
  background:#e7e7e3;
  color:var(--ink);
  border-top:1px solid var(--hair);
}
body.page--portfolio .portfolio-context__title{color:var(--ink);}
body.page--portfolio .portfolio-context__title span{
  color:transparent;
  -webkit-text-stroke:1.4px var(--ink);
}
body.page--portfolio .portfolio-context__lead{color:rgba(11,11,11,.62);}
body.page--portfolio .portfolio-context__logos{
  background:#f2f2f2;
  border-color:rgba(11,11,11,.14);
}
body.page--portfolio .portfolio-context__track img{
  filter:grayscale(1) brightness(.3) contrast(1.15);
  opacity:.5;
}
body.page--portfolio .portfolio-context__name{color:rgba(11,11,11,.46);}
body.page--portfolio .portfolio-context__name strong{color:var(--acid);}
body.page--portfolio .portfolio-context__manifesto{color:var(--ink);}
body.page--portfolio .portfolio-context__manifesto span{color:var(--acid);}
body.page--portfolio .portfolio-context__about>.story-text-link{color:var(--ink);}
body.page--portfolio .portfolio-context__about>.story-text-link::after{background:var(--acid);}
body.page--portfolio .portfolio-context__about>.story-text-link span{color:var(--acid);}

body.page--portfolio .subpage-cta{
  padding:clamp(90px,10vw,145px) 0 !important;
  background:#f2f2f2;
  color:var(--ink);
}
body.page--portfolio .subpage-cta__inner{border-top-color:rgba(11,11,11,.18);}
body.page--portfolio .section-kicker{color:var(--acid);}
body.page--portfolio .section-title{color:var(--ink);}

/* Light footer on portfolio to match the home-page closing language. */
body.page--portfolio .footer-contact{
  background:#f2f2f2 !important;
  color:var(--ink) !important;
  border-top:1px solid rgba(11,11,11,.14) !important;
}
body.page--portfolio .footer-contact::before{
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
}
body.page--portfolio .footer-contact__kicker{color:var(--acid) !important;}
body.page--portfolio .footer-contact__headline{color:var(--ink) !important;}
body.page--portfolio .footer-contact__headline span{color:transparent !important;-webkit-text-stroke:1px var(--ink) !important;}
body.page--portfolio .footer-contact__copy{color:rgba(11,11,11,.66) !important;}
body.page--portfolio .footer-contact__subactions,
body.page--portfolio .footer-contact__bottom{border-color:rgba(11,11,11,.14) !important;}
body.page--portfolio .footer-contact__textlink,
body.page--portfolio .footer-contact__cookies{color:var(--ink) !important;}
body.page--portfolio .footer-contact__textlink::after{background:var(--acid) !important;}
body.page--portfolio .footer-contact__textlink span{color:var(--acid) !important;}
body.page--portfolio .footer-contact__nav a,
body.page--portfolio .footer-contact__legal{color:rgba(11,11,11,.6) !important;}
body.page--portfolio .footer-contact__nav a:hover{color:var(--ink) !important;}

@media(max-width:1050px){
  body.page--portfolio .portfolio-hero__layout{grid-template-columns:1fr;gap:30px;}
  body.page--portfolio .portfolio-hero__copy{max-width:760px;}
  body.page--portfolio .projects .page-hero__inner{max-width:calc(100vw - 54px) !important;}
  body.page--portfolio .projectsGrid{gap:54px 24px !important;}
  body.page--portfolio .pSub{min-height:96px;}
}
@media(max-width:760px){
  body.page--portfolio .portfolio-hero{padding:54px 0 48px !important;}
  body.page--portfolio .portfolio-hero .page-hero__title{font-size:clamp(48px,14.5vw,78px) !important;}
  body.page--portfolio .portfolio-hero .page-hero__title span{-webkit-text-stroke-width:1px;}
  body.page--portfolio .projects{padding:48px 0 100px !important;}
  body.page--portfolio .projects .page-hero__inner{max-width:calc(100vw - 28px) !important;}
  body.page--portfolio .portfolio-gallery__head{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:22px;}
  body.page--portfolio .projectsGrid{grid-template-columns:1fr !important;gap:52px !important;}
  body.page--portfolio .pVisual{aspect-ratio:4/3;}
  body.page--portfolio .pVisual img{padding:22px;}
  body.page--portfolio .pIndex{top:12px;left:12px;min-width:42px;height:42px;font-size:9px;}
  body.page--portfolio .pVisual__cta{display:none;}
  body.page--portfolio .pBody{padding-top:18px;}
  body.page--portfolio .pTitle{font-size:clamp(24px,8vw,36px) !important;}
  body.page--portfolio .pSub{min-height:0;font-size:14px !important;}
  body.page--portfolio .portfolio-context__title span{-webkit-text-stroke-width:1px;}
}


/* =========================================================
   PORTFOLIO V37 — CLEAN OUTLINE / FULL PREVIEWS / DUAL LINKS
========================================================= */
/* One clean hairline outline in the hero. */
body.page--portfolio .portfolio-hero .page-hero__title span{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1px var(--ink) !important;
  text-shadow:none !important;
  font-weight:400 !important;
}

/* Project screenshots are presented in full — no crop and no hover zoom. */
body.page--portfolio .pVisual{
  aspect-ratio:4 / 3 !important;
  padding:clamp(18px,2.2vw,34px) !important;
}
body.page--portfolio .pVisual img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}
body.page--portfolio .pCard:hover .pVisual img{
  transform:none !important;
}

/* Shared underlined text-link language used on the home page. */
body.page--portfolio .story-text-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:13px !important;
  position:relative !important;
  width:max-content !important;
  padding:0 0 8px !important;
  color:var(--ink) !important;
  font-family:"Audiowide",sans-serif !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
body.page--portfolio .story-text-link::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:1px !important;
  background:var(--acid) !important;
  transform:scaleX(.28) !important;
  transform-origin:left !important;
  transition:transform .28s ease !important;
}
body.page--portfolio .story-text-link:hover::after{
  transform:scaleX(1) !important;
}
body.page--portfolio .story-text-link span{
  color:var(--acid) !important;
  transition:transform .2s ease !important;
}
body.page--portfolio .story-text-link:hover span{
  transform:translateX(5px) !important;
}

body.page--portfolio .portfolio-context__actions{
  grid-column:2;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:20px 36px;
  margin-top:18px;
}
body.page--portfolio .portfolio-context__about>.story-text-link{
  grid-column:auto;
  margin-top:0;
}

@media(max-width:999px){
  body.page--portfolio .portfolio-context__actions{
    grid-column:1;
  }
}
@media(max-width:760px){
  body.page--portfolio .portfolio-hero .page-hero__title span{
    -webkit-text-stroke:.9px var(--ink) !important;
  }
  body.page--portfolio .pVisual{
    aspect-ratio:4 / 3 !important;
    padding:16px !important;
  }
  body.page--portfolio .portfolio-context__actions{
    gap:18px 26px;
  }
}

/* =========================================================
   PORTFOLIO V39 — HERO COPY BELOW TITLE
========================================================= */
body.page--portfolio .portfolio-hero__layout{
  display:block !important;
}
body.page--portfolio .portfolio-hero .page-hero__title{
  width:100% !important;
  max-width:100% !important;
}
body.page--portfolio .portfolio-hero__copy{
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:clamp(32px,6vw,110px) !important;
  align-items:end !important;
  margin-top:clamp(34px,4.2vw,66px) !important;
  padding-top:clamp(24px,2.2vw,34px) !important;
  border-top:1px solid rgba(11,11,11,.16) !important;
}
body.page--portfolio .portfolio-hero__copy p{
  max-width:100% !important;
  margin:0 !important;
  font-size:clamp(18px,1.45vw,25px) !important;
  line-height:1.55 !important;
}
body.page--portfolio .portfolio-hero__copy .story-text-link{
  justify-self:end !important;
  align-self:end !important;
  white-space:nowrap !important;
}
@media(max-width:900px){
  body.page--portfolio .portfolio-hero__copy{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  body.page--portfolio .portfolio-hero__copy .story-text-link{
    justify-self:start !important;
  }
}


/* =========================================================
   ABOUT V41 — LIGHT SYSTEM / HOME + PORTFOLIO LANGUAGE
========================================================= */
body.page--about{
  --paper:#f2f2f2;
  --ink:#0b0b0b;
  --muted:rgba(11,11,11,.66);
  --muted2:rgba(11,11,11,.46);
  --hair:rgba(11,11,11,.14);
  background:var(--paper) !important;
  color:var(--ink) !important;
}
body.page--about::before{display:none !important;}
body.page--about::after{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
  background-size:76px 76px !important;
}
body.page--about .main{position:relative;z-index:1;background:transparent;}

/* Hero */
body.page--about .page-hero{
  background:rgba(242,242,242,.94);
  color:var(--ink);
  border-bottom:1px solid var(--hair);
}
body.page--about .page-hero__inner::before{
  content:"O MNIE / 2026" !important;
  color:var(--acid) !important;
}
body.page--about .page-hero__title{
  color:var(--ink) !important;
  font-family:"Audiowide",sans-serif !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
body.page--about .about-grid{
  border-top:1px solid var(--hair) !important;
}
body.page--about .about-text{
  color:var(--muted) !important;
}
body.page--about .big-quote{
  position:relative;
  padding-left:clamp(20px,2vw,32px);
  color:var(--ink) !important;
  font-weight:400;
}
body.page--about .big-quote::before{
  content:"";
  position:absolute;
  left:0;
  top:.08em;
  bottom:.08em;
  width:2px;
  background:var(--acid);
}

/* Service marquee — light cards */
body.page--about .marquee-section{
  margin:0 !important;
  padding:clamp(58px,6vw,92px) 0 !important;
  background:#e8e8e5;
  border-top:1px solid var(--hair);
  border-bottom:1px solid var(--hair);
}
body.page--about .marquee-section .marquee__viewport{
  padding:10px 0;
}
body.page--about .marquee-section .marquee__fade--left{
  background:linear-gradient(90deg,#e8e8e5,rgba(232,232,229,0)) !important;
}
body.page--about .marquee-section .marquee__fade--right{
  background:linear-gradient(270deg,#e8e8e5,rgba(232,232,229,0)) !important;
}
body.page--about .marquee-section .marquee__card{
  width:clamp(340px,29vw,480px);
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:clamp(28px,2.4vw,40px);
  border:1px solid rgba(11,11,11,.16) !important;
  border-radius:0 !important;
  background:#f2f2f2 !important;
  box-shadow:none !important;
  color:var(--ink) !important;
  transition:border-color .22s ease,background .22s ease,transform .22s ease;
}
body.page--about .marquee-section .marquee__card:hover{
  border-color:var(--acid) !important;
  background:#fff !important;
  transform:translateY(-4px);
}
body.page--about .marquee-section .card__title{
  margin:0 0 22px;
  color:var(--ink) !important;
  font-family:"Audiowide",sans-serif;
  font-size:clamp(21px,1.8vw,30px);
  font-weight:400;
  line-height:1.08;
  text-transform:uppercase;
}
body.page--about .marquee-section .card__text{
  margin:0;
  color:rgba(11,11,11,.66) !important;
  font-size:clamp(15px,1.15vw,18px);
  line-height:1.7;
}

/* Approach section */
body.page--about .subpage-section--about{
  padding:clamp(100px,11vw,165px) 0 !important;
  background:#f2f2f2;
  color:var(--ink);
}
body.page--about .section-kicker{color:var(--acid) !important;}
body.page--about .section-title{color:var(--ink) !important;}
body.page--about .section-text{color:var(--muted) !important;}
body.page--about .about-points{
  gap:1px;
  background:rgba(11,11,11,.14);
  border:1px solid rgba(11,11,11,.14);
}
body.page--about .info-card{
  min-height:260px;
  padding:clamp(26px,3vw,42px);
  border:0 !important;
  border-radius:0 !important;
  background:#e8e8e5 !important;
  color:var(--ink) !important;
  box-shadow:none !important;
}
body.page--about .info-card span{color:var(--acid) !important;}
body.page--about .info-card h3{color:var(--ink) !important;}
body.page--about .info-card p{color:rgba(11,11,11,.64) !important;}

/* Closing CTA */
body.page--about .subpage-cta{
  padding:clamp(90px,10vw,145px) 0 !important;
  background:#e8e8e5;
  color:var(--ink);
  border-top:1px solid var(--hair);
}
body.page--about .subpage-cta__inner{border-top-color:rgba(11,11,11,.18) !important;}
body.page--about .subpage-cta .story-text-link{color:var(--ink) !important;}
body.page--about .subpage-cta .story-text-link::after{background:var(--acid) !important;}
body.page--about .subpage-cta .story-text-link span{color:var(--acid) !important;}

/* Light footer */
body.page--about .footer-contact{
  background:#f2f2f2 !important;
  color:var(--ink) !important;
  border-top:1px solid rgba(11,11,11,.14) !important;
}
body.page--about .footer-contact::before{
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
}
body.page--about .footer-contact__kicker{color:var(--acid) !important;}
body.page--about .footer-contact__headline{color:var(--ink) !important;}
body.page--about .footer-contact__headline span{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1px var(--ink) !important;
}
body.page--about .footer-contact__copy{color:rgba(11,11,11,.66) !important;}
body.page--about .footer-contact__subactions,
body.page--about .footer-contact__bottom{border-color:rgba(11,11,11,.14) !important;}
body.page--about .footer-contact__textlink,
body.page--about .footer-contact__cookies{color:var(--ink) !important;}
body.page--about .footer-contact__textlink::after{background:var(--acid) !important;}
body.page--about .footer-contact__textlink span{color:var(--acid) !important;}
body.page--about .footer-contact__nav a,
body.page--about .footer-contact__legal{color:rgba(11,11,11,.6) !important;}
body.page--about .footer-contact__nav a:hover{color:var(--ink) !important;}

@media(max-width:799px){
  body.page--about .marquee-section{padding:52px 0 !important;}
  body.page--about .marquee-section .marquee__card{
    width:min(82vw,340px);
    min-height:280px;
  }
  body.page--about .big-quote{padding-left:18px;}
}

/* =========================================================
   ABOUT V42 — LIGHT HERO TEXT CONTRAST FIX
========================================================= */
body.page--about .about-grid{
  border-top-color:rgba(11,11,11,.16) !important;
}
body.page--about .about-text{
  color:rgba(11,11,11,.68) !important;
}


/* =========================================================
   ABOUT V43 — CTA SECTION LAYOUT + LABELS FIX
========================================================= */
body.page--about .subpage-cta.subpage-cta--about-contact{
  padding:clamp(88px,9vw,138px) 0 !important;
  border-top:0 !important;
}
body.page--about .subpage-cta--about-contact .subpage-cta__inner{
  grid-template-columns:minmax(280px,360px) minmax(0,1fr);
  gap:clamp(44px,8vw,140px);
  align-items:end;
  padding:0 !important;
  border-top:0 !important;
}
body.page--about .subpage-cta--about-contact .about-cta__aside{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-self:end;
  gap:30px;
}
body.page--about .subpage-cta--about-contact .about-cta__copy{
  display:flex;
  flex-direction:column;
  align-self:end;
}
body.page--about .subpage-cta--about-contact .about-cta__eyebrow{
  margin-bottom:20px;
  color:var(--acid) !important;
}
body.page--about .subpage-cta--about-contact .about-cta__copy .section-title{
  max-width:980px;
  margin:0;
}
body.page--about .subpage-cta--about-contact .subpage-cta__actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
}
body.page--about .subpage-cta--about-contact .btn{
  align-self:flex-start;
}
body.page--about .subpage-cta--about-contact .about-cta__brief{
  font-size:12px;
}
@media(max-width:1199px){
  body.page--about .subpage-cta--about-contact .subpage-cta__inner{
    grid-template-columns:1fr;
    gap:34px;
  }
  body.page--about .subpage-cta--about-contact .about-cta__copy{
    order:1;
  }
  body.page--about .subpage-cta--about-contact .about-cta__aside{
    order:2;
  }
}
@media(max-width:799px){
  body.page--about .subpage-cta.subpage-cta--about-contact{
    padding:72px 0 84px !important;
  }
  body.page--about .subpage-cta--about-contact .about-cta__eyebrow{
    margin-bottom:16px;
  }
}


/* =========================================================
   ABOUT V44 — COHESIVE 25 / 75 CTA SECTION
========================================================= */
body.page--about .subpage-cta.subpage-cta--about-contact{
  padding:clamp(92px,9vw,142px) 0 !important;
  border-top:0 !important;
}
body.page--about .subpage-cta--about-contact .subpage-cta__inner{
  display:grid !important;
  grid-template-columns:minmax(240px,25%) minmax(0,75%) !important;
  gap:clamp(48px,6vw,100px) !important;
  align-items:start !important;
  padding:0 !important;
  border-top:0 !important;
}
body.page--about .subpage-cta--about-contact .about-cta__aside,
body.page--about .subpage-cta--about-contact .about-cta__copy{
  align-self:start !important;
}
body.page--about .subpage-cta--about-contact .about-cta__aside{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:0 !important;
}
body.page--about .subpage-cta--about-contact .about-cta__eyebrow{
  margin:0 0 34px !important;
}
body.page--about .subpage-cta--about-contact .subpage-cta__actions{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:18px !important;
}
body.page--about .subpage-cta--about-contact .about-cta__copy .section-title{
  max-width:none !important;
  margin:0 !important;
  font-size:clamp(40px,5.15vw,82px) !important;
  line-height:1.02 !important;
}
body.page--about .subpage-cta--about-contact .about-cta__brief{
  font-size:11px !important;
}
@media(max-width:1199px){
  body.page--about .subpage-cta--about-contact .subpage-cta__inner{
    grid-template-columns:1fr !important;
    gap:44px !important;
  }
  body.page--about .subpage-cta--about-contact .about-cta__aside,
  body.page--about .subpage-cta--about-contact .about-cta__copy{
    order:initial !important;
  }
}

/* =========================================================
   ABOUT V45 — FORCE REAL 25/75 CTA GRID ON LAPTOP/DESKTOP
   The generic 1199px subpage breakpoint must not collapse this block.
========================================================= */
@media (min-width:800px){
  body.page--about .subpage-cta--about-contact .subpage-cta__inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,3fr) !important;
    grid-template-areas:"aside copy" !important;
    column-gap:clamp(42px,5vw,86px) !important;
    row-gap:0 !important;
    align-items:start !important;
  }
  body.page--about .subpage-cta--about-contact .about-cta__aside{
    grid-area:aside !important;
    align-self:start !important;
    min-width:0 !important;
  }
  body.page--about .subpage-cta--about-contact .about-cta__copy{
    grid-area:copy !important;
    align-self:start !important;
    min-width:0 !important;
  }
  body.page--about .subpage-cta--about-contact .about-cta__copy .section-title{
    max-width:none !important;
    margin:0 !important;
  }
}
@media (max-width:799px){
  body.page--about .subpage-cta--about-contact .subpage-cta__inner{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"copy" "aside" !important;
    gap:36px !important;
  }
  body.page--about .subpage-cta--about-contact .about-cta__copy{grid-area:copy !important;}
  body.page--about .subpage-cta--about-contact .about-cta__aside{grid-area:aside !important;}
}


/* =========================================================
   ABOUT V46 — SECTION NUMBERING + CTA ALIGNMENT REFINEMENT
========================================================= */
body.page--about .page-hero__inner::before{
  content:none !important;
  display:none !important;
}
body.page--about .page-hero__kicker{
  display:block;
  margin:0 0 22px;
  color:var(--acid) !important;
}
body.page--about .subpage-section--about .section-kicker,
body.page--about .subpage-cta--about-contact .about-cta__eyebrow{
  color:var(--acid) !important;
}
body.page--about .subpage-cta--about-contact .about-cta__copy .section-title{
  font-size:clamp(32px,4.1vw,68px) !important;
  line-height:1.04 !important;
  max-width:13ch !important;
}
@media (min-width:800px){
  body.page--about .subpage-cta--about-contact .subpage-cta__inner{
    align-items:stretch !important;
  }
  body.page--about .subpage-cta--about-contact .about-cta__aside{
    align-self:stretch !important;
    justify-content:space-between !important;
    min-height:100% !important;
  }
  body.page--about .subpage-cta--about-contact .subpage-cta__actions{
    margin-top:auto !important;
  }
}
@media (max-width:799px){
  body.page--about .subpage-cta--about-contact .about-cta__copy .section-title{
    max-width:none !important;
    font-size:clamp(28px,8.3vw,46px) !important;
  }
}

/* =========================================================
   ABOUT V47 — CONSULTATION TITLE SAME SIZE AS APPROACH TITLE
========================================================= */
body.page--about .subpage-cta--about-contact .about-cta__copy .section-title{
  font-size:clamp(28px,4vw,58px) !important;
  line-height:1.04 !important;
}
@media(max-width:799px){
  body.page--about .subpage-cta--about-contact .about-cta__copy .section-title{
    font-size:clamp(26px,9vw,44px) !important;
  }
}

/* =========================================================
   ABOUT V48 — CONSULTATION H2 USES FULL 75% COLUMN WIDTH
========================================================= */
body.page--about .subpage-cta--about-contact .about-cta__copy{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
body.page--about .subpage-cta--about-contact .about-cta__copy .section-title{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin:0 !important;
  white-space:normal !important;
}

/* =========================================================
   CONTACT V49 — LIGHT CONTACT PATHS + EXPANDABLE BRIEF
========================================================= */
body.page--contact{
  --paper:#f2f2f2;
  --ink:#0b0b0b;
  --muted:rgba(11,11,11,.66);
  --muted2:rgba(11,11,11,.46);
  --hair:rgba(11,11,11,.14);
  background:var(--paper) !important;
  color:var(--ink) !important;
}
body.page--contact::before{display:none !important;}
body.page--contact::after{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
  background-size:76px 76px !important;
}
body.page--contact .main{position:relative;z-index:1;background:transparent;}
body.page--contact .page-hero__inner::before{content:none !important;display:none !important;}
body.page--contact .contact-hero{
  padding:clamp(78px,8vw,126px) 0 clamp(80px,8vw,125px) !important;
  background:rgba(242,242,242,.95);
  border-bottom:1px solid var(--hair);
  color:var(--ink);
}
body.page--contact .contact-hero__kicker{
  display:block;
  margin:0 0 24px;
  color:var(--acid) !important;
}
body.page--contact .contact-hero .page-hero__title{
  margin:0 0 clamp(34px,4vw,58px) !important;
  color:var(--ink) !important;
  font-family:"Audiowide",sans-serif !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
body.page--contact .contact-hero__lead{
  max-width:980px !important;
  margin:0 !important;
  color:rgba(11,11,11,.66) !important;
}

body.page--contact .contact-paths{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:clamp(52px,6vw,86px);
  border:1px solid rgba(11,11,11,.15);
  background:rgba(11,11,11,.15);
}
body.page--contact .contact-option{
  position:relative;
  min-height:330px;
  padding:clamp(26px,2.4vw,38px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  border:0;
  border-radius:0;
  background:#e8e8e5;
  color:var(--ink);
  text-decoration:none;
  font:inherit;
  cursor:default;
  transition:background .22s ease,color .22s ease,box-shadow .22s ease;
}
body.page--contact button.contact-option,
body.page--contact a.contact-option{cursor:pointer;}
body.page--contact button.contact-option{width:100%;appearance:none;-webkit-appearance:none;}
body.page--contact .contact-option:hover,
body.page--contact .contact-option.is-active{
  background:#fff;
  box-shadow:inset 0 0 0 1px var(--acid);
}
body.page--contact .contact-option:focus-visible{
  outline:2px solid var(--acid);
  outline-offset:-2px;
}
body.page--contact .contact-option__index{
  display:block;
  margin:0 0 42px;
  color:var(--acid);
  font-family:"Audiowide",sans-serif;
  font-size:10px;
  letter-spacing:.18em;
}
body.page--contact .contact-option__title{
  display:block;
  margin:0 0 18px;
  color:var(--ink);
  font-family:"Audiowide",sans-serif;
  font-size:clamp(20px,1.75vw,29px);
  line-height:1.08;
  text-transform:uppercase;
}
body.page--contact .contact-option__text{
  display:block;
  max-width:39ch;
  color:rgba(11,11,11,.64);
  font-size:15px;
  line-height:1.7;
}
body.page--contact .contact-option__action{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:auto;
  padding:28px 0 8px;
  color:var(--ink);
  font-family:"Audiowide",sans-serif;
  font-size:10px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.page--contact .contact-option__action::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:var(--acid);
  transform:scaleX(.28);
  transform-origin:left;
  transition:transform .25s ease;
}
body.page--contact .contact-option:hover .contact-option__action::after,
body.page--contact .contact-option.is-active .contact-option__action::after{transform:scaleX(1);}
body.page--contact .contact-option__action i,
body.page--contact .contact-option__directlinks i{font-style:normal;color:var(--acid);}
body.page--contact .contact-option__directlinks{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  margin-top:auto;
  padding-top:28px;
}
body.page--contact .contact-option__directlinks a{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding-bottom:7px;
  color:var(--ink);
  font-family:"Audiowide",sans-serif;
  font-size:10px;
  line-height:1.25;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}
body.page--contact .contact-option__directlinks a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--acid);
  transform:scaleX(.28);
  transform-origin:left;
  transition:transform .25s ease;
}
body.page--contact .contact-option__directlinks a:hover::after{transform:scaleX(1);}

body.page--contact .contact-brief{
  scroll-margin-top:110px;
  padding:clamp(92px,9vw,145px) 0 clamp(110px,11vw,170px);
  background:#e8e8e5;
  color:var(--ink);
  border-bottom:1px solid var(--hair);
}
body.page--contact .contact-brief[hidden]{display:none !important;}
body.page--contact .contact-brief.is-open{animation:contactBriefReveal .34s ease both;}
@keyframes contactBriefReveal{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
body.page--contact .contact-brief__heading{
  display:grid;
  grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);
  column-gap:clamp(50px,8vw,130px);
  align-items:start;
  margin-bottom:clamp(48px,6vw,86px);
}
body.page--contact .contact-brief__heading .section-kicker{
  grid-column:1;
  grid-row:1 / span 2;
  margin:4px 0 0;
  color:var(--acid) !important;
}
body.page--contact .contact-brief__heading .section-title{
  grid-column:2;
  max-width:none;
  margin:0;
  color:var(--ink);
  font-size:clamp(34px,4.2vw,68px);
}
body.page--contact .contact-brief__heading .section-text{
  grid-column:2;
  max-width:720px;
  margin:22px 0 0;
  color:rgba(11,11,11,.62);
}
body.page--contact .contact-box{
  margin:0 !important;
  padding:0 !important;
}
body.page--contact .contact-form{
  max-width:none !important;
  width:100%;
  margin:0 !important;
  padding:clamp(30px,3vw,48px) 0 0 !important;
  border:0 !important;
  border-top:1px solid rgba(11,11,11,.18) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
body.page--contact .contact-grid-2{
  gap:clamp(18px,2vw,30px);
}
body.page--contact .field{margin-top:clamp(22px,2.2vw,34px);}
body.page--contact .contact-grid-2>.field{margin-top:0;}
body.page--contact .field label,
body.page--contact .fieldset legend{
  margin-bottom:11px;
  color:rgba(11,11,11,.76) !important;
  font-family:"Audiowide",sans-serif;
  font-size:9px !important;
  font-weight:400 !important;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.page--contact .contact-form input[type="text"],
body.page--contact .contact-form input[type="email"],
body.page--contact .contact-form textarea{
  width:100%;
  padding:17px 18px;
  border:1px solid rgba(11,11,11,.16) !important;
  border-radius:0 !important;
  background:#f2f2f2 !important;
  color:var(--ink) !important;
  font:inherit;
  font-size:15px;
  line-height:1.55;
  outline:none;
  box-shadow:none !important;
  transition:border-color .2s ease,background .2s ease;
}
body.page--contact .contact-form textarea{min-height:150px;resize:vertical;}
body.page--contact .contact-form input::placeholder,
body.page--contact .contact-form textarea::placeholder{color:rgba(11,11,11,.38) !important;}
body.page--contact .contact-form input:focus,
body.page--contact .contact-form textarea:focus{
  border-color:var(--acid) !important;
  background:#fff !important;
  box-shadow:0 0 0 1px var(--acid) !important;
}
body.page--contact .contact-grid-2--tight{
  gap:1px;
  margin-top:clamp(24px,2.5vw,38px);
  border:1px solid rgba(11,11,11,.14);
  background:rgba(11,11,11,.14);
}
body.page--contact .fieldset{
  min-height:250px;
  margin:0 !important;
  padding:clamp(24px,2.3vw,36px) !important;
  border:0 !important;
  background:#f2f2f2;
}
body.page--contact .fieldset legend{
  float:left;
  width:100%;
  padding:0;
  margin:0 0 18px;
  color:var(--acid) !important;
}
body.page--contact .fieldset legend + *{clear:both;}
body.page--contact .opt{
  position:relative;
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-start;
  gap:12px;
  width:100%;
  padding:12px 0;
  border-top:1px solid rgba(11,11,11,.1);
  color:rgba(11,11,11,.72) !important;
  font-size:14px;
  line-height:1.45;
  transition:color .18s ease;
}
body.page--contact .opt:hover{color:var(--ink) !important;}
body.page--contact .opt input{
  flex:0 0 auto;
  width:15px;
  height:15px;
  margin-top:2px;
  accent-color:var(--acid);
}
body.page--contact .field--rodo{margin-top:28px;}
body.page--contact .rodo-consent{
  align-items:flex-start;
  flex-wrap:nowrap;
  gap:12px;
  padding-top:20px;
  border-top:1px solid rgba(11,11,11,.14);
}
body.page--contact .rodo-consent span{
  color:rgba(11,11,11,.62) !important;
  font-size:13px;
  font-weight:400;
}
body.page--contact .rodo-consent a{color:var(--ink);font-weight:600;}
body.page--contact .rodo-consent:hover span{color:var(--ink) !important;}
body.page--contact .form-actions{
  margin-top:30px;
  display:grid;
  grid-template-columns:minmax(260px,360px) minmax(0,1fr);
  align-items:center;
  gap:24px;
}
body.page--contact .form-actions .btn{
  width:100% !important;
  min-height:62px;
  color:var(--paper) !important;
}
body.page--contact .form-msg{color:rgba(11,11,11,.62);}

/* Contact uses the same light closing language as Portfolio / About. */
body.page--contact .footer-contact{
  background:#f2f2f2 !important;
  color:var(--ink) !important;
  border-top:1px solid rgba(11,11,11,.14) !important;
}
body.page--contact .footer-contact::before{
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
}
body.page--contact .footer-contact__kicker{color:var(--acid) !important;}
body.page--contact .footer-contact__headline{color:var(--ink) !important;}
body.page--contact .footer-contact__headline span{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1px var(--ink) !important;
}
body.page--contact .footer-contact__copy{color:rgba(11,11,11,.66) !important;}
body.page--contact .footer-contact__subactions,
body.page--contact .footer-contact__bottom{border-color:rgba(11,11,11,.14) !important;}
body.page--contact .footer-contact__textlink,
body.page--contact .footer-contact__cookies{color:var(--ink) !important;}
body.page--contact .footer-contact__textlink::after{background:var(--acid) !important;}
body.page--contact .footer-contact__textlink span{color:var(--acid) !important;}
body.page--contact .footer-contact__nav a,
body.page--contact .footer-contact__legal{color:rgba(11,11,11,.6) !important;}
body.page--contact .footer-contact__nav a:hover{color:var(--ink) !important;}

@media(max-width:999px){
  body.page--contact .contact-paths{grid-template-columns:1fr 1fr;}
  body.page--contact .contact-option--direct{grid-column:1 / -1;min-height:250px;}
  body.page--contact .contact-brief__heading{grid-template-columns:1fr;gap:18px;}
  body.page--contact .contact-brief__heading .section-kicker,
  body.page--contact .contact-brief__heading .section-title,
  body.page--contact .contact-brief__heading .section-text{grid-column:1;grid-row:auto;}
  body.page--contact .contact-brief__heading .section-kicker{margin:0 0 4px;}
}
@media(max-width:799px){
  body.page--contact .contact-hero{padding:62px 0 72px !important;}
  body.page--contact .contact-paths{grid-template-columns:1fr;}
  body.page--contact .contact-option,
  body.page--contact .contact-option--direct{grid-column:auto;min-height:280px;}
  body.page--contact .contact-brief{padding:72px 0 92px;}
  body.page--contact .contact-grid-2,
  body.page--contact .contact-grid-2--tight{grid-template-columns:1fr;}
  body.page--contact .contact-grid-2--tight{gap:1px;}
  body.page--contact .fieldset{min-height:0;}
  body.page--contact .form-actions{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  body.page--contact .contact-brief.is-open{animation:none;}
  body.page--contact .contact-option,
  body.page--contact .contact-option__action::after{transition:none;}
}


/* =========================================================
   CONTACT V50 — DIRECT EMAIL + DIRECT-OPEN BRIEF LINKS
========================================================= */
body.page--contact .contact-option--direct .contact-option__directlinks a:first-child{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-transform:none;
  letter-spacing:.045em;
  font-size:clamp(9px,.72vw,11px);
}

/* =========================================================
   CONSULTATION V51 — LIGHT SYSTEM + BOOKING REDESIGN
   Matches home / portfolio / about: white + soft grey + electric blue.
========================================================= */
body.page--consultation{
  --paper:#f2f2f2;
  --ink:#0b0b0b;
  --muted:rgba(11,11,11,.66);
  --muted2:rgba(11,11,11,.46);
  --hair:rgba(11,11,11,.14);
  background:var(--paper) !important;
  color:var(--ink) !important;
}
body.page--consultation::before{display:none !important;}
body.page--consultation::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
  background-size:76px 76px !important;
}
body.page--consultation .main{position:relative;z-index:1;background:transparent;}
body.page--consultation .page-hero__inner::before{content:none !important;display:none !important;}

/* Hero */
body.page--consultation .page-hero{
  background:rgba(242,242,242,.94) !important;
  color:var(--ink) !important;
  border-bottom:1px solid var(--hair);
}
body.page--consultation .consultation-hero__kicker{
  display:block;
  margin:0 0 24px;
  color:var(--acid) !important;
}
body.page--consultation .page-hero__title{
  color:var(--ink) !important;
  font-family:"Audiowide",sans-serif !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
body.page--consultation .page-hero .lead{
  max-width:980px !important;
  color:rgba(11,11,11,.68) !important;
}

/* Benefits */
body.page--consultation .subpage-section--consultation{
  padding:clamp(90px,9vw,140px) 0 !important;
  background:#e8e8e5;
  color:var(--ink);
}
body.page--consultation .consultation-intro{margin-bottom:46px;}
body.page--consultation .section-kicker{color:var(--acid) !important;}
body.page--consultation .section-title{color:var(--ink) !important;font-weight:400;}
body.page--consultation .section-text{color:rgba(11,11,11,.64) !important;}
body.page--consultation .consultation-highlights{
  gap:1px;
  margin-top:0 !important;
  background:rgba(11,11,11,.14);
  border:1px solid rgba(11,11,11,.14);
}
body.page--consultation .consultation-highlights .info-card{
  min-height:260px;
  padding:clamp(28px,3vw,42px);
  border:0 !important;
  border-radius:0 !important;
  background:#f2f2f2 !important;
  color:var(--ink) !important;
  box-shadow:none !important;
}
body.page--consultation .consultation-highlights .info-card span{color:var(--acid) !important;}
body.page--consultation .consultation-highlights .info-card h3{color:var(--ink) !important;}
body.page--consultation .consultation-highlights .info-card p{color:rgba(11,11,11,.64) !important;}

/* Reservation section */
body.page--consultation .booking{
  padding:clamp(96px,10vw,150px) 0 !important;
  background:#f2f2f2;
  color:var(--ink);
}
body.page--consultation .booking__wrap{
  width:auto;
  max-width:min(1380px,calc(100vw - 128px)) !important;
  margin:0 auto !important;
  padding:0 !important;
}
body.page--consultation .booking-section-head{
  margin-bottom:clamp(48px,6vw,80px);
}
body.page--consultation .booking-section-head__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);
  gap:clamp(48px,8vw,130px);
  align-items:end;
}
body.page--consultation .booking-section-head .section-title{
  max-width:none;
  font-size:clamp(38px,5vw,72px);
}
body.page--consultation .booking-section-head .section-text{
  margin:0;
  max-width:560px;
}
body.page--consultation .booking-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  align-items:start;
}
body.page--consultation .booking-col{display:grid;gap:24px;min-width:0;}
body.page--consultation .booking-card{
  padding:clamp(26px,2.8vw,40px) !important;
  border:1px solid rgba(11,11,11,.16) !important;
  border-radius:0 !important;
  background:#e8e8e5 !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  overflow:hidden;
}
body.page--consultation .booking-card--calendar{background:#e8e8e5 !important;}
body.page--consultation .booking-card--times,
body.page--consultation .booking-card--topics,
body.page--consultation .booking-card--form{background:#f7f7f5 !important;}
body.page--consultation .booking-head{margin-bottom:26px;}
body.page--consultation .booking-head--tight{margin-bottom:22px;}
body.page--consultation .booking-head__left{gap:16px;align-items:flex-start;}
body.page--consultation .booking-ic{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:0 !important;
  border-radius:0 !important;
  background:var(--acid) !important;
  color:#fff !important;
  box-shadow:none !important;
  font-family:"Audiowide",sans-serif;
  font-size:10px;
  letter-spacing:.08em;
}
body.page--consultation .booking-kicker{
  margin-bottom:7px;
  color:var(--acid) !important;
  opacity:1 !important;
  font-family:"Audiowide",sans-serif;
  font-size:9px;
  font-weight:400;
  letter-spacing:.16em;
}
body.page--consultation .booking-h{
  color:var(--ink);
  font-family:"Audiowide",sans-serif;
  font-weight:400;
  font-size:clamp(20px,2vw,30px);
  letter-spacing:.03em;
}
body.page--consultation .booking-datebadge{
  padding:9px 11px;
  border:1px solid rgba(11,11,11,.14);
  color:rgba(11,11,11,.68);
  font-size:10px;
  opacity:1;
}

/* Month + calendar */
body.page--consultation .booking-monthbar{
  justify-content:space-between;
  gap:12px;
  padding:18px 0 14px;
  margin:0 0 8px;
  border-top:1px solid rgba(11,11,11,.12);
  border-bottom:1px solid rgba(11,11,11,.12);
}
body.page--consultation .booking-month{
  color:var(--ink);
  font-size:13px;
  font-weight:400;
  opacity:1;
}
body.page--consultation .booking-navbtn{
  width:44px;
  height:44px;
  border:1px solid rgba(11,11,11,.16) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  font-size:24px;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
body.page--consultation .booking-navbtn:hover{
  background:var(--acid) !important;
  border-color:var(--acid) !important;
  color:#fff !important;
}
body.page--consultation .booking-dow{
  color:rgba(11,11,11,.52);
  opacity:1;
  font-family:"Audiowide",sans-serif;
  font-size:9px;
  font-weight:400;
  letter-spacing:.08em;
}
body.page--consultation .booking-days{gap:8px;padding:12px 0 6px;}
body.page--consultation .cal-day{
  height:54px;
  border:1px solid rgba(11,11,11,.13) !important;
  border-radius:0 !important;
  background:#f2f2f2 !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  font-size:11px;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
body.page--consultation .cal-day:hover:not(:disabled){
  border-color:var(--acid) !important;
  transform:translateY(-1px);
}
body.page--consultation .cal-day.is-selected{
  background:var(--acid) !important;
  color:#fff !important;
  border-color:var(--acid) !important;
}
body.page--consultation .cal-day.is-disabled{
  opacity:.25;
  background:rgba(11,11,11,.025) !important;
  color:rgba(11,11,11,.62) !important;
}
body.page--consultation .cal-day.is-outside{opacity:.36;}
body.page--consultation .booking-legend{
  gap:14px;
  padding:18px 0 0;
  color:rgba(11,11,11,.55);
  opacity:1;
  font-size:11px;
}
body.page--consultation .legend-dot{
  width:12px;height:12px;
  margin-right:4px;
  border-radius:0;
  border:1px solid rgba(11,11,11,.18);
  background:#f2f2f2;
}
body.page--consultation .legend-dot.is-selected{background:var(--acid);border-color:var(--acid);}
body.page--consultation .legend-dot.is-available{background:#f2f2f2;}
body.page--consultation .legend-dot.is-disabled{background:rgba(11,11,11,.08);opacity:.4;}

/* Times + topics */
body.page--consultation .booking-hint{
  margin:8px 0 22px;
  color:rgba(11,11,11,.60) !important;
  font-size:14px;
}
body.page--consultation .booking-note{color:rgba(11,11,11,.56) !important;}
body.page--consultation .booking-times{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
body.page--consultation .pill{
  height:58px;
  border:1px solid rgba(11,11,11,.14) !important;
  border-radius:0 !important;
  background:#e8e8e5 !important;
  color:var(--ink) !important;
  font-size:10px;
  box-shadow:none !important;
}
body.page--consultation .pill:hover:not(:disabled){
  border-color:var(--acid) !important;
  transform:translateY(-1px);
}
body.page--consultation .pill.is-selected{
  background:var(--acid) !important;
  color:#fff !important;
  border-color:var(--acid) !important;
  box-shadow:none !important;
}
body.page--consultation .pill.is-disabled{opacity:.24;}
body.page--consultation .booking-topics{gap:8px;}
body.page--consultation .topic{
  min-height:66px;
  height:auto;
  padding:16px 18px;
  border:1px solid rgba(11,11,11,.14) !important;
  border-radius:0 !important;
  background:#e8e8e5 !important;
  color:var(--ink) !important;
  font-size:10px;
  box-shadow:none !important;
}
body.page--consultation .topic:hover{
  border-color:var(--acid) !important;
  transform:translateY(-1px);
}
body.page--consultation .topic.is-selected{
  background:var(--acid) !important;
  color:#fff !important;
  border-color:var(--acid) !important;
  box-shadow:none !important;
}

/* Contact form */
body.page--consultation .booking-formwrap{
  margin-top:24px;
}
body.page--consultation .booking-formwrap[hidden],
body.page--consultation #topicCard[hidden]{display:none !important;}
body.page--consultation .booking-card--form{
  padding:clamp(30px,4vw,56px) !important;
}
body.page--consultation .booking-fields{gap:26px;margin-top:28px;}
body.page--consultation .booking-grid2{gap:18px 24px;}
body.page--consultation .field label{
  margin-bottom:10px;
  color:rgba(11,11,11,.74) !important;
  font-family:"Audiowide",sans-serif;
  font-size:9px;
  font-weight:400;
  letter-spacing:.10em;
  text-transform:uppercase;
}
body.page--consultation .booking-form input[type="text"],
body.page--consultation .booking-form input[type="email"],
body.page--consultation .booking-form input[type="tel"],
body.page--consultation .booking-form textarea{
  width:100%;
  padding:17px 0 15px !important;
  border:0 !important;
  border-bottom:1px solid rgba(11,11,11,.22) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  font-size:15px;
}
body.page--consultation .booking-form textarea{min-height:150px;resize:vertical;}
body.page--consultation .booking-form input::placeholder,
body.page--consultation .booking-form textarea::placeholder{color:rgba(11,11,11,.35) !important;}
body.page--consultation .booking-form input:focus,
body.page--consultation .booking-form textarea:focus{
  border-bottom-color:var(--acid) !important;
  box-shadow:0 1px 0 var(--acid) !important;
  outline:none !important;
}
body.page--consultation .booking-finalsummary{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  padding:1px !important;
  border:1px solid rgba(11,11,11,.14) !important;
  border-radius:0 !important;
  background:rgba(11,11,11,.14) !important;
  color:var(--ink) !important;
}
body.page--consultation .booking-finalsummary>div{
  padding:18px;
  background:#e8e8e5;
}
body.page--consultation .booking-finalsummary strong{
  display:block;
  margin-bottom:7px;
  color:var(--acid);
  font-family:"Audiowide",sans-serif;
  font-size:8px;
  font-weight:400;
  letter-spacing:.10em;
  text-transform:uppercase;
}
body.page--consultation .rodo-consent{
  display:flex !important;
  gap:12px;
  align-items:flex-start;
  color:rgba(11,11,11,.60) !important;
  font-family:inherit !important;
  font-size:13px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  line-height:1.55;
}
body.page--consultation .rodo-consent input{accent-color:var(--acid);margin-top:3px;}
body.page--consultation .rodo-consent a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
body.page--consultation #submitBooking{
  min-height:64px;
  border-radius:0 !important;
  background:var(--acid) !important;
  color:#fff !important;
  box-shadow:none !important;
}
body.page--consultation #submitBooking::after{display:none !important;}
body.page--consultation #submitBooking:hover{transform:none !important;filter:brightness(.96) !important;}
body.page--consultation .form-msg{color:var(--ink);}
body.page--consultation .form-msg.is-ok{color:#16743a;}
body.page--consultation .form-msg.is-err{color:#b42318;}

/* Brief CTA */
body.page--consultation .subpage-cta--consultation{
  padding:clamp(90px,9vw,135px) 0 !important;
  background:#e8e8e5;
  color:var(--ink);
  border-top:1px solid rgba(11,11,11,.14);
}
body.page--consultation .subpage-cta--consultation .subpage-cta__inner{
  border-top:0;
  padding-top:0;
}
body.page--consultation .subpage-cta--consultation .btn{
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Light footer to match the page */
body.page--consultation .footer-contact{
  background:#f2f2f2 !important;
  color:var(--ink) !important;
  border-top:1px solid rgba(11,11,11,.14) !important;
}
body.page--consultation .footer-contact::before{
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
}
body.page--consultation .footer-contact__kicker{color:var(--acid) !important;}
body.page--consultation .footer-contact__headline{color:var(--ink) !important;}
body.page--consultation .footer-contact__headline span{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1px var(--ink) !important;
}
body.page--consultation .footer-contact__copy{color:rgba(11,11,11,.66) !important;}
body.page--consultation .footer-contact__subactions,
body.page--consultation .footer-contact__bottom{border-color:rgba(11,11,11,.14) !important;}
body.page--consultation .footer-contact__textlink,
body.page--consultation .footer-contact__cookies{color:var(--ink) !important;}
body.page--consultation .footer-contact__textlink::after{background:var(--acid) !important;}
body.page--consultation .footer-contact__textlink span{color:var(--acid) !important;}
body.page--consultation .footer-contact__nav a,
body.page--consultation .footer-contact__legal{color:rgba(11,11,11,.6) !important;}
body.page--consultation .footer-contact__nav a:hover{color:var(--ink) !important;}

@media(max-width:1199px){
  body.page--consultation .booking__wrap{max-width:calc(100vw - 72px) !important;}
  body.page--consultation .booking-grid{grid-template-columns:1fr;}
  body.page--consultation .booking-section-head__grid{grid-template-columns:1fr;gap:22px;}
  body.page--consultation .booking-section-head .section-text{max-width:720px;}
}
@media(max-width:799px){
  body.page--consultation .booking__wrap{max-width:calc(100vw - 36px) !important;}
  body.page--consultation .subpage-section--consultation{padding:76px 0 !important;}
  body.page--consultation .booking{padding:80px 0 !important;}
  body.page--consultation .booking-card{padding:22px !important;}
  body.page--consultation .booking-times{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.page--consultation .booking-finalsummary{grid-template-columns:1fr;}
  body.page--consultation .booking-grid2{grid-template-columns:1fr;}
}
@media(max-width:520px){
  body.page--consultation .booking-days{gap:5px;}
  body.page--consultation .cal-day{height:46px;font-size:9px;}
  body.page--consultation .booking-dow{font-size:8px;}
  body.page--consultation .booking-legend{flex-wrap:wrap;}
  body.page--consultation .booking-head{flex-direction:column;}
  body.page--consultation .booking-datebadge{align-self:flex-start;}
}

/* =========================================================
   PROJECT CASE STUDIES V59 — GALLERY FIRST / CONTEXT GRID / HOME-04 FINAL
========================================================= */
/* Stop the global subpage pseudo-label from becoming a grid item in project sections. */
body.page--project .page-hero__inner::before{
  content:none !important;
  display:none !important;
}

/* Gallery is the first visual proof directly after the hero. */
body.page--project .project-gallery{
  padding:clamp(34px,4.5vw,72px) 0 clamp(74px,8vw,124px) !important;
  background:#0b0b0b;
}
body.page--project .project-gallery__grid{
  gap:clamp(14px,1.5vw,24px) !important;
}

/* SELECTED CONTEXT belongs only to the challenges chapter and sits below the gallery. */
body.page--project .project-context-kicker{
  display:block;
  margin-bottom:clamp(34px,4vw,58px);
  color:var(--acid);
  font-family:"Audiowide",sans-serif;
  font-size:9px;
  line-height:1.4;
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* Fix the broken two-row layout: heading on the LEFT, challenge cards on the RIGHT. */
body.page--project .project-challenges{
  padding:clamp(74px,8vw,126px) 0 clamp(90px,9vw,144px) !important;
}
body.page--project .project-challenges__inner{
  display:grid !important;
  grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr) !important;
  grid-template-areas:"side cards" !important;
  column-gap:clamp(54px,7vw,122px) !important;
  row-gap:0 !important;
  align-items:start !important;
}
body.page--project .project-challenges__side{
  grid-area:side !important;
  min-width:0 !important;
}
body.page--project .project-challenges__cards{
  grid-area:cards !important;
  min-width:0 !important;
  margin-top:0 !important;
}
body.page--project .project-challenges__title{
  max-width:9.5ch;
  font-family:"Audiowide",sans-serif !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  font-size:clamp(34px,3.8vw,62px) !important;
  line-height:.98 !important;
}

/* Replace the old project CTA band with the same language as homepage chapter 04 / ZACZNIJMY. */
body.page--project .project-final{
  min-height:100svh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  padding:0;
  background:#f2f2f2;
  color:#0b0b0b;
  border-top:1px solid rgba(11,11,11,.12);
  border-bottom:1px solid rgba(11,11,11,.12);
}
body.page--project .project-final::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(11,11,11,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.025) 1px,transparent 1px);
  background-size:76px 76px;
}
body.page--project .project-final__inner{
  position:relative;
  z-index:1;
  width:100%;
  padding:clamp(108px,10vw,156px) 0 clamp(92px,9vw,138px) !important;
}
body.page--project .project-final__kicker{
  margin-bottom:clamp(52px,6vw,84px);
  color:rgba(11,11,11,.46);
  font-family:"Audiowide",sans-serif;
  font-size:10px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
body.page--project .project-final__kicker span{color:var(--acid);}
body.page--project .project-final__title,
body.page--project .project-final__answer{
  margin:0;
  color:#0b0b0b;
  font-family:"Audiowide",sans-serif;
  font-size:clamp(62px,10.2vw,170px);
  font-weight:400;
  line-height:.82;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
body.page--project .project-final__title span{
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1.5px #0b0b0b;
}
body.page--project .project-final__answer{
  margin-left:clamp(50px,12vw,210px);
  margin-top:24px;
}
body.page--project .project-final__actions{
  display:flex;
  align-items:center;
  gap:clamp(26px,4vw,48px);
  margin-top:clamp(54px,6vw,76px);
  padding-top:32px;
  border-top:1px solid rgba(11,11,11,.2);
}
body.page--project .project-final__cta{
  min-width:min(520px,100%);
}
body.page--project .project-final__brief{
  color:#0b0b0b !important;
}
body.page--project .project-final__brief::after{
  background:var(--acid) !important;
}
body.page--project .project-final__brief span{
  color:var(--acid) !important;
}

@media(max-width:900px){
  body.page--project .project-challenges__inner{
    grid-template-columns:1fr !important;
    grid-template-areas:"side" "cards" !important;
    row-gap:34px !important;
  }
  body.page--project .project-challenges__side{
    position:static !important;
    top:auto !important;
  }
  body.page--project .project-challenges__title{
    max-width:none;
  }
  body.page--project .project-final{
    min-height:auto;
  }
  body.page--project .project-final__title,
  body.page--project .project-final__answer{
    font-size:clamp(56px,13vw,110px);
  }
  body.page--project .project-final__answer{
    margin-left:0;
    margin-top:30px;
  }
  body.page--project .project-final__actions{
    align-items:flex-start;
    flex-direction:column;
  }
  body.page--project .project-final__cta{
    width:100%;
    min-width:0;
  }
}
@media(max-width:599px){
  body.page--project .project-final__title,
  body.page--project .project-final__answer{
    font-size:clamp(48px,15vw,78px);
  }
  body.page--project .project-final__title span{
    -webkit-text-stroke-width:1px;
  }
}

/* =========================================================
   PROJECT CASE STUDIES V60 — FULL IMAGE FIT / NUMBERING / NO NEXT PROJECT
========================================================= */
body.page--project .project-shot{
  aspect-ratio:16 / 10 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#0b0b0b !important;
}
body.page--project .project-shot img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}
@media (hover:hover) and (pointer:fine){
  body.page--project .project-shot:hover img{
    transform:none !important;
  }
}

/* =========================================================
   PROJECT V61 — ACHIEVEMENTS SPACING / COLUMN SEPARATION
========================================================= */
body.page--project .project-context-kicker{
  margin-bottom:clamp(58px,6vw,92px) !important;
}
body.page--project .project-challenges__inner{
  grid-template-columns:minmax(250px,.48fr) minmax(0,1.52fr) !important;
  column-gap:clamp(96px,9vw,170px) !important;
}
body.page--project .project-challenges__side{
  padding-right:clamp(18px,2.2vw,42px) !important;
}
body.page--project .project-challenges__title{
  max-width:8.2ch !important;
}
@media(max-width:1199px) and (min-width:901px){
  body.page--project .project-context-kicker{
    margin-bottom:54px !important;
  }
  body.page--project .project-challenges__inner{
    grid-template-columns:minmax(230px,.52fr) minmax(0,1.48fr) !important;
    column-gap:clamp(72px,7vw,108px) !important;
  }
  body.page--project .project-challenges__side{
    padding-right:24px !important;
  }
}
@media(max-width:900px){
  body.page--project .project-context-kicker{
    margin-bottom:36px !important;
  }
  body.page--project .project-challenges__side{
    padding-right:0 !important;
  }
}

/* =========================================================
   V64 — SUBPAGES RESPONSIVE SYSTEM
========================================================= */
/* One horizontal frame across every non-home page. */
body.page:not(.page--home) .page-hero__inner,
body.page--portfolio .projects .page-hero__inner,
body.page--project .project-challenges__inner,
body.page--project .project-gallery__grid,
body.page--consultation .booking__wrap{
  width:min(calc(100% - (var(--site-gutter) + var(--site-gutter))),var(--site-max)) !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Generic subpage typography should scale without forcing horizontal overflow. */
body.page:not(.page--home) .page-hero__title,
body.page:not(.page--home) .section-title,
body.page--project .project-title,
body.page--project .project-challenges__title{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* Portfolio */
@media (max-width:900px){
  body.page--portfolio .projectsGrid{grid-template-columns:1fr !important;gap:clamp(42px,8vw,64px) !important;}
  body.page--portfolio .pMeta{flex-wrap:wrap;min-height:0;gap:8px 14px;}
  body.page--portfolio .pSub{min-height:0 !important;}
}
@media (max-width:599px){
  body.page--portfolio .portfolio-hero{padding:48px 0 44px !important;}
  body.page--portfolio .portfolio-hero .page-hero__inner::before{margin-bottom:22px !important;}
  body.page--portfolio .portfolio-hero .page-hero__title{
    font-size:clamp(38px,11.8vw,58px) !important;
    line-height:.91 !important;
  }
  body.page--portfolio .portfolio-hero__copy{margin-top:28px !important;padding-top:22px !important;gap:20px !important;}
  body.page--portfolio .portfolio-hero__copy p{font-size:16px !important;line-height:1.55 !important;}
  body.page--portfolio .story-text-link{width:fit-content !important;max-width:100% !important;white-space:normal !important;font-size:9px !important;line-height:1.35 !important;}
  body.page--portfolio .projects{padding:44px 0 88px !important;}
  body.page--portfolio .pVisual{padding:12px !important;}
  body.page--portfolio .pTitle{font-size:clamp(22px,7vw,30px) !important;line-height:1.06 !important;}
  body.page--portfolio .pSub{font-size:14px !important;line-height:1.58 !important;}
  body.page--portfolio .pLive{white-space:normal;}
}

/* About */
@media (max-width:799px){
  body.page--about .page-hero{padding-top:54px !important;padding-bottom:68px !important;}
  body.page--about .page-hero__title{font-size:clamp(44px,13vw,68px) !important;line-height:.92 !important;margin-bottom:34px !important;}
  body.page--about .about-grid{gap:18px !important;margin-bottom:48px !important;padding-top:24px !important;}
  body.page--about .about-text{font-size:15px !important;line-height:1.62 !important;}
  body.page--about .big-quote{font-size:clamp(22px,7.5vw,34px) !important;line-height:1.12 !important;}
  body.page--about .marquee-section .marquee__card{
    width:min(86vw,380px) !important;
    min-height:260px !important;
    padding:24px !important;
  }
  body.page--about .marquee-section .card__title{font-size:clamp(20px,6vw,26px) !important;}
  body.page--about .subpage-section--about{padding-bottom:80px !important;}
  body.page--about .subpage-cta--about-contact .subpage-cta__inner{gap:30px !important;}
  body.page--about .subpage-cta--about-contact .about-cta__copy .section-title{font-size:clamp(27px,8vw,40px) !important;line-height:1.08 !important;}
  body.page--about .subpage-cta--about-contact .subpage-cta__actions{width:100% !important;}
  body.page--about .subpage-cta--about-contact .btn{width:100% !important;justify-content:space-between !important;}
}

/* Contact */
@media (max-width:799px){
  body.page--contact .contact-hero{padding:54px 0 64px !important;}
  body.page--contact .contact-hero .page-hero__title{font-size:clamp(42px,12vw,64px) !important;line-height:.94 !important;}
  body.page--contact .contact-hero__lead{font-size:16px !important;line-height:1.6 !important;}
  body.page--contact .contact-paths{margin-top:42px !important;}
  body.page--contact .contact-option,
  body.page--contact .contact-option--direct{min-height:230px !important;padding:24px 20px !important;}
  body.page--contact .contact-option__index{margin-bottom:30px !important;}
  body.page--contact .contact-option__title{font-size:clamp(19px,6vw,25px) !important;}
  body.page--contact .contact-option__text{font-size:14px !important;line-height:1.6 !important;}
  body.page--contact .contact-brief{padding:66px 0 82px !important;}
  body.page--contact .contact-brief__heading{margin-bottom:38px !important;}
  body.page--contact .contact-brief__heading .section-title{font-size:clamp(28px,8vw,42px) !important;line-height:1.06 !important;}
  body.page--contact .contact-brief__heading .section-text{font-size:15px !important;line-height:1.6 !important;}
  body.page--contact .contact-form{padding-top:26px !important;}
  body.page--contact .fieldset{padding:20px !important;}
  body.page--contact .form-actions .btn{min-height:56px !important;}
}

/* Consultation / booking */
body.page--consultation .booking__wrap{padding-left:0 !important;padding-right:0 !important;}
@media (max-width:799px){
  body.page--consultation .consultation-hero{padding:54px 0 66px !important;}
  body.page--consultation .consultation-hero .page-hero__title{font-size:clamp(38px,11vw,60px) !important;line-height:.94 !important;}
  body.page--consultation .consultation-hero .lead{font-size:16px !important;line-height:1.6 !important;}
  body.page--consultation .subpage-section--consultation{padding:68px 0 !important;}
  body.page--consultation .booking{padding:70px 0 !important;}
  body.page--consultation .booking-section-head{margin-bottom:38px !important;}
  body.page--consultation .booking-card{padding:20px !important;}
  body.page--consultation .booking-h{font-size:clamp(18px,5.8vw,24px) !important;line-height:1.1 !important;}
  body.page--consultation .booking-month{min-width:0 !important;flex:1 1 auto !important;font-size:11px !important;}
  body.page--consultation .booking-navbtn{width:42px !important;height:42px !important;flex:0 0 42px !important;}
  body.page--consultation .booking-days{gap:5px !important;padding-inline:0 !important;}
  body.page--consultation .booking-dow{gap:5px !important;padding-inline:0 !important;}
  body.page--consultation .cal-day{height:44px !important;min-width:0 !important;font-size:9px !important;padding:0 !important;}
  body.page--consultation .booking-times{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:7px !important;}
  body.page--consultation .pill{height:52px !important;}
  body.page--consultation .topic{min-height:58px !important;padding:14px !important;}
  body.page--consultation .booking-card--form{padding:22px 20px !important;}
  body.page--consultation .booking-fields{gap:22px !important;}
  body.page--consultation .booking-finalsummary>div{padding:15px !important;}
  body.page--consultation .subpage-cta--consultation{padding:72px 0 !important;}
  body.page--consultation .subpage-cta--consultation .subpage-cta__inner{gap:28px !important;}
}
@media (max-width:380px){
  body.page--consultation .booking-card{padding:16px !important;}
  body.page--consultation .cal-day{height:40px !important;font-size:8px !important;}
  body.page--consultation .booking-dow{font-size:7px !important;}
  body.page--consultation .booking-legend{gap:8px !important;font-size:9px !important;}
}

/* Project case studies */
@media (max-width:900px){
  body.page--project .project-hero{padding-top:46px !important;}
  body.page--project .project-title{font-size:clamp(42px,12vw,68px) !important;line-height:.94 !important;}
  body.page--project .project-lead{font-size:15px !important;line-height:1.62 !important;}
  body.page--project .project-gallery{padding:32px 0 72px !important;}
  body.page--project .project-gallery__grid{grid-template-columns:1fr !important;gap:14px !important;}
  body.page--project .project-shot{aspect-ratio:auto !important;min-height:220px !important;padding:10px !important;}
  body.page--project .project-shot img{height:auto !important;max-height:70svh !important;object-fit:contain !important;}
  body.page--project .project-challenges{padding:64px 0 78px !important;}
  body.page--project .project-context-kicker{margin-bottom:26px !important;}
  body.page--project .project-challenges__inner{row-gap:28px !important;}
  body.page--project .project-challenges__title{font-size:clamp(34px,10vw,52px) !important;line-height:1 !important;max-width:none !important;}
  body.page--project .project-card{padding:22px 20px !important;}
  body.page--project .project-card__title{font-size:clamp(17px,5.4vw,22px) !important;}
  body.page--project .project-final__inner{padding:84px 0 76px !important;}
  body.page--project .project-final__kicker{margin-bottom:38px !important;}
  body.page--project .project-final__title,
  body.page--project .project-final__answer{font-size:clamp(46px,13vw,76px) !important;line-height:.88 !important;}
  body.page--project .project-final__actions{margin-top:46px !important;padding-top:24px !important;gap:18px !important;}
  body.page--project .project-final__cta{width:100% !important;justify-content:space-between !important;}
}
@media (max-width:479px){
  body.page--project .project-title{font-size:clamp(36px,10.8vw,50px) !important;}
  body.page--project .project-shot{min-height:180px !important;padding:6px !important;}
  body.page--project .project-challenges__title{font-size:clamp(30px,9vw,42px) !important;}
  body.page--project .project-final__title,
  body.page--project .project-final__answer{font-size:clamp(40px,11.5vw,60px) !important;}
  body.page--project .project-final__brief{font-size:9px !important;white-space:normal !important;}
}

/* Privacy / clients / older generic pages */
@media (max-width:799px){
  body.page--privacy .page-hero__title,
  body.page--clients .page-hero__title{font-size:clamp(38px,11vw,60px) !important;line-height:.95 !important;}
  .info-grid--three,.project-meta{grid-template-columns:1fr !important;}
}

/* V64.1 — portrait tablet uses a single-column About CTA; 25/75 starts where it stays comfortable. */
@media (max-width:959px){
  body.page--about .subpage-cta--about-contact .subpage-cta__inner{
    grid-template-columns:1fr !important;
    grid-template-areas:"copy" "aside" !important;
    gap:32px !important;
  }
  body.page--about .subpage-cta--about-contact .about-cta__copy{grid-area:copy !important;}
  body.page--about .subpage-cta--about-contact .about-cta__aside{grid-area:aside !important;}
}
@media (min-width:960px){
  body.page--about .subpage-cta--about-contact .subpage-cta__inner{
    grid-template-columns:minmax(0,1fr) minmax(0,3fr) !important;
    grid-template-areas:"aside copy" !important;
  }
}

/* =========================================================
   PRIVACY V65 — LIGHT EDITORIAL / LEGAL PAGE
========================================================= */
body.page--privacy{
  --paper:#f2f2f2;
  --ink:#0b0b0b;
  --muted:rgba(11,11,11,.66);
  --muted2:rgba(11,11,11,.46);
  --hair:rgba(11,11,11,.14);
  background:var(--paper) !important;
  color:var(--ink) !important;
}
body.page--privacy::before{display:none !important;}
body.page--privacy::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
  background-size:var(--site-grid,76px) var(--site-grid,76px) !important;
}
body.page--privacy .main{position:relative;z-index:1;background:transparent;}

body.page--privacy .privacy-hero{
  padding:clamp(72px,8vw,126px) 0 clamp(72px,8vw,118px);
  border-bottom:1px solid var(--hair);
}
body.page--privacy .privacy-hero__inner{position:relative;}
body.page--privacy .privacy-hero__kicker{
  display:block;
  margin:0 0 clamp(28px,4vw,54px);
  color:var(--acid) !important;
}
body.page--privacy .privacy-hero__title{
  margin:0;
  max-width:1180px;
  font-family:"Audiowide",sans-serif;
  font-size:clamp(62px,9vw,146px);
  font-weight:400;
  line-height:.84;
  letter-spacing:-.025em;
  text-transform:uppercase;
  color:var(--ink);
}
body.page--privacy .privacy-hero__title span{
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1px var(--ink);
}
body.page--privacy .privacy-hero__bottom{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:clamp(44px,8vw,140px);
  align-items:end;
  margin-top:clamp(52px,7vw,96px);
  padding-top:28px;
  border-top:1px solid var(--hair);
}
body.page--privacy .privacy-hero__lead{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:clamp(17px,1.35vw,21px);
  line-height:1.72;
}
body.page--privacy .privacy-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px 22px;
  justify-content:flex-end;
  color:var(--ink);
  font-family:"Audiowide",sans-serif;
  font-size:9px;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.page--privacy .privacy-hero__meta span:first-child{color:var(--acid);}

body.page--privacy .privacy-document{padding:0 0 clamp(100px,11vw,180px);}
body.page--privacy .privacy-row{
  display:grid;
  grid-template-columns:70px minmax(220px,.7fr) minmax(0,1.3fr);
  gap:clamp(24px,4vw,72px);
  align-items:start;
  padding:clamp(36px,4.5vw,70px) 0;
  border-bottom:1px solid var(--hair);
  scroll-margin-top:120px;
  transition:background .2s ease;
}
body.page--privacy .privacy-row:first-child{border-top:1px solid var(--hair);}
body.page--privacy .privacy-row__number{
  padding-top:5px;
  color:var(--acid);
  font-family:"Audiowide",sans-serif;
  font-size:10px;
  letter-spacing:.14em;
}
body.page--privacy .privacy-row__title{
  margin:0;
  max-width:18ch;
  color:var(--ink);
  font-family:"Audiowide",sans-serif;
  font-size:clamp(20px,2.05vw,34px);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.01em;
  text-transform:uppercase;
}
body.page--privacy .privacy-row__content{
  max-width:820px;
  color:var(--muted);
  font-size:16px;
  line-height:1.78;
}
body.page--privacy .privacy-row__content p{margin:0;}
body.page--privacy .privacy-row__content p + p{margin-top:18px;}
body.page--privacy .privacy-row__content strong{color:var(--ink);font-weight:700;}
body.page--privacy .privacy-row__content ul{
  margin:18px 0 0;
  padding:0;
  list-style:none;
}
body.page--privacy .privacy-row__content li{
  position:relative;
  margin:0;
  padding:12px 0 12px 26px;
  border-top:1px solid rgba(11,11,11,.09);
}
body.page--privacy .privacy-row__content li:last-child{border-bottom:1px solid rgba(11,11,11,.09);}
body.page--privacy .privacy-row__content li::before{
  content:"";
  position:absolute;
  left:1px;
  top:22px;
  width:7px;
  height:7px;
  background:var(--acid);
}
body.page--privacy .privacy-row:hover{
  background:rgba(255,255,255,.38);
}
body.page--privacy .privacy-cookie-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:28px;
  padding:0 0 8px;
  border:0;
  border-bottom:1px solid transparent;
  background:transparent;
  color:var(--ink);
  font-family:"Audiowide",sans-serif;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
}
body.page--privacy .privacy-cookie-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:56px;
  height:1px;
  background:var(--acid);
  transition:width .22s ease;
}
body.page--privacy .privacy-cookie-link:hover::after{width:100%;}
body.page--privacy .privacy-cookie-link span{color:var(--acid);}

/* Privacy footer uses the same light system as About / Contact. */
body.page--privacy .footer-contact{
  background:#f2f2f2 !important;
  color:var(--ink) !important;
  border-top:1px solid rgba(11,11,11,.14) !important;
}
body.page--privacy .footer-contact::before{
  background-image:
    linear-gradient(rgba(11,11,11,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,11,11,.022) 1px,transparent 1px) !important;
}
body.page--privacy .footer-contact__kicker{color:var(--acid) !important;}
body.page--privacy .footer-contact__headline{color:var(--ink) !important;}
body.page--privacy .footer-contact__headline span{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1px var(--ink) !important;
}
body.page--privacy .footer-contact__copy{color:rgba(11,11,11,.66) !important;}
body.page--privacy .footer-contact__subactions,
body.page--privacy .footer-contact__bottom{border-color:rgba(11,11,11,.14) !important;}
body.page--privacy .footer-contact__textlink,
body.page--privacy .footer-contact__cookies{color:var(--ink) !important;}
body.page--privacy .footer-contact__textlink::after{background:var(--acid) !important;}
body.page--privacy .footer-contact__textlink span{color:var(--acid) !important;}
body.page--privacy .footer-contact__nav a,
body.page--privacy .footer-contact__legal{color:rgba(11,11,11,.6) !important;}
body.page--privacy .footer-contact__nav a:hover{color:var(--ink) !important;}

@media(max-width:999px){
  body.page--privacy .privacy-hero__bottom{grid-template-columns:1fr;gap:28px;}
  body.page--privacy .privacy-hero__meta{justify-content:flex-start;}
  body.page--privacy .privacy-row{
    grid-template-columns:54px minmax(0,1fr);
    gap:18px 24px;
  }
  body.page--privacy .privacy-row__title{max-width:none;}
  body.page--privacy .privacy-row__content{grid-column:2;}
}
@media(max-width:599px){
  body.page--privacy .privacy-hero{padding:48px 0 64px;}
  body.page--privacy .privacy-hero__kicker{margin-bottom:24px;}
  body.page--privacy .privacy-hero__title{
    font-size:clamp(42px,13vw,62px);
    line-height:.9;
  }
  body.page--privacy .privacy-hero__title span{-webkit-text-stroke:.8px var(--ink);}
  body.page--privacy .privacy-hero__bottom{margin-top:42px;padding-top:22px;}
  body.page--privacy .privacy-hero__lead{font-size:16px;line-height:1.65;}
  body.page--privacy .privacy-hero__meta{gap:10px 16px;font-size:8px;}
  body.page--privacy .privacy-row{
    grid-template-columns:1fr;
    gap:12px;
    padding:36px 0;
  }
  body.page--privacy .privacy-row__number{padding:0;}
  body.page--privacy .privacy-row__title{
    font-size:clamp(20px,6.4vw,28px);
    line-height:1.08;
  }
  body.page--privacy .privacy-row__content{
    grid-column:1;
    margin-top:8px;
    font-size:15px;
    line-height:1.7;
  }
  body.page--privacy .privacy-row__content li{padding:11px 0 11px 22px;}
  body.page--privacy .privacy-row__content li::before{top:20px;width:6px;height:6px;}
}

/* =========================================================
   PRIVACY V67 — OPEN LIGHT DOCUMENT, NO FRAME / NO CARDS
========================================================= */
body.page--privacy{
  background:#f3f3f1 !important;
  color:#0b0b0b !important;
}
body.page--privacy::before,
body.page--privacy::after{
  display:none !important;
  content:none !important;
}
body.page--privacy .main{
  background:#f3f3f1 !important;
}

/* Open hero aligned to the same viewport as the navbar. */
body.page--privacy .privacy-hero{
  padding:clamp(92px,8vw,132px) 0 clamp(68px,6vw,96px) !important;
  border:0 !important;
  background:transparent !important;
}
body.page--privacy .privacy-hero__inner{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.page--privacy .privacy-hero__kicker{
  margin:0 0 clamp(34px,4vw,56px) !important;
  color:var(--acid) !important;
}
body.page--privacy .privacy-hero__title{
  width:100% !important;
  max-width:1100px !important;
  margin:0 !important;
  color:#0b0b0b !important;
  font-size:clamp(58px,8.2vw,132px) !important;
  line-height:.88 !important;
}
body.page--privacy .privacy-hero__title span{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1px #0b0b0b !important;
}
body.page--privacy .privacy-hero__bottom{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:clamp(36px,7vw,110px) !important;
  align-items:end !important;
  margin-top:clamp(46px,6vw,78px) !important;
  padding-top:24px !important;
  border-top:1px solid rgba(11,11,11,.16) !important;
  background:transparent !important;
}
body.page--privacy .privacy-hero__lead{
  max-width:760px !important;
  color:rgba(11,11,11,.66) !important;
}
body.page--privacy .privacy-hero__meta{
  justify-content:flex-end !important;
  color:rgba(11,11,11,.66) !important;
}

/* Document is an open editorial list — no outer frame, no cards. */
body.page--privacy .privacy-document{
  padding:0 0 clamp(110px,10vw,160px) !important;
  background:transparent !important;
  border:0 !important;
}
body.page--privacy .privacy-document > .page-hero__inner{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.page--privacy .privacy-row{
  display:grid !important;
  grid-template-columns:54px minmax(240px,.72fr) minmax(0,1.28fr) !important;
  gap:clamp(28px,4.5vw,78px) !important;
  align-items:start !important;
  padding:clamp(42px,4.5vw,68px) 0 !important;
  margin:0 !important;
  border:0 !important;
  border-top:1px solid rgba(11,11,11,.14) !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.page--privacy .privacy-row:last-child{
  border-bottom:1px solid rgba(11,11,11,.14) !important;
}
body.page--privacy .privacy-row:hover{
  background:transparent !important;
}
body.page--privacy .privacy-row__number{
  padding-top:6px !important;
  color:var(--acid) !important;
}
body.page--privacy .privacy-row__title{
  max-width:20ch !important;
  color:#0b0b0b !important;
  font-size:clamp(20px,1.8vw,30px) !important;
  line-height:1.12 !important;
}
body.page--privacy .privacy-row__content{
  width:100% !important;
  max-width:860px !important;
  color:rgba(11,11,11,.68) !important;
  font-size:16px !important;
  line-height:1.76 !important;
}
body.page--privacy .privacy-row__content strong{
  color:#0b0b0b !important;
}
body.page--privacy .privacy-row__content ul{
  margin-top:20px !important;
}
body.page--privacy .privacy-row__content li{
  border-top:1px solid rgba(11,11,11,.09) !important;
}
body.page--privacy .privacy-row__content li:last-child{
  border-bottom:1px solid rgba(11,11,11,.09) !important;
}
body.page--privacy .privacy-cookie-link{
  color:#0b0b0b !important;
}

/* Footer remains light, open and aligned with the same frame. */
body.page--privacy .footer-contact{
  background:#f3f3f1 !important;
  border-top:0 !important;
}
body.page--privacy .footer-contact::before{
  display:none !important;
  content:none !important;
}

@media(max-width:999px){
  body.page--privacy .privacy-hero__bottom{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  body.page--privacy .privacy-hero__meta{
    justify-content:flex-start !important;
  }
  body.page--privacy .privacy-row{
    grid-template-columns:44px minmax(0,1fr) !important;
    gap:16px 24px !important;
  }
  body.page--privacy .privacy-row__title{
    max-width:none !important;
  }
  body.page--privacy .privacy-row__content{
    grid-column:2 !important;
  }
}

@media(max-width:767px){
  body.page--privacy .privacy-hero{
    padding:72px 0 58px !important;
  }
  body.page--privacy .privacy-hero__inner,
  body.page--privacy .privacy-document > .page-hero__inner{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body.page--privacy .privacy-hero__title{
    font-size:clamp(40px,13vw,62px) !important;
    line-height:.92 !important;
  }
  body.page--privacy .privacy-hero__bottom{
    margin-top:36px !important;
    padding-top:18px !important;
  }
  body.page--privacy .privacy-hero__lead{
    font-size:15px !important;
    line-height:1.65 !important;
  }
  body.page--privacy .privacy-hero__meta{
    gap:8px 14px !important;
    font-size:8px !important;
  }
  body.page--privacy .privacy-row{
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:34px 0 !important;
  }
  body.page--privacy .privacy-row__number,
  body.page--privacy .privacy-row__title,
  body.page--privacy .privacy-row__content{
    grid-column:1 !important;
  }
  body.page--privacy .privacy-row__title{
    font-size:clamp(19px,6vw,27px) !important;
  }
  body.page--privacy .privacy-row__content{
    margin-top:4px !important;
    font-size:15px !important;
    line-height:1.7 !important;
  }
}

/* =========================================================
   V72 — PROJECT MOBILE CHALLENGES: TRUE FULL FRAME WIDTH
========================================================= */
@media (max-width:900px){
  body.page--project .project-context-kicker,
  body.page--project .project-challenges__inner{
    width:var(--frame-width) !important;
    max-width:var(--frame-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.page--project .project-challenges__inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-areas:"side" "cards" !important;
    column-gap:0 !important;
    row-gap:30px !important;
  }
  body.page--project .project-challenges__side{
    grid-area:side !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    padding-right:0 !important;
  }
  body.page--project .project-challenges__cards{
    grid-area:cards !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  body.page--project .project-challenges__title{
    width:100% !important;
    max-width:none !important;
  }
  body.page--project .project-challenges__cta{
    width:100% !important;
    max-width:100% !important;
    justify-content:space-between !important;
  }
  body.page--project .project-card{
    width:100% !important;
    max-width:100% !important;
  }
}

/* =========================================================
   V87 — ABOUT MOBILE: TIGHTER APPROACH HEADING -> CARDS GAP
   Keep desktop/tablet layout unchanged; remove excess vertical space
   between the approach intro and the first framed card on phones.
========================================================= */
@media (max-width:799px){
  body.page--about .subpage-section--about .section-intro{
    margin-bottom:16px !important;
    padding-bottom:0 !important;
    min-height:0 !important;
    height:auto !important;
  }
  body.page--about .subpage-section--about .about-points{
    margin-top:0 !important;
  }
}
