/* Marini Zahnkunst — 2026 independent luxury redesign
   Content and imagery intentionally remain unchanged. */

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;background:#f4f1eb}
:root{
  --ink:#14191c;
  --ink-soft:#394145;
  --muted:#737c7f;
  --line:rgba(20,25,28,.12);
  --paper:#f8f6f1;
  --paper-2:#f1eee7;
  --white:#fff;
  --blue:#5395b4;
  --blue-deep:#2f6f8c;
  --blue-pale:#d9e9f0;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:"Avenir Next","Helvetica Neue",Helvetica,Arial,sans-serif;
  --max:1380px;
  --radius-sm:14px;
  --radius:24px;
  --radius-lg:34px;
  --shadow:0 24px 70px rgba(18,30,36,.10);
  --ease:cubic-bezier(.22,1,.36,1);
}
body{
  background:var(--paper);
  color:var(--ink-soft);
  font-family:var(--serif);
  font-size:18px;
  line-height:1.66;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--blue);color:#fff}

/* language visibility */
.i18n,.i18n-html{display:none}
html[data-language="de"] [data-lang-content="de"],html[data-language="fr"] [data-lang-content="fr"],html[data-language="it"] [data-lang-content="it"],html[data-language="en"] [data-lang-content="en"]{display:inline}
.i18n-html{display:none!important}
html[data-language="de"] .i18n-html[data-lang-content="de"],html[data-language="fr"] .i18n-html[data-lang-content="fr"],html[data-language="it"] .i18n-html[data-lang-content="it"],html[data-language="en"] .i18n-html[data-lang-content="en"]{display:block!important}

/* header */
.site-header{
  position:fixed;
  top:58px;
  left:50%;
  transform:translateX(-50%);
  width:min(calc(100% - 34px),1540px);
  height:86px;
  z-index:200;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  border-radius:22px;
  background:linear-gradient(105deg,rgba(15,24,29,.26),rgba(15,24,29,.08));
  box-shadow:0 12px 36px rgba(0,0,0,.08);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  transition:background .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease),top .45s var(--ease);
}
.site-header.is-scrolled{
  top:50px;
  color:var(--ink);
  background:rgba(248,246,241,.88);
  border-color:rgba(20,25,28,.10);
  box-shadow:0 16px 45px rgba(20,30,35,.11);
}
.site-logo{
  position:absolute;
  left:24px;
  top:50%;
  transform:translateY(-50%);
  width:156px;
  height:60px;
  z-index:4;
  overflow:hidden;
}
.site-logo img{width:100%;height:100%;object-fit:contain;object-position:left center;transition:filter .4s var(--ease),opacity .4s var(--ease)}
.site-header.is-scrolled .site-logo img{filter:invert(1);opacity:.88}

.language-picker{
  position:absolute;
  right:10px;
  top:-43px;
  display:flex;
  gap:2px;
  align-items:center;
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:linear-gradient(105deg,rgba(15,24,29,.30),rgba(15,24,29,.12));
  box-shadow:0 10px 28px rgba(0,0,0,.07);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  font-family:var(--sans);
  font-size:10px;
  line-height:1;
  z-index:5;
  transition:background .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease);
}
.site-header.is-scrolled .language-picker{
  background:rgba(248,246,241,.90);
  border-color:rgba(20,25,28,.10);
  box-shadow:0 10px 30px rgba(20,30,35,.09);
}
.language-button{
  border:0;
  border-radius:999px;
  background:transparent;
  padding:5px 7px;
  color:inherit;
  opacity:.68;
  cursor:pointer;
  font-family:var(--sans);
  font-size:10px;
  font-weight:500;
  transition:.25s ease;
}
.language-button:hover,.language-button.is-active{opacity:1;background:rgba(255,255,255,.14)}
.site-header.is-scrolled .language-button:hover,.site-header.is-scrolled .language-button.is-active{background:rgba(83,149,180,.12);color:var(--blue-deep)}

.desktop-nav{
  position:absolute;
  right:24px;
  bottom:14px;
  display:flex;
  align-items:center;
  gap:30px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:550;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}
