
:root{
  --bg:#f4f1eb;
  --bg-2:#ece7df;
  --card:#ffffff;
  --ink:#0c0c0c;
  --ink-2:#171717;
  --muted:#6c665f;
  --line:rgba(12,12,12,.12);
  --line-dark:rgba(255,255,255,.12);
  --red:#c00012;
  --red-2:#8f0010;
  --white:#fff;
  --radius:28px;
  --radius-sm:20px;
  --shadow:0 28px 90px rgba(0,0,0,.12);
  --max:1440px;
  --ease:cubic-bezier(.2,.72,.22,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.lock{overflow:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--red);color:#fff}
.container{width:min(calc(100% - 56px),var(--max));margin:0 auto}
.section{padding:120px 0}
.section.dark{background:var(--ink);color:#fff}
.section.white{background:#fff}
.eyebrow{
  display:inline-block;
  font-size:10px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.display{
  margin:0;
  font-size:clamp(54px,7.6vw,118px);
  line-height:.88;
  letter-spacing:-.068em;
  font-weight:800;
}
.h2{
  margin:0;
  font-size:clamp(38px,4.9vw,76px);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:800;
}
.h3{
  margin:0;
  font-size:clamp(25px,2.8vw,40px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:800;
}
.lead{
  margin:0;
  font-size:clamp(17px,1.46vw,21px);
  line-height:1.65;
}
.muted{color:var(--muted)}
.red{color:var(--red)}
.btn{
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid currentColor;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:.25s var(--ease);
  background:transparent;
}
.btn:hover{transform:translateY(-2px)}
.btn.black{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.black:hover{background:var(--red);border-color:var(--red)}
.btn.white{background:#fff;border-color:#fff;color:#111}
.btn.white:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn.ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn.ghost:hover{background:#fff;border-color:#fff;color:#111}
.arrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;
}
.arrow::after{content:"→";font-size:18px;transition:.2s}
.arrow:hover::after{transform:translateX(5px)}
.rule{border-top:1px solid var(--line)}
.head{
  display:grid;
  grid-template-columns:.62fr 1.38fr;
  gap:90px;
  margin-bottom:55px;
}
.head .eyebrow{padding-top:12px}
.head .lead{margin-top:24px;max-width:760px}

/* Header */
header{
  position:sticky;
  top:0;
  z-index:110;
  background:rgba(244,241,235,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(0,0,0,.07);
}
.nav{
  height:84px;
  display:flex;
  align-items:center;
  gap:30px;
}
.logo{
  display:flex;
  align-items:center;
  gap:14px;
}
.logo img{
  width:58px;height:58px;object-fit:contain;
}
.logo-name{
  font-weight:800;
  font-size:15px;
  letter-spacing:-.02em;
}
.nav-links{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:28px;
}
.nav-links a{
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#282522;
}
.nav-links a:hover{color:var(--red)}
.burger{
  display:none;
  margin-left:auto;
  width:46px;height:46px;
  border:1px solid var(--line);
  background:transparent;
  border-radius:50%;
}
.burger i,.burger i:before,.burger i:after{
  content:"";
  display:block;
  width:18px;height:2px;background:#111;position:relative;margin:auto
}
.burger i:before{position:absolute;top:-6px;left:0}
.burger i:after{position:absolute;top:6px;left:0}
.mobile{
  display:none;
  position:fixed;
  inset:84px 0 0;
  z-index:109;
  background:var(--bg);
  padding:28px 24px 40px;
  overflow:auto;
}
.mobile.open{display:block}
.mobile a{
  display:block;
  padding:15px 0;
  border-bottom:1px solid var(--line);
  font-size:22px;
  font-weight:800;
  letter-spacing:-.03em;
}
.mobile .btn{margin-top:24px;width:100%}

/* Hero */
.hero{
  position:relative;
  min-height:min(930px,calc(100vh - 84px));
  overflow:hidden;
  background:#111;
  color:#fff;
}
.hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
  transform:scale(1.02);
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.55) 42%,rgba(0,0,0,.12) 76%),
    linear-gradient(0deg,rgba(0,0,0,.64),transparent 48%);
}
.hero-inner{
  position:relative;
  z-index:2;
  min-height:min(930px,calc(100vh - 84px));
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:110px 0 80px;
}
.hero .eyebrow{color:rgba(255,255,255,.7);margin-bottom:18px}
.hero-copy{
  max-width:720px;
  margin:38px 0 30px;
  color:rgba(255,255,255,.82);
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-note{
  position:absolute;
  right:0;
  bottom:80px;
  width:270px;
  border-top:1px solid rgba(255,255,255,.38);
  padding-top:16px;
  color:#a7a7a7;
  font-size:10px;
  line-height:1.65;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.hero-note b{display:block;color:#fff;margin-bottom:5px}
.accent{
  position:relative;
  display:inline-block;
}
.accent:after{
  content:"";
  position:absolute;
  left:4px;
  bottom:-12px;
  width:40%;
  height:7px;
  background:var(--red);
}

/* intro */
.signal{
  background:var(--ink);
  color:#fff;
}
.signal-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.signal-item{
  min-height:112px;
  padding:28px;
  border-right:1px solid var(--line-dark);
}
.signal-item:first-child{padding-left:0}
.signal-item:last-child{border-right:0}
.signal-item b{font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.signal-item span{display:block;color:#8f8f8f;font-size:13px;margin-top:8px}

.about-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:14px;
}
.about-box{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  padding:42px;
}
.about-box.dark{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
.about-box p{margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.about-box.dark p{color:#b7b7b7}
.about-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:28px;
}
.about-point{
  border-top:1px solid var(--line);
  padding-top:15px;
}
.about-box.dark .about-point{border-top:1px solid var(--line-dark)}
.about-point b{
  display:block;
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin-bottom:7px;
}
.about-point span{
  display:block;
  color:var(--muted);
  font-size:14px;
}
.about-box.dark .about-point span{color:#b7b7b7}

/* services */
.services-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
}
.service-card{
  grid-column:span 4;
  min-height:360px;
  background:var(--card);
  border:1px solid rgba(0,0,0,.07);
  border-radius:24px;
  padding:30px;
  display:flex;
  flex-direction:column;
  transition:.28s var(--ease);
  box-shadow:0 1px 0 rgba(255,255,255,.2) inset;
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 25px 60px rgba(0,0,0,.08);
}
.service-card.big{grid-column:span 6}
.service-card .num{
  font-size:10px;
  letter-spacing:.16em;
  color:#a19a92;
  font-weight:800;
}
.service-card .icon{
  width:82px;height:82px;margin-top:20px;
  display:flex;align-items:center;justify-content:flex-start;
  color:var(--red);
}
.service-card .icon svg{
  width:72px;height:72px;display:block;
  stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round
}
.service-card h3{
  margin:24px 0 13px;
  font-size:32px;
  line-height:1;
  letter-spacing:-.045em;
}
.service-card p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}
.service-card .arrow{
  margin-top:auto;
  padding-top:24px;
  color:var(--red);
}
.service-card.redline{border-color:rgba(192,0,18,.14)}
.service-card.redline:before,
.service-card.darkline:before{
  content:"";
  display:block;
  width:100%;
  height:4px;
  background:var(--red);
  margin:-30px -30px 26px;
  width:calc(100% + 60px);
  border-radius:24px 24px 0 0;
}
.service-card.darkline:before{background:#2d2d2d}

/* reviews */
.review-layout{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:14px;
}
.review-score{
  background:var(--ink);
  color:#fff;
  border-radius:24px;
  padding:40px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.review-score-value{
  font-size:clamp(76px,8vw,120px);
  line-height:.88;
  font-weight:800;
  letter-spacing:-.08em;
  margin-top:18px;
}
.stars{
  color:var(--red);
  font-size:22px;
  letter-spacing:.14em;
  margin-top:14px;
}
.review-score p{margin:14px 0 0;color:#aaa}
.review-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.review-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.07);
  border-radius:24px;
  padding:34px;
  min-height:270px;
  display:flex;
  flex-direction:column;
}
.review-card.wide{
  grid-column:1/-1;
  min-height:220px;
}
.review-card blockquote{
  margin:18px 0 14px;
  font-size:28px;
  line-height:1.18;
  letter-spacing:-.04em;
  font-weight:800;
}
.review-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.review-card small{
  display:block;
  margin-top:auto;
  padding-top:22px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#88837c;
}

/* partner */
.partner-featured{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:40px;
  background:linear-gradient(135deg,#171717,#090909);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  padding:46px;
  min-height:360px;
  align-items:end;
}
.partner-featured p{
  max-width:760px;
  margin:22px 0 0;
  color:#aaa;
  font-size:15px;
  line-height:1.7;
}
.partner-wordmark{
  font-weight:900;
  line-height:.9;
  letter-spacing:-.05em;
}
.partner-wordmark.esser{
  margin-top:26px;
  font-size:clamp(52px,5.8vw,94px);
}
.partner-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  align-self:end;
}
.partner-meta span{
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:9px 12px;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#aaa;
}
.partner-grid-primary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:14px;
}
.partner-grid-secondary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:14px;
}
.partner-card{
  background:#fff;
  border-radius:24px;
  padding:34px;
  min-height:300px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(0,0,0,.07);
}
.partner-card.compact{
  background:#f8f6f1;
  min-height:246px;
  border-radius:22px;
  padding:28px;
}
.partner-card p{
  margin:auto 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}
.partner-logo{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 12px;
}
.partner-logo img{
  width:auto;
  max-width:280px;
  max-height:82px;
  object-fit:contain;
}
.partner-logo.compact{
  min-height:100px;
  padding:16px 8px;
}
.partner-logo.compact img{
  max-width:185px;
  max-height:58px;
}
.partner-wordmark.shark{
  font-size:clamp(42px,4.2vw,66px);
  letter-spacing:-.055em;
  margin:auto 0;
}
.partner-wordmark.shark span{color:#1b79c8}
.partner-wordmark.profilm{
  font-size:44px;
  letter-spacing:-.045em;
  margin:auto 0;
}
.partner-wordmark.suntek{
  font-size:52px;
  letter-spacing:-.055em;
  font-style:italic;
  margin:auto 0;
}
.partner-note{
  margin:24px 0 0;
  color:#717171;
  font-size:11px;
  max-width:900px;
}

/* sections / galleries / contact */
.statement{
  position:relative;
  min-height:720px;
  overflow:hidden;
  background:#111;
  color:#fff;
}
.statement img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.statement:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.87),rgba(0,0,0,.52) 48%,rgba(0,0,0,.14));
}
.statement-inner{
  position:relative;
  z-index:2;
  min-height:720px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:980px;
}
.quote{
  font-family:Georgia,serif;
  color:var(--red);
  font-size:145px;
  line-height:.45;
  margin-bottom:24px;
}
.statement .lead{
  margin-top:28px;
  color:rgba(255,255,255,.74);
  max-width:740px;
}
.cases{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  grid-template-rows:340px 340px;
  gap:12px;
}
.case{
  position:relative;
  overflow:hidden;
  border-radius:20px;
}
.case:first-child{grid-row:1/3}
.case:nth-child(4){grid-column:2/4}
.case img{
  width:100%;height:100%;object-fit:cover;transition:.65s var(--ease)
}
.case:hover img{transform:scale(1.04)}
.case:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 50%);
}
.case figcaption{
  position:absolute;
  left:22px;
  bottom:18px;
  z-index:2;
  color:#fff;
}
.case figcaption b{
  display:block;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.case figcaption span{
  display:block;
  margin-top:4px;
  font-size:11px;
  color:#bbb;
}
.contact-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:90px;
}
.contact-copy .lead{margin-top:28px;color:rgba(255,255,255,.8)}
.contact-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-top:46px;
}
.contact-details b{
  display:block;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  margin-bottom:5px;
}
.form{
  background:#fff;
  color:#111;
  border-radius:24px;
  padding:40px;
  box-shadow:var(--shadow);
}
.fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.field.full{grid-column:1/-1}
.field label{
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#777;
}
.field input,.field textarea{
  border:0;
  border-bottom:1px solid #cbc4bc;
  background:transparent;
  outline:none;
  padding:12px 0;
  border-radius:0;
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--red)}
.note{
  font-size:10px;
  color:#847d76;
  margin:18px 0;
  line-height:1.6;
}

/* footer */
footer{
  background:#070707;
  color:#fff;
  padding:38px 0;
  border-top:1px solid #1f1f1f;
}
.foot{
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:end;
}
.foot-brand{
  display:flex;
  gap:14px;
  align-items:center;
}
.foot-brand img{
  width:54px;height:54px;border-radius:50%;background:var(--bg);object-fit:contain
}
.foot-brand span{
  color:#9a9a9a;
  font-size:11px;
}
.foot-nav{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.foot-nav a{
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#999;
}
.foot-nav a:hover{color:#fff}

@media(max-width:1080px){
  .nav-links{display:none}
  .burger{display:block}
  .hero-note{display:none}
  .head,.about-grid,.review-layout,.contact-grid{grid-template-columns:1fr;gap:24px}
  .signal-grid{grid-template-columns:1fr 1fr}
  .signal-item:nth-child(2){border-right:0}
  .signal-item:nth-child(-n+2){border-bottom:1px solid var(--line-dark)}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .service-card,.service-card.big{grid-column:auto}
  .review-cards{grid-template-columns:1fr 1fr}
  .partner-featured{grid-template-columns:1fr}
  .partner-meta{justify-content:flex-start}
  .partner-grid-primary{grid-template-columns:1fr 1fr}
  .partner-grid-secondary{grid-template-columns:1fr 1fr 1fr}
  .cases{grid-template-columns:1fr 1fr;grid-template-rows:420px 270px 270px}
  .case:first-child{grid-column:1/3;grid-row:auto}
  .case:nth-child(4){grid-column:1/3}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .section{padding:86px 0}
  .nav{height:72px}
  .mobile{inset:72px 0 0}
  .logo img{width:50px;height:50px}
  .display{font-size:clamp(46px,13vw,66px)}
  .h2{font-size:clamp(36px,10vw,54px)}
  .hero,.hero-inner{min-height:760px}
  .hero-inner{padding-bottom:44px}
  .hero-media{object-position:62% center}
  .hero:after{
    background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.64) 48%,rgba(0,0,0,.16) 83%);
  }
  .hero-actions{display:grid}
  .hero-actions .btn{width:100%}
  .accent:after{height:5px;bottom:-9px}
  .signal-grid{grid-template-columns:1fr}
  .signal-item,.signal-item:first-child{
    padding:18px 0;border-right:0;border-bottom:1px solid var(--line-dark)
  }
  .about-box{padding:30px 24px}
  .about-points,.review-cards,.fields,.contact-details,
  .partner-grid-primary,.partner-grid-secondary,.services-grid{grid-template-columns:1fr}
  .service-card,.service-card.big{min-height:310px}
  .service-card h3{font-size:28px}
  .review-card.wide{grid-column:auto}
  .partner-featured{padding:30px 24px;min-height:0}
  .statement,.statement-inner{min-height:640px}
  .cases{grid-template-columns:1fr;grid-template-rows:360px 240px 240px 280px}
  .case:first-child,.case:nth-child(4){grid-column:auto}
  .form{padding:30px 22px}
  .foot{grid-template-columns:1fr}
  .foot-nav{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

.gs-inline-1{margin-top:16px}
.gs-inline-2{margin-top:18px}
.gs-inline-3{margin-bottom:42px}
.gs-inline-4{color:#999}
.gs-inline-5{color:#999}
.gs-inline-6{margin-top:18px}
/* WordPress blocks retain the visual language of the reference. */
.wp-site-blocks {padding:0;}
.wp-site-blocks > *, .wp-block-post-content > * {margin-block-start:0; margin-block-end:0;}
:where(.wp-block-group) > :where(*) {margin-block-start:0; margin-block-end:0;}
figure.wp-block-image {margin:0;}
.hero-media img {width:100%;height:100%;object-fit:cover;object-position:center 58%;}
.gs-link-wrapper {margin:0;}
.signal-item strong,.signal-item b {display:block;}
.signal-item span,.about-point span {display:block;}
.partner-meta p {border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 12px;font-size:11px;color:#aaa;}
.gs-logo {width:58px; flex-shrink:0;}
.gs-logo img {width:58px;height:58px;object-fit:contain;}
.gs-navigation {margin-left:auto;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.gs-navigation .wp-block-navigation__container {gap:22px;}
.gs-navigation .wp-block-navigation__responsive-container.is-menu-open {background:var(--bg);color:var(--ink);padding:28px;}
.gs-navigation a:hover {color:var(--red);}
.gs-navigation .wp-block-navigation__responsive-container-open {display:none;}
.review-layout {grid-template-columns:1fr;}
.form p {margin:18px 0;}
.section.dark a:not(.btn) {color:inherit;}
.foot {gap:24px;}
.gs-subpage {min-height:60vh;padding:80px 0;}
.gs-subpage > * {margin-bottom:24px;}
.gs-subpage p {max-width:840px;font-size:18px;}
.wp-block-post-title {font-size:clamp(36px,5vw,76px);line-height:1;letter-spacing:-.045em;}
.btn {font-size:12px;letter-spacing:.1em;min-height:54px;padding-inline:26px;}
.eyebrow,.arrow {font-size:12px;letter-spacing:.14em;}
.wp-block-cover.hero,.wp-block-cover.statement {padding:0;isolation:isolate;display:block;}
.wp-block-cover.hero {min-height:clamp(680px,calc(100svh - 84px),880px);}
.wp-block-cover.hero .wp-block-cover__inner-container,.wp-block-cover.statement .wp-block-cover__inner-container {width:100%;position:relative;z-index:2;color:#fff;}
.wp-block-cover.hero > .wp-block-cover__image-background {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:0;}
.wp-block-cover.statement > .wp-block-cover__image-background {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.wp-block-cover.hero:after,.wp-block-cover.statement:after {z-index:1;pointer-events:none;}
.hero .hero-inner {min-height:clamp(680px,calc(100svh - 84px),880px);padding:110px 0 68px;}
.hero .display {font-size:clamp(52px,6.3vw,104px);line-height:.97;letter-spacing:-.055em;max-width:1100px;}
.hero .hero-copy {max-width:650px;margin:32px 0 26px;}
.hero .hero-note {position:static;width:auto;max-width:650px;margin-top:28px;padding-top:16px;font-size:11px;}
.hero .hero-actions {gap:14px;}
.head .h2 {text-wrap:balance;}
.section .head .lead {max-width:780px;}
.service-card {transition:transform .2s ease,box-shadow .2s ease;}
.service-card:hover {transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.07);}
.contact-copy .display {font-size:clamp(44px,5.3vw,82px);line-height:1;}
.wp-site-blocks > .wp-block-template-part:first-child {position:sticky;top:0;z-index:110;}
.gs-header {position:relative;top:0;z-index:110;}
body.admin-bar .wp-site-blocks > .wp-block-template-part:first-child {top:32px;}
.gs-header .logo-name {white-space:nowrap;}
.gs-header {background:rgba(9,9,9,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.12);}
.gs-header .nav {height:94px;gap:40px;}
.gs-header .gs-logo {width:clamp(230px,25vw,360px);flex-shrink:0;}
.gs-header .gs-logo img,.gs-footer-brand .gs-logo img {width:100%;height:auto;object-fit:contain;}
.gs-header .gs-navigation a,.gs-header .gs-navigation button {color:#fff;}
.gs-navigation .wp-block-navigation__responsive-container.is-menu-open a,.gs-navigation .wp-block-navigation__responsive-container.is-menu-open button {color:var(--ink);}
.gs-footer-brand .gs-logo {width:300px;max-width:100%;margin-bottom:22px;}
.gs-footer-brand .foot-brand {font-size:13px;color:#999;}
.gs-header .gs-navigation .wp-block-navigation__container {gap:20px;}
.gs-navigation {font-size:11px;letter-spacing:.1em;}
.gs-navigation .wp-block-navigation__container {gap:24px;}
.wp-block-navigation-item__content {padding-block:8px;}
.gs-link-wrapper .btn {white-space:normal;text-align:center;}
.service-card p.arrow {display:none;}
.service-card .gs-service-link {margin-top:auto;padding-top:28px;color:var(--red);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.service-card .gs-service-link a {display:inline-block;padding:8px 0;}
.service-card .gs-service-link a:after {content:' →';}
.gs-esser-logo-panel {margin:28px 0 24px;background:#fff;padding:24px;border-radius:12px;max-width:410px;}
.gs-esser-logo-panel .wp-block-image img {width:100%;height:auto;max-width:325px;object-fit:contain;}
.partner-featured .btn {margin-top:24px;}
.partner-logo figure.wp-block-image {display:flex;align-items:center;justify-content:center;width:100%;}
.partner-logo figure.wp-block-image img {width:auto;height:auto;max-width:100%;max-height:82px;}
.section[id] {scroll-margin-top:136px;}
@media(max-width:782px){body.admin-bar .wp-site-blocks > .wp-block-template-part:first-child{top:46px;}}
@media(max-width:680px){.gs-header .nav{height:78px;gap:16px;}.gs-header .gs-logo{width:clamp(200px,62vw,280px);}.wp-block-cover.hero,.hero .hero-inner{min-height:720px;}.hero .hero-inner{padding:90px 0 42px;}.hero .display{font-size:clamp(46px,11.8vw,66px);line-height:1;}.hero .hero-copy{font-size:17px;line-height:1.6;margin:28px 0 24px;}.hero .hero-note{display:none;}.hero .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;}.hero .hero-actions .btn{width:100%;}.wp-block-cover.hero > .wp-block-cover__image-background{object-position:62% center;}.contact-copy .display{font-size:clamp(40px,10vw,60px);}}
@media(max-width:380px){.hero .display{font-size:42px;}.container{width:calc(100% - 32px);}.btn{letter-spacing:.06em;font-size:11px;}}
@media(max-width:1150px){.gs-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none;}.gs-navigation .wp-block-navigation__responsive-container-open {display:flex;}}
@media(max-width:600px){.nav{gap:12px;}.logo-name{font-size:13px;}.gs-logo,.gs-logo img{width:44px;height:44px;}.hero .display{font-size:clamp(40px,11vw,58px);}.hero-inner{padding-top:80px;}.foot{flex-direction:column;align-items:flex-start;}.gs-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start;gap:24px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

/* Refinements of the approved 0.2.0 design, shared by native page blocks. */
.gs-main{margin:0}.head,.gs-editorial,.gs-contact-page{min-width:0}.gs-head-copy .lead{margin-top:24px}
.services-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.service-card{min-width:0;grid-column:span 3}.service-card.big{grid-column:span 6}.service-card:not(.big) h3{font-size:clamp(23px,2.2vw,32px);overflow-wrap:break-word}.service-card:not(.big) p{font-size:15px}
.partner-grid-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-grid-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-card{min-width:0}.partner-logo img{max-width:100%}.partner-logo.compact:has(img[src*="profilm"]){overflow:hidden;height:100px}.partner-logo.compact img[src*="profilm"]{max-height:none;max-width:none;width:250px;height:250px;object-fit:cover}
.gs-page-intro{background:#0c0c0c;color:white}.gs-page-intro .hero-inner{min-height:520px;padding:100px 0 70px}.gs-page-intro .eyebrow{color:#aaa;margin-bottom:22px}.gs-page-intro .hero-copy{margin:30px 0;max-width:760px;color:#bbb}.gs-page-intro .display,.hero .gs-page-display{font-size:clamp(48px,6vw,92px);max-width:1200px;line-height:1;overflow-wrap:break-word}
.wp-block-cover.gs-detail-hero,.gs-detail-hero .hero-inner{min-height:650px}.gs-detail-hero .hero-inner{padding:100px 0 65px}.gs-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px;align-items:center}.gs-editorial-reverse .gs-detail-image{order:2}.gs-detail-image{overflow:hidden;border-radius:24px}.gs-detail-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.gs-editorial-copy .eyebrow{margin-bottom:24px}.gs-editorial-copy .lead{margin:28px 0}.gs-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gs-process-card{padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--bg)}.gs-process-card h3{margin:25px 0 20px}.gs-faq{max-width:980px;margin-left:auto}.gs-faq details{border-bottom:1px solid var(--line);padding:24px 0}.gs-faq summary{font-size:20px;font-weight:700;cursor:pointer}.gs-faq details p{margin:22px 0 0;color:var(--muted);max-width:850px}.gs-detail-cta .eyebrow{margin-bottom:25px}.gs-detail-cta .display{font-size:clamp(42px,6vw,90px);line-height:1}.gs-detail-cta .lead{margin:32px 0;max-width:720px;color:#bbb}.gs-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gs-contact-page{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px}.gs-contact-info .eyebrow{margin-bottom:24px}.gs-contact-info .lead{margin-top:28px}.gs-contact-info .contact-details{margin-bottom:35px}.gs-contact-info .contact-details b{color:#777}.gs-contact-info .contact-details a{display:block;overflow-wrap:anywhere}.gs-contact-form h3{margin:20px 0}.gs-legal{overflow-wrap:anywhere}.gs-legal h1{margin-bottom:40px}.gs-legal p{margin-bottom:20px;max-width:950px}.gs-legal h2,.gs-legal h3{margin:30px 0 18px}
.ds-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ds-field{display:flex;flex-direction:column;gap:8px;min-width:0}.ds-field-full{grid-column:1/-1}.ds-field label{font-size:12px;font-weight:700}.ds-field input,.ds-field textarea,.ds-field select{font:inherit;width:100%;min-width:0;padding:12px;border:1px solid #cec9c1;border-radius:10px;background:#faf9f6;color:#111}.ds-field textarea{resize:vertical}.ds-form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.ds-form-notice{font-size:12px;color:#69635c;line-height:1.6}.ds-form-notice a{text-decoration:underline}.ds-form-submit{border:0;border-radius:999px;background:#111;color:white;padding:18px 28px;font-weight:700;min-height:54px}.ds-form-submit:hover{background:var(--red)}.ds-form-message{background:#f4f1eb;border-left:4px solid var(--red);padding:18px}.form .ds-form-grid{margin-top:25px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c00012;outline-offset:5px}
@media(max-width:1080px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.service-card.big{grid-column:auto}.gs-editorial{gap:35px}.gs-process-grid{gap:14px}.gs-process-card{padding:24px}.gs-contact-page{grid-template-columns:1fr;gap:45px}.gs-contact-info .contact-details{max-width:650px}.partner-card.compact{padding:22px}.partner-wordmark.shark{font-size:32px}}
@media(max-width:680px){.services-grid,.gs-editorial,.gs-process-grid,.gs-work-grid,.partner-grid-primary,.partner-grid-secondary{grid-template-columns:1fr}.gs-editorial-reverse .gs-detail-image{order:0}.gs-editorial{gap:32px}.gs-page-intro .hero-inner{min-height:490px;padding:70px 0 45px}.gs-page-intro .display,.hero .gs-page-display{font-size:clamp(38px,10.5vw,64px)}.wp-block-cover.gs-detail-hero,.gs-detail-hero .hero-inner{min-height:620px}.gs-detail-hero .hero-inner{padding:80px 0 45px}.gs-process-card{padding:30px}.gs-faq summary{font-size:18px}.gs-contact-page{gap:36px}.ds-form-grid{grid-template-columns:1fr}.ds-field-full{grid-column:auto}.service-card:not(.big) h3{font-size:28px}.gs-detail-cta .display{font-size:clamp(36px,10vw,58px)}.gs-header .gs-logo{max-width:calc(100vw - 105px)}.gs-contact-info .contact-details{grid-template-columns:1fr}.gs-legal .container{width:calc(100% - 36px)}}
.service-card:not(.big) h3{font-size:23px}.gs-editorial-copy .h2{font-size:clamp(32px,4vw,60px);overflow-wrap:break-word;hyphens:auto}
@media(max-width:1080px){.service-card h3,.service-card:not(.big) h3{font-size:28px}}
@media(max-width:680px){.service-card h3,.service-card:not(.big) h3{font-size:26px}}

/* Explicit layout rules shared by the website and WordPress editor. */
.gs-main{font-family:Arial,Helvetica,sans-serif;line-height:1.55;color:#0c0c0c}
.gs-main .container{width:min(calc(100% - 56px),1440px);max-width:none;margin-inline:auto}
.gs-main .section{padding-block:120px}.gs-main .head{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:90px;margin:0 0 55px}
.gs-main .head .lead{margin:24px 0 0}.gs-main .hero-copy{margin:32px 0 26px}.gs-main .about-points{margin-top:28px}.gs-main .contact-details{margin-top:46px}
.gs-main .about-grid,.gs-main .services-grid,.gs-main .cases,.gs-main .contact-grid,.gs-main .gs-editorial,.gs-main .gs-process-grid,.gs-main .gs-work-grid,.gs-main .gs-contact-page{display:grid}
.gs-main .about-grid{gap:14px}.gs-main .services-grid{gap:14px}.gs-main .cases{gap:12px}.gs-main .contact-grid{gap:90px}.gs-main .gs-editorial{gap:70px}.gs-main .gs-process-grid{gap:20px}.gs-main .gs-work-grid{gap:14px}.gs-main .gs-contact-page{gap:70px}
.gs-main .service-card h3{margin:24px 0 13px}.gs-main .about-box p{margin:0}.gs-main .hero-actions{display:flex;gap:14px;flex-wrap:wrap}.gs-main .gs-editorial-copy .lead{margin:28px 0}.gs-main .gs-process-card h3{margin:25px 0 20px}.gs-main .gs-detail-cta .lead{margin:32px 0}
/* Partner showcase: one featured partner, followed by a restrained logo band. */
.gs-main #partners>.container{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:0;row-gap:0}
.gs-main #partners .head,.gs-main #partners .partner-featured,.gs-main #partners .partner-note{grid-column:1/-1}
.gs-main #partners .partner-featured{display:block;background:transparent;border:0;border-top:1px solid #333;border-radius:0;min-height:0;padding:40px 0;margin:0 0 30px}
.gs-main #partners .partner-featured>.wp-block-group{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:70px;row-gap:22px;align-items:start}
.gs-main #partners .partner-featured .eyebrow{grid-column:1;grid-row:1;font-size:10px;color:#999;padding:0;margin:0}
.gs-main #partners .gs-esser-logo-panel{grid-column:1;grid-row:2/4;margin:0;padding:22px;background:#fff;max-width:300px;border-radius:12px}
.gs-main #partners .partner-featured>.wp-block-group>p:not(.eyebrow):not(.gs-link-wrapper){grid-column:2;grid-row:1/3;font-size:18px;line-height:1.65;color:#c0bbb4;max-width:720px;margin:0}
.gs-main #partners .partner-featured .gs-link-wrapper{grid-column:2;grid-row:3;margin:0}.gs-main #partners .partner-featured .btn{margin:0;min-height:46px;font-size:10px;padding-inline:22px}
.gs-main #partners .partner-meta{display:none}
.gs-main #partners .partner-grid-primary,.gs-main #partners .partner-grid-secondary{display:contents;margin:0}
.gs-main #partners .partner-card{background:#f4f1eb;border:0;border-right:1px solid #ddd7ce;border-radius:0;padding:28px 22px;min-height:225px;display:flex;flex-direction:column;gap:20px;margin:0;color:#111;box-shadow:none}
.gs-main #partners .partner-card .eyebrow{display:none}.gs-main #partners .partner-grid-primary>.partner-card:first-child{border-radius:14px 0 0 14px}.gs-main #partners .partner-grid-secondary>.partner-card:last-child{border-radius:0 14px 14px 0;border-right:0}
.gs-main #partners .partner-logo,.gs-main #partners .partner-logo.compact{min-height:80px;height:80px;padding:0;margin:0;overflow:hidden}
.gs-main #partners .partner-logo img{width:auto;max-width:175px;max-height:58px;object-fit:contain}
.gs-main #partners .partner-logo img[src*="chemicalshark"]{max-height:70px}
.gs-main #partners .partner-logo img[src*="profilm"]{width:210px;height:210px;max-width:none;max-height:none;object-fit:cover}
.gs-main #partners .partner-card>p:not(.eyebrow){font-size:13px;line-height:1.6;color:#6c665f;margin:0}
.gs-main #partners .partner-note{margin:24px 0 0;font-size:11px;color:#999;max-width:950px}
@media(max-width:1080px){.gs-main .head{grid-template-columns:1fr;gap:24px}.gs-main .contact-grid,.gs-main .gs-contact-page{gap:45px}.gs-main .gs-editorial{gap:35px}.gs-main .gs-process-grid{gap:14px}.gs-main #partners>.container{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.gs-main #partners .partner-card{grid-column:span 2;border:0;border-radius:12px!important;padding:24px 18px}.gs-main #partners .partner-grid-primary>.partner-card{grid-column:span 3}.gs-main #partners .partner-featured>.wp-block-group{grid-template-columns:250px minmax(0,1fr);gap:25px}.gs-main #partners .partner-featured>.wp-block-group>p:not(.eyebrow):not(.gs-link-wrapper){font-size:16px}.gs-main #partners .partner-logo img{max-width:145px}}
@media(max-width:680px){.gs-main .container{width:calc(100% - 32px)}.gs-main .section{padding-block:80px}.gs-main .hero-actions{display:grid;grid-template-columns:1fr;gap:12px}.gs-main .gs-editorial{gap:32px}.gs-main .contact-grid,.gs-main .gs-contact-page{gap:36px}.gs-main #partners>.container{grid-template-columns:1fr;gap:12px}.gs-main #partners .partner-featured{padding:30px 0;margin:0 0 15px}.gs-main #partners .partner-featured>.wp-block-group{display:flex;flex-direction:column;gap:22px}.gs-main #partners .gs-esser-logo-panel{width:250px;max-width:100%}.gs-main #partners .partner-grid-primary>.partner-card,.gs-main #partners .partner-card{grid-column:auto;display:grid;grid-template-columns:125px minmax(0,1fr);align-items:center;gap:18px;min-height:130px;padding:22px 16px}.gs-main #partners .partner-logo,.gs-main #partners .partner-logo.compact{height:70px;min-height:70px}.gs-main #partners .partner-logo img{max-width:115px;max-height:45px}.gs-main #partners .partner-logo img[src*="chemicalshark"]{max-height:58px}.gs-main #partners .partner-logo img[src*="profilm"]{max-width:none;max-height:none;width:175px;height:175px}.gs-main #partners .partner-card>p:not(.eyebrow){font-size:12px}.gs-main #partners .partner-note{margin:15px 0 0}}
.gs-header .gs-navigation{gap:20px}.gs-header .gs-navigation .wp-block-navigation__container{gap:20px}
.gs-main .about-box.dark>.eyebrow{margin-bottom:18px}.gs-main .about-box.dark>.h3{margin:0 0 18px}.gs-main .review-card>.h3{margin-bottom:16px}.gs-main .form>.h3{margin:20px 0}.gs-main .form>p:not(.eyebrow){margin:18px 0}
