:root{
  --bg:#050910;
  --bg-soft:#08111d;
  --panel:#0c1624;
  --ink:#edf6ff;
  --muted:rgba(237,246,255,.72);
  --accent:#28d8ff;
  --accent-2:#5b86ff;
  --line:rgba(126,184,255,.18);
  --line-strong:rgba(126,184,255,.36);
  --pad:clamp(18px,3vw,54px);
  --font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px;margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.45;overflow-x:hidden;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit;color:inherit}
button{border-radius:0}
[hidden]{display:none!important}
::selection{background:var(--accent);color:#03111f}

.skip{position:fixed;left:12px;top:-60px;z-index:1000;background:#fff;color:#111;padding:10px 14px}
.skip:focus{top:12px}
.cursor-dot{position:fixed;z-index:9999;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 28px rgba(40,216,255,.55);pointer-events:none;transform:translate(-50%,-50%);transition:width .18s,height .18s,opacity .18s}
body.is-link .cursor-dot{width:34px;height:34px;opacity:.28}

.site-header{position:fixed;inset:0 0 auto;z-index:100;display:grid;grid-template-columns:1fr auto;align-items:center;padding:18px var(--pad);transition:background .25s,border-color .25s,backdrop-filter .25s}
.site-header.is-scrolled,.solid-header{background:rgba(5,9,16,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;width:220px;position:relative;z-index:2}
.brand img{width:100%;height:auto;filter:brightness(0) invert(1) drop-shadow(0 12px 26px rgba(0,0,0,.24))}
.desktop-nav{display:flex;gap:25px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.desktop-nav a{position:relative;color:rgba(237,246,255,.78)}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .25s}
.desktop-nav a:hover,.desktop-nav a.active{color:#fff}
.desktop-nav a:hover::after,.desktop-nav a.active::after{transform:scaleX(1);transform-origin:left}
.menu-button{display:none;border:0;background:none;text-transform:uppercase;font-size:12px;letter-spacing:.12em}
.mobile-nav{display:none}
.page-index{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:rgba(237,246,255,.58)}
.eyebrow{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--accent)}

/* Home */
.home-page{height:100svh;overflow:hidden}
.home-hero{position:relative;height:100svh;overflow:hidden;background:var(--bg)}
.home-media,.home-background{position:absolute;inset:0;width:100%;height:100%}
.home-background{object-fit:cover;object-position:center;filter:saturate(.76) contrast(1.06) brightness(.70);transform:scale(1.01)}
.home-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,7,13,.86) 0%,rgba(3,7,13,.47) 44%,rgba(3,7,13,.13) 76%,rgba(3,7,13,.30) 100%),linear-gradient(180deg,rgba(3,7,13,.24),transparent 42%,rgba(3,7,13,.84)),radial-gradient(circle at 73% 23%,rgba(40,216,255,.16),transparent 28%)}
.hero-grid,.about-grid{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(177,218,255,.14);stroke-width:1;vector-effect:non-scaling-stroke;z-index:2}
.hero-grid .electric-line,.about-grid .electric-line{stroke:rgba(40,216,255,.56)}
.hero-grid circle{stroke:rgba(91,134,255,.62);fill:rgba(91,134,255,.04)}
.home-title{position:absolute;left:var(--pad);right:var(--pad);bottom:8vh;z-index:3;display:flex;flex-direction:column;font-size:clamp(72px,15vw,230px);font-weight:700;line-height:.74;letter-spacing:-.085em;text-transform:uppercase;color:#f7fbff;pointer-events:none;text-shadow:0 0 32px rgba(5,16,28,.35)}
.home-title span:nth-child(2){margin-left:7vw}
.home-title span:nth-child(3){margin-left:20vw}

/* About */
.about-page{min-height:100svh;background:#03060b}
.about-canvas{position:relative;min-height:100svh;overflow:hidden;padding:112px var(--pad) 46px}
.about-visual{position:absolute;inset:0}
.about-media,.about-background{position:absolute;inset:0;width:100%;height:100%}
.about-background{object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.18) brightness(.68)}
.about-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,6,11,.95) 0%,rgba(3,6,11,.81) 35%,rgba(3,6,11,.28) 64%,rgba(3,6,11,.61) 100%),linear-gradient(180deg,rgba(3,6,11,.24),transparent 38%,rgba(3,6,11,.86))}
.about-description{position:relative;z-index:3;width:min(47vw,690px);margin-top:5vh;padding:26px 30px 0 0;border-top:1px solid rgba(255,255,255,.38)}
.about-description p{max-width:68ch;margin:0 0 14px;color:rgba(255,255,255,.80);font-size:clamp(14px,1.03vw,16.5px);line-height:1.62;text-align:justify;text-justify:inter-word;hyphens:auto}
.about-description .about-lead{font-size:clamp(19px,1.65vw,27px);line-height:1.22;color:#fff;letter-spacing:-.025em;margin-bottom:20px;text-align:left}
.about-title{position:absolute;z-index:3;right:var(--pad);bottom:38px;margin:0;text-align:right;font-size:clamp(62px,9.5vw,160px);line-height:.80;letter-spacing:-.075em;font-weight:700;color:#f7fbff;text-shadow:0 12px 34px rgba(0,0,0,.30)}
.about-documents{margin-top:26px;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.20)}
.about-document{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:14px 0}
.about-document+.about-document{border-top:1px solid rgba(255,255,255,.18)}
.about-document-title{display:flex;flex-direction:column;gap:4px;min-width:0}
.about-document-title span{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.48)}
.about-document-title strong{font-size:15px;line-height:1.15;font-weight:500;letter-spacing:-.02em}
.about-document-actions{display:flex;align-items:center;gap:18px}
.about-document-actions a{display:flex;align-items:center;gap:8px;min-height:36px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap}
.about-document-actions a:hover{color:var(--accent)}
.about-document-actions span{font-size:17px;color:var(--accent)}

