:root{--black:#171717;--black2:#222;--gold:#c48f46;--gold2:#a87532;--cream:#f3eee5;--white:#fff;--muted:#706b64;--line:#ded6ca;--green:#36a56a}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--black);line-height:1.45} a{color:inherit;text-decoration:none} button,input{font:inherit} .wrap{width:min(1180px,calc(100% - 32px));margin:auto}
header{position:sticky;top:0;z-index:70;background:#fff;border-bottom:1px solid #e7e2db;box-shadow:0 5px 18px rgba(0,0,0,.05)}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px} .brand{display:flex;align-items:center} .brand img{width:210px;height:72px;object-fit:contain;object-position:left center;display:block} .brand-copy{font-weight:900;letter-spacing:.02em;line-height:1} .brand-copy small{display:block;color:var(--muted);font-size:.69rem;font-weight:700;letter-spacing:.12em;margin-top:5px}
.nav-actions{display:flex;align-items:center;gap:9px} .btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 17px;font-weight:900;border-radius:3px;transition:.2s} .btn:hover{transform:translateY(-1px)} .btn.gold{background:var(--gold);color:#111} .btn.dark{background:var(--black);color:#fff} .btn.line{border:1px solid var(--black);background:transparent}
.hero{background:var(--black);color:#fff;position:relative;overflow:hidden} .hero:before{content:"";position:absolute;width:520px;height:520px;border:120px solid rgba(196,143,70,.11);border-radius:50%;right:-180px;top:-190px} .hero:after{content:"";position:absolute;width:2px;height:100%;background:rgba(196,143,70,.25);left:64%;top:0;transform:skew(-13deg)}
.hero-grid{min-height:670px;display:grid;grid-template-columns:1.12fr .88fr;align-items:stretch;position:relative;z-index:2} .hero-copy{padding:76px 48px 76px 0;display:flex;flex-direction:column;justify-content:center} .kicker{text-transform:uppercase;color:#e4bd86;font-size:.75rem;font-weight:900;letter-spacing:.2em} h1{font-size:clamp(3.5rem,8vw,7.7rem);line-height:.82;letter-spacing:-.065em;margin:18px 0 26px;font-weight:950;max-width:790px} h1 span{color:var(--gold)} .hero-copy>p{max-width:610px;color:#d3cec6;font-size:1.08rem;margin:0 0 26px}
.reg-box{max-width:610px;background:#fff;color:#111;padding:11px;display:grid;grid-template-columns:1fr auto;gap:8px;border-left:6px solid var(--gold)} .reg-box input{border:0;background:#f4f0e9;padding:16px 17px;font-size:1.05rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;outline:none;min-width:0} .reg-box button{border-radius:0;padding-inline:22px} .hero-under{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:15px;color:#bdb8b0;font-size:.87rem} .hero-under b{color:#fff}
.hero-visual{position:relative;min-height:670px;overflow:hidden} .hero-photo{position:absolute;inset:0;background:url('/site-image-01.webp?v=20') 52% center/cover no-repeat} .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--black) 0%,rgba(23,23,23,.48) 42%,rgba(23,23,23,.10) 100%)} .owner-tag{position:absolute;right:0;bottom:0;z-index:3;background:var(--gold);color:#111;padding:18px 22px;width:min(320px,86%);font-weight:900} .owner-tag small{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px} .owner-tag strong{display:block;font-size:1.3rem} .owner-tag span{font-size:.86rem;font-weight:700}
.marquee{background:var(--gold);overflow:hidden;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)} .marquee-track{white-space:nowrap;padding:12px 0;font-weight:950;letter-spacing:.11em;text-transform:uppercase;font-size:.78rem;animation:move 22s linear infinite} @keyframes move{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.story{padding:92px 0 76px} .story-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start} .section-num{font-size:6rem;line-height:.8;color:rgba(196,143,70,.3);font-weight:950;letter-spacing:-.08em} .story h2,.services h2,.assistant-copy h2{font-size:clamp(2.4rem,5vw,4.7rem);line-height:.93;letter-spacing:-.055em;margin:8px 0 22px} .story-copy{font-size:1.12rem;max-width:720px} .story-copy p{color:#5d5952} .signature{margin-top:25px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end} .signature strong{font-size:1.2rem} .signature span{color:var(--muted);font-size:.9rem}
.photo-strip{display:grid;grid-template-columns:1.3fr .8fr .9fr;gap:10px;margin-top:56px;height:330px} .photo-strip div{background-size:cover;background-position:center;position:relative;overflow:hidden} .photo-strip div:nth-child(1){background-image:url('/site-image-01.webp?v=20')} .photo-strip div:nth-child(2){background-image:url('/site-image-02.webp?v=20')} .photo-strip div:nth-child(3){background-image:url('/site-image-03.webp?v=20')} .photo-strip div:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.52))}
.services{padding:84px 0;background:#fff} .services-top{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end} .services-top p{color:var(--muted);font-size:1.03rem;max-width:530px} .service-list{margin-top:45px;border-top:2px solid var(--black)} .service-row{display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)} .service-no{font-size:.75rem;font-weight:950;color:var(--gold2);letter-spacing:.13em} .service-row h3{margin:0;font-size:1.2rem} .service-row p{margin:3px 0 0;color:var(--muted);font-size:.92rem} .arrow{font-size:1.6rem;color:var(--gold)}
.assistant{padding:0;background:#fff} .assistant-grid{display:grid;grid-template-columns:.72fr 1.28fr;min-height:680px} .assistant-copy{background:var(--gold);padding:60px 54px;display:flex;flex-direction:column;justify-content:space-between;color:#111} .assistant-copy img{width:190px;height:auto;display:block;mix-blend-mode:multiply} .assistant-copy p{max-width:430px} .assistant-note{border-top:1px solid rgba(0,0,0,.25);padding-top:18px;font-size:.88rem} .chat-shell{background:var(--black);padding:34px 44px 44px;display:flex;align-items:center;scroll-margin-top:78px;position:relative}.chat-shell:before{content:'YOUR NEXT STEP';position:absolute;top:12px;left:50%;transform:translateX(-50%);color:var(--gold);font-size:.72rem;font-weight:950;letter-spacing:.16em;white-space:nowrap} .chat{width:100%;max-width:700px;margin:auto;background:#f8f5ef;border:2px solid var(--gold);box-shadow:0 30px 80px rgba(0,0,0,.32)}.chat-progress{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-bottom:1px solid var(--line)}.chat-step{padding:10px 8px;text-align:center;font-size:.72rem;font-weight:900;color:#918a80}.chat-step.active{background:var(--gold);color:#111}.chat-step strong{display:block;font-size:.95rem;margin-bottom:2px} .chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#101010;color:#fff;border-bottom:1px solid #2d2d2d} .bot-avatar{width:42px;height:42px;background:var(--gold);color:#111;display:grid;place-items:center;font-weight:950} .chat-head b{display:block} .chat-head small{display:block;color:#c5c1bb;margin-top:2px} .live{margin-left:auto;font-size:.76rem;color:#a9e8c6} .chat-body{height:390px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px;background:#f1ece3} .msg{max-width:84%;padding:11px 13px;font-size:.94rem;white-space:pre-line} .msg.bot{align-self:flex-start;background:#fff;border-left:4px solid var(--gold)} .msg.user{align-self:flex-end;background:var(--black);color:#fff} .choices{display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start} .choice{border:2px solid #cfc5b7;background:#fff;padding:12px 14px;font-weight:900;cursor:pointer;font-size:1rem}.choice:first-child{background:var(--gold);border-color:var(--gold);color:#111}.choice:hover{border-color:var(--gold);transform:translateY(-1px)}  .vehicle{align-self:flex-start;background:#fff;border:1px solid #d7cdbf;padding:14px;width:min(94%,430px)} .plate{display:inline-block;background:#f2d328;border:2px solid #111;padding:4px 9px;font-weight:950;letter-spacing:.14em} .vehicle h4{margin:10px 0 4px} .vehicle p{margin:0;color:var(--muted);font-size:.88rem} .compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:#fff;border-top:1px solid var(--line)} .compose input{border:1px solid #d3c9bb;padding:13px;outline:none} .compose input:focus{border-color:var(--gold)}
.contact-band{background:var(--cream);padding:82px 0} .contact-band .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:end} .contact-band h2{font-size:clamp(2.6rem,6vw,5.5rem);line-height:.9;letter-spacing:-.06em;margin:0} .contact-band h2 span{color:var(--gold2)} .contact-actions{display:grid;gap:10px} .contact-actions .btn{width:100%;padding:17px} footer{background:var(--black);color:#c8c3bc;padding:28px 0;font-size:.83rem} .foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap} .mobile-dock{display:none}
@media(max-width:900px){.hero-grid,.story-grid,.services-top,.assistant-grid,.contact-band .wrap{grid-template-columns:1fr} .hero-copy{padding:58px 0 44px} .hero-visual{min-height:430px} .hero-grid{min-height:0} .hero:after{display:none} .story-grid{gap:28px} .photo-strip{height:270px;grid-template-columns:1.4fr .8fr} .photo-strip div:nth-child(3){display:none} .assistant-copy{padding:44px 30px} .chat-shell{padding:28px 18px 38px} .nav-actions .line{display:none} .mobile-dock{display:grid;grid-template-columns:1.1fr .9fr;gap:8px;position:fixed;left:10px;right:10px;bottom:10px;z-index:80;background:rgba(243,238,229,.96);padding:8px;border:1px solid rgba(23,23,23,.12);box-shadow:0 14px 34px rgba(0,0,0,.18)} body{padding-bottom:84px}}
@media(max-width:560px){.assistant-grid{display:block}.assistant-copy{display:none}.chat-shell{padding:38px 10px 24px}.chat-shell:before{top:10px}.chat{border-width:2px}.chat-head{padding:13px 14px}.chat-body{height:auto;min-height:330px;max-height:56vh}.choices{display:grid;grid-template-columns:1fr 1fr;width:100%}.choice{width:100%;min-height:54px}.compose{position:sticky;bottom:0}.compose input{font-size:16px}.chat-progress{position:sticky;top:0;z-index:2} .wrap{width:min(100% - 22px,1180px)} .nav{height:68px} .brand img{width:86px;height:52px} .brand-copy{font-size:.9rem} .nav-actions .gold{padding:10px 11px;font-size:.82rem} h1{font-size:3.65rem} .reg-box{grid-template-columns:1fr} .reg-box button{padding:14px} .hero-visual{min-height:330px} .photo-strip{height:225px;grid-template-columns:1fr 1fr} .services{padding:62px 0} .service-row{grid-template-columns:48px 1fr auto} .service-row p{display:none} .assistant-copy{padding:36px 22px} .chat-shell{padding:20px 11px 28px} .chat-body{height:385px} .contact-band{padding:58px 0}}

/* ---- consolidated from approved build ---- */

.header-call-modern{
  display:flex;
  align-items:center;
  gap:10px;
  background:#151515;
  color:#fff;
  border:1px solid #151515;
  border-radius:999px;
  padding:7px 14px 7px 7px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.header-call-modern:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}
.header-call-icon{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--gold);flex:0 0 auto;
}
.header-call-icon svg{
  width:19px;height:19px;fill:none;stroke:#111;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
.header-call-copy{
  display:flex;flex-direction:column;line-height:1.05;text-align:left;
}
.header-call-copy small{
  color:#aaa29a;font-size:.62rem;font-weight:700;letter-spacing:.03em;margin-bottom:3px;
}
.header-call-copy strong{
  font-size:.87rem;letter-spacing:.01em;
}

.hero-services{
  background:#0d0d0d;
  border-top:1px solid rgba(196,142,67,.38);
  border-bottom:1px solid rgba(196,142,67,.38);
}
.hero-services-inner{
  display:grid;
  grid-template-columns:repeat(7,1fr);
}
.hero-service{
  min-height:96px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-right:1px solid #2b2723;
  color:#fff;
}
.hero-service:last-child{border-right:0}
.hero-service svg{
  width:30px;height:30px;
  fill:none;stroke:var(--gold);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.hero-service span{
  font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
}

@media(max-width:780px){
  .hero-services-inner{grid-template-columns:repeat(4,1fr)}
  .hero-service{min-height:82px}
  .hero-service:nth-child(4){border-right:0}
  .hero-service:nth-child(-n+4){border-bottom:1px solid #2b2723}
}
@media(max-width:560px){
  .header-call-modern{
    padding:6px 10px 6px 6px;
    gap:8px;
  }
  .header-call-icon{width:34px;height:34px}
  .header-call-icon svg{width:17px;height:17px}
  .header-call-copy small{display:none}
  .header-call-copy strong{font-size:.82rem}
  .hero-services .wrap{width:100%}
  .hero-services-inner{
    display:flex;
    overflow-x:auto;
    scrollbar-width:none;
    scroll-snap-type:x mandatory;
    padding:0 8px;
  }
  .hero-services-inner::-webkit-scrollbar{display:none}
  .hero-service{
    flex:0 0 92px;
    min-height:78px;
    scroll-snap-align:start;
    border-bottom:0!important;
  }
  .hero-service svg{width:27px;height:27px}
  .hero-service span{font-size:.61rem}
}

/* ---- consolidated from approved build ---- */

/* Larger, clearer brand presence */
.brand img{width:104px!important;height:72px!important;object-fit:contain!important}
.brand-name{font-size:1.06rem!important}
@media(max-width:560px){
  .brand img{width:88px!important;height:62px!important}
  .brand-name{font-size:.92rem!important}
}

/* Real-work proof section */
.real-work{
  background:#f7f4ee;
  padding:54px 0 62px;
}
.real-work-head{
  display:flex;align-items:end;justify-content:space-between;gap:24px;
  margin-bottom:22px;
}
.real-work-head h2{margin:0;font-size:clamp(1.7rem,4vw,2.8rem);letter-spacing:-.045em}
.real-work-head p{margin:0;max-width:480px;color:#6d675f;line-height:1.55}
.work-gallery{
  display:grid;
  grid-template-columns:1.35fr .85fr .85fr;
  grid-template-rows:220px 220px;
  gap:10px;
}
.work-shot{position:relative;overflow:hidden;background:#171717}
.work-shot:first-child{grid-row:1/3}
.work-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.work-shot:hover img{transform:scale(1.025)}
.work-shot::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.58),rgba(0,0,0,0) 55%);
}
.work-label{
  position:absolute;z-index:2;left:15px;bottom:13px;color:#fff;
  font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;
}
.work-label b{color:var(--gold)}
.real-work-foot{
  margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  border-top:1px solid #d9d1c6;padding-top:18px;
}
.real-work-foot strong{font-size:1.03rem}
.real-work-foot span{color:#746d64;font-size:.9rem}
@media(max-width:760px){
  .real-work{padding:38px 0 44px}
  .real-work-head{display:block}
  .real-work-head p{margin-top:8px}
  .work-gallery{
    grid-template-columns:1.15fr .85fr;
    grid-template-rows:210px 150px 150px;
  }
  .work-shot:first-child{grid-row:1/3}
  .work-shot:nth-child(4){grid-column:1/3}
  .work-shot:nth-child(n+5){display:none}
  .real-work-foot{align-items:flex-start;flex-direction:column;gap:4px}
}

/* ---- consolidated from approved build ---- */

/* Integrated workshop imagery — no external files required */
.real-work{
  background:#f6f2eb;
  padding:48px 0 54px;
  color:#171717;
  border-top:1px solid #e3ddd4;
}
.real-work-head{
  display:grid;
  grid-template-columns:1fr .82fr;
  gap:34px;
  align-items:end;
  margin-bottom:22px;
}
.real-work-head h2{
  margin:0;
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:.98;
  letter-spacing:-.05em;
}
.real-work-head p{
  margin:0;
  color:#6c665f;
  line-height:1.55;
  max-width:480px;
}

/* Editorial collage rather than black image cards */
.work-gallery{
  display:grid;
  grid-template-columns:1.22fr .78fr;
  grid-template-rows:240px 240px;
  gap:10px;
}
.work-shot{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:9px;
  min-width:0;
  background:#ddd;
}
.work-shot:first-child{
  grid-row:1/3;
}
.work-shot:nth-child(4){
  display:none;
}
.work-shot:nth-child(n+5){
  display:none;
}
.work-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.work-shot::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.52),transparent 55%);
  pointer-events:none;
}
.work-label{
  position:absolute;
  z-index:2;
  left:15px;
  bottom:13px;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.work-label b{color:var(--gold)}

.real-work-foot{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #d9d1c6;
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
}
.real-work-foot strong{font-size:1rem}
.real-work-foot span{font-size:.86rem;color:#706960;max-width:520px}

/* Pull one genuine workshop image into the Shaun/trust section */
.story-photo{
  background-position:center!important;
  filter:none!important;
}

@media(max-width:760px){
  .real-work{padding:36px 0 42px}
  .real-work-head{
    display:block;
    margin-bottom:18px;
  }
  .real-work-head p{
    margin-top:9px;
    font-size:.94rem;
  }
  .work-gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:245px 160px;
    gap:8px;
  }
  .work-shot:first-child{
    grid-column:1/3;
    grid-row:auto;
  }
  .work-shot:nth-child(2),
  .work-shot:nth-child(3){
    height:160px;
  }
  .work-label{
    left:11px;
    bottom:10px;
    font-size:.64rem;
  }
  .real-work-foot{
    display:block;
  }
  .real-work-foot span{
    display:block;
    margin-top:5px;
  }
}

/* ---- consolidated from approved build ---- */

.service-focus{
  background:#fff;
  padding:76px 0;
}
.service-focus .services-top{
  margin-bottom:34px;
}
.service-focus .services-top h2 span{
  white-space:nowrap;
}
.service-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.service-card{
  appearance:none;
  width:100%;
  border:1px solid #dfd8cf;
  background:#f9f7f3;
  color:#171717;
  padding:20px;
  display:grid;
  grid-template-columns:54px 1fr auto;
  gap:16px;
  align-items:center;
  text-align:left;
  border-radius:9px;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.service-card:hover{
  background:#fff;
  border-color:var(--gold);
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(20,18,15,.07);
}
.service-icon{
  width:52px;height:52px;border-radius:8px;
  background:#111;
  display:flex;align-items:center;justify-content:center;
}
.service-icon svg{
  width:29px;height:29px;
  fill:none;stroke:var(--gold);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.service-card-copy strong{
  display:block;
  font-size:1.06rem;
  margin-bottom:4px;
}
.service-card-copy small{
  display:block;
  color:#736c64;
  font-size:.84rem;
  line-height:1.45;
}
.service-go{
  color:var(--gold2);
  font-weight:950;
  font-size:1.2rem;
  white-space:nowrap;
}
.service-card-wide{
  grid-column:1/3;
  background:#111;
  color:#fff;
  border-color:#111;
}
.service-card-wide .service-icon{
  background:var(--gold);
}
.service-card-wide .service-icon svg{
  stroke:#111;
}
.service-card-wide .service-card-copy small{
  color:#c7c0b7;
}
.service-card-wide .service-go{
  color:var(--gold);
  font-size:.9rem;
}
.service-card-wide:hover{
  background:#181818;
  border-color:var(--gold);
}

@media(max-width:700px){
  .service-focus{padding:54px 0}
  .service-cards{grid-template-columns:1fr}
  .service-card-wide{grid-column:auto}
  .service-card{
    padding:15px;
    grid-template-columns:46px 1fr auto;
    gap:12px;
  }
  .service-icon{width:44px;height:44px}
  .service-icon svg{width:25px;height:25px}
  .service-card-copy strong{font-size:.98rem}
  .service-card-copy small{font-size:.78rem}
}

/* ---- consolidated from approved build ---- */

/* The composer should belong to the conversation, not float over it */
.compose{
  position:static!important;
  bottom:auto!important;
}
.chat-body{
  padding-bottom:18px!important;
}
.compose.is-hidden{
  display:none!important;
}
.compose{
  transition:none!important;
}

/* Quick replies are the clear next action */
.choices{
  margin:12px 0 6px!important;
}
.choice{
  min-height:48px;
}
@media(max-width:560px){
  .chat-shell{
    padding-bottom:28px!important;
  }
  .chat-body{
    max-height:none!important;
    height:auto!important;
    min-height:340px!important;
    overflow:visible!important;
  }
  .compose{
    position:static!important;
    background:#fff!important;
    border-top:1px solid #d8d0c5!important;
    padding:12px!important;
  }
  .choices{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  .choice{
    width:100%!important;
  }
}

/* ---- consolidated from approved build ---- */

:root{
  --gold:#c58e45;
  --gold2:#a87532;
  --cream:#f6f2eb;
}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
header{
  box-shadow:none;
}
.nav{
  height:82px;
}
.brand img{
  width:224px;
  height:70px;
}
.btn{
  border-radius:8px;
}
.nav-actions .btn.gold{
  border-radius:999px;
  padding:12px 19px;
}
.hero:before{
  opacity:.7;
}
.hero:after{
  opacity:.35;
}
.hero-grid{
  min-height:590px;
}
.hero-copy{
  padding:56px 46px 56px 0;
}
.hero-copy h1{
  font-size:clamp(3.2rem,6.8vw,6.2rem);
  line-height:.87;
  margin:16px 0 22px;
  letter-spacing:-.06em;
}
.hero-copy>p{
  max-width:575px;
  font-size:1.04rem;
  line-height:1.58;
  margin-bottom:22px;
}
.reg-box{
  border-left:0;
  padding:7px;
  border-radius:10px;
  overflow:hidden;
  max-width:590px;
}
.reg-box input{
  background:#f6f2ec;
  border-radius:6px;
  padding:15px 16px;
}
.reg-box button{
  border-radius:6px;
  white-space:nowrap;
}
.hero-under{
  margin-top:13px;
}
.hero-visual{
  min-height:590px;
}
.hero-photo:after{
  background:linear-gradient(90deg,rgba(23,23,23,.22),rgba(23,23,23,.02))!important;
}
.owner-tag{
  border-radius:10px 0 0 0;
}
.owner-tag strong{
  font-size:1.15rem;
}
.hero-service-strip{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  background:#101010;
  border:1px solid rgba(197,142,69,.55);
  border-bottom:0;
  border-radius:12px 12px 0 0;
  overflow:hidden;
  position:relative;
  z-index:4;
}
.hero-service-item{
  appearance:none;
  border:0;
  border-right:1px solid #2e2924;
  background:transparent;
  color:#fff;
  min-height:88px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.hero-service-item:last-child{border-right:0}
.hero-service-item:hover{background:#171717}
.hero-service-item svg{
  width:28px;height:28px;
  fill:none;stroke:var(--gold);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.hero-service-item span{
  font-size:.64rem;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.05em;
}
.story{
  padding-top:68px;
}
.story h2,
.services-top h2{
  letter-spacing:-.045em;
}
.service-card{
  border-radius:10px!important;
}
.service-icon{
  border-radius:10px!important;
}
.chat{
  border-radius:12px!important;
}
.chat-head{
  border-radius:0;
}
@media(max-width:780px){
  .nav{height:74px}
  .brand img{width:190px;height:60px}
  .hero-grid{
    min-height:0;
    grid-template-columns:1fr;
  }
  .hero-copy{
    padding:42px 0 30px;
  }
  .hero-copy h1{
    font-size:clamp(2.9rem,12vw,4.5rem);
  }
  .hero-visual{
    min-height:280px;
  }
  .hero-photo{
    background-position:center 43%!important;
  }
  .hero-service-strip{
    display:flex;
    overflow-x:auto;
    scrollbar-width:none;
    border-radius:0;
    margin-left:-16px;
    margin-right:-16px;
  }
  .hero-service-strip::-webkit-scrollbar{display:none}
  .hero-service-item{
    flex:0 0 91px;
    min-height:78px;
  }
  .hero-under{
    gap:10px 14px;
  }
}
@media(max-width:560px){
  .brand img{
    width:164px;
    height:56px;
  }
  .hero-copy{
    padding-top:32px;
  }
  .hero-copy h1{
    font-size:2.95rem;
  }
  .reg-box{
    grid-template-columns:1fr;
  }
  .reg-box button{
    min-height:50px;
  }
}

/* ---- consolidated from approved build ---- */

/* Hero-only refinement: no photo, cleaner use of space */
.hero-grid{
  grid-template-columns:1fr !important;
  min-height:0 !important;
}
.hero-copy{
  padding:48px 0 36px !important;
  max-width:760px;
}
.hero-visual{
  display:none !important;
}

/* Modernise only the registration CTA */
.hero .reg-box{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:8px !important;
  max-width:610px !important;
  padding:8px !important;
  margin-top:24px !important;
  background:#fff !important;
  border:1px solid rgba(197,142,69,.35) !important;
  border-radius:14px !important;
  box-shadow:0 12px 32px rgba(0,0,0,.18) !important;
}
.hero .reg-box input{
  min-width:0 !important;
  height:54px !important;
  padding:0 18px !important;
  border:0 !important;
  outline:0 !important;
  background:#f4f1ec !important;
  border-radius:9px !important;
  font-size:1rem !important;
  font-weight:700 !important;
}
.hero .reg-box input:focus{
  box-shadow:inset 0 0 0 2px rgba(197,142,69,.55) !important;
}
.hero .reg-box button{
  height:54px !important;
  min-width:150px !important;
  padding:0 22px !important;
  border:0 !important;
  border-radius:9px !important;
  font-size:.96rem !important;
  font-weight:900 !important;
}
.hero-service-strip{
  margin-top:0 !important;
}

@media(max-width:780px){
  .hero-copy{
    padding:34px 0 26px !important;
  }
}
@media(max-width:560px){
  .hero-copy{
    padding:26px 0 22px !important;
  }
  .hero .reg-box{
    grid-template-columns:1fr !important;
    gap:7px !important;
    padding:7px !important;
    margin-top:20px !important;
    border-radius:12px !important;
  }
  .hero .reg-box input,
  .hero .reg-box button{
    width:100% !important;
    height:52px !important;
  }
}

/* ---- consolidated from approved build ---- */

/* Spacing cleanup only — preserve all existing content and styling */

/* Why S.G section: remove decorative number and the empty vertical block */
.story{
  padding-top:26px !important;
  padding-bottom:38px !important;
}
.story .section-num{
  display:none !important;
}
.story .story-grid{
  gap:24px !important;
}
.story .kicker{
  display:block;
  margin:0 0 12px !important;
}
.story h2{
  margin-top:0 !important;
}
.story-copy p:first-child{
  margin-top:0 !important;
}

/* Reduce oversized section gaps elsewhere */
.service-focus{
  padding-top:52px !important;
  padding-bottom:52px !important;
}
.real-work{
  padding-top:40px !important;
  padding-bottom:44px !important;
}
.contact-band{
  padding-top:54px !important;
  padding-bottom:54px !important;
}

@media(max-width:780px){
  .story{
    padding-top:22px !important;
    padding-bottom:30px !important;
  }
  .story .story-grid{
    gap:14px !important;
  }
  .service-focus{
    padding-top:38px !important;
    padding-bottom:40px !important;
  }
  .real-work{
    padding-top:32px !important;
    padding-bottom:34px !important;
  }
  .contact-band{
    padding-top:40px !important;
    padding-bottom:40px !important;
  }
}

/* ---- consolidated from approved build ---- */

/* Services section only: remove the large blank gap on stacked/mobile layout */
@media(max-width:900px){
  .service-focus .services-top{
    gap:14px !important;
    margin-bottom:22px !important;
  }
  .service-focus .services-top p{
    margin:0 !important;
  }
  .service-focus .services-top h2{
    margin-bottom:0 !important;
  }
}
@media(max-width:560px){
  .service-focus{
    padding-top:30px !important;
    padding-bottom:36px !important;
  }
  .service-focus .services-top{
    gap:10px !important;
    margin-bottom:18px !important;
  }
}

/* ---- consolidated from approved build ---- */

.real-work-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#111;
  color:#fff;
  padding:11px 15px;
  border-radius:7px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
@media(max-width:760px){
  .real-work-foot{
    align-items:flex-start !important;
  }
  .real-work-cta{
    margin-top:8px;
  }
}

/* ---- consolidated from approved build ---- */

.mobile-dock{display:none!important} @media(max-width:560px){body{padding-bottom:0}.brand img{width:165px;height:58px}.nav{height:72px}}

/* ---- consolidated from approved build ---- */

@media(max-width:900px){
  .assistant-copy{padding:36px 28px}
}
@media(max-width:560px){
  .assistant-copy{display:none}
  .chat-shell{padding:38px 10px 24px}
  .chat-body{min-height:360px;max-height:58vh;height:auto}
  .chat-progress{position:sticky;top:0;z-index:3}
  .compose{position:sticky;bottom:0;z-index:3}
  .hero-copy{padding-top:48px}
}

/* ===== Production handover additions ===== */
.privacy-inline{
  font-size:.72rem;
  line-height:1.45;
  color:#8d857d;
  padding:0 14px 14px;
}
.privacy-inline a{
  color:var(--gold2,#a87532);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
.enquiry-review{
  background:#fff;
  color:#171717;
  border-radius:9px;
  padding:15px;
  margin:12px 0;
  border-left:4px solid var(--gold,#c48f46);
}
.enquiry-review dl{
  margin:0;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 12px;
  font-size:.84rem;
}
.enquiry-review dt{font-weight:900}
.enquiry-review dd{margin:0;color:#655f58}
.form-status{
  font-size:.78rem;
  line-height:1.45;
  padding:10px 14px 0;
  color:#b5aea6;
}
.form-status.error{color:#ffd0c9}
.form-status.success{color:#cde8ce}
footer a{
  text-decoration:underline;
  text-underline-offset:2px;
}


/* Targeted production fix: make registration -> assistant handoff obvious */
.chat-shell.chat-focus{
  animation:sg-chat-focus 1.15s ease;
}
@keyframes sg-chat-focus{
  0%{box-shadow:inset 0 0 0 0 rgba(197,142,69,0)}
  30%{box-shadow:inset 0 0 0 4px rgba(197,142,69,.92)}
  100%{box-shadow:inset 0 0 0 0 rgba(197,142,69,0)}
}


/* Collection & delivery convenience service */
.collection-service{
  background:#fff;
  border-top:1px solid #e4ddd4;
  border-bottom:1px solid #e4ddd4;
  padding:30px 0;
}
.collection-service-inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:20px;
}
.collection-icon{
  width:62px;
  height:62px;
  border-radius:12px;
  background:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.collection-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:var(--gold,#c48f46);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.collection-kicker{
  display:block;
  color:var(--gold2,#a87532);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.collection-copy h2{
  margin:0 0 7px;
  font-size:clamp(1.45rem,3vw,2.15rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
.collection-copy p{
  margin:0 0 6px;
  color:#655f58;
  line-height:1.5;
  max-width:650px;
}
.collection-copy small{
  display:block;
  color:#857e76;
  line-height:1.45;
}
.collection-btn{
  border:0;
  border-radius:8px;
  background:var(--gold,#c48f46);
  color:#111;
  padding:13px 16px;
  font-weight:900;
  white-space:nowrap;
}
.collection-btn:hover{
  background:#b97f38;
}
@media(max-width:760px){
  .collection-service{
    padding:24px 0;
  }
  .collection-service-inner{
    grid-template-columns:auto 1fr;
    gap:14px;
  }
  .collection-action{
    grid-column:1 / -1;
  }
  .collection-btn{
    width:100%;
    min-height:48px;
  }
  .collection-icon{
    width:54px;
    height:54px;
  }
  .collection-icon svg{
    width:30px;
    height:30px;
  }
}


/* Local SEO/contact strip */
.location-strip{
  background:#111;
  color:#fff;
  border-top:1px solid #2b2723;
  border-bottom:1px solid rgba(196,143,70,.45);
  padding:18px 0;
}
.location-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.location-kicker{
  display:block;
  color:var(--gold,#c48f46);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.location-strip strong{
  font-size:.92rem;
  line-height:1.4;
}
.location-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}
.location-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #4a433a;
  border-radius:7px;
  padding:10px 12px;
  font-size:.8rem;
  font-weight:900;
}
.location-actions a:last-child{
  background:var(--gold,#c48f46);
  border-color:var(--gold,#c48f46);
  color:#111;
}
@media(max-width:700px){
  .location-strip-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .location-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* Find Us */
.find-us{
  background:#f6f2eb;
  padding:52px 0;
  border-top:1px solid #ded7ce;
}
.find-us-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:28px;
  align-items:stretch;
}
.find-us-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.find-us-copy h2{
  margin:0 0 14px;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:.98;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.find-us-copy h2 span{
  color:var(--gold2,#a87532);
}
.find-us-copy p{
  margin:0 0 10px;
  color:#5f5953;
  line-height:1.6;
}
.find-us-note{
  font-size:.86rem;
  color:#7b746c!important;
}
.find-us-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:14px;
}
.find-us-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 14px;
  border-radius:7px;
  font-weight:900;
  text-decoration:none;
}
.find-us-primary{
  background:var(--gold,#c48f46);
  color:#111;
}
.find-us-secondary{
  background:#111;
  color:#fff;
}
.find-us-map{
  min-height:340px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #d7cfc5;
  background:#ddd;
}
.find-us-map iframe{
  width:100%;
  height:100%;
  min-height:340px;
  border:0;
  display:block;
}
@media(max-width:760px){
  .find-us{
    padding:38px 0;
  }
  .find-us-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .find-us-map,
  .find-us-map iframe{
    min-height:280px;
  }
  .find-us-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* ===== Final production polish ===== */
.skip-link{
  position:fixed;left:12px;top:10px;z-index:9999;
  transform:translateY(-150%);background:#111;color:#fff;
  padding:10px 13px;border-radius:6px;font-weight:900;
}
.skip-link:focus{transform:translateY(0)}

.hp-field{
  position:absolute!important;width:1px!important;height:1px!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;clip-path:inset(50%)!important;
}

button:focus-visible,a:focus-visible,input:focus-visible{
  outline:3px solid #d8a453;
  outline-offset:3px;
}

.site-footer{background:#101010;color:#fff;border-top:1px solid #2b2723}
.footer-grid{display:grid;grid-template-columns:1.1fr 1.2fr .8fr;gap:28px;padding-top:34px;padding-bottom:26px}
.footer-grid strong{display:block;margin-bottom:8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#c98f42}
.footer-brand>strong{font-size:1.05rem;color:#fff;letter-spacing:.02em}
.footer-grid span,.footer-grid a{display:block;color:#c9c2ba;font-size:.82rem;line-height:1.55}
.footer-grid a{margin:2px 0;text-decoration:none}
.footer-grid a:hover{text-decoration:underline;text-underline-offset:3px}
.footer-bottom{border-top:1px solid #2b2723;display:flex;justify-content:space-between;gap:16px;padding-top:15px;padding-bottom:18px;color:#817b74;font-size:.72rem}
@media(max-width:760px){
  .footer-grid{grid-template-columns:1fr;gap:20px;padding-top:28px}
  .footer-bottom{flex-direction:column;gap:4px}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* Mobile service strip fit fix */
@media (max-width: 760px){
  .service-icons{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    width:100% !important;
    overflow:hidden !important;
  }

  .service-icon-item{
    min-width:0 !important;
    width:auto !important;
    padding:14px 2px 12px !important;
  }

  .service-icon-item .service-label,
  .service-icon-item span,
  .service-icon-item strong{
    display:block;
    width:100%;
    min-width:0;
    font-size:.65rem !important;
    line-height:1.05 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
    overflow-wrap:anywhere;
    text-align:center;
  }

  .service-icon-item svg{
    width:24px !important;
    height:24px !important;
    margin-inline:auto !important;
  }
}

@media (max-width: 390px){
  .service-icon-item .service-label,
  .service-icon-item span,
  .service-icon-item strong{
    font-size:.61rem !important;
  }
}


/* WhatsApp contact route */
.find-us-whatsapp{
  background:#fff!important;
  color:#111!important;
  border:1px solid #cfc6bc!important;
}

.whatsapp-fab{
  position:fixed;
  right:16px;
  bottom:18px;
  z-index:80;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:7px 12px 7px 7px;
  border-radius:999px;
  background:#111;
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  text-decoration:none;
  font-size:.78rem;
  font-weight:900;
}
.whatsapp-fab:hover{
  transform:translateY(-1px);
}
.wa-dot{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#c99043;
  color:#111;
  font-size:.62rem;
  font-weight:1000;
  letter-spacing:-.02em;
}
@media(max-width:760px){
  .whatsapp-fab{
    right:12px;
    bottom:14px;
  }
}

/* Common Questions — SEO/AEO */
.faq-section{background:#fff;border-top:1px solid #e3ddd5;padding:54px 0}
.faq-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:42px;align-items:start}
.faq-heading{position:sticky;top:92px}
.faq-heading h2{margin:5px 0 12px;font-size:clamp(2rem,4vw,3.45rem);line-height:.96;letter-spacing:-.045em;text-transform:uppercase}
.faq-heading h2 span{color:var(--gold2,#a87532)}
.faq-heading p{margin:0;color:#6b645d;line-height:1.6;max-width:390px}
.faq-list{border-top:1px solid #ddd6cd}
.faq-list details{border-bottom:1px solid #ddd6cd}
.faq-list summary{position:relative;cursor:pointer;list-style:none;padding:20px 42px 20px 0;font-size:1rem;font-weight:900;line-height:1.3}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:3px;top:16px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#111;color:#c99043;font-size:1.2rem}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{margin:0;padding:0 44px 20px 0;color:#665f58;line-height:1.65;max-width:720px}
@media(max-width:760px){.faq-section{padding:38px 0}.faq-wrap{grid-template-columns:1fr;gap:22px}.faq-heading{position:static}.faq-list summary{padding-top:17px;padding-bottom:17px}.faq-list summary::after{top:13px}}


/* Trust facts — confirmed business credentials */
.trust-facts{
  background:#111;
  color:#fff;
  border-top:1px solid #2b2723;
  border-bottom:1px solid #2b2723;
}
.trust-facts-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.trust-fact{
  padding:24px 18px;
  border-right:1px solid #2e2a26;
}
.trust-fact:last-child{border-right:0}
.trust-number,
.trust-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:32px;
  padding:0 7px;
  margin-bottom:10px;
  border-radius:6px;
  background:#c99043;
  color:#111;
  font-weight:1000;
  font-size:.78rem;
}
.trust-number{
  font-size:1rem;
}
.trust-fact strong{
  display:block;
  margin-bottom:5px;
  font-size:.9rem;
}
.trust-fact p{
  margin:0;
  color:#aaa39b;
  font-size:.76rem;
  line-height:1.45;
}

.find-us-hours{
  display:grid;
  gap:3px;
  margin:14px 0 4px;
  padding:13px 0;
  border-top:1px solid #d8d0c7;
  border-bottom:1px solid #d8d0c7;
}
.find-us-hours strong{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.find-us-hours span{
  color:#655e57;
  font-size:.85rem;
}

@media(max-width:760px){
  .trust-facts-grid{
    grid-template-columns:1fr 1fr;
  }
  .trust-fact{
    padding:18px 14px;
    border-bottom:1px solid #2e2a26;
  }
  .trust-fact:nth-child(2){border-right:0}
  .trust-fact:nth-child(3),
  .trust-fact:nth-child(4){border-bottom:0}
}


/* ===== V1.0 launch conversion + search content ===== */
.hero-reassure{
  display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 8px;
}
.hero-reassure span{
  border:1px solid rgba(199,144,67,.42);background:rgba(255,255,255,.04);
  color:#e6ddd3;border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:850;
}
.hero-help{max-width:610px!important;margin:8px 0 16px!important;font-size:.88rem!important;color:#bcb4ac!important}

.service-guide{background:#f6f2eb;padding:52px 0;border-top:1px solid #ded7ce;border-bottom:1px solid #ded7ce}
.service-guide-head{display:grid;grid-template-columns:1fr .9fr;gap:30px;align-items:end;margin-bottom:25px}
.service-guide-head h2{margin:4px 0 0;font-size:clamp(2rem,4.4vw,3.7rem);line-height:.96;letter-spacing:-.045em;text-transform:uppercase}
.service-guide-head h2 span{color:var(--gold2,#a87532)}
.service-guide-head p{margin:0;color:#675f58;line-height:1.6}
.service-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.service-guide article{background:#fff;border:1px solid #ded6cc;border-radius:10px;padding:18px;display:flex;flex-direction:column;min-height:205px}
.service-guide article strong{font-size:1rem;margin-bottom:7px}
.service-guide article p{font-size:.82rem;line-height:1.55;color:#6e675f;margin:0 0 16px}
.service-guide article button{margin-top:auto;text-align:left;border:0;background:none;padding:0;color:#9d682c;font-weight:900;cursor:pointer}

.success-card{text-align:center;padding:7px 2px 3px}
.success-tick{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#c99043;color:#111;font-size:1.35rem;font-weight:1000;margin:0 auto 10px}
.success-card strong{display:block;font-size:1.05rem}
.success-card p{margin:7px 0 0;color:#e2dbd3;line-height:1.5;font-size:.86rem}

.mobile-actions{display:none}

@media(max-width:760px){
  body{padding-bottom:68px}
  .service-guide{padding:38px 0}
  .service-guide-head{grid-template-columns:1fr;gap:10px}
  .service-guide-grid{grid-template-columns:1fr}
  .service-guide article{min-height:0}
  .mobile-actions{
    position:fixed;display:grid;grid-template-columns:1fr 1fr 1.15fr;
    left:8px;right:8px;bottom:8px;z-index:200;background:#111;border:1px solid #332d27;
    border-radius:13px;padding:5px;box-shadow:0 12px 35px rgba(0,0,0,.32);
  }
  .mobile-actions a{
    min-height:49px;display:flex;gap:5px;align-items:center;justify-content:center;
    flex-direction:column;color:#fff;text-decoration:none;border-radius:9px;font-size:.62rem
  }
  .mobile-actions a span{font-size:.73rem;color:#c99043;font-weight:1000}
  .mobile-actions a strong{font-size:.64rem}
  .mobile-actions .mobile-actions-primary{background:#c99043;color:#111}
  .mobile-actions .mobile-actions-primary span{color:#111}
  .whatsapp-fab{display:none!important}
}

@media(max-width:760px){
  .hero-service-item,.service-icon-item{min-width:0}
  .choice{min-height:44px}
}


/* =========================================================
   V1 CLEAN RESET — one deliberate mobile UI layer
   ========================================================= */

.hero-trust-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  max-width:650px;
  margin:20px 0 18px;
}
.hero-trust-item{
  min-width:0;
  min-height:42px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 13px;
  border:1px solid rgba(201,144,67,.34);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  color:#f2ece6;
}
.hero-trust-item svg{
  width:18px;
  height:18px;
  min-width:18px;
  fill:none;
  stroke:#d59a46;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-trust-item span{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.72rem;
  font-weight:850;
}

.booking-card-clean{
  max-width:680px;
  padding:18px;
  margin-top:4px;
  border:1px solid rgba(201,144,67,.44);
  border-radius:17px;
  background:#101010;
}
.booking-title{
  color:#fff;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.09em;
}
.booking-title span{color:#d59a46}
.booking-sub{
  margin-top:5px;
  color:#aaa39b;
  font-size:.82rem;
}
.booking-card-clean .reg-box{
  margin-top:13px;
  padding:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
.reg-input-clean{
  display:flex;
  min-height:62px;
  overflow:hidden;
  border-radius:11px;
  background:#fff;
}
.gb-clean{
  width:54px;
  min-width:54px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  background:#1246a3;
  color:#fff;
}
.union-jack-clean{
  width:22px;
  height:14px;
  position:relative;
  overflow:hidden;
  border-radius:2px;
  background:
    linear-gradient(90deg,transparent 42%,#fff 42% 58%,transparent 58%),
    linear-gradient(transparent 36%,#fff 36% 64%,transparent 64%),
    #1f3f8f;
}
.union-jack-clean::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(28deg,transparent 44%,#cf142b 44% 50%,transparent 50%),
    linear-gradient(-28deg,transparent 44%,#cf142b 44% 50%,transparent 50%),
    linear-gradient(90deg,transparent 46%,#cf142b 46% 54%,transparent 54%),
    linear-gradient(transparent 43%,#cf142b 43% 57%,transparent 57%);
}
.gb-clean small{
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.08em;
}
.booking-card-clean .reg-box input{
  flex:1;
  min-width:0;
  min-height:62px!important;
  padding:0 15px!important;
  border:0!important;
  background:#fff!important;
  border-radius:0!important;
  font-size:.9rem!important;
  font-weight:800!important;
}
.booking-card-clean .reg-box .btn{
  width:100%!important;
  min-height:52px!important;
  margin-top:9px!important;
  border-radius:10px!important;
  font-size:.86rem!important;
}
.booking-note{
  margin-top:9px;
  color:#aaa39b;
  font-size:.7rem;
  line-height:1.4;
}

/* Horizontal service rail */
.hero-service-strip{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  padding:0 14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  scroll-snap-type:x proximity!important;
  box-sizing:border-box!important;
}
.hero-service-strip::-webkit-scrollbar{display:none!important}
.hero-service-item{
  flex:0 0 94px!important;
  width:94px!important;
  min-width:94px!important;
  max-width:94px!important;
  min-height:72px!important;
  padding:10px 2px 8px!important;
  scroll-snap-align:start!important;
  box-sizing:border-box!important;
}
.hero-service-item svg{
  width:21px!important;
  height:21px!important;
  margin-bottom:5px!important;
}
.hero-service-item span{
  width:100%!important;
  max-width:100%!important;
  font-size:.53rem!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  text-align:center!important;
}
.hero-service-item:first-child span{font-size:.50rem!important}
.hero-service-item:last-child{margin-right:14px!important}

/* Talk panel */
.talk-clean-wrap{
  background:#111;
  padding:10px 0 12px;
}
.talk-clean{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:64px;
  padding:10px 14px;
  border:1px solid rgba(201,144,67,.42);
  border-radius:13px;
  box-shadow:inset -4px 0 0 #d59a46;
}
.talk-clean-icon{
  width:38px;
  height:38px;
  min-width:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d59a46;
}
.talk-clean-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:#111;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.talk-clean strong{
  display:block;
  color:#fff;
  font-size:.84rem;
}
.talk-clean span{
  color:#aaa39b;
  font-size:.66rem;
}

/* Clean bottom contact bar */
.mobile-actions-clean{display:none}

@media(max-width:760px){
  body{padding-bottom:70px!important}

  .hero-trust-grid{
    gap:7px;
    width:100%;
    margin:14px 0 14px;
  }
  .hero-trust-item{
    height:38px;
    min-height:38px;
    padding:0 9px;
    gap:7px;
  }
  .hero-trust-item svg{
    width:16px;
    height:16px;
    min-width:16px;
  }
  .hero-trust-item span{
    font-size:.58rem;
  }

  .booking-card-clean{
    padding:12px;
    border-radius:14px;
  }
  .booking-title{font-size:.59rem}
  .booking-sub{font-size:.7rem}
  .reg-input-clean{min-height:55px}
  .gb-clean{width:48px;min-width:48px}
  .booking-card-clean .reg-box input{min-height:55px!important;font-size:.84rem!important}
  .booking-card-clean .reg-box .btn{min-height:48px!important}
  .booking-note{font-size:.64rem}

  .mobile-actions-clean{
    position:fixed;
    left:8px;
    right:8px;
    bottom:7px;
    z-index:250;
    display:grid;
    grid-template-columns:1fr 1fr 1.08fr;
    gap:5px;
    padding:5px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:15px;
    background:rgba(10,10,10,.985);
    box-shadow:0 12px 36px rgba(0,0,0,.38);
  }
  .mobile-actions-clean a{
    min-width:0;
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:6px 7px;
    border-radius:10px;
    text-decoration:none;
    color:#fff;
    background:#151515;
  }
  .mobile-actions-clean a.start{
    background:#d59a46;
    color:#111;
  }
  .mobile-actions-clean svg{
    width:17px;
    height:17px;
    min-width:17px;
    fill:none;
    stroke:#d59a46;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-actions-clean .start svg{stroke:#111}
  .mobile-actions-clean span{
    display:flex;
    min-width:0;
    flex-direction:column;
  }
  .mobile-actions-clean strong{
    font-size:.61rem;
    line-height:1.05;
  }
  .mobile-actions-clean small{
    margin-top:2px;
    color:#817a73;
    font-size:.44rem;
    white-space:nowrap;
  }
  .mobile-actions-clean .start small{color:rgba(17,17,17,.62)}

  .whatsapp-fab{display:none!important}
}

@media(max-width:390px){
  .hero-trust-item span{font-size:.54rem}
  .hero-service-item{flex-basis:90px!important;width:90px!important;min-width:90px!important;max-width:90px!important}
  .mobile-actions-clean small{display:none}
}


/* =========================================================
   Icon correction only — clean Union Jack + WhatsApp
   ========================================================= */

.union-jack-clean{
  display:none!important;
}

.union-jack-svg{
  width:23px;
  height:14px;
  display:block;
  border-radius:2px;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,.25);
}

.wa-icon-clean{
  width:24px;
  height:24px;
  min-width:24px;
  display:grid;
  place-items:center;
  color:#d59a46;
}

.wa-icon-clean svg{
  width:19px;
  height:19px;
  display:block;
}

.wa-icon-clean .wa-bubble{
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.wa-icon-clean .wa-phone{
  fill:currentColor;
  stroke:none;
}

.mobile-actions-clean a[data-track="whatsapp-mobile"]{
  gap:7px;
}

/* v44 — Shaun requested location map + service additions */
.arrival-map{grid-column:1/-1;margin-top:18px;padding:20px;border:1px solid rgba(17,17,17,.1);border-radius:22px;background:#f7f3ec;display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:20px;align-items:center}
.arrival-map h3{margin:5px 0 8px;font-size:clamp(1.35rem,3vw,2rem)}
.arrival-map p{margin:0;color:#625d56;line-height:1.6}
.arrival-map a{display:block;border-radius:16px;overflow:hidden;background:#fff}
.arrival-map img{display:block;width:100%;height:auto}
@media(max-width:720px){.arrival-map{grid-template-columns:1fr;padding:14px;border-radius:18px}.arrival-map-copy{padding:4px 4px 0}.arrival-map img{border-radius:12px}}

/* v45 — SEO service landing pages */
.seo-hero{padding:72px 0 58px;background:#111;color:#fff}.seo-hero .wrap{max-width:1050px}.seo-hero .kicker{color:#d59a46}.seo-hero h1{max-width:900px;margin:10px 0 16px;font-size:clamp(2.3rem,6vw,5rem);line-height:.98}.seo-hero p{max-width:760px;color:#d7d1c8;font-size:1.08rem;line-height:1.7}.breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:28px;font-size:.82rem;color:#aaa}.breadcrumbs a{color:#d59a46}.seo-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.seo-content{padding:62px 0;background:#f7f3ec}.seo-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.65fr);gap:42px;align-items:start}.seo-grid article h2{margin:0 0 12px;font-size:clamp(1.5rem,3vw,2.3rem)}.seo-grid article h2:not(:first-child){margin-top:38px}.seo-grid article p{line-height:1.75;color:#55504a}.seo-side{position:sticky;top:24px;padding:25px;border-radius:20px;background:#111;color:#fff}.seo-side strong{font-size:1.25rem}.seo-side p{color:#c9c2b9;line-height:1.6}.seo-side a{display:block;margin-top:10px;padding:12px 14px;border-radius:12px;background:#d59a46;color:#111;font-weight:800;text-align:center}.seo-side a+a{background:#fff}.notice{margin:24px 0;padding:16px;border-left:4px solid #d59a46;background:#fff;line-height:1.55}.seo-faq,.seo-services{padding:55px 0}.seo-faq h2,.seo-services h2{margin:0 0 22px;font-size:clamp(1.7rem,4vw,2.7rem)}.seo-faq details{max-width:850px;border-top:1px solid #ddd;padding:16px 0}.seo-faq summary{cursor:pointer;font-weight:800}.seo-faq p{color:#5c5750;line-height:1.65}.seo-services{background:#111;color:#fff}.home-service-pages{background:#f7f3ec;color:#111}.home-service-pages p{max-width:720px;color:#625d56;line-height:1.6}.seo-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.seo-link-grid a{padding:15px;border:1px solid rgba(213,154,70,.35);border-radius:12px;background:rgba(255,255,255,.06);color:inherit;font-weight:750}.home-service-pages .seo-link-grid a{background:#fff;border-color:rgba(17,17,17,.1)}.seo-link-grid a:hover{border-color:#d59a46}.service-page .brand{color:inherit}@media(max-width:760px){.seo-hero{padding:46px 0 40px}.seo-grid{grid-template-columns:1fr;gap:28px}.seo-side{position:static}.seo-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-services,.seo-faq,.seo-content{padding:42px 0}}
