/*
Theme Name: Sonic-Pro Rebuild
Description: Local review theme for Sonic-Pro Électricité.
Version: 0.1.0
Requires PHP: 8.2
Text Domain: sonic-rebuild
*/
:root {
  --navy:#0b2238;
  --paper:#f5f3ec;
  --lime:#d9fb58;
  --muted:#52616c;
  --line:#d8ddd9;
  --white:#fff;
  --radius:16px}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth}
body {
  margin:0;
  background:var(--paper);
  color:var(--navy);
  font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a {
  color:inherit;
  text-underline-offset:4px}
button,input,textarea,select {
  font:inherit}
a,button,input,textarea,select {
  touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid #b02627;
  outline-offset:5px}
img {
  max-width:100%;
  height:auto;
  display:block}
h1,h2,h3,p {
  margin-top:0}
h1,h2,h3 {
  line-height:1.08;
  letter-spacing:-.045em}
h1 {
  font-size:clamp(2.7rem,6.5vw,6.6rem);
  max-width:14ch;
  margin-bottom:30px}
h2 {
  font-size:clamp(2rem,4vw,3.7rem)}
h3 {
  font-size:1.5rem;
  letter-spacing:-.025em}
p {
  max-width:65ch}
.wrap {
  width:min(1180px,calc(100% - 48px));
  margin:auto}
.skip {
  position:absolute;
  top:-100px;
  background:white;
  padding:16px;
  z-index:100}
.skip:focus {
  top:0}
.notice {
  background:var(--navy);
  color:white;
  font-size:12px;
  text-align:center;
  padding:7px 16px;
  letter-spacing:.04em}
.site-header {
  border-bottom:1px solid var(--line)}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:98px}
.brand {
  text-decoration:none;
  font-size:26px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.06em}
.brand span {
  color:#bb292c}
.brand small {
  display:block;
  font-size:10px;
  letter-spacing:.3em;
  margin-top:8px}
.desktop-nav {
  display:flex;
  gap:28px;
  align-items:center;
  font-size:14px;
  font-weight:600}
.desktop-nav a {
  text-decoration:none}
.button,button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:48px;
  background:var(--navy);
  color:white;
  border:1px solid var(--navy);
  border-radius:6px;
  padding:13px 21px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  text-decoration:none}
.button.lime {
  background:var(--lime);
  border-color:var(--lime);
  color:var(--navy)}
.button.outline {
  background:transparent;
  color:var(--navy)}
.mobile-nav {
  display:none}
.eyebrow {
  text-transform:uppercase;
  font-size:12px;
  font-weight:750;
  letter-spacing:.16em;
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:28px}
.eyebrow:before {
  content:"";
  width:24px;
  height:2px;
  background:currentColor}
.hero {
  padding:74px 0 64px}
.hero-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:60px;
  align-items:center}
.hero p {
  font-size:19px;
  color:var(--muted);
  max-width:45ch}
.actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:28px 0}
.hero-art {
  background:var(--navy);
  border-radius:var(--radius);
  padding:24px;
  position:relative;
  overflow:hidden}
.hero-art:before {
  content:"";
  display:block;
  height:50px;
  border-left:2px solid var(--lime);
  border-top:2px solid var(--lime);
  width:50px;
  margin-bottom:28px}
.hero-art img {
  border-radius:5px;
  width:100%;
  height:auto}
.hero-art .caption {
  font-size:12px;
  color:#d4dedf;
  margin:20px 0 0;
  letter-spacing:.04em}
.hero-art strong {
  display:block;
  color:var(--lime);
  font-size:24px;
  margin-bottom:8px}
.meta-row {
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:22px 0;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em}
.section {
  padding:80px 0}
.section.white {
  background:white}
.section-head {
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:end;
  margin-bottom:36px}
.section-head h2 {
  max-width:17ch;
  margin:0}
.section-head p {
  font-size:15px;
  max-width:34ch;
  color:var(--muted);
  margin:0}
.cards {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px}
.card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px;
  display:flex;
  flex-direction:column;
  background:white}
.card .number {
  font-size:12px;
  color:var(--muted);
  margin-bottom:54px}
.card h3 {
  margin-bottom:18px}
.card p {
  font-size:14px;
  color:var(--muted)}
.card a {
  margin-top:auto;
  font-size:14px;
  font-weight:650;
  padding:8px 0}
.team-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px}
.team-card {
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden}
.team-card figure {
  margin:0;
  background:#e9eee9;
  min-height:250px;
  display:flex;
  align-items:center}
.team-card img {
  width:100%;
  object-fit:contain}
.team-card .copy {
  padding:24px}
.team-card h3 {
  margin-bottom:8px}
.team-card p {
  font-size:14px;
  margin:0;
  color:var(--muted)}
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start}
.dark {
  background:var(--navy);
  color:white}
.dark p {
  color:#cbd5dd}
.dark .eyebrow {
  color:var(--lime)}
.dark .button.outline {
  color:white;
  border-color:#78909e}
.area-list {
  display:flex;
  flex-wrap:wrap;
  gap:10px}
.area-list span {
  border:1px solid #647581;
  border-radius:30px;
  padding:9px 16px;
  font-size:14px}
.content {
  max-width:850px}
.page-hero {
  padding:64px 0 35px}
.page-hero h1 {
  font-size:clamp(2.8rem,6vw,5rem);
  max-width:18ch}
.breadcrumb {
  font-size:13px;
  color:var(--muted);
  margin-bottom:35px}
.placeholder {
  padding:20px;
  border-left:3px solid #a06b00;
  background:#fff4d7;
  color:#523b0b;
  font-size:14px}
.editor-content h2 {
  font-size:2.2rem;
  margin-top:48px}
.editor-content p {
  max-width:70ch}
.editor-content ul {
  padding-left:22px}
.editor-content a {
  font-weight:600}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px}
label {
  display:block;
  font-size:14px;
  font-weight:650}
input,select,textarea {
  width:100%;
  border:1px solid #85949b;
  border-radius:5px;
  background:white;
  color:var(--navy);
  padding:12px;
  margin-top:7px}
textarea {
  min-height:160px}
.full {
  grid-column:1/-1}
.honeypot {
  position:absolute;
  left:-10000px}
.result {
  padding:20px;
  border:2px solid #576329;
  margin-bottom:24px}
.telegram {
  margin-top:36px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius)}