.desktop-nav>a,.folder-button{
  position:relative;
  border:0;
  background:none;
  color:inherit;
  padding:9px 0;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer;
}
.desktop-nav>a:not(.contact-button)::after,.folder-button::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:2px;height:1px;
  background:currentColor;
  transition:right .3s var(--ease);
}
.desktop-nav>a:not(.contact-button):hover::after,.folder-button:hover::after{right:0}
.contact-button{
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:999px;
  padding:10px 17px!important;
  line-height:1;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.contact-button:hover{background:#fff;color:var(--ink);transform:translateY(-1px)}
.site-header.is-scrolled .contact-button{border-color:rgba(20,25,28,.35)!important}
.site-header.is-scrolled .contact-button:hover{background:var(--ink);color:#fff;border-color:var(--ink)!important}
.nav-folder{position:relative}
.folder-menu{
  position:absolute;
  left:50%;
  top:43px;
  width:390px;
  padding:16px;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,10px) scale(.985);
  transform-origin:top center;
  transition:.25s var(--ease);
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:rgba(17,23,27,.93);
  box-shadow:0 25px 60px rgba(0,0,0,.22);
  backdrop-filter:blur(20px);
}
.nav-folder:hover .folder-menu,.nav-folder:focus-within .folder-menu{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
.folder-menu a{
  display:block;
  padding:8px 12px;
  border-radius:9px;
  color:rgba(255,255,255,.82);
  font-family:var(--sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:.11em;
  line-height:1.35;
  text-transform:uppercase;
  transition:.2s ease;
}
.folder-menu a:hover{background:rgba(83,149,180,.20);color:#fff;transform:translateX(3px)}
.mobile-menu-button,.mobile-nav{display:none}

/* hero */
.hero{
  position:relative;
  width:100%;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  isolation:isolate;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(29,75,96,.68) 0%,rgba(34,74,92,.28) 34%,rgba(10,17,21,.08) 67%,rgba(10,17,21,.28) 100%),
    linear-gradient(90deg,rgba(10,17,21,.18),rgba(10,17,21,0) 55%);
  z-index:1;
  pointer-events:none;
}
.hero-home{height:min(88vh,900px);min-height:680px;background-image:url("images/hero-home.jpg");background-position:center center}
.hero-overview{background-image:url("images/hero-overview.jpg")}
.hero-services{background-image:url("images/hero-services.jpg")}
.hero-lab{background-image:url("images/hero-lab.jpg")}
.hero-about{background-image:url("images/hero-about.jpg")}
.hero-contact{background-image:url("images/hero-contact.jpg");background-position:center 48%}
.hero-overview,.hero-services,.hero-lab,.hero-about,.hero-contact{height:clamp(300px,28vw,430px);min-height:300px;background-repeat:no-repeat}
.hero-lab{background-position:center center}

.home-hero-copy{
  position:absolute;
  z-index:2;
  left:max(6vw,40px);
  bottom:9vh;
  width:min(820px,86vw);
  color:#fff;
  text-align:left;
}
.home-kicker{
  width:min(600px,100%);
  margin-bottom:20px;
  font-size:clamp(17px,1.35vw,23px);
  font-style:italic;
  font-kerning:normal;
  font-feature-settings:"kern" 1;
  letter-spacing:.01em;
  line-height:1.45;
  opacity:.92;
}
.home-hero-copy h1{
  margin:0;
  font-family:var(--sans);
  font-size:clamp(52px,6vw,104px);
  font-weight:300;
  line-height:.93;
  letter-spacing:-.035em;
  text-transform:uppercase;
  text-wrap:balance;
}

/* global headings / content */
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);letter-spacing:-.02em;line-height:1.1}
p{hyphens:auto}

/* homepage */
.home-content{padding:130px 28px 150px;background:var(--paper)}
.home-content-inner{width:min(1120px,100%);margin:auto}
.home-content h2{
  width:min(840px,100%);
  margin:0 auto 42px;
  text-align:center;
  font-size:clamp(38px,4.2vw,66px);
}
.home-copy{
  width:min(930px,100%);
  margin:auto;
  font-size:18px;
  line-height:1.78;
  color:#4d5558;
}
.home-copy .i18n-html{columns:2;column-gap:68px;column-fill:balance;break-inside:auto}
.home-copy p{margin:0 0 22px}
.home-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin:88px auto 46px;
}
.home-card{
  position:relative;
  min-height:390px;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#182025;
  box-shadow:var(--shadow);
  isolation:isolate;
}
.home-card:nth-child(2){margin-top:0}
.home-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(10,16,19,.72) 100%);z-index:1}
.home-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .8s var(--ease)}
.home-card:hover img{transform:scale(1.035);filter:saturate(.88)}
.home-card>span{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:26px;
  padding:0;
  background:none;
  color:#fff;
  text-align:left;
  font-family:var(--sans);
  font-size:15px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.home-card>span::after{content:"↗";float:right;font-size:20px;font-weight:300;letter-spacing:0;transition:transform .3s var(--ease)}
.home-card:hover>span::after{transform:translate(4px,-4px)}
.home-handmade{width:132px;margin:14px auto 0;opacity:.9}


/* Major editorial section titles use the same sans-serif family as the offer subnavigation. */
.home-content h2,
.offer-main h1,
.overview-section h2,
.lab-section h1,
.about-text h1,
.training-column h2,
.contact-copy h1{
  font-family:var(--sans);
  font-weight:500;
  letter-spacing:-.025em;
}

/* offer / services */
.offer-shell{
  width:min(calc(100% - 64px),var(--max));
  margin:0 auto;
  padding:112px 0 150px;
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:90px;
  align-items:start;
  min-height:760px;
}
.offer-sidebar{
  position:sticky;
  top:125px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.46);
  box-shadow:0 14px 40px rgba(20,30,35,.045);
  backdrop-filter:blur(10px);
}
.offer-sidebar h2{margin:0 0 20px;color:var(--blue-deep);font-family:var(--sans);font-size:14px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}
.offer-sidebar nav{display:flex;flex-direction:column;gap:1px}
.offer-sidebar a{
  position:relative;
  padding:8px 10px 8px 16px;
  border-radius:9px;
  font-family:var(--sans);
  font-size:11px;
  font-weight:550;
  letter-spacing:.095em;
  line-height:1.35;
  text-transform:uppercase;
  color:#899093;
  transition:.22s ease;
}
.offer-sidebar a::before{content:"";position:absolute;left:5px;top:50%;width:4px;height:4px;border-radius:50%;background:var(--blue);opacity:0;transform:translateY(-50%)}
.offer-sidebar a:hover{color:var(--ink);background:rgba(83,149,180,.06)}
.offer-sidebar a.is-active{color:var(--ink);background:rgba(83,149,180,.10)}
.offer-sidebar a.is-active::before{opacity:1}
.offer-main{max-width:930px}
.offer-main h1{margin:0 0 30px;font-size:clamp(42px,4.4vw,70px)}
.offer-copy{font-size:19px;line-height:1.75;color:#4c5457}
.offer-copy p{margin:0 0 23px}
.offer-copy ul{margin:20px 0 0;padding-left:25px}
.offer-copy li{margin:9px 0;padding-left:6px}
.offer-copy a,.contact-meta a{color:var(--blue-deep);text-decoration:underline;text-decoration-color:rgba(47,111,140,.25);text-underline-offset:4px}
.overview-main{max-width:970px}
.overview-section{position:relative;border-top:1px solid var(--line);margin-top:78px;padding-top:70px}
.overview-section h2{margin:0 0 25px;font-size:clamp(36px,3.5vw,54px)}
.core-skills{padding-right:210px}
.core-skills ul{margin:0;padding-left:27px}
.core-skills img{position:absolute;right:14px;top:72px;width:138px;filter:drop-shadow(0 13px 20px rgba(20,30,35,.10))}
.products{margin-top:74px}

/* image galleries */
.gallery{display:grid;gap:22px;margin-top:48px}
.gallery-one{grid-template-columns:minmax(0,830px);justify-content:center}
.gallery-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-three-items{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-small{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.gallery-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  background:#151c20;
  aspect-ratio:1.52/1;
  cursor:zoom-in;
  margin:0;
  box-shadow:0 20px 55px rgba(16,26,32,.10);
}
.gallery-one .gallery-card{aspect-ratio:1.62/1}
.gallery-medium .gallery-card{max-width:650px;justify-self:center;width:100%}
.gallery-small .gallery-card{aspect-ratio:1.43/1}
.gallery-card img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s var(--ease),filter .5s ease}
.gallery-card:hover img{transform:scale(1.02);filter:contrast(1.015)}
.gallery-arrow{
  position:absolute;
  z-index:2;
  top:50%;
  transform:translateY(-50%);
  width:46px;height:46px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  background:rgba(12,19,23,.38);
  color:#fff;
  font:24px/1 var(--sans);
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:.25s ease;
}
.gallery-arrow:hover{background:#fff;color:var(--ink);border-color:#fff}
.gallery-prev{left:16px}.gallery-next{right:16px}

/* laboratory */
.lab-section{padding:120px 28px 150px;text-align:center;background:var(--paper)}
.lab-inner{width:min(1080px,100%);margin:auto}
.lab-section h1{margin:0 auto 32px;font-size:clamp(42px,4.4vw,66px);font-style:normal}
.lab-copy{width:min(920px,100%);margin:auto;font-size:19px;line-height:1.78;color:#4c5457}
.lab-copy p{margin:0 0 22px}
.lab-gallery{width:min(850px,100%);margin:60px auto 0}
.lab-gallery .gallery-card{aspect-ratio:1.48/1}

/* about */
.about-section{width:min(calc(100% - 64px),1220px);margin:auto;padding:120px 0 150px}
.about-intro{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:96px;align-items:start}
.about-text h1{margin:0 0 30px;font-size:clamp(42px,4.3vw,66px)}
.about-text .i18n-html{font-size:18px;line-height:1.78;color:#4c5457}
.about-text p{margin:0 0 20px}
.about-person{
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  font-family:var(--sans);
  font-size:12px;
  line-height:1.5;
  box-shadow:0 18px 50px rgba(20,30,35,.07);
}
.about-person img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px;margin-bottom:18px}
.about-person strong{display:block;margin-bottom:5px;font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink)}
.person-role{font-size:12px;color:var(--muted)}
.about-handmade{width:116px;margin:42px 0 0 0}
.about-section hr{border:0;border-top:1px solid var(--line);margin:86px 0 70px}
.about-certificates{display:grid;grid-template-columns:230px 1fr 1fr;gap:28px;align-items:start}
.training-column h2{margin:0 0 22px;font-size:34px}
.training-column>.i18n-html{font-size:15px;line-height:1.65;color:#5b6265}
.cert-column{display:flex;flex-direction:column;gap:22px}
.cert-column img{
  width:100%;
  height:auto;
  padding:8px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 42px rgba(20,30,35,.09);
  object-fit:contain;
  cursor:zoom-in;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.cert-column img:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(20,30,35,.14)}
.training-column .cert-column{margin-top:28px}

/* contact */
.contact-section{width:min(calc(100% - 64px),1180px);margin:auto;padding:120px 0 150px}
.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:84px;align-items:start}
.contact-copy h1{margin:0 0 30px;font-size:clamp(42px,4.2vw,62px)}
.contact-copy{font-size:17px;line-height:1.72;color:#50585b}
.contact-copy p{margin:0 0 20px}.contact-copy ul{padding-left:24px;margin:14px 0 27px}
.contact-meta{margin-top:34px;padding-top:30px;border-top:1px solid var(--line);font-family:var(--sans);font-size:14px;line-height:1.7;color:#555d60}
.contact-form{
  padding:34px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow);
}
.contact-form label{display:block;margin:0 0 7px;font-family:var(--sans);font-size:11px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:#5a6366}
.contact-form small{font-size:9px;color:#9aa0a2;font-weight:500}
.contact-form input,.contact-form textarea{
  display:block;width:100%;
  border:1px solid rgba(20,25,28,.14);
  border-radius:12px;
  background:#faf9f6;
  padding:14px 15px;
  margin:0 0 19px;
  outline:none;
  color:var(--ink);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(83,149,180,.10);background:#fff}
.contact-form textarea{height:145px;resize:vertical}
.contact-form button{
  width:100%;
  border:0;
  border-radius:999px;
  background:var(--blue);
  color:#fff;
  padding:16px 22px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:650;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .25s var(--ease),background .25s ease,box-shadow .25s ease;
}
.contact-form button:hover{background:var(--blue-deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(47,111,140,.23)}
.contact-map{width:100%;margin-top:60px;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.form-status{margin:0 0 20px;padding:12px 15px;border-radius:10px;border:1px solid #b9b9b9;background:#fafafa;font-family:var(--sans);font-size:13px;line-height:1.4}.form-status.is-success{border-color:#6d9b7c}.form-status.is-error{border-color:#a96e6e}

/* footer */
.site-footer{
  position:relative;
  overflow:hidden;
  min-height:330px;
  padding:98px 28px 58px;
  text-align:center;
  background:var(--blue);
  color:rgba(255,255,255,.82);
}
.site-footer::before{
  content:"";
  position:absolute;
  top:0;left:50%;
  width:min(1180px,84%);height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
}
.site-footer::after{display:none;content:none}
.footer-address{position:relative;z-index:1;font-size:clamp(21px,2vw,30px);line-height:1.45;color:rgba(255,255,255,.88)}
.footer-address a{color:#fff}
.footer-row{display:grid;grid-template-columns:max-content 18px max-content;align-items:center;justify-content:center;column-gap:14px}
.footer-row+.footer-row{margin-top:4px}
.footer-dot{display:block;width:18px;text-align:center;color:rgba(255,255,255,.72)}
.footer-copy{position:relative;z-index:1;margin-top:24px;font-family:var(--sans);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.58)}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:46px;background:rgba(10,15,18,.94);backdrop-filter:blur(12px)}
.lightbox.is-open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:12px;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.lightbox-close{position:absolute;right:28px;top:20px;width:48px;height:48px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.05);color:#fff;font:30px/1 var(--sans);cursor:pointer}

/* subtle enter animation added by JS */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

/* responsive */
@media(max-width:1180px){
  .desktop-nav{gap:20px;font-size:11px}
  .site-logo{width:140px}
  .offer-shell{grid-template-columns:230px minmax(0,1fr);gap:56px}
  .about-certificates{grid-template-columns:200px 1fr 1fr}
}
@media(max-width:900px){
  .site-header{height:78px;top:12px;width:calc(100% - 24px);border-radius:19px}
  .site-header.is-scrolled{top:12px}
  .site-logo{left:18px;width:132px;height:54px}
  .language-picker,.desktop-nav{display:none}
  .mobile-menu-button{
    display:flex;position:absolute;right:16px;top:50%;transform:translateY(-50%);
    width:48px;height:48px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(0,0,0,.08);
    align-items:center;justify-content:center;flex-direction:column;gap:5px;z-index:4;cursor:pointer
  }
  .site-header.is-scrolled .mobile-menu-button{border-color:rgba(20,25,28,.18);background:rgba(20,25,28,.03)}
  .mobile-menu-button span{display:block;width:19px;height:1px;background:currentColor}
  .mobile-nav{
    position:fixed;left:12px;right:12px;top:94px;
    max-height:calc(100vh - 110px);overflow:auto;
    padding:24px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:22px;
    background:rgba(17,23,27,.97);
    box-shadow:0 25px 70px rgba(0,0,0,.30);
    backdrop-filter:blur(24px);
  }
  .mobile-nav.is-open{display:block}
  .mobile-nav a,.mobile-section-title{display:block;padding:8px 4px;color:#fff;font-family:var(--sans);font-size:12px;font-weight:550;letter-spacing:.12em;text-transform:uppercase}
  .mobile-section-title{display:flex;align-items:center;justify-content:space-between;color:#91c1d6;margin-top:8px;cursor:pointer;user-select:none}
  .mobile-section-title::after{content:">";display:inline-block;margin-left:16px;font-size:18px;font-weight:400;line-height:1;transition:transform .25s var(--ease)}
  .mobile-section-title.is-open::after{transform:rotate(90deg)}
  .mobile-offer-subnav{display:none;padding:3px 0 8px 13px;border-left:1px solid rgba(145,193,214,.30);margin:1px 0 8px 4px}
  .mobile-offer-subnav.is-open{display:block}
  .mobile-offer-subnav a{padding:7px 4px;font-size:11px;letter-spacing:.10em;color:rgba(255,255,255,.80)}
  .mobile-languages{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}
  .mobile-languages .language-button{display:inline-flex;color:#fff;border:1px solid rgba(255,255,255,.16);padding:7px 9px}
  .hero-home{height:82vh;min-height:620px;background-position:58% center}
  .hero-overview,.hero-services,.hero-lab,.hero-about,.hero-contact{height:300px;min-height:300px}
  .home-hero-copy{left:28px;bottom:55px;width:calc(100% - 56px)}
  .home-hero-copy h1{font-size:clamp(45px,9vw,72px)}
  .home-content{padding:95px 24px 110px}
  .home-copy{width:min(700px,100%)}
  .home-copy .i18n-html{columns:1}
  .home-cards{grid-template-columns:1fr;gap:20px;margin-top:65px}
  .home-card:nth-child(2){margin-top:0}
  .home-card{min-height:330px}
  .offer-shell{width:calc(100% - 42px);display:block;padding:78px 0 105px}
  .offer-sidebar{position:relative;top:auto;margin-bottom:55px;padding:22px}
  .offer-sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px}
  .core-skills{padding-right:0}.core-skills img{position:static;margin:35px auto 0}
  .about-section{width:calc(100% - 42px);padding:80px 0 105px}
  .about-intro{grid-template-columns:1fr;gap:45px}
  .about-person{width:min(300px,100%)}
  .about-certificates{grid-template-columns:1fr 1fr;gap:22px}
  .training-column{grid-column:1/-1}
  .training-column>.cert-column{display:grid;grid-template-columns:1fr 1fr}
  .contact-section{width:calc(100% - 42px);padding:80px 0 105px}
  .contact-grid{grid-template-columns:1fr;gap:48px}
  .lab-section{padding:90px 22px 110px}
}
@media(max-width:620px){
  body{font-size:16px}
  .hero-home{min-height:570px;height:78vh}
  .hero-overview,.hero-services,.hero-lab,.hero-about,.hero-contact{height:250px;min-height:250px}
  .home-kicker{font-size:16px}.home-hero-copy h1{font-size:42px}
  .home-content h2{font-size:38px}.home-content{padding-left:19px;padding-right:19px}
  .home-card{min-height:280px;border-radius:22px}
  .offer-shell{width:calc(100% - 32px);padding-top:64px}
  .offer-sidebar nav{grid-template-columns:1fr}
  .offer-main h1{font-size:40px}.offer-copy{font-size:17px}
  .gallery-two,.gallery-three-items,.gallery-small{grid-template-columns:1fr}
  .gallery-card{border-radius:19px}
  .gallery-prev{left:10px}.gallery-next{right:10px}
  .about-section{width:calc(100% - 32px)}
  .about-certificates{grid-template-columns:1fr}
  .training-column{grid-column:auto}
  .training-column>.cert-column{grid-template-columns:1fr}
  .contact-section{width:calc(100% - 32px)}
  .contact-form{padding:22px;border-radius:22px}
  .site-footer{padding-top:75px;min-height:290px}
  .footer-address{font-size:19px}
  .footer-row{grid-template-columns:max-content 14px max-content;column-gap:8px}
  .lightbox{padding:20px}.lightbox-close{right:15px;top:14px}
}

@media(max-width:430px){
  .footer-address{font-size:16px}
  .footer-row{grid-template-columns:max-content 12px max-content;column-gap:5px}
  .footer-dot{width:12px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal,.reveal.is-visible{opacity:1!important;transform:none!important;transition:none!important}.home-card img,.gallery-card img{transition:none!important}}
.home-hero-copy h1{color:#fff}

/* Refinement — lighter sans-serif titles + sans-serif footer */
.home-content h2,
.offer-main h1,
.overview-section h2,
.lab-section h1,
.about-text h1,
.training-column h2,
.contact-copy h1{
  font-weight:300;
}

.footer-address{
  font-family:var(--sans);
  font-weight:300;
  letter-spacing:.015em;
}
.footer-address a{
  font-family:inherit;
  font-weight:inherit;
}
