:root {
  --heading: Manrope, Arial, sans-serif;
}
h1,
h2,
h3 {
  font-family: var(--heading);
  text-transform: none;
  letter-spacing: -0.045em;
  line-height: 1.14;
}
h1 {
  font-size: clamp(40px, 5.8vw, 78px);
}
h2 {
  font-size: clamp(28px, 3.2vw, 44px);
}
h3 {
  font-size: 24px;
}
.hero h1 {
  font-size: clamp(43px, 5.8vw, 82px);
  letter-spacing: -0.05em;
  line-height: 1.08;
}
.wordmark {
  font-family: Manrope, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -0.05em;
}
.wordmark span {
  letter-spacing: 0.22em;
  font-size: 10px;
}
.navigation {
  min-height: 98px;
}
.navigation .brand img {
  width: 53px;
  height: 63px;
}
#main-nav {
  gap: 22px;
}
.nav-link {
  font-size: 13px;
}
.basket-link {
  font-size: 13px;
  background: #edf3fc;
  border-radius: 5px;
  padding: 10px 14px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.basket-link .basket-count {
  color: #2878f0;
  min-width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  font-weight: 800;
}
.basket-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page-intro {
  padding-top: 85px;
  padding-bottom: 65px;
}
.page-intro h1 {
  margin: 16px 0 24px;
  max-width: 1000px;
}
.page-intro > p:last-child {
  max-width: 670px;
  color: #606a78;
  font-size: 18px;
  line-height: 1.8;
}
.page-intro:after {
  content: "";
  display: block;
  width: 58px;
  height: 4px;
  background: #2878f0;
  margin-top: 40px;
}
.story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.story-grid img {
  width: 100%;
  height: 560px;
  object-fit: cover;
}
.story-grid p {
  margin: 22px 0;
}
.feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.feature-grid article {
  padding: 35px;
  border-top: 1px solid var(--line);
  background: #fff;
}
.feature-grid h2 {
  margin: 20px 0;
}
.feature-grid a {
  display: inline-block;
  margin-top: 20px;
  color: #1759b5;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.7fr 1fr;
  gap: 70px;
  padding-top: 65px;
  padding-bottom: 65px;
}
.footer-grid p {
  margin: 25px 0;
  color: #909baa;
}
.footer-grid > div > a:not(.brand) {
  display: flex;
  margin: 12px 0;
  gap: 14px;
}
.footer-grid .eyebrow {
  color: #8a98aa;
}
.location-pin .icon {
  color: #5693ff;
  margin-top: 5px;
  flex-shrink: 0;
}
.shop-section,
.gallery-section {
  padding-bottom: 100px;
  min-height: 400px;
}
.shop-toolbar {
  display: flex;
  align-items: end;
  gap: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 30px;
  margin-bottom: 40px;
}
.shop-toolbar label {
  flex: 1;
}
.shop-toolbar input,
.shop-toolbar select {
  background: white;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 28px;
}
.product-card {
  position: relative;
}
.product-picture {
  position: relative;
  display: block;
  overflow: hidden;
  background: #e8edf2;
  aspect-ratio: 1.12;
}
.product-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s;
}
.product-card:hover img {
  transform: scale(1.045);
}
.product-card h2 {
  font-size: 23px;
  margin: 14px 0 8px;
}
.product-card .eyebrow {
  margin-top: 22px;
  font-size: 10px;
}
.sale-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #1766d3;
  color: white;
  border-radius: 2px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 700;
}
.price {
  font-size: 20px;
  font-weight: 700;
  margin: 10px 0;
}
.price del {
  color: #7a8492;
  font-size: 15px;
  font-weight: 400;
  margin-right: 10px;
}
.empty-state {
  padding: 65px 40px;
  background: #edf1f6;
  border: 1px solid #dce3ec;
  text-align: center;
  width: 100%;
  grid-column: 1/-1;
}
.empty-state h2 {
  margin: 20px 0;
}
.empty-state p {
  max-width: 580px;
  margin: 0 auto 25px;
  color: #657080;
}
.product-detail {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 70px;
  margin-top: 35px;
  align-items: start;
}
.product-detail > img {
  width: 100%;
  max-height: 660px;
  object-fit: cover;
}
.product-detail h1 {
  font-size: 48px;
}
.product-detail .description {
  white-space: pre-line;
  margin: 26px 0;
}
.product-detail .button {
  margin-top: 22px;
}
.product-detail input {
  max-width: 100px;
}
.gallery-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 35px;
}
.gallery-filters button {
  border: 1px solid #d2d9e4;
  background: transparent;
  border-radius: 25px;
  padding: 10px 24px;
  cursor: pointer;
  font: inherit;
}
.gallery-filters button[aria-pressed="true"] {
  background: #111722;
  color: white;
  border-color: #111722;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 70px 35px;
  align-items: start;
}
.gallery-card:nth-child(2n) {
  margin-top: 100px;
}
.gallery-card button {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  color: inherit;
  padding: 0;
  cursor: zoom-in;
}
.gallery-card .gallery-photo {
  overflow: hidden;
  position: relative;
}
.gallery-card img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  transition:
    transform 0.75s,
    filter 0.75s;
}
.gallery-card:nth-child(3n + 1) img {
  height: 550px;
}
.gallery-card:hover img {
  transform: scale(1.04);
  filter: contrast(1.05);
}
.gallery-card h2 {
  font-size: 28px;
  margin: 14px 0;
}
.gallery-card p {
  color: #697483;
}
.gallery-card .eyebrow {
  display: block;
  margin-top: 24px;
}
.gallery-card .gallery-photo:after {
  content: "↗";
  position: absolute;
  right: 22px;
  bottom: 22px;
  background: white;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  font-size: 25px;
}
#gallery-lightbox {
  max-width: 1100px;
  width: 90vw;
  padding: 0;
  background: #111722;
  color: white;
  border: 0;
}
#gallery-lightbox > img {
  width: 100%;
  max-height: 68vh;
  object-fit: contain;
  background: #080b10;
}
#gallery-lightbox > div {
  padding: 24px 35px;
}
.gallery-close {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  font-size: 28px;
  background: white;
  cursor: pointer;
}
.account-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.form-card {
  padding: 35px;
  background: #fff;
  border: 1px solid #dde3eb;
  border-radius: 4px;
}
.form-card h2 {
  font-size: 28px;
  margin-bottom: 22px;
}
.form-card label {
  margin: 16px 0;
}
.form-card button {
  margin-top: 15px;
}
.form-card .form-note {
  font-size: 13px;
}
.account-section {
  padding-top: 0;
}
.order-card {
  border: 1px solid #dce2ea;
  background: #fff;
  padding: 25px;
  margin: 20px 0;
}
.order-card h3 {
  font-size: 20px;
}
.order-card p {
  margin: 8px 0;
}
.cart-layout {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 55px;
}
.cart-row {
  display: grid;
  grid-template-columns: 85px 1fr 80px;
  gap: 20px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid #dce2ea;
}
.cart-row img {
  width: 85px;
  height: 90px;
  object-fit: cover;
}
.cart-row h2 {
  font-size: 20px;
}
.cart-row button {
  border: 0;
  background: none;
  color: #58697e;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
}
.cart-row input {
  padding: 10px;
  width: 75px;
}
.cart-summary {
  background: #fff;
  padding: 30px;
  border: 1px solid #dce2ea;
  align-self: start;
}
.cart-summary h2 {
  font-size: 28px;
}
.total-line {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 18px 0;
}
.cart-summary label {
  margin: 18px 0;
}
.cart-summary .button {
  width: 100%;
  margin-top: 20px;
}
.notice {
  padding: 18px 22px;
  background: #eaf1fd;
  border-left: 3px solid #2878f0;
  margin: 20px 0;
}
.status-message,
[role="status"] {
  white-space: pre-line;
}
.error-message {
  color: #9f2828;
}
.contact h2 {
  font-size: clamp(38px, 5vw, 66px);
}
.steps h3 {
  font-size: 22px;
}
.service-card h3 {
  font-size: 25px;
}
.reveal {
  transition:
    opacity 0.8s,
    transform 0.8s;
}
.form-card input:focus,
.shop-toolbar input:focus {
  outline: 2px solid #2878f0;
  outline-offset: 2px;
}
[hidden] {
  display: none !important;
}
@media (min-width: 901px) {
  body[data-page="services"] .services {
    padding-top: 0;
  }
  body[data-page="services"] .services > .section-heading {
    display: none;
  }
}
@media (max-width: 1100px) {
  #main-nav {
    gap: 13px;
  }
  .nav-link,
  .basket-link {
    font-size: 12px;
  }
  .navigation .brand {
    gap: 8px;
  }
  .wordmark {
    font-size: 29px;
  }
  .story-grid {
    gap: 35px;
  }
}
@media (max-width: 900px) {
  .navigation {
    flex-wrap: wrap;
  }
  .menu-toggle {
    display: flex;
  }
  #main-nav {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    padding: 20px 0;
  }
  #main-nav.open {
    display: flex;
  }
  .nav-link {
    font-size: 16px;
    padding: 8px 0;
  }
  .story-grid,
  .product-detail,
  .cart-layout {
    grid-template-columns: 1fr;
  }
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-grid {
    gap: 30px;
  }
  .story-grid img {
    height: 420px;
  }
  .product-detail > img {
    max-height: 500px;
  }
  .page-intro {
    padding-top: 55px;
    padding-bottom: 45px;
  }
}
@media (max-width: 600px) {
  .account-layout,
  .feature-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .product-grid {
    gap: 30px 15px;
  }
  .product-card h2 {
    font-size: 19px;
  }
  .shop-toolbar {
    flex-wrap: wrap;
  }
  .shop-toolbar label {
    flex-basis: 100%;
  }
  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .gallery-card:nth-child(2n) {
    margin-top: 0;
  }
  .gallery-card img,
  .gallery-card:nth-child(3n + 1) img {
    height: 390px;
  }
  .page-intro h1 {
    font-size: 43px;
  }
  .form-card {
    padding: 23px;
  }
  .footer-grid {
    gap: 25px;
  }
  .cart-row {
    grid-template-columns: 65px 1fr 70px;
    gap: 12px;
  }
  .cart-row img {
    width: 65px;
    height: 80px;
  }
  .empty-state {
    padding: 45px 22px;
  }
  .product-detail h1 {
    font-size: 35px;
  }
  .hero h1 {
    font-size: 47px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
.borehole-service{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:60px;padding-bottom:75px;border-top:1px solid var(--line)}.borehole-service h2{margin-top:18px}.borehole-service .text-link{display:inline-block;margin-top:24px}.borehole-feature{grid-column:1/-1}.contact-page-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:65px;align-items:start;padding-bottom:85px}.inline-enquiry{background:white;border:1px solid var(--line);border-radius:5px}.inline-enquiry .dialog-inner{padding:35px}.inline-enquiry h2{font-size:32px;margin:16px 0}.inline-enquiry .form-intro{margin-bottom:24px}.inline-enquiry label{margin:18px 0}.inline-enquiry .honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}.contact-page-details{padding-top:30px}.contact-page-details h2{font-size:32px;margin:18px 0}.contact-page-details p{margin:22px 0}.contact-page-details>a{display:block;margin:18px 0;overflow-wrap:anywhere}.contact-page-details .button{display:inline-flex}.workshop-map{padding-top:60px;padding-bottom:45px;display:grid;grid-template-columns:1fr 1.7fr;align-items:center;gap:45px;border-bottom:1px solid #29303b}.workshop-map h2{font-size:33px;margin:18px 0;color:#f5f7fa}.workshop-map p{color:#b2bccb;margin:14px 0}.workshop-map .eyebrow{color:#91baff}.workshop-map a{color:#91baff}.workshop-map iframe{display:block;border:0;width:100%;height:330px;border-radius:4px;background:#e9edf2}.inline-enquiry #enquiry-result{padding:15px 0}.inline-enquiry .button{white-space:normal}
@media(max-width:900px){.contact-page-grid{gap:30px}.workshop-map{gap:30px;grid-template-columns:1fr}.contact-page-details h2{font-size:27px}.inline-enquiry .dialog-inner{padding:25px}}
@media(max-width:700px){.contact-page-grid,.borehole-service{grid-template-columns:1fr;gap:25px}.contact-page-grid{padding-bottom:50px}.contact-page-details{padding-top:0}.workshop-map iframe{height:300px}.inline-enquiry h2{font-size:27px}.borehole-service{padding-top:35px;padding-bottom:45px}}
.workshop-map h2{color:var(--ink)}.workshop-map p{color:#657080}.workshop-map .eyebrow,.workshop-map a{color:#1759b5}
.feature-grid .illustrated-service{padding:0;border:1px solid var(--line);overflow:hidden}.service-photo{overflow:hidden;aspect-ratio:3/2;background:#e5eaf0}.service-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.illustrated-service:hover .service-photo img{transform:scale(1.035)}#laboratory-equipment .service-photo img{object-position:50% 62%}.service-copy{padding:32px 35px 36px}.illustrated-service{scroll-margin-top:125px}@media(max-width:600px){.service-copy{padding:25px}.feature-grid{gap:28px}.service-photo{aspect-ratio:3/2}}@media(prefers-reduced-motion:reduce){.service-photo img{transition:none}.illustrated-service:hover .service-photo img{transform:none}}
.specialist-overview{padding-top:55px;padding-bottom:85px;border-top:1px solid var(--line)}.specialist-overview .section-heading{align-items:end;gap:28px;margin-bottom:38px}.specialist-overview h2{max-width:640px}.specialist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.specialist-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#e5eaf0}.specialist-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.specialist-card:hover img{transform:scale(1.035)}.specialist-card h3{font-size:26px;letter-spacing:-.035em;margin:24px 0 15px}.specialist-card p{color:#606a78;margin-bottom:20px}.specialist-card .text-link{font-size:14px}.specialist-details{padding-bottom:90px}.specialist-detail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:65px;align-items:start;padding:65px 0;border-top:1px solid var(--line);scroll-margin-top:100px}.specialist-detail:nth-child(2n) .specialist-detail-image{order:2}.specialist-detail-image{aspect-ratio:4/5;overflow:hidden;background:#e6ebf0;position:sticky;top:130px}.specialist-detail-image img{display:block;width:100%;height:100%;object-fit:cover}.specialist-detail-copy h2{font-size:clamp(32px,3.4vw,47px);margin:18px 0 24px}.specialist-detail-copy>p:not(.eyebrow){margin:18px 0;color:#566171;font-size:15px;line-height:1.9}.specialist-detail-copy .specialist-lead{font-size:20px!important;line-height:1.5!important;color:var(--ink)!important;font-weight:700}.specialist-detail-copy ul{padding:0;margin:25px 0 28px;list-style:none}.specialist-detail-copy li{position:relative;padding:12px 0 12px 24px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.75}.specialist-detail-copy li:before{content:'';position:absolute;left:0;top:23px;width:6px;height:6px;border-radius:50%;background:var(--blue)}.specialist-detail-copy .button{font-size:13px;white-space:normal}#aluminium .specialist-detail-image img{object-position:32% center}.specialist-card:first-child img{object-position:50% 60%}
@media(max-width:900px){.specialist-detail{gap:35px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.specialist-grid{gap:20px}.specialist-card h3{font-size:22px}.specialist-detail-copy h2{font-size:32px}}
@media(max-width:700px){.specialist-grid,.specialist-detail{grid-template-columns:1fr}.specialist-grid{gap:40px}.specialist-overview .section-heading{align-items:start;flex-direction:column}.specialist-overview{padding-top:35px;padding-bottom:55px}.specialist-detail{padding:35px 0;gap:25px}.specialist-detail:nth-child(2n) .specialist-detail-image{order:0}.specialist-detail-image{position:static;aspect-ratio:4/3}.specialist-detail-copy h2{margin-top:14px}.specialist-details{padding-bottom:45px}.specialist-detail-copy .button{width:100%}}
@media(prefers-reduced-motion:reduce){.specialist-image img{transition:none}.specialist-card:hover img{transform:none}}

/* Subtle depth for public controls and surfaces. */
.header{box-shadow:0 3px 18px rgba(15,27,46,.06)}
.button{border-radius:6px;box-shadow:0 2px 3px rgba(8,28,60,.12),0 7px 18px rgba(22,80,164,.16),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:not(.button-outline):not(.button-neutral){background:linear-gradient(180deg,#337ef0 0%,#1f62ce 100%);border-color:#245fc0;color:#fff}
.button-outline{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.55);box-shadow:0 4px 14px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(5px)}
.button-neutral{background:linear-gradient(180deg,#fff,#edf1f7);color:var(--ink);border-color:#d4dce7}
.button:focus-visible,.basket-link:focus-visible{outline:3px solid #83b5ff;outline-offset:4px}
.button:active{transform:translateY(1px);box-shadow:inset 0 2px 5px rgba(0,0,0,.18),0 2px 4px rgba(15,45,92,.12)}
.button:disabled{transform:none;box-shadow:none}
.basket-link,.gallery-filters button{border:1px solid #d9e3f1;box-shadow:0 2px 5px rgba(15,40,78,.06),inset 0 1px 0 rgba(255,255,255,.8)}
.feature-grid .illustrated-service,.form-card,.inline-enquiry,.cart-summary{border-radius:9px;box-shadow:0 3px 7px rgba(19,35,57,.035),0 14px 32px rgba(19,35,57,.065)}
.product-picture,.specialist-image,.specialist-detail-image{border-radius:7px;box-shadow:0 8px 22px rgba(19,35,57,.1)}
.illustrated-service{transition:box-shadow .25s ease}
@media(hover:hover){.button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 6px rgba(8,28,60,.12),0 12px 25px rgba(22,80,164,.23),inset 0 1px 0 rgba(255,255,255,.25)}.button:not(:disabled):active{transform:translateY(1px)}.illustrated-service:hover{box-shadow:0 5px 12px rgba(19,35,57,.05),0 20px 40px rgba(19,35,57,.1)}}
@media(prefers-reduced-motion:reduce){.button,.illustrated-service{transition:none}.button:hover,.button:active{transform:none}}

/* Slightly larger public typography for easier reading. */
body{font-size:17px}
.utility{font-size:13px}
.navigation nav,.nav-link,.basket-link{font-size:14px}
.button{font-size:14px}
.eyebrow{font-size:12px}
.section-heading>p,.service-content>p,.about-copy>p:not(.eyebrow),.steps p,.contact h2+p,.form-intro,.contact-page-details p,.specialist-card p,.specialist-detail-copy>p:not(.eyebrow){font-size:16px}
.service-content>a,.specialist-card .text-link,.specialist-detail-copy li{font-size:15px}
.form-note,.footer-main>p{font-size:13px}
.footer-bottom{font-size:11px}
input,select,textarea{font-size:16px}

/* Premium image treatment. */
.product-picture,.service-image,.service-photo,.specialist-image,.specialist-detail-image,.gallery-photo{position:relative;border:1px solid rgba(12,25,44,.09);box-shadow:0 10px 24px rgba(12,28,52,.11),0 28px 58px rgba(12,28,52,.08);transition:transform .35s ease,box-shadow .35s ease;isolation:isolate}
.product-picture:after,.service-image:after,.service-photo:after,.specialist-image:after,.specialist-detail-image:after,.gallery-photo:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 42%,rgba(4,14,28,.1));z-index:1}
.product-picture img,.service-image img,.service-photo img,.specialist-image img,.specialist-detail-image img,.gallery-photo img,.story-grid img{filter:saturate(.94) contrast(1.035);transition:transform .65s ease,filter .65s ease,box-shadow .35s ease}
.story-grid img,.product-detail>img{border-radius:10px;border:1px solid rgba(12,25,44,.09);box-shadow:0 14px 30px rgba(12,28,52,.13),0 34px 70px rgba(12,28,52,.09)}
.illustrated-service,.specialist-card{position:relative}
@media(hover:hover){.product-card:hover .product-picture,.illustrated-service:hover .service-photo,.specialist-card:hover .specialist-image,.gallery-card:hover .gallery-photo{transform:translateY(-4px);box-shadow:0 15px 30px rgba(12,28,52,.14),0 36px 72px rgba(12,28,52,.11)}.product-card:hover img,.illustrated-service:hover img,.specialist-card:hover img,.gallery-card:hover img{filter:saturate(1.02) contrast(1.055)}}

/* Verified reviews and featured testimonials. */
.rating-stars{color:#d18a13;letter-spacing:2px;font-size:18px;white-space:nowrap}.rating-count{color:#657080;font-size:13px;margin-left:10px}.product-rating{display:flex;align-items:center;gap:2px;margin:10px 0 18px}.product-card-rating{display:flex;align-items:center;flex-wrap:wrap;margin:7px 0}.product-card-rating .rating-stars{font-size:15px}.product-card-rating .rating-count{font-size:12px;margin-left:7px}
.product-reviews{margin:90px 0 110px;padding-top:65px;border-top:1px solid var(--line)}.product-reviews>header{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.product-reviews h2{margin-top:12px}.review-summary{padding:18px 22px;background:#f4f7fb;border:1px solid #dfe6ef;border-radius:8px;white-space:nowrap}.reviews-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:55px;align-items:start}.review-list{display:grid;gap:18px}.review-card{background:#fff;border:1px solid #e0e5ec;border-radius:10px;padding:28px 30px;box-shadow:0 10px 28px rgba(14,31,54,.06)}.review-card h3{font-size:20px;margin:13px 0 10px}.review-card>p{color:#4f5b6a;line-height:1.8;white-space:pre-line}.review-card footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid #e8ecf1;font-size:13px}.review-card footer span{color:#1761c7}.review-card footer time{color:#7b8592;margin-left:auto}.review-form,.review-invitation{background:#101722;color:#f6f8fb;border-radius:11px;padding:34px;box-shadow:0 16px 38px rgba(7,17,32,.2);position:sticky;top:120px}.review-form h2{font-size:30px;margin:10px 0}.review-form>p:not(.eyebrow),.review-invitation p{color:#adb8c7}.review-form label{display:block;margin:18px 0;color:#e8edf4}.review-form input,.review-form select,.review-form textarea{margin-top:7px;background:#fff;color:#111722}.review-form .button{margin-top:8px}.review-form #review-message{font-size:13px;color:#b8c4d3;margin-top:16px}.review-invitation h3{color:#fff}.review-invitation .text-link{color:#8ebaff}.review-empty{padding:30px;background:#f2f5f9;border:1px solid #e0e6ee;color:#657080}
.testimonials-section{background:#eef2f7}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.testimonial-card{background:#fff;border:1px solid #dde4ed;border-radius:10px;padding:30px;box-shadow:0 10px 25px rgba(14,31,54,.07);display:flex;flex-direction:column;min-height:280px}.testimonial-card blockquote{font-size:19px;line-height:1.7;margin:24px 0;flex:1}.testimonial-card footer{padding-top:18px;border-top:1px solid #e4e9f0}.testimonial-card footer strong,.testimonial-card footer span{display:block}.testimonial-card footer span{color:#657080;font-size:13px;margin-top:5px}
.review-order-link{color:#1761c7;font-size:12px;margin-left:6px;white-space:nowrap}
@media(max-width:900px){.reviews-layout{grid-template-columns:1fr}.review-form,.review-invitation{position:static}.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.product-reviews{margin:60px 0 75px;padding-top:42px}.product-reviews>header{align-items:start;flex-direction:column}.review-summary{width:100%;white-space:normal}.review-card,.review-form,.review-invitation{padding:24px}.testimonial-grid{grid-template-columns:1fr}.testimonial-card{min-height:0}.rating-count{display:block;margin:5px 0 0}}
@media(prefers-reduced-motion:reduce){.product-picture,.service-image,.service-photo,.specialist-image,.specialist-detail-image,.gallery-photo,.product-picture img,.service-image img,.service-photo img,.specialist-image img,.specialist-detail-image img,.gallery-photo img,.story-grid img{transition:none}.product-card:hover .product-picture,.illustrated-service:hover .service-photo,.specialist-card:hover .specialist-image,.gallery-card:hover .gallery-photo{transform:none}}

/* Made-to-order product tracking. */
.custom-product-badge{position:absolute;left:14px;bottom:14px;z-index:2;background:#101722;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 5px 15px rgba(4,13,26,.25)}
.made-to-order-badge{display:inline-flex;width:max-content;background:#e8f1ff;color:#1555ac;border:1px solid #c9dcf7;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.production-progress{margin:24px 0;padding:26px;background:#f7f9fc;border:1px solid #dce4ee;border-radius:11px;box-shadow:0 10px 25px rgba(14,31,54,.055)}.production-progress header h4{font-size:20px;margin:12px 0 5px}.production-progress header p{margin:0;color:#586577}.production-progress ol{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.production-progress li{position:relative;padding:38px 8px 0;text-align:center;color:#8490a0;font-size:11px;line-height:1.45}.production-progress li:before{content:"";position:absolute;top:13px;left:0;right:0;height:3px;background:#d6deea}.production-progress li:first-child:before{left:50%}.production-progress li:last-child:before{right:50%}.production-progress li span{position:absolute;top:0;left:50%;z-index:1;transform:translateX(-50%);display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#dce3ed;color:#697689;border:3px solid #f7f9fc;font-size:11px;font-weight:800}.production-progress li.complete:before,.production-progress li.current:before{background:#2878f0}.production-progress li.complete span{background:#2878f0;color:#fff}.production-progress li.current{color:#102039;font-weight:800}.production-progress li.current span{background:#fff;color:#1555ac;border-color:#2878f0;box-shadow:0 0 0 3px #d7e6fc}.production-note{margin-top:24px;padding:16px 18px;background:#fff;border-left:4px solid #2878f0}.production-note p{margin:6px 0 0;white-space:pre-line}.production-date{font-size:12px;color:#7a8696;margin:12px 0 0}
@media(max-width:760px){.basket-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.production-progress{padding:22px}.production-progress ol{display:block}.production-progress li{text-align:left;padding:4px 0 20px 42px;min-height:42px}.production-progress li:before{top:0;bottom:0;left:13px!important;right:auto!important;width:3px;height:auto}.production-progress li:last-child:before{bottom:50%}.production-progress li span{top:0;left:0;transform:none}.production-progress li.current span{box-shadow:0 0 0 2px #d7e6fc}}