/* Internal pages */
.internal-page{min-height:100svh;background:linear-gradient(180deg,#07101a 0%,#050910 100%)}

/* Services */
.services-page{min-height:100svh;padding:122px var(--pad) 58px;background:radial-gradient(circle at 84% 14%,rgba(91,134,255,.13),transparent 28%),linear-gradient(180deg,#07101a 0%,#050910 100%)}
.services-hero-copy{max-width:980px;margin:48px 0 88px}
.services-hero-copy .eyebrow{margin-bottom:20px}
.services-hero-copy h1{margin:0;font-size:clamp(64px,8vw,126px);line-height:.88;letter-spacing:-.075em;font-weight:600}
.services-hero-copy p{max-width:62ch;margin:44px 0 0;color:var(--muted);font-size:clamp(15px,1.22vw,19px);line-height:1.62}
.services-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.76fr);gap:clamp(36px,4.5vw,72px);align-items:start}
.services-copy{min-width:0}
.services-list{position:relative;z-index:2}
.service-row{width:100%;display:grid;grid-template-columns:54px 1fr auto;align-items:center;border:0;border-top:1px solid var(--line);padding:13px 0;background:none;text-align:left;cursor:pointer;transition:color .24s,border-color .24s}
.service-row:last-child{border-bottom:1px solid var(--line)}
.service-row span{font-size:12px;color:rgba(237,246,255,.48)}
.service-row strong{font-size:clamp(44px,6.3vw,100px);line-height:.88;letter-spacing:-.065em;font-weight:500}
.service-row i{font-style:normal;font-size:32px;color:var(--accent);opacity:0;transform:translate(-10px,10px);transition:.24s}
.service-row:hover,.service-row.is-selected{color:var(--accent);border-color:var(--line-strong)}
.service-row:hover i,.service-row.is-selected i{opacity:1;transform:none}
.service-panels{min-height:190px;padding:28px 0 0}
.service-panel{border-top:1px solid var(--line);padding-top:22px;animation:panel-in .32s ease both}
@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.service-panel span{display:block;margin-bottom:13px;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.17em}
.service-panel p{max-width:66ch;margin:0;color:var(--muted);font-size:clamp(15px,1.1vw,18px);line-height:1.58}
.services-preview{position:sticky;top:114px;margin:0;min-height:610px;border:1px solid var(--line);overflow:hidden;background-color:#07101a;background-image:linear-gradient(rgba(40,216,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(40,216,255,.08) 1px,transparent 1px),radial-gradient(circle at 70% 22%,rgba(91,134,255,.15),transparent 32%);background-size:44px 44px,44px 44px,100% 100%;box-shadow:0 28px 64px rgba(0,0,0,.30)}
.services-preview::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,9,16,.02),transparent 48%,rgba(5,9,16,.70));pointer-events:none}
.services-preview [data-preview]{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .35s,transform .7s;transform:scale(1.025)}
.services-preview [data-preview][data-active="true"]{opacity:1;transform:scale(1)}
.services-preview [data-preview] img{width:100%;height:100%;object-fit:cover}
.services-preview .preview-geotechnics img{object-position:center 45%}
.services-preview figcaption{position:absolute;z-index:2;right:22px;bottom:18px;font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.78)}
.services-catalogue{margin-top:92px;padding-top:30px;border-top:1px solid var(--line)}
.catalogue-head{max-width:860px;margin-bottom:30px}
.catalogue-head .eyebrow{margin-bottom:15px}
.catalogue-head h2{margin:0 0 16px;font-size:clamp(40px,4.7vw,78px);line-height:.92;letter-spacing:-.055em;font-weight:600}
.catalogue-head p{margin:0;color:var(--muted);max-width:52ch;line-height:1.58}
.catalogue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.catalogue-grid article{min-height:180px;padding:18px 18px 20px;border:1px solid var(--line);background:rgba(11,20,33,.52);transition:border-color .24s,transform .24s,background .24s}
.catalogue-grid article:hover{border-color:var(--accent);background:rgba(11,20,33,.82);transform:translateY(-5px)}
.catalogue-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:rgba(237,246,255,.48)}
.catalogue-grid h3{margin:12px 0 10px;font-size:clamp(21px,2vw,30px);line-height:1.02;letter-spacing:-.045em;font-weight:500}
.catalogue-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.48}

