
    :root{--ink:#101310;--ink2:#1b231b;--paper:#f5f4ef;--white:#fff;--lime:#d6f80d;--muted:#66736e;--line:#dce0d7;--max:1200px}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit}img,svg{max-width:100%}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.eyebrow{font-size:.73rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.section{padding:104px 0}.section-title{font-size:clamp(2.25rem,5vw,4.65rem);line-height:1.04;letter-spacing:-.055em;margin:12px 0 20px;max-width:820px}.lead{font-size:1.12rem;color:var(--muted);max-width:640px}.pill{border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;font-weight:800;transition:transform .2s,background .2s}.pill:hover{transform:translateY(-2px)}.pill-primary{background:var(--lime);color:var(--ink)}.pill-outline{border:1px solid rgba(255,255,255,.43);color:var(--white)}.pill-dark{background:var(--ink);color:var(--white)}
    header{height:82px;position:relative;z-index:10;background:var(--ink);color:var(--white);border-bottom:1px solid #ffffff1f}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px;font-size:1.08rem;font-weight:900;letter-spacing:-.025em;line-height:1.05}.brand-logo{width:50px;height:50px;object-fit:contain;border-radius:50%}.nav-links{display:flex;align-items:center;gap:34px;font-size:.91rem;font-weight:700}.nav-links>a:not(.pill):hover{color:var(--lime)}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.8rem;cursor:pointer}
    .hero{min-height:650px;background:var(--ink);color:white;position:relative;overflow:hidden}.hero::before{content:"";position:absolute;right:-12%;top:-40%;height:1000px;width:1000px;border-radius:50%;background:radial-gradient(circle,#5e765524,transparent 64%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;min-height:650px;gap:30px;position:relative}.hero h1{font-size:clamp(3.5rem,6.7vw,7rem);line-height:.94;letter-spacing:-.075em;max-width:740px;margin:25px 0 26px}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{color:#bdc8c1;font-size:1.16rem;max-width:550px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.hero-note{font-size:.8rem;color:#a9b8ad;margin-top:30px}.hero-art{position:relative;min-height:490px;display:flex;align-items:center;justify-content:center}.art-halo{position:absolute;width:min(100%,500px);aspect-ratio:1;border:1px solid #a4b6a02d;border-radius:50%;box-shadow:0 0 0 67px #ffffff05,0 0 0 135px #ffffff03}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(circle,black,transparent 72%)}.hero-logo{position:relative;width:min(100%,420px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;box-shadow:0 28px 70px #000a,0 0 0 2px #d6f80d44}
    .strip{background:var(--lime);color:var(--ink)}.strip-inner{display:flex;justify-content:space-between;gap:25px;padding:20px 0;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:900}.strip-inner span{display:flex;align-items:center;gap:10px}.strip-inner b{font-size:1.1rem}
    .intro-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:end}.intro-copy{font-size:1.08rem;color:#56645c}.intro-copy p:first-child{margin-top:0}.rule{height:1px;background:var(--line);margin:28px 0}.small-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;font-size:.9rem;font-weight:700}.small-list span:before{content:"↗";font-weight:900;color:#596e16;margin-right:10px}
    .services{background:white}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-top .section-title{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{min-height:280px;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:30px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-4px);border-color:#c0d96d}.card-icon{height:57px;width:57px;border-radius:50%;background:#edf3d5;display:grid;place-items:center;font-size:1.4rem;font-weight:800}.card h3{margin:24px 0 8px;font-size:1.42rem;letter-spacing:-.035em}.card p{margin:0;color:var(--muted);font-size:.95rem}.card-index{margin-top:auto;padding-top:25px;color:#596e16;font-size:.75rem;letter-spacing:.14em;font-weight:900}
    .feature{background:var(--ink2);color:white;overflow:hidden}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.feature .section-title{max-width:650px}.feature .lead{color:#bdcbc2}.steps{border-top:1px solid #ffffff3a}.step{display:grid;grid-template-columns:48px 1fr;gap:22px;border-bottom:1px solid #ffffff3a;padding:25px 0}.step strong{color:var(--lime);font-size:.78rem}.step h3{font-size:1.12rem;margin:0 0 4px}.step p{color:#adbbb3;font-size:.9rem;margin:0}.feature-panel{aspect-ratio:5/5.6;border-radius:12px;background:radial-gradient(circle at 62% 40%,#a4c17455,transparent 35%),linear-gradient(145deg,#314840,#15231f);border:1px solid #ffffff24;position:relative;display:grid;place-items:center;overflow:hidden}.feature-panel:before,.feature-panel:after{content:"";position:absolute;width:90%;aspect-ratio:1;border:1px solid #ffffff24;border-radius:50%}.feature-panel:after{width:62%}.dial{width:65%;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--lime) 0 245deg,#ffffff25 245deg 295deg,transparent 295deg);display:grid;place-items:center;transform:rotate(-15deg);box-shadow:0 22px 80px #0009}.dial:before{content:"";width:79%;aspect-ratio:1;border-radius:50%;background:#1c2d27;position:absolute}.dial span{position:relative;transform:rotate(15deg);font-size:clamp(1.4rem,3.1vw,2.8rem);font-weight:900;line-height:1;text-align:center;letter-spacing:-.06em}.dial small{display:block;font-size:.7rem;letter-spacing:.16em;color:var(--lime);margin-top:10px}.panel-label{position:absolute;bottom:28px;left:30px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#c3d4c8}
    .faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:21px 0}summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:1.4rem;line-height:1}details[open] summary:after{content:"−"}details p{color:var(--muted);margin:15px 35px 0 0}
    .contact{background:var(--lime);padding:95px 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.contact .section-title{max-width:740px;margin-bottom:0}.contact-links{display:flex;flex-direction:column;gap:15px;align-items:flex-start}.contact-links .pill{min-width:225px}.contact-note{font-size:.9rem;max-width:350px}.placeholder{opacity:.74}.footer{background:var(--ink);color:#a9b9ac;padding:46px 0}.footer-grid{display:flex;justify-content:space-between;align-items:start;gap:30px}.footer .brand{color:white}.footer p{font-size:.86rem;margin:13px 0 0}.footer-nav{display:flex;gap:24px;font-size:.85rem}.footer-bottom{border-top:1px solid #ffffff20;margin-top:45px;padding-top:20px;font-size:.78rem;display:flex;justify-content:space-between;gap:15px}

    .enquiry{margin-top:55px;background:#fff;border-radius:14px;padding:clamp(24px,5vw,48px);box-shadow:0 26px 50px #52600022}.enquiry h2,.enquiry h3{font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:-.045em;margin:0 0 7px}.enquiry>p{color:var(--muted);margin:0 0 30px}.enquiry .form-note{margin:16px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.87rem;font-weight:800}.field input,.field select,.field textarea{font:inherit;min-width:0;width:100%;border:1px solid #cbd2c7;border-radius:6px;background:#fff;color:var(--ink);padding:13px 14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6b7c00;box-shadow:0 0 0 3px #d6f80d44}.field textarea{min-height:128px;resize:vertical}.field small{color:var(--muted)}.form-consent{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.5;margin:24px 0}.form-consent input{margin-top:4px;accent-color:#6b7c00}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.form-actions button{border:0;cursor:pointer}.form-note{font-size:.8rem;color:var(--muted);max-width:590px;margin:16px 0 0}.form-status{display:none;margin:0 0 20px;padding:13px 16px;border-radius:6px;font-weight:700}.form-status.show{display:block}.form-status.success{background:#e9f3dc;color:#264322}.form-status.error{background:#fff0e8;color:#71301d}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
    @media(max-width:650px){.form-grid{grid-template-columns:1fr}.enquiry{margin-top:35px}}
    @media(max-width:920px){.hero-grid,.intro-grid,.feature-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{padding-top:75px}.hero-art{min-height:370px}.feature-grid{gap:50px}.feature-panel{max-width:600px;aspect-ratio:1.6}.faq-grid,.intro-grid{gap:24px}.cards{grid-template-columns:repeat(2,1fr)}.strip-inner{flex-wrap:wrap}.nav-links{gap:16px}}
    @media(max-width:650px){.wrap{width:min(calc(100% - 34px),var(--max))}.section{padding:72px 0}header{height:70px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ink);padding:20px 17px 26px;flex-direction:column;align-items:stretch;border-top:1px solid #ffffff24}.nav-links.open{display:flex}.nav-links .pill{width:100%}.hero-grid{padding-top:66px;min-height:0;gap:0}.hero h1{font-size:clamp(3.15rem,13vw,5rem)}.hero-art{min-height:310px}.art-tag{bottom:0}.strip-inner{gap:10px;padding:15px 0;font-size:.67rem}.strip-inner span:last-child{display:none}.cards{grid-template-columns:1fr}.card{min-height:230px}.section-top{display:block}.small-list{grid-template-columns:1fr}.feature-panel{aspect-ratio:1.05}.contact{padding:72px 0}.contact-grid{gap:35px}.footer-grid,.footer-bottom{display:block}.footer-nav{margin-top:25px;flex-wrap:wrap}.footer-bottom span{display:block;margin-top:8px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
  
/* Interior pages and quote form */
.inner-hero{background:var(--ink);color:#fff;padding:95px 0 100px;position:relative;overflow:hidden}.inner-hero:after{content:"";position:absolute;width:590px;height:590px;right:-130px;top:-220px;border:1px solid #ffffff1b;border-radius:50%;box-shadow:0 0 0 70px #ffffff07,0 0 0 140px #ffffff04;pointer-events:none}.inner-hero .wrap{position:relative;z-index:1}.inner-hero h1{font-size:clamp(3.15rem,7vw,6rem);line-height:.98;letter-spacing:-.065em;margin:19px 0 23px;max-width:860px}.inner-hero h1 em{font-style:normal;color:var(--lime)}.inner-hero p{max-width:640px;font-size:1.13rem;color:#c6d0c7}.inner-hero .hero-actions{margin-top:29px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.service-detail{padding:35px;border:1px solid var(--line);background:#fff;border-radius:10px;display:flex;flex-direction:column;min-height:285px}.service-detail .card-icon{background:#eef2cf}.service-detail h2{font-size:1.7rem;letter-spacing:-.04em;line-height:1.12;margin:20px 0 10px}.service-detail p{color:var(--muted);margin:0 0 23px}.service-detail a{margin-top:auto;font-weight:850;color:#526000}.service-detail a:hover{text-decoration:underline}.service-banner{background:var(--lime);padding:75px 0}.service-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.service-banner h2{font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.05;letter-spacing:-.05em;margin:0}.service-banner p{margin:10px 0 0}.quote-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:34px;align-items:start}.quote-section{padding:75px 0 100px}.quote-section .enquiry{margin:0}.quote-aside{padding:31px;background:var(--ink);border-radius:10px;color:white}.quote-aside h2{font-size:1.6rem;line-height:1.15;letter-spacing:-.04em;margin:0 0 15px}.quote-aside p{color:#bec9bf;font-size:.93rem}.quote-aside a{display:block;margin-top:20px;color:var(--lime);font-weight:800;word-break:break-word}.quote-aside address{font-style:normal;color:#bec9bf;margin-top:30px;font-size:.9rem}.field[hidden]{display:none!important}.enquiry button:disabled{opacity:.7;cursor:wait}.service-detail .card-icon{flex:none}
@media(max-width:920px){.quote-layout{grid-template-columns:1fr}.quote-aside{order:-1}.service-banner .wrap{display:block}.service-banner .pill{margin-top:25px}}
@media(max-width:650px){.inner-hero{padding:68px 0 78px}.service-grid{grid-template-columns:1fr}.service-detail{min-height:0}.quote-section{padding:35px 0 75px}.quote-aside{padding:25px}}

/* Previous jobs gallery */
.jobs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.job-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.job-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 54%;background:#e0e4dc}.job-copy{padding:25px;display:flex;flex-direction:column;flex:1}.job-category{color:#526000;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:850}.job-copy h2{font-size:1.62rem;letter-spacing:-.045em;line-height:1.1;margin:10px 0}.job-copy p{color:var(--muted);margin:0 0 25px}.job-copy a{margin-top:auto;font-weight:850;color:#526000}.job-copy a:hover{text-decoration:underline}@media(max-width:920px){.jobs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.jobs-grid{grid-template-columns:1fr}.job-card img{aspect-ratio:3/2}}

/* Service photography */
.service-photo{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#24312b}.photo-card,.photo-detail{padding:0;overflow:hidden}.photo-card h3,.photo-card p,.photo-card .card-index{margin-left:26px;margin-right:26px}.photo-card h3{margin-top:24px}.photo-card .card-index{padding-bottom:27px}.photo-detail h2,.photo-detail p,.photo-detail>a{margin-left:30px;margin-right:30px}.photo-detail h2{margin-top:27px}.photo-detail>a{margin-bottom:30px}

/* Balance the final service card when the grid has an odd count. */
.service-grid>.service-detail:last-child:nth-child(odd){grid-column:1/-1;min-height:0}@media(max-width:650px){.service-grid>.service-detail:last-child:nth-child(odd){grid-column:auto}}

/* About us */
.about-hero{padding-bottom:105px}.about-hero h1{max-width:980px}.about-story{padding:112px 0 130px}.about-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(40px,8vw,130px)}.about-intro{align-self:start;position:sticky;top:40px}.about-intro .section-title{font-size:clamp(2.5rem,4.8vw,4.4rem);margin-top:17px}.about-intro p{font-size:1.12rem;color:var(--muted);max-width:390px}.about-mark{margin-top:62px;font-size:clamp(4.5rem,9vw,9rem);line-height:1;font-weight:950;letter-spacing:-.11em;color:var(--lime);white-space:nowrap}.about-mark span{font-size:.35em;color:#b7d400;vertical-align:top;margin-left:.18em}.about-chapters{border-left:1px solid #cbd2c6}.about-chapter{position:relative;padding:5px 0 70px 42px}.about-chapter:last-child{padding-bottom:0}.about-chapter:before{content:"";position:absolute;left:-6px;top:12px;width:11px;height:11px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px var(--paper)}.chapter-num{color:#526000;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:900}.about-chapter h3{font-size:clamp(1.65rem,2.8vw,2.4rem);line-height:1.1;letter-spacing:-.05em;margin:13px 0 19px}.about-chapter p{max-width:650px;color:#46534c;line-height:1.75;margin:0 0 16px;font-size:1.06rem}.about-close{background:var(--ink);color:#fff;padding:88px 0 95px}.about-close-grid{display:flex;align-items:end;justify-content:space-between;gap:60px}.about-close .eyebrow{color:var(--lime)}.about-close h2{font-size:clamp(2.65rem,5vw,5rem);line-height:1;letter-spacing:-.06em;margin:20px 0 22px;max-width:730px}.about-close h2 em{font-style:normal;color:var(--lime)}.about-close p{color:#c6d0c7;font-size:1.08rem;max-width:550px;margin:0}.about-close-actions{display:flex;flex-wrap:wrap;gap:12px;flex:none;padding-bottom:4px}
@media(max-width:880px){header{height:70px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ink);padding:20px 24px 26px;flex-direction:column;align-items:stretch;border-top:1px solid #ffffff24}.nav-links.open{display:flex}.nav-links .pill{width:100%}.about-layout{grid-template-columns:1fr;gap:40px}.about-intro{position:static}.about-mark{display:none}.about-close-grid{display:block}.about-close-actions{margin-top:30px}}
@media(max-width:650px){.about-hero{padding-bottom:78px}.about-story{padding:70px 0 80px}.about-chapter{padding-left:26px;padding-bottom:55px}.about-close{padding:75px 0}.about-close-actions{display:grid;grid-template-columns:1fr}.about-close-actions .pill{width:100%}}

/* Find us */
.find-hero{padding-bottom:103px}.find-hero h1{max-width:650px}.find-section{padding:92px 0 82px;background:var(--paper)}.find-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.find-head .section-title{margin-bottom:0}.find-head p{max-width:360px;color:var(--muted);margin:0 0 5px}.find-map-shell{overflow:hidden;border-radius:12px;background:#253026;border:1px solid #c6ccc3;box-shadow:0 26px 60px #1013101c}.find-map{display:block;width:100%;height:clamp(430px,52vw,680px);border:0}.find-map-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px;color:var(--muted);font-size:.82rem}.find-map-foot a{font-weight:800;color:#526000}.find-details{background:var(--ink);color:#fff;padding:88px 0 98px}.find-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,120px);align-items:center}.find-details .eyebrow{color:var(--lime)}.find-details h2{font-size:clamp(2.6rem,5vw,5rem);line-height:1;letter-spacing:-.06em;margin:20px 0 24px}.find-details h2 em{font-style:normal;color:var(--lime)}.find-details p{color:#c6d0c7;font-size:1.1rem}.find-visit{border-top:1px solid #657167;padding-top:27px}.find-visit-label{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:850;color:var(--lime)}.find-visit p{line-height:1.7;max-width:510px}.find-visit strong{color:#fff}.find-visit-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
@media(max-width:1100px){header{height:70px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ink);padding:20px 24px 26px;flex-direction:column;align-items:stretch;border-top:1px solid #ffffff24}.nav-links.open{display:flex}.nav-links .pill{width:100%}}
@media(max-width:760px){.find-head{display:block}.find-head p{margin-top:18px}.find-details-grid{grid-template-columns:1fr;gap:38px}.find-map{height:510px}}
@media(max-width:650px){.find-hero{padding-bottom:78px}.find-section{padding:65px 0}.find-map{height:450px}.find-map-foot{align-items:start;flex-direction:column}.find-details{padding:75px 0}.find-visit-actions{display:grid;grid-template-columns:1fr}.find-visit-actions .pill{width:100%}}

/* Workshop photograph in About Us hero */
.about-hero{min-height:590px;display:flex;align-items:flex-start;padding:82px 0 260px;background-color:#19221f;background-image:linear-gradient(90deg,rgba(6,12,10,.82) 0%,rgba(6,12,10,.56) 42%,rgba(6,12,10,.1) 100%),linear-gradient(180deg,rgba(6,12,10,.22),transparent 65%),url("images/about-workshop.webp");background-size:cover;background-position:center 53%}
.about-hero:after{display:none}.about-hero h1{text-shadow:0 2px 24px #0007}.about-hero p{color:#f1f4ed;text-shadow:0 2px 12px #000b;max-width:540px}
@media(max-width:760px){.about-hero{min-height:610px;padding:69px 0 310px;background-position:54% center;background-image:linear-gradient(180deg,rgba(6,12,10,.84) 0%,rgba(6,12,10,.55) 44%,rgba(6,12,10,.08) 100%),url("images/about-workshop.webp")}}

/* Website credit */
.footer-bottom{flex-wrap:wrap}.site-credit strong{color:var(--lime)}

/* Separate the service highlights from the contact panel on the home page. */
body[data-page="home"] .strip{border-bottom:8px solid var(--ink)}
body[data-page="home"] .contact{padding:65px 0 75px}
body[data-page="home"] .contact-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(35px,6vw,80px)}
.contact-booking-link{display:inline-flex;align-items:center;gap:12px;margin-top:26px;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:850;border-bottom:2px solid var(--ink);padding-bottom:6px}
.contact-booking-link:hover{gap:18px}
.contact-phone{display:block;width:max-content;margin-top:14px;font-size:clamp(1.55rem,3vw,2.4rem);font-weight:900;letter-spacing:-.045em;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.booking-diary{position:relative;overflow:hidden;border-radius:14px;background:var(--ink);box-shadow:0 20px 44px #10131035}
.booking-diary-photo{display:block;width:100%;height:auto}
.booking-diary-logo{position:absolute;right:3%;top:5%;width:clamp(72px,9vw,120px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;box-shadow:0 4px 15px #0008}
@media(max-width:920px){body[data-page="home"] .contact-grid{grid-template-columns:1fr;gap:35px}.booking-diary{max-width:620px}}
@media(max-width:650px){body[data-page="home"] .contact{padding:48px 0 58px}.contact-booking-link{margin-top:20px}.booking-diary-logo{width:72px}}

/* About story in the R.A.K Autos dark and lime palette. */
.about-story{background:#172019;color:#f5f4ef;border-top:4px solid var(--lime)}
.about-intro .eyebrow,.about-story .chapter-num{color:var(--lime)}
.about-intro p,.about-chapter p{color:#c9d6cb}
.about-chapters{border-left-color:#5d705c}
.about-chapter:before{box-shadow:0 0 0 5px #172019}
.about-close{border-top:1px solid #ffffff24}

/* Service photos: keep portrait source imagery contained in a landscape card. */
.photo-detail .timing-belt-photo{object-position:center 47%}
.service-grid .photo-detail .service-photo{height:clamp(210px,21vw,250px);aspect-ratio:auto;object-fit:cover}
@media(max-width:650px){.service-grid .photo-detail .service-photo{height:175px;aspect-ratio:auto;object-fit:cover}.service-grid .photo-detail .timing-belt-photo{object-position:center 43%}}

/* Customer reviews */
.reviews-hero h1{max-width:990px}.reviews-section{background:var(--paper)}.review-overview{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:70px;align-items:center;margin-bottom:48px}.review-overview .section-title{max-width:720px}.review-score{display:flex;flex-direction:column;align-items:flex-start;padding:28px 30px;border-radius:12px;background:var(--lime);min-height:230px;justify-content:center;transition:transform .2s}.review-score:hover{transform:translateY(-3px)}.review-score strong{font-size:4.3rem;letter-spacing:-.075em;line-height:1}.review-score strong span{font-size:1.7rem;letter-spacing:-.03em}.review-score>span:not(.score-rule){font-weight:850;font-size:.96rem;line-height:1.3}.score-rule{height:1px;background:#1013105b;width:100%;margin:18px 0}.review-score small{margin-top:9px;font-size:.75rem}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(27px,4vw,42px);display:flex;flex-direction:column;min-height:345px}.review-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:900;color:#526000}.review-card blockquote{font-size:clamp(1.6rem,2.6vw,2.35rem);line-height:1.25;letter-spacing:-.04em;font-weight:750;margin:35px 0 auto;padding-bottom:42px}.review-bottom{display:flex;justify-content:space-between;gap:20px;align-items:end;border-top:1px solid var(--line);padding-top:20px}.review-bottom strong,.review-bottom span{display:block}.review-bottom span{color:var(--muted);font-size:.78rem;margin-top:3px}.review-bottom a{color:#526000;font-weight:850;white-space:nowrap;font-size:.85rem}.review-bottom a:hover{text-decoration:underline}.review-note{font-size:.8rem;color:var(--muted);margin:20px 0 0}.reviews-more{background:var(--ink2);color:#fff;padding:75px 0}.reviews-more-grid{display:flex;justify-content:space-between;gap:40px;align-items:center}.reviews-more .eyebrow{color:var(--lime)}.reviews-more h2{font-size:clamp(2.2rem,4vw,3.7rem);letter-spacing:-.055em;line-height:1.05;margin:15px 0}.reviews-more p{color:#c6d0c7;margin:0}.reviews-more-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch;min-width:255px}
@media(max-width:800px){.review-overview{grid-template-columns:1fr;gap:25px}.review-score{min-height:0;max-width:330px}.review-grid{grid-template-columns:1fr}.reviews-more-grid{display:block}.reviews-more-actions{margin-top:27px;align-items:flex-start}}
@media(max-width:650px){.review-card{min-height:0}.review-bottom{align-items:flex-start;flex-direction:column}.reviews-more-actions{align-items:stretch}.footer-nav{flex-wrap:wrap}}

/* Keep the wide tyre card photograph balanced with the other services. */
.service-photo.tyres-photo{max-height:360px}

/* Centre the timing chain work in the Corsa portrait photo. */
.job-card img.corsa-job-photo{object-position:center 40%}

/* Frame the replacement arms in the Kia Ceed portrait photo. */
.job-card img.kia-job-photo{object-position:center 46%}

/* Square Previous Jobs media on phones, with each portrait kept in proportion. */
.job-photo-frame{display:contents}
@media(max-width:650px){
  .job-card .job-photo-frame{display:block;aspect-ratio:1/1;overflow:hidden;background:#151a17}
  .job-card .job-photo-frame img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center}
  .job-card .job-photo-frame img.corsa-job-photo,
  .job-card .job-photo-frame img.kia-job-photo,
  .job-card .job-photo-frame img.mercedes-job-photo{transform:scale(1.48)}
}

/* Match the desktop Previous Jobs gallery to the Services card layout. */
@media(min-width:651px){.jobs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-card .job-photo-frame img{height:clamp(210px,21vw,250px);aspect-ratio:auto;object-fit:cover}}

/* Match every displayed brand logo to the bright lime palette. */
.brand-logo,.hero-logo,.booking-diary-logo{filter:url("#rak-lime-brand")}