.telegram h2 {
  font-size:1.5rem}
.telegram p {
  font-size:14px}
.site-footer {
  background:#071a2b;
  color:white;
  padding:56px 0 28px}
.footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:32px}
.site-footer p,.site-footer a {
  font-size:14px}
.footer-links {
  display:flex;
  flex-direction:column;
  gap:10px}
.footer-bottom {
  border-top:1px solid #375064;
  margin-top:35px;
  padding-top:22px;
  font-size:12px;
  color:#bac5cd;
  display:flex;
  justify-content:space-between;
  gap:20px}
.sticky-cta {
  display:none}
details summary {
  cursor:pointer;
  padding:12px;
  font-weight:650}
.booking-steps {
  padding:0;
  list-style:none;
  counter-reset:steps}
.booking-steps li {
  padding:18px 0;
  border-bottom:1px solid var(--line);
  counter-increment:steps}
.booking-steps li:before {
  content:counter(steps,decimal-leading-zero);
  font-size:13px;
  margin-right:24px;
  color:var(--muted)}
@media(max-width:1000px) {
  .desktop-nav {
  gap:16px}
.desktop-nav .button {
  display:none}
.cards {
  grid-template-columns:repeat(2,1fr)}
.hero-grid {
  gap:30px}
}
@media(max-width:720px) {
  .wrap {
  width:calc(100% - 32px)}
.desktop-nav {
  display:none}
.mobile-nav {
  display:block}
.mobile-nav[open] {
  position:absolute;
  top:45px;
  right:16px;
  background:white;
  z-index:10;
  box-shadow:0 8px 30px #0002;
  border-radius:8px;
  padding:8px}
.mobile-nav nav {
  display:flex;
  flex-direction:column;
  padding:10px 20px;
  gap:18px}
.header-inner {
  min-height:84px}
.brand {
  font-size:23px}
.hero {
  padding:44px 0 28px}
.hero-grid,.split {
  grid-template-columns:1fr;
  gap:32px}
.hero h1 {
  max-width:13ch}
.hero-art {
  padding:20px}
.hero-art:before {
  height:20px;
  width:30px;
  margin-bottom:20px}
.meta-row {
  flex-wrap:wrap;
  font-size:10px}
.section {
  padding:48px 0}
.section-head {
  display:block}
.section-head p {
  margin-top:24px}
.cards {
  gap:12px}
.card {
  padding:19px}
.card h3 {
  font-size:1.3rem}
.card .number {
  margin-bottom:25px}
.team-grid {
  grid-template-columns:1fr}
.team-card figure {
  min-height:0}
.team-card img {
  max-height:560px}
.footer-grid {
  grid-template-columns:1fr}
.footer-bottom {
  display:block}
.site-footer {
  padding-bottom:100px}
.sticky-cta {
  display:flex;
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  background:var(--paper);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  gap:10px;
  z-index:20;
  box-shadow:0 -3px 15px #0001}
.sticky-cta a {
  flex:1;
  padding:10px;
  font-size:13px}
.form-grid {
  grid-template-columns:1fr}
.page-hero {
  padding-top:40px}
}
@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
* {
  transition:none!important;
  animation:none!important}
}

.desktop-nav li,.mobile-nav li {
  list-style:none}
.desktop-nav li a {
  display:block;
  padding:10px 0}

.team-card h2 {
  font-size:1.5rem;
  letter-spacing:-.025em;
  margin-bottom:8px}