/* Certifications */
.certifications-page{min-height:100svh;padding:122px var(--pad) 54px;background:radial-gradient(circle at 86% 20%,rgba(91,134,255,.16),transparent 29%),linear-gradient(180deg,#08111d 0%,#050910 100%)}
.certifications-page>.page-index{margin-bottom:50px}
.cert-intro{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(320px,1.1fr);gap:clamp(38px,6vw,96px);align-items:end;margin-bottom:54px}
.cert-intro h1{margin:0;font-size:clamp(62px,8.4vw,132px);line-height:.82;letter-spacing:-.075em;font-weight:600}
.cert-intro p{max-width:50ch;margin:0;color:var(--muted);font-size:clamp(15px,1.2vw,18px);line-height:1.64;text-align:justify;text-justify:inter-word;hyphens:auto}
.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.cert-grid article{min-height:300px;border:1px solid var(--line);background:rgba(12,22,36,.50);display:grid;grid-template-rows:176px auto;overflow:hidden;transition:transform .24s,border-color .24s,background .24s}
.cert-grid article:hover{transform:translateY(-6px);border-color:var(--accent);background:rgba(12,22,36,.82)}
.cert-logo{height:176px;padding:20px;border-bottom:1px solid var(--line);display:grid;place-items:center;background:#fff}
.cert-logo img{max-width:100%;max-height:120px;object-fit:contain}
.cert-copy{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px}
.cert-copy span{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:rgba(237,246,255,.44)}
.cert-copy h2{margin:0;font-size:clamp(22px,1.75vw,29px);line-height:1;letter-spacing:-.04em;font-weight:500}
.cert-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.42}

/* Contacts */
.contact-page{min-height:100svh;padding:122px var(--pad) 42px;display:grid;grid-template-rows:auto 1fr;gap:6vh;background:radial-gradient(circle at 82% 24%,rgba(40,216,255,.10),transparent 26%),linear-gradient(180deg,#08101b,#050910)}
.contact-heading{align-self:end;display:grid;grid-template-columns:1.02fr .98fr;gap:6vw;align-items:end}
.contact-heading h1{margin:0;font-size:clamp(64px,9.4vw,148px);line-height:.82;letter-spacing:-.075em;font-weight:500}
.contact-people{border-top:1px solid var(--line)}
.contact-people article{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-people p{margin:0;display:flex;flex-direction:column;gap:3px}
.contact-people strong{font-size:15px;font-weight:600}
.contact-people p span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:rgba(237,246,255,.48)}
.contact-people a{font-size:13px;color:var(--accent);white-space:nowrap}

/* PDF documents */
.document-page{background:#050910;color:#fff}
.document-header{height:84px;padding:18px var(--pad);display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;border-bottom:1px solid var(--line);background:rgba(5,9,16,.90);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}
.document-header>a:not(.brand){font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:rgba(237,246,255,.78)}
.download-link{border-bottom:1px solid var(--accent);padding-bottom:5px}
.document-main{padding:40px var(--pad) 60px}
.document-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}
.document-title span{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:rgba(237,246,255,.58)}
.document-title h1{margin:0;font-size:clamp(54px,8vw,130px);font-weight:500;letter-spacing:-.06em;line-height:.9}
.document-viewer{height:calc(100vh - 210px);min-height:620px;background:#0d1421;border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.28)}
.document-viewer object{width:100%;height:100%}
.pdf-fallback{height:100%;display:grid;place-content:center;text-align:center;gap:15px}
.pdf-fallback a{border-bottom:1px solid var(--accent);padding-bottom:4px}
.mobile-document-actions{display:none}

@media (max-width:1180px){
  .about-description{width:min(54vw,620px)}
  .services-layout{grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);gap:32px}
  .service-row strong{font-size:clamp(42px,6vw,84px)}
  .cert-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:900px){
  .cursor-dot{display:none}
  .desktop-nav{display:none}
  .menu-button{display:block}
  .site-header{grid-template-columns:1fr auto}
  .mobile-nav{position:fixed;inset:0;z-index:90;background:linear-gradient(180deg,#08111d 0%,#0b1524 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:120px var(--pad) 60px;transform:translateY(-100%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
  .mobile-nav.is-open{transform:translateY(0)}
  .mobile-nav a{font-size:clamp(40px,11vw,80px);line-height:1.08;letter-spacing:-.05em;border-top:1px solid rgba(255,255,255,.16);padding:10px 0}
  .mobile-nav a.active{color:var(--accent)}
  .contact-heading{grid-template-columns:1fr;gap:46px;align-self:auto}
  .document-title{display:block}
  .document-title span{display:block;margin-bottom:18px}
  .document-viewer{height:72vh;min-height:500px}
}

/* Phone: wider visual proportions, shorter photographic blocks */
@media (max-width:760px){
  :root{--pad:clamp(17px,5vw,24px)}
  a,button{-webkit-tap-highlight-color:transparent}
  input,textarea{font-size:16px}

  .site-header{min-height:72px;padding:max(13px,env(safe-area-inset-top)) var(--pad) 12px;grid-template-columns:minmax(0,1fr) auto;gap:16px}
  .site-header.is-scrolled,.solid-header{background:rgba(5,9,16,.95)}
  .brand{width:min(44vw,164px)}
  .menu-button{min-width:54px;min-height:44px;padding:0;text-align:right;color:#fff}
  .mobile-nav{padding:calc(96px + env(safe-area-inset-top)) var(--pad) calc(32px + env(safe-area-inset-bottom));justify-content:flex-end;overflow-y:auto;overscroll-behavior:contain}
  .mobile-nav a{font-size:clamp(35px,10.5vw,56px);padding:12px 0;min-height:54px;display:flex;align-items:center}

  /* Home photo remains landscape and no longer fills a tall portrait crop. */
  .home-page,.home-hero{height:100dvh;min-height:600px}
  .home-media{height:62dvh;min-height:360px;bottom:auto}
  .home-background{transform:none;object-position:center;filter:saturate(.72) contrast(1.04) brightness(.77)}
  .home-overlay{background:linear-gradient(180deg,rgba(3,7,13,.12) 0%,rgba(3,7,13,.12) 46%,rgba(3,7,13,.82) 63%,#050910 79%,#050910 100%),linear-gradient(90deg,rgba(3,7,13,.45),rgba(3,7,13,.04) 68%)}
  .hero-grid{opacity:.56}
  .home-title{left:var(--pad);right:var(--pad);bottom:calc(6.5vh + env(safe-area-inset-bottom));font-size:clamp(64px,19vw,108px);line-height:.77;letter-spacing:-.075em}
  .home-title span:nth-child(2){margin-left:0}
  .home-title span:nth-child(3){margin-left:6vw}

  /* About uses a wide image panel followed by text instead of a tall background crop. */
  .about-canvas{min-height:100svh;overflow:visible;padding:calc(92px + env(safe-area-inset-top)) var(--pad) calc(44px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#050910,#03060b)}
  .about-visual{position:relative;width:calc(100% + (var(--pad) * 2));height:auto;aspect-ratio:16/10;margin:0 calc(var(--pad) * -1);overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .about-media,.about-background{position:absolute;inset:0;width:100%;height:100%}
  .about-background{object-position:center;filter:grayscale(1) contrast(1.14) brightness(.68)}
  .about-overlay{background:linear-gradient(180deg,rgba(3,6,11,.08),rgba(3,6,11,.16) 55%,rgba(3,6,11,.66))}
  .about-grid{opacity:.52}
  .about-description{width:100%;margin:34px 0 0;padding:22px 0 0;border-top-color:rgba(255,255,255,.34)}
  .about-description p{max-width:none;font-size:14px;line-height:1.62;text-align:left;hyphens:none}
  .about-description .about-lead{font-size:clamp(21px,6.2vw,27px);line-height:1.2;margin-bottom:22px}
  .about-title{position:relative;right:auto;bottom:auto;margin:48px 0 0;text-align:left;font-size:clamp(55px,16vw,82px);line-height:.84}
  .about-documents{margin-top:30px}
  .about-document{grid-template-columns:1fr;gap:12px;padding:17px 0}
  .about-document-title strong{font-size:18px}
  .about-document-actions{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.14)}
  .about-document-actions a{min-height:48px;justify-content:space-between;padding-top:8px}
  .about-document-actions a:first-child{padding-right:14px;border-right:1px solid rgba(255,255,255,.14)}
  .about-document-actions a:last-child{padding-left:14px}

  .services-page,.certifications-page,.contact-page{padding:calc(92px + env(safe-area-inset-top)) var(--pad) calc(44px + env(safe-area-inset-bottom))}
  .page-index{font-size:10px}
  .services-hero-copy{margin:34px 0 54px}
  .services-hero-copy .eyebrow{margin-bottom:16px}
  .services-hero-copy h1{font-size:clamp(50px,13.5vw,74px);line-height:.91}
  .services-hero-copy p{margin-top:34px;font-size:15px;line-height:1.62}
  .services-layout{display:block}
  .service-row{grid-template-columns:24px minmax(0,1fr) 26px;gap:8px;min-height:68px;padding:14px 0}
  .service-row strong{font-size:clamp(38px,10.8vw,57px);line-height:.94;overflow-wrap:normal}
  .service-row i{font-size:21px}
  .service-panels{min-height:0;padding-top:18px}
  .service-panel{padding:18px 0 22px}
  .service-panel p{font-size:14px;line-height:1.58}
  .services-preview{display:none;position:relative;top:auto;width:100%;min-height:0;aspect-ratio:16/10;margin-top:24px;border-radius:0}
  .services-preview.has-selection{display:block}
  .services-preview [data-preview] img{object-position:center}
  .services-preview .preview-geotechnics img{object-position:center 48%}
  .services-preview figcaption{right:15px;bottom:14px;font-size:9px}
  .services-catalogue{margin-top:62px;padding-top:26px}
  .catalogue-head{margin-bottom:22px}
  .catalogue-head h2{font-size:clamp(43px,13vw,66px)}
  .catalogue-head p{font-size:14px}
  .catalogue-grid{grid-template-columns:1fr;gap:11px}
  .catalogue-grid article{padding:17px;min-height:0}
  .catalogue-grid h3{font-size:clamp(22px,6.7vw,29px)}
  .catalogue-grid p{font-size:13px}

  .certifications-page>.page-index{margin-bottom:34px}
  .cert-intro{display:block;margin-bottom:38px}
  .cert-intro h1{font-size:clamp(55px,15.4vw,80px);line-height:.87;margin-bottom:30px}
  .cert-intro p{max-width:none;font-size:14px;line-height:1.64;text-align:left;hyphens:none}
  .cert-grid{grid-template-columns:1fr;gap:14px}
  .cert-grid article{grid-template-columns:40% 60%;grid-template-rows:auto;min-height:154px}
  .cert-logo{height:100%;min-height:154px;padding:16px;border-bottom:0;border-right:1px solid var(--line)}
  .cert-logo img{max-height:90px}
  .cert-copy{justify-content:center;padding:18px 16px}
  .cert-copy h2{font-size:clamp(22px,7vw,30px)}
  .cert-copy p{font-size:13px}

  .contact-page{display:block}
  .contact-page>.page-index{margin-bottom:38px}
  .contact-heading{display:block}
  .contact-heading h1{font-size:clamp(64px,18vw,94px);margin:0 0 42px}
  .contact-people article{display:block;padding:17px 0}
  .contact-people p{gap:5px}
  .contact-people strong{font-size:17px}
  .contact-people p span{font-size:10px;line-height:1.45}
  .contact-people a{display:inline-block;margin-top:12px;font-size:15px;min-height:32px;color:var(--accent)}

  .document-header{height:auto;min-height:72px;padding:max(13px,env(safe-area-inset-top)) var(--pad) 12px;gap:14px}
  .document-header .brand{width:min(42vw,158px)}
  .document-header>a:not(.brand){font-size:9px;letter-spacing:.11em}
  .document-main{padding:28px var(--pad) calc(36px + env(safe-area-inset-bottom))}
  .document-title{margin-bottom:24px}
  .document-title h1{font-size:clamp(47px,13vw,70px);overflow-wrap:normal}
  .document-viewer{height:56dvh;min-height:390px}
  .mobile-document-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .mobile-document-actions a{display:flex;justify-content:space-between;align-items:center;min-height:52px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
  .mobile-document-actions a:first-child{padding-right:14px;border-right:1px solid var(--line)}
  .mobile-document-actions a:last-child{padding-left:14px}
}

@media (max-width:390px){
  .brand{width:148px}
  .home-title{font-size:18.5vw}
  .service-row strong{font-size:10.4vw}
  .cert-grid article{grid-template-columns:38% 62%}
}

@media (max-height:620px) and (orientation:landscape){
  .home-media{height:100%}
  .home-title{bottom:5vh;font-size:20vh;line-height:.76}
  .mobile-nav{justify-content:flex-start;padding-top:86px}
  .mobile-nav a{font-size:8vh;min-height:42px;padding:7px 0}
}

@supports not (height:100dvh){
  @media (max-width:760px){.home-page,.home-hero{height:100svh}}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mobile-nav,.services-preview [data-preview]{transition:none}
}