/* September content migration: original logo, immediate emergency access, editorial team. */
:root {
  --navy:#102938;
  --paper:#f7f6f1;
  --lime:#d1f3eb;
  --red:#cf203c;
  --muted:#52636b}

.screen-reader-text {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap}

[hidden] {
  display:none!important}

.brand {
  display:block;
  flex-shrink:0}

.brand-logo {
  width:240px;
  height:auto;
  filter:hue-rotate(-18deg) saturate(.88)}

.footer-brand {
  display:inline-block;
  background:var(--paper);
  padding:16px;
  border-radius:8px}

.footer-brand .brand-logo {
  width:230px}

.notice {
  font-size:11px;
  padding:4px 16px;
  background:#092130}

.emergency-ribbon {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  min-height:47px;
  padding:9px 24px;
  background:var(--red);
  color:white;
  text-decoration:none;
  font-size:13px;
  letter-spacing:.02em}

.emergency-ribbon strong {
  font-size:12px;
  letter-spacing:.07em}

.emergency-ribbon b {
  font-size:19px;
  font-variant-numeric:tabular-nums}

.status-dot {
  height:8px;
  width:8px;
  border-radius:100%;
  background:#fff;
  box-shadow:0 0 0 5px #ffffff26;
  flex-shrink:0}

.header-inner {
  min-height:100px}

.header-call {
  color:var(--red);
  border-bottom:2px solid var(--red);
  padding:7px 0}

.emergency-button {
  display:flex;
  align-items:center;
  gap:15px;
  text-decoration:none;
  background:var(--red);
  color:white;
  padding:18px 22px;
  border-radius:8px;
  box-shadow:0 8px 0 #8b102114;
  width:fit-content;
  max-width:100%;
  transition:background .15s,transform .15s}

.emergency-button:hover {
  background:#aa1430;
  transform:translateY(-2px)}

.emergency-button small {
  font-size:10px;
  letter-spacing:.08em;
  display:block;
  font-weight:700}

.emergency-button strong {
  font-size:clamp(1.5rem,3vw,2rem);
  letter-spacing:-.025em;
  display:block;
  line-height:1.2}

.phone-symbol {
  height:42px;
  width:42px;
  display:grid;
  place-items:center;
  border:1px solid #ffffff80;
  border-radius:50%;
  font-size:24px}

.call-label {
  font-size:12px;
  max-width:80px;
  line-height:1.4;
  border-left:1px solid #ffffff66;
  padding-left:15px}

.editorial-hero {
  padding:60px 0}

.editorial-hero .hero-grid {
  grid-template-columns:1.05fr 1fr;
  gap:56px}

.hero-copy h1 {
  font-size:clamp(3.3rem,6.5vw,6.2rem);
  max-width:13ch;
  margin-bottom:26px}

h1 em,h2 em {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  letter-spacing:-.065em}

.hero-copy p {
  font-size:17px;
  max-width:42ch;
  margin-bottom:30px}

.hero-copy .actions {
  align-items:center;
  margin-bottom:0;
  gap:24px}

.text-link {
  font-size:14px;
  font-weight:700;
  display:inline-block;
  padding:10px 0}

.hero-project {
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:4px;
  min-height:580px;
  background:#162b3b}

.hero-project:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#051923d9,transparent 70%);
  pointer-events:none}

.hero-project>img {
  width:100%;
  height:580px;
  object-fit:cover}

.hero-project figcaption {
  position:absolute;
  bottom:34px;
  left:32px;
  right:32px;
  color:white;
  z-index:1}

.hero-project figcaption>span {
  font-size:11px;
  letter-spacing:.16em}

.hero-project figcaption strong {
  display:block;
  font-size:44px;
  line-height:1.05;
  letter-spacing:-.035em;
  margin:14px 0 20px}

.hero-project figcaption a {
  font-size:13px}

.image-index {
  position:absolute;
  right:22px;
  top:22px;
  border:1px solid #ffffff88;
  color:white;
  padding:8px 12px;
  font-size:11px;
  z-index:1}

.service-cards .card {
  border-radius:4px;
  background:var(--paper)}

.service-cards .card .number {
  font-size:11px;
  min-height:36px;
  margin-bottom:30px}

.service-cards .card h3 {
  font-size:1.7rem}

.team-stage {
  background:#071c29;
  color:white;
  position:relative;
  overflow:hidden;
  padding:90px 0}

.team-stage:before {
  content:'SONIC-PRO';
  position:absolute;
  font-size:clamp(6rem,18vw,20rem);
  font-weight:900;
  line-height:1;
  letter-spacing:-.07em;
  color:#ffffff04;
  bottom:-20px;
  left:-15px;
  white-space:nowrap;
  pointer-events:none}

.team-stage .wrap {
  position:relative}

.team-stage .eyebrow {
  color:#c7f0e7}

.team-stage .section-head {
  align-items:center;
  margin-bottom:52px}

.team-stage .section-head h2 {
  font-size:clamp(3rem,6vw,5.5rem)}

.team-stage .section-head p {
  color:#c3d1d7;
  font-size:16px;
  margin-bottom:14px}

.team-stage .team-grid {
  gap:22px;
  align-items:stretch}

.team-stage .team-card {
  background:#102e3e;
  border-color:#38515f;
  border-radius:4px;
  position:relative;
  transition:transform .25s,box-shadow .25s;
  display:flex;
  flex-direction:column}

.team-stage .team-card:hover {
  transform:translateY(-7px);
  box-shadow:0 18px 40px #0005}

.team-stage .team-card:nth-child(2) {
  margin-top:38px}

.team-stage .team-card figure {
  background:#04131d;
  aspect-ratio:5/6;
  min-height:0;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid #38515f}

.team-stage .team-card img {
  height:100%;
  width:100%;
  object-fit:contain}

.team-stage .team-card .copy {
  padding:26px;
  flex:1}

.team-stage .team-card h3,.team-stage .team-card h2 {
  font-size:clamp(1.6rem,2.4vw,2.6rem);
  color:white;
  margin-bottom:12px}

.team-stage .team-card p {
  color:#c7d5dc;
  font-size:13px}

.team-stage .breadcrumb {
  color:#c3d1d7}

.team-intro {
  max-width:60ch;
  color:#c7d5dc;
  margin-bottom:48px}

.team-dedicated h1 {
  font-size:clamp(3.5rem,8vw,7rem);
  max-width:15ch}

.project-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px 24px}

.project-card {
  margin:0;
  min-width:0}

.project-card>a {
  display:block;
  position:relative;
  overflow:hidden;
  background:#dde4e2;
  border-radius:4px}

.project-card img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .3s}

.project-card a:hover img {
  transform:scale(1.035)}

.project-zoom {
  position:absolute;
  right:16px;
  bottom:16px;
  background:white;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%}

.project-card figcaption {
  display:flex;
  gap:16px;
  align-items:baseline;
  padding:18px 0}

.project-card figcaption>span {
  font-size:11px;
  color:var(--muted)}

.project-card h3 {
  font-size:17px;
  letter-spacing:-.02em;
  margin:0}

.project-dialog {
  padding:20px;
  border:0;
  background:#071c29;
  color:white;
  border-radius:8px;
  max-width:min(95vw,1100px);
  max-height:95vh}

.project-dialog::backdrop {
  background:#04131dea}

.project-dialog img {
  max-height:75vh;
  max-width:100%;
  width:auto;
  margin:15px auto;
  object-fit:contain}

.project-dialog p {
  text-align:center;
  margin:8px auto}

.dialog-close {
  margin-left:auto;
  display:flex;
  background:white;
  color:var(--navy);
  border:0}

.reviews-section {
  background:#e8efea;
  border-top:1px solid #cedcd5;
  border-bottom:1px solid #cedcd5}

.google-score {
  text-decoration:none;
  display:grid;
  grid-template-columns:auto auto;
  gap:3px 24px;
  align-items:center;
  min-width:260px}

.google-word {
  font-size:22px;
  font-weight:650;
  letter-spacing:-.04em}

.google-score strong {
  grid-row:1/4;
  grid-column:2;
  font-size:72px;
  letter-spacing:-.075em;
  line-height:1}

.google-score strong span {
  font-size:15px;
  color:#52636b;
  letter-spacing:0;
  margin-left:5px}

.google-score>span:last-child {
  font-size:11px}

.stars {
  color:#855408;
  font-size:19px;
  letter-spacing:.15em}

.review-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px}

.review-card {
  margin:0;
  background:white;
  border:1px solid #d1dfd6;
  border-radius:8px;
  padding:28px;
  display:flex;
  flex-direction:column}

.review-card blockquote {
  margin:24px 0 32px;
  flex:1;
  font-family:Georgia,serif;
  font-size:25px;
  line-height:1.35}

.review-card blockquote p {
  margin:0}

.review-card figcaption {
  display:flex;
  gap:12px;
  align-items:center}

.review-avatar {
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e4eeea;
  font-size:18px;
  font-weight:650}

.review-card figcaption strong {
  font-size:13px;
  display:block}

.review-card figcaption small {
  display:block;
  font-size:10px;
  margin-top:4px;
  color:#52636b}

.review-note {
  font-size:11px;
  margin-top:22px;
  color:#52636b;
  max-width:none}

.reviews-extra {
  border-top:1px solid #c5d4cb;
  margin-top:28px;
  padding-top:24px}

.reviews-extra>p {
  font-size:12px;
  margin-top:12px}

.values-panel {
  background:#153443;
  padding:32px;
  border:1px solid #3b5663;
  border-radius:4px}

.values-panel h2 {
  font-size:1.5rem;
  margin-top:28px;
  letter-spacing:-.02em}

.values-panel h2:first-child {
  font-size:2rem;
  margin-top:0}

.values-panel p {
  font-size:14px}

.dark .split>div>h2+section h2,.dark .split>div>h2+h2 {
  font-size:1.5rem}

.closing-cta {
  background:white;
  border:1px solid var(--line);
  padding:35px;
  border-radius:4px}

.closing-cta h2 {
  font-size:2.5rem}

.closing-cta>p {
  font-size:14px;
  margin-top:25px}

.page-title-grid {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:40px;
  align-items:center}

.page-title-grid:has(>.page-cover) h1 {
  font-size:clamp(2.7rem,4.5vw,4.8rem)}

.page-cover {
  margin:0}

.page-cover img {
  width:100%;
  max-height:320px;
  object-fit:cover;
  border-radius:4px}

.page-body {
  padding-top:10px}

.migrated-section {
  margin:28px 0 42px}

.migrated-section p,.migrated-section ul {
  max-width:76ch}

.migrated-section h2 {
  font-size:2rem}

.migrated-section h3 {
  font-size:1.35rem}

.migrated-images {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin:28px 0;
  align-items:center}

.migrated-images img {
  width:auto;
  max-width:min(100%,400px);
  max-height:300px;
  object-fit:contain;
  border-radius:4px}

.brand-partners .migrated-images {
  gap:30px;
  justify-content:space-between;
  padding:25px 0}

.brand-partners img {
  max-width:130px;
  max-height:80px;
  width:auto;
  object-fit:contain}

.service-detail {
  border-top:1px solid #c7d3d5;
  scroll-margin-top:30px}

.service-detail:last-of-type {
  border-bottom:1px solid #c7d3d5}

.service-detail>summary {
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:25px 0;
  font-size:clamp(1.2rem,2vw,1.7rem);
  letter-spacing:-.03em}

.service-detail>summary::-webkit-details-marker {
  display:none}

.service-detail[open]>summary>span:last-child {
  transform:rotate(45deg)}

.service-detail-body {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  padding:5px 0 35px;
  align-items:center}

.service-detail-body img {
  width:100%;
  max-height:350px;
  object-fit:cover;
  border-radius:4px}

.service-detail-body p {
  font-size:17px}

.location-links {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin:30px 0}

.location-links a {
  background:white;
  border:1px solid var(--line);
  padding:20px;
  text-decoration:none;
  font-size:15px}

.emergency-mobile {
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:white!important;
  line-height:1.3}

.emergency-mobile span {
  font-size:9px;
  letter-spacing:.06em}

.emergency-mobile strong {
  font-size:13px;
  letter-spacing:0}

@media(max-width:1100px) {
  .desktop-nav {
  gap:17px;
  font-size:12px}
.brand-logo {
  width:210px}
.hero-project,.hero-project>img {
  min-height:530px;
  height:530px}
.editorial-hero .hero-grid {
  gap:32px}
.call-label {
  display:none}
.team-stage .team-card .copy {
  padding:20px}
.google-score strong {
  font-size:60px}
}

@media(max-width:820px) {
  .desktop-nav .header-call {
  display:none}
.hero-project,.hero-project>img {
  min-height:440px;
  height:440px}
.hero-project figcaption strong {
  font-size:34px}
.project-grid {
  grid-template-columns:repeat(2,1fr)}
.review-card {
  padding:20px}
.review-card blockquote {
  font-size:21px}
.team-stage .team-card h3 {
  font-size:1.55rem}
}

@media(max-width:720px) {
  .emergency-ribbon {
  gap:10px;
  padding:9px 12px;
  flex-wrap:wrap;
  min-height:60px}
.emergency-ribbon>span:not(.status-dot) {
  display:none}
.emergency-ribbon strong {
  font-size:10px}
.emergency-ribbon b {
  font-size:16px}
.brand-logo {
  width:205px}
.header-inner {
  min-height:82px}
.mobile-nav[open] {
  top:120px;
  right:12px}
.editorial-hero {
  padding:34px 0}
.editorial-hero .hero-grid {
  grid-template-columns:1fr;
  gap:30px}
.hero-copy h1 {
  font-size:3.65rem;
  max-width:13ch}
.hero-copy .eyebrow {
  font-size:10px;
  letter-spacing:.12em;
  margin-bottom:20px}
.hero-copy p {
  font-size:16px}
.emergency-button {
  width:100%;
  padding:17px 20px}
.emergency-button strong {
  font-size:29px}
.call-label {
  display:block;
  margin-left:auto}
.hero-copy .actions {
  gap:10px}
.hero-project,.hero-project>img {
  height:400px;
  min-height:0}
.hero-project figcaption {
  left:24px;
  bottom:24px}
.hero-project figcaption strong {
  font-size:40px}
.team-stage {
  padding:55px 0}
.team-stage .section-head h2 {
  font-size:3.5rem}
.team-stage .team-grid {
  grid-template-columns:1fr;
  gap:28px}
.team-stage .team-card:nth-child(2) {
  margin-top:0}
.team-stage .team-card figure {
  aspect-ratio:auto}
.team-stage .team-card img {
  max-height:none;
  height:auto}
.team-stage .team-card h3,.team-stage .team-card h2 {
  font-size:2rem}
.team-stage .team-card:last-child figure {
  min-height:240px}
.team-dedicated h1 {
  font-size:4rem}
.review-grid {
  grid-template-columns:1fr}
.review-card blockquote {
  font-size:27px}
.google-score {
  margin-top:32px;
  width:fit-content}
.page-title-grid,.service-detail-body {
  grid-template-columns:1fr;
  gap:24px}
.page-cover img {
  max-height:240px}
.project-grid {
  gap:20px 14px}
.project-card h3 {
  font-size:14px}
.project-card figcaption {
  gap:8px}
.project-card figcaption>span {
  font-size:10px}
.project-zoom {
  right:10px;
  bottom:10px;
  width:28px;
  height:28px}
.closing-cta {
  padding:22px}
.values-panel {
  padding:24px}
.location-links {
  grid-template-columns:1fr}
.sticky-cta .button {
  min-height:50px}
.sticky-cta>a:first-child {
  flex:1.2}
.sticky-cta>a:last-child {
  font-size:12px}
.brand-partners img {
  max-width:100px}
.editor-content h2 {
  font-size:1.8rem}
}

@media(max-width:380px) {
  .hero-copy h1 {
  font-size:3.2rem}
.emergency-button strong {
  font-size:25px}
.phone-symbol {
  width:32px;
  height:32px}
.call-label {
  display:none}
.emergency-ribbon {
  gap:8px}
.emergency-ribbon b {
  font-size:15px}
}

.editor-content>.migrated-section:first-child h2:first-child{margin-top:0}
body.page .brand-partners{border-top:1px solid var(--line);padding-top:24px;margin-top:48px}
.service-directory a{display:inline-flex;align-items:center;min-height:48px;padding:12px 18px;margin:5px 5px 5px 0;border:1px solid var(--line);background:white;border-radius:4px;text-decoration:none;font-size:14px}
.service-directory h2{margin-top:38px;padding-top:16px}
.service-directory .migrated-images{border-top:1px solid var(--line);padding-top:30px}
.service-directory .migrated-images img{max-width:65px;max-height:65px}
@media(max-width:720px){.emergency-button .call-label{display:none}.emergency-button strong{white-space:nowrap}.emergency-button small{white-space:nowrap;font-size:9px}}

/* Shared team, partner and local-service presentation. */
.phone-icon{display:inline-block;vertical-align:middle;flex-shrink:0;width:1.15em;height:1.15em}
.phone-symbol .phone-icon{width:26px;height:26px}
.service-area{max-width:850px;padding-top:24px;color:inherit;line-height:1.7}
.about-bilingual section+section{margin-top:32px;padding-top:24px;border-top:1px solid currentColor}
.partners-section{background:#fff}
.partner-controls{display:flex;gap:10px}
.partner-controls button{min-width:48px;padding:10px 18px}
.partner-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 2px 22px;scrollbar-width:thin}
.partner-logo{flex:0 0 210px;height:130px;display:grid;place-items:center;scroll-snap-align:start;border:1px solid #dfe5e5;border-radius:14px;background:#fff;padding:20px}
.partner-logo img{width:100%;height:85px;object-fit:contain}
@media(max-width:720px){.partner-logo{flex-basis:170px}.partner-controls{align-self:flex-start}.about-bilingual h2{font-size:30px}}

/* Service hub: four clear entry points and consistently aligned service rows. */
.services-intro{padding:36px 0 56px;background:#f5f3ec}
.services-intro h1{max-width:850px;font-size:clamp(38px,5vw,68px);line-height:1.08;margin:20px 0}
.services-lead{max-width:700px;font-size:20px;line-height:1.6;color:#475961}
.sector-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:36px 0 24px}
.sector-choice{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:26px 22px;border:1px solid #cbd4d4;border-radius:16px;background:#fff;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.sector-choice:hover,.sector-choice:focus-visible{border-color:#123643;box-shadow:0 8px 24px #10293812}
.sector-choice svg{width:32px;height:32px;margin-bottom:12px;color:#b62c43}
.sector-choice strong{font-size:22px;line-height:1.2}
.sector-choice>span{font-size:14px;line-height:1.5}
.sector-choice .sector-link{margin-top:auto;padding-top:20px;font-weight:750;color:#153a47}
.services-help{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;background:#e6eeeb;border-radius:12px}
.services-help strong,.services-help span{display:block;line-height:1.6}
.services-help span{font-size:15px}
.services-help .button{flex-shrink:0}
.service-category{display:grid;grid-template-columns:1fr 2fr;gap:56px;padding:64px 0;border-bottom:1px solid #d6dedd;scroll-margin-top:30px}
.service-category-intro h2{font-size:clamp(28px,3vw,40px);line-height:1.15;margin:14px 0}
.service-category-intro p{line-height:1.7;color:#475961;margin-bottom:24px}
.service-link-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-content:start}
.service-link-list li{margin:0;border-bottom:1px solid #d6dedd}
.service-link-list a{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:72px;padding:16px 8px;text-decoration:none;font-size:16px;line-height:1.4;font-weight:650}
.service-link-list a:hover,.service-link-list a:focus-visible{background:#e6eeeb;color:#102938}
.service-link-list a>span:last-child{color:#b62c43;flex-shrink:0}
.services-contact{background:#e9efed;margin-top:48px}
@media(max-width:1000px){.sector-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.service-category{gap:28px;grid-template-columns:1fr 1.6fr}.service-link-list{grid-template-columns:1fr}}
@media(max-width:600px){.services-intro{padding-top:24px}.services-lead{font-size:17px}.sector-picker{gap:10px;margin-top:26px}.sector-choice{padding:20px 14px}.sector-choice strong{font-size:19px}.sector-choice svg{margin-bottom:6px}.sector-choice .sector-link{padding-top:10px}.services-help{align-items:flex-start;flex-direction:column;padding:20px}.services-help .button{width:100%}.service-category{grid-template-columns:1fr;gap:24px;padding:40px 0}.service-category-intro p{margin-bottom:16px}.service-link-list a{min-height:60px}.services-contact{margin-top:24px}}

.team-call-box{display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;border:1px solid #dae1df;border-radius:22px;background:#f5f3ec;margin:36px 0;text-align:left}
.team-call-art{position:relative;overflow:hidden;min-width:0;display:grid;align-items:center;background:#f5f3ec}
.team-call-art .team-call-figures{display:block;width:100%;height:auto;max-width:none;margin:0;animation:team-ready 7s ease-in-out infinite;transform-origin:50% 75%;border-radius:0}
@keyframes team-ready{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.025)}}
.team-motion-toggle{position:absolute;bottom:12px;left:12px;padding:7px 13px;min-height:40px;border:1px solid #bbc8c8;border-radius:30px;background:#fff;color:#102938;font-size:12px;z-index:1}
.team-call-box.is-paused .team-call-figures{animation-play-state:paused}
.team-call-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}
.team-call-copy .brand-logo{width:200px;max-width:100%;height:auto;margin:0 0 8px}
.team-call-copy h3{font-size:clamp(24px,3vw,34px);line-height:1.15;margin:0;color:#102938}
.team-call-copy p{font-size:16px;line-height:1.6;margin:0;color:#405660}
.team-call-copy .button{font-size:15px;gap:10px;white-space:normal}
.team-call-copy small{font-size:11px;color:#607078}
.team-write-link{font-weight:700;font-size:15px}
@media(max-width:720px){.team-call-box{grid-template-columns:1fr}.team-call-copy{padding:24px}.team-call-art{max-height:340px}.team-call-art .team-call-figures{max-height:340px;object-fit:contain}}
@media(prefers-reduced-motion:reduce){.team-call-art .team-call-figures{animation:none}.team-motion-toggle{display:none}}

.team-call-art .team-call-video{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#f5f3ec}
@media(max-width:720px){.team-call-art:has(.team-call-video){max-height:none}.team-call-art .team-call-video{max-height:420px}}

.booking-panel{padding:32px;border:1px solid #d7e0de;border-radius:20px;background:#f5f3ec}
.booking-panel h2{font-size:clamp(30px,4vw,46px);line-height:1.12}
.booking-action{padding:28px;background:#fff;border-radius:14px}
.booking-action h3{margin-top:0;font-size:25px}
.booking-action p{line-height:1.7}
.contact-area{padding:24px 0;max-width:850px}
@media(max-width:720px){.booking-panel{padding:20px}.booking-action{padding:20px}}

.booking-live-head{display:flex;justify-content:space-between;gap:32px;align-items:center;margin-bottom:32px}
.booking-live-head h2{font-size:clamp(32px,4vw,48px);line-height:1.12;margin:16px 0}
.booking-live-head p{max-width:640px;line-height:1.7}
.booking-facts{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.booking-facts span{padding:12px 18px;border:1px solid #d2dedb;border-radius:30px;font-size:14px;background:#fff}
.booking-calendar-shell{border:1px solid #d2dedb;border-radius:20px;overflow:hidden;background:#fff}
.booking-calendar-heading{background:#102938;color:#fff;padding:20px 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.booking-calendar-heading span{font-size:14px;color:#d4e6e3}
.booking-calendar-frame{display:block;width:100%;height:760px;border:0;background:#fff}
.booking-fallback{font-size:14px;margin:18px 0 32px;line-height:1.7}
@media(max-width:720px){.booking-live-head{display:block}.booking-facts{flex-direction:row;flex-wrap:wrap;margin:20px 0}.booking-facts span{padding:8px 12px;font-size:12px}.booking-calendar-frame{height:900px}.booking-calendar-heading{padding:18px}.booking-calendar-shell{border-radius:12px}}
PHP
/* Native Google-backed appointment picker. */
.native-booking{background:#fff;border:1px solid #d2dedb;border-radius:20px;overflow:hidden}
.booking-status{padding:18px 28px;font-size:14px;line-height:1.6;color:#425f66;background:#eff5f2;border-bottom:1px solid #dde8e4}
.booking-picker{display:grid;grid-template-columns:1.05fr 1fr}
.booking-month,.booking-times{padding:30px;min-width:0}
.booking-month{border-right:1px solid #e1e8e5}
.month-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}
.month-navigation h3{font-size:23px;text-transform:capitalize;margin:0}
.month-navigation button{width:44px;height:44px;padding:0;border:1px solid #d2dedb;border-radius:50%;background:white;color:#102938}
.month-navigation button:disabled{opacity:.3;cursor:default}
.weekdays,.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;text-align:center}
.weekdays{font-size:13px;color:#607878;margin-bottom:14px}
.month-days button{min-height:46px;padding:8px 0;background:#e3eeeb;border:1px solid transparent;border-radius:12px;color:#102938;font-size:16px;font-weight:700}
.month-days button:disabled{color:#9aa8a8;background:#f7f9f8;cursor:default;font-weight:400}
.month-days button[aria-current="date"]{border-color:#b92e43}
.month-days button[aria-pressed="true"],.time-slot[aria-pressed="true"]{background:#102938;color:white;border-color:#102938}
.calendar-key{font-size:12px;line-height:1.7;color:#607878;margin-top:22px}
.calendar-key span{color:#3b6b5c}
.booking-times h3{margin:5px 0 10px;font-size:23px;text-transform:capitalize}
.booking-times>p{color:#607878;font-size:14px}
.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}
.time-slot{min-height:46px;border:1px solid #b9cfca;background:#fff;color:#102938;padding:10px 8px;border-radius:10px;font-size:15px}
.time-slot:hover,.month-days button:enabled:hover{border-color:#102938}
.booking-details{padding:28px;border-top:1px solid #d2dedb;background:#f7f9f8}
.booking-details h3,.booking-confirmation h3{font-size:28px;margin:0 0 14px}
.booking-selection{font-weight:700;text-transform:capitalize;color:#24564d}
.booking-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5}
.booking-consent input{width:20px;flex:0 0 20px;margin-top:2px}
.booking-details>p{font-size:14px}
.booking-details [role="alert"]{color:#b92e43;font-weight:650}
.booking-confirmation{padding:40px;background:#e9f3ed}
.native-booking [hidden]{display:none!important}
@media(max-width:720px){.booking-picker{grid-template-columns:1fr}.booking-month{border-right:0;border-bottom:1px solid #e1e8e5}.booking-month,.booking-times,.booking-details{padding:22px}.booking-status{padding:16px 22px}.month-navigation h3,.booking-times h3{font-size:21px}.month-days button{min-height:42px}.weekdays,.month-days{gap:4px}}

/* One recognizable call box across header, footer and contact sections. */
a.sonic-call-box{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--red);color:#fff!important;border:2px solid var(--red);border-radius:8px;padding:13px 19px;text-decoration:none!important;box-shadow:0 5px 14px #8b102120;max-width:100%;line-height:1.2;flex-shrink:0;transition:background .15s,box-shadow .15s}
a.sonic-call-box:hover{background:#9c2236;border-color:#9c2236;box-shadow:0 6px 18px #8b102138}
a.sonic-call-box:focus-visible{outline:3px solid #102938;outline-offset:4px}
.sonic-call-box>.phone-icon{width:25px;height:25px}
.sonic-call-copy{display:flex;flex-direction:column;gap:4px;text-align:left}
.sonic-call-copy small{color:#fff;font-size:10px;font-weight:750;letter-spacing:.07em}
.sonic-call-copy strong{font-size:16px;font-weight:800;white-space:nowrap}
.sonic-call-copy .sonic-call-number{font-size:14px;font-weight:650;letter-spacing:.02em}
.header-inner{gap:22px}
.header-call-box{margin-left:auto}
.site-footer .sonic-call-box{margin-bottom:16px}
.sticky-cta .sonic-call-box{padding:10px 12px;gap:8px}
.sticky-cta .sonic-call-copy strong{font-size:13px}
.sticky-cta .sonic-call-copy small{font-size:9px}
.sticky-cta .sonic-call-box>.phone-icon{width:19px;height:19px}
@media(max-width:1100px){.header-inner{gap:14px}.header-call-box.sonic-call-box{padding:11px 14px}.header-call-box .sonic-call-copy strong{font-size:14px}}
@media(max-width:720px){.header-inner{display:grid;grid-template-columns:1fr auto;padding-top:16px;padding-bottom:16px;gap:15px}.header-inner>.brand{grid-column:1;grid-row:1}.header-inner>.mobile-nav{grid-column:2;grid-row:1}.header-inner>.header-call-box{grid-column:1/-1;grid-row:2;margin:0;width:100%;justify-content:center;padding:12px}.header-call-box .sonic-call-copy{display:grid;grid-template-columns:auto auto;column-gap:16px;align-items:center}.header-call-box .sonic-call-copy small{grid-column:1/-1}.header-call-box .sonic-call-copy strong{font-size:16px}.header-call-box .sonic-call-number{font-size:15px}.mobile-nav[open]{z-index:30}}
@media(max-width:370px){.header-call-box .sonic-call-copy{column-gap:8px}.header-call-box .sonic-call-copy strong{font-size:14px}.header-call-box .sonic-call-number{font-size:13px}}
.sonic-call-number{white-space:nowrap}
@media(max-width:720px){.header-call-box .sonic-call-copy{display:flex;gap:3px}.header-call-box.sonic-call-box{gap:14px}.header-call-box .sonic-call-copy strong{font-size:16px}}

/* Brief, gentle attention cue; most of the cycle remains still. */
@keyframes sonic-call-nudge{
  0%,82%,100%{transform:translateX(0) rotate(0)}
  85%{transform:translateX(-2px) rotate(-.6deg)}
  88%{transform:translateX(2px) rotate(.6deg)}
  91%{transform:translateX(-2px) rotate(-.4deg)}
  94%{transform:translateX(1px) rotate(.3deg)}
  97%{transform:translateX(0) rotate(0)}
}
a.sonic-call-box{animation:sonic-call-nudge 7s ease-in-out infinite;transform-origin:center}
a.sonic-call-box:hover,a.sonic-call-box:focus,a.sonic-call-box:active{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){a.sonic-call-box{animation:none;transform:none}}

/* Shared service-area directory and location-page presentation. */
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.area-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid #d5dfdc;border-radius:18px;background:#f8faf8;text-decoration:none;color:#102938;min-width:0}
a.area-card:hover,a.area-card:focus-visible{background:#edf4f0;border-color:#789c8f}
.area-pin{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e3ede8;color:#b92e43;margin-bottom:24px}
.area-pin svg{width:25px;height:25px}
.area-card .eyebrow{font-size:10px;letter-spacing:.08em}
.area-card h3{font-size:clamp(24px,2.4vw,30px);line-height:1.15;margin:14px 0}
.area-card p{font-size:16px;line-height:1.65;margin:0 0 24px;color:#4a6064}
.area-link{margin-top:auto;font-weight:750;font-size:15px;width:100%;display:flex;justify-content:space-between;gap:12px}
.area-question{background:#102938;color:#fff;justify-content:center}
.area-question p{color:#d2e1de}.area-question .text-link{color:#fff}
.nearby-areas{margin-top:42px;padding:30px;background:#f5f3ec;border-radius:16px}
.nearby-areas h3{font-size:24px;margin:0 0 10px}.nearby-areas p{font-size:16px}
.nearby-areas nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.nearby-areas nav a{display:flex;justify-content:space-between;gap:24px;padding:14px 18px;background:#fff;border:1px solid #d5dfdc;border-radius:8px;text-decoration:none;font-weight:650;min-height:48px}
.area-process{background:#eaf0ec}.area-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.area-steps article{border-top:1px solid #afc6ba;padding-top:24px}.area-steps article>span{font-size:14px;color:#b92e43;font-weight:800}
.area-steps h3{font-size:24px;margin:20px 0 12px}.area-steps p{font-size:17px;line-height:1.7;color:#4a6064}
.area-closing{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}.area-closing h2{font-size:clamp(30px,4vw,46px);line-height:1.15}.area-closing p,.local-info-card p,.location-page .split p{line-height:1.75;color:#4a6064}
.area-closing-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.local-info-card{padding:30px;border-radius:18px;background:#fff}.local-info-card h3{font-size:25px;margin-top:0}
#secteurs{scroll-margin-top:24px}
@media(max-width:1000px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-closing{gap:30px}}
@media(max-width:600px){.area-grid,.area-steps,.area-closing{grid-template-columns:1fr}.area-card{padding:24px}.area-card h3{font-size:27px}.area-pin{margin-bottom:18px}.area-steps{gap:26px}.nearby-areas{padding:22px}.nearby-areas nav{display:grid;grid-template-columns:1fr}.area-closing-actions{align-items:stretch}.area-closing-actions>.button{text-align:center}.local-info-card{padding:24px}}

.header-service-area{padding-top:0;padding-bottom:12px;text-align:center;font-size:12px;line-height:1.6;color:var(--navy)}
.hero-copy .eyebrow{line-height:1.7}

.language-switch{display:flex;gap:4px;align-items:center;flex-shrink:0}.language-switch a{padding:7px 9px;border:1px solid var(--line);border-radius:5px;font-size:12px;font-weight:800;text-decoration:none}.language-switch a[aria-current]{background:var(--navy);color:white}.language-switch a:hover{border-color:currentColor}
@media(max-width:900px){.language-switch{grid-row:1;justify-self:end}.header-inner{flex-wrap:wrap}.language-switch{order:2}.header-call-box{order:4}}

.site-credits{display:flex;flex-wrap:wrap;gap:24px 48px;border-top:1px solid #ffffff26;padding:24px 0;margin-top:28px}.site-credits>a{display:flex;align-items:center;flex-wrap:wrap;gap:12px;text-decoration:none}.site-credits>a>span:first-child{font-size:12px;color:#c4d0d5}.site-credits img{width:125px;height:auto}.tmt-wordmark{font-family:Arial,sans-serif;font-size:21px;font-weight:700;letter-spacing:-.02em;color:#fff}.tmt-wordmark>span{color:#f97316}.site-credits small{color:#c4d0d5;font-size:11px}.site-credits a:hover{text-decoration:underline}
@media(max-width:720px){.header-inner{grid-template-columns:1fr auto}.header-inner>.language-switch{grid-column:1;grid-row:2;justify-self:start}.header-inner>.mobile-nav{grid-column:2;grid-row:2}.header-inner>.brand{grid-column:1/-1}.header-inner>.header-call-box{grid-row:3}.site-credits{gap:22px}.site-credits>a{width:100%}}

/* Booking action shares the call-box shape, with a distinct blue colour. */
a.nav-book-call{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 18px;border:2px solid #0864b5;border-radius:8px;background:#0864b5;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap;box-shadow:0 5px 14px #0864b52b;animation:sonic-call-nudge 7s ease-in-out infinite;animation-delay:1s}
a.nav-book-call:hover,a.nav-book-call:focus,a.nav-book-call:active{background:#084c88;border-color:#084c88;color:#fff;animation:none;transform:none}
a.nav-book-call:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.desktop-nav{gap:18px}
.desktop-nav>a{white-space:nowrap}
@media(min-width:721px) and (max-width:1350px){.header-inner{flex-wrap:wrap;padding-top:18px;padding-bottom:14px}.header-inner>.desktop-nav{order:5;width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){a.nav-book-call{animation:none;transform:none}}
