@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#16191f;--muted:#69717e;--blue:#2563eb;--pale:#f4f6f8;--line:#e3e7ec;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.skip{position:fixed;top:-100%;left:1rem;background:#fff;padding:.8rem;z-index:99}.skip:focus{top:1rem}.site-header{height:85px;position:absolute;top:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.3rem,4vw,5rem);color:#fff}.site-header.inner{position:relative;color:var(--ink);border-bottom:1px solid var(--line)}.brand{line-height:1;display:grid;grid-template-columns:30px auto;grid-template-rows:16px 12px;column-gap:8px;align-items:center}.brand span{grid-row:1/3;width:30px;height:30px;border:1.5px solid currentColor;border-radius:50%;font:700 10px/28px var(--sans);text-align:center}.brand b{font-size:11px;letter-spacing:1.6px}.brand small{font:500 8px/1 var(--sans);letter-spacing:3px}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.6rem);font-size:12px;font-weight:700}.site-header nav>a:not(.button){opacity:.75}.site-header nav>a:hover,.site-header nav>a.active{opacity:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;border:0;border-radius:4px;background:var(--blue);color:#fff;padding:14px 19px;font-size:12px;font-weight:800;letter-spacing:.2px;transition:transform .25s,background .25s;cursor:pointer}.button:hover{background:#174ecc;transform:translateY(-2px)}.button em,.text-link em,.card-link em{font-style:normal;font-size:18px;line-height:.7}.nav-book{padding:11px 16px}.menu-button{display:none}.hero{position:relative;min-height:790px;height:100vh;max-height:1000px;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,17,.75),rgba(8,12,17,.25)),url('https://images.unsplash.com/photo-1503376780353-7e6692767b70?auto=format&fit=crop&w=2000&q=90') center/cover;animation:scale 14s ease-out both}.hero-content{position:relative;width:min(800px,88vw);margin-left:clamp(1.3rem,12vw,12rem);padding-top:70px}.eyebrow{font:500 10px 'DM Mono',monospace;letter-spacing:1.8px;text-transform:uppercase;color:var(--blue);margin:0 0 16px}.eyebrow.light{color:#a9c4ff}h1,h2{font-size:clamp(2.8rem,5.7vw,5.7rem);line-height:1.06;letter-spacing:-.06em;margin:0;font-weight:600}h2{font-size:clamp(2.3rem,4.2vw,4.3rem)}h1 i,h2 i{font-family:var(--serif);font-weight:500;letter-spacing:-.07em}.hero .lead{font-size:16px;max-width:510px;margin:28px 0 32px;line-height:1.7;color:#edf1f9}.actions{display:flex;gap:24px;align-items:center}.text-link{font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link.light{color:#fff}.scroll-cue{position:absolute;bottom:38px;left:clamp(1.3rem,4vw,5rem);font:10px 'DM Mono',monospace;letter-spacing:1px;display:flex;align-items:center;gap:12px}.scroll-cue span{height:33px;width:1px;background:#fff;animation:scroll 1.6s infinite}.section{padding:clamp(4.8rem,9vw,9rem) clamp(1.3rem,8vw,8rem)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;transition:box-shadow .35s,transform .35s}.service-card:hover{box-shadow:0 20px 45px #1b24311c;transform:translateY(-6px)}.service-card img{height:235px;width:100%;object-fit:cover}.service-card>div{padding:24px}.card-number{font:10px 'DM Mono',monospace;color:var(--blue);margin:0 0 10px}.service-card h3,.benefits h3{font-size:20px;letter-spacing:-.04em;margin:0 0 8px}.service-card p:not(.card-number):not(.price){color:var(--muted);font-size:13px;margin:0}.price{font-size:12px;margin:19px 0}.price strong{font-size:17px}.card-link{font-size:12px;font-weight:800;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}.comparison-section{background:#1a1e25;color:#fff;padding:clamp(4.8rem,8vw,8rem);display:grid;grid-template-columns:1fr 1.65fr;gap:7vw;align-items:center}.comparison-copy p:not(.eyebrow){color:#b9c0cc;max-width:300px}.comparison{position:relative;aspect-ratio:1.44;overflow:hidden;border-radius:5px;user-select:none}.comparison>img,.before img{width:100%;height:100%;object-fit:cover}.before{position:absolute;inset:0 auto 0 0;width:50%;overflow:hidden;border-right:2px solid #fff}.before img{max-width:none;width:auto;aspect-ratio:1.44}.comparison input{position:absolute;inset:0;width:100%;opacity:0;cursor:ew-resize}.compare-label{position:absolute;top:17px;padding:5px 7px;background:#121722b3;font:9px 'DM Mono',monospace;letter-spacing:1px}.before-label{left:17px}.after-label{right:17px}.why{background:var(--pale)}.why>h2{margin-bottom:55px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.benefits>div{border-top:1px solid #b9c1cb;padding-top:19px}.benefits b{font:10px 'DM Mono',monospace;color:var(--blue);display:block;margin-bottom:30px}.benefits p{font-size:13px;color:var(--muted);margin:0}.reviews{padding:clamp(4.8rem,8vw,8rem) 0;overflow:hidden}.reviews .section-heading{margin:0 clamp(1.3rem,8vw,8rem) 45px}.rating{color:#f3ad17;line-height:1.8;font-size:18px;text-align:right}.rating small{font-size:10px;color:var(--muted);font-weight:500}.marquee{overflow:hidden}.marquee-track{display:flex;gap:18px;width:max-content;animation:marquee 40s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee article{width:345px;border:1px solid var(--line);padding:26px;border-radius:7px;font-size:16px;line-height:1.6}.marquee footer{margin-top:22px;font-size:12px;font-weight:800}.marquee footer span{font-weight:500;color:var(--muted);margin-left:6px}.booking{background:var(--pale);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.booking>div>p:not(.eyebrow){max-width:380px;color:var(--muted)}.booking ul{list-style:none;padding:0;font-size:13px;font-weight:700}.booking li{margin:9px 0}.booking li:before{content:'+' ;color:var(--blue);margin-right:9px}.booking-panel{padding:clamp(2rem,5vw,4.5rem);background:#fff;border-radius:8px;box-shadow:0 16px 40px #1b243114}.panel-kicker{font:10px 'DM Mono',monospace;color:var(--blue);letter-spacing:1.5px}.booking-panel h3{font-size:27px;margin:9px 0}.wide{width:100%;margin:13px 0}.booking-panel small,.form-note{font-size:10px;color:var(--muted)}code{background:#eef1f6;padding:1px 4px}footer{padding:55px clamp(1.3rem,8vw,8rem) 28px;background:#16191f;color:#fff;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;font-size:12px}footer .footer-brand p{color:#aeb6c2;max-width:260px}footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:9px;color:#c9d0da}footer>div>b{color:#fff;margin-bottom:4px}.footer-bottom{grid-column:1/-1;border-top:1px solid #39404a;padding-top:22px;display:flex;justify-content:space-between;color:#9fa8b5;font-size:10px}.footer-bottom a{color:#fff;font-weight:700}.page-hero{padding:clamp(5rem,12vw,11rem) clamp(1.3rem,8vw,8rem) clamp(4rem,8vw,7rem);background:var(--pale)}.page-hero p:last-child{max-width:430px;color:var(--muted);margin:26px 0 0}.service-list{padding-top:30px}.service-list article,.story{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,8vw,9rem);align-items:center;padding:65px 0;border-bottom:1px solid var(--line)}.service-list article:nth-child(even) img{order:2}.service-list img,.story img{width:100%;height:440px;object-fit:cover;border-radius:5px}.service-list h2{font-size:clamp(2rem,3vw,3.4rem);margin-bottom:17px}.service-list div>p:not(.eyebrow):not(.price),.story div>p:not(.eyebrow){color:var(--muted);max-width:470px}.service-list ul{padding:0;list-style:none;font-size:13px;font-weight:700}.service-list li:before{content:'+' ;color:var(--blue);margin-right:8px}.addons{background:var(--pale)}.addons h2{margin-bottom:54px}.filters{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid var(--line);border-radius:99px;padding:9px 15px;font-size:12px;font-weight:700;cursor:pointer}.filters button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.masonry{columns:3 260px;column-gap:17px}.gallery-item{display:block;position:relative;break-inside:avoid;margin-bottom:17px;overflow:hidden;border-radius:5px;background:#000}.gallery-item img{width:100%;transition:transform .5s}.gallery-item:hover img{transform:scale(1.06);opacity:.78}.gallery-item span{position:absolute;bottom:14px;left:14px;color:#fff;font:10px 'DM Mono',monospace;letter-spacing:1px;opacity:0;transition:.3s}.gallery-item:hover span{opacity:1}.lightbox{position:fixed;inset:0;background:#0b0e13ed;z-index:99;display:none;place-items:center;padding:5vw}.lightbox.open{display:grid}.lightbox img{max-height:85vh}.lightbox button{position:absolute;top:22px;right:25px;color:#fff;background:transparent;border:0;font-size:38px;cursor:pointer}.story{border:0}.values{background:var(--pale)}.values h2{margin-bottom:55px}.dark-cta{background:#16191f;color:#fff;text-align:center;padding:clamp(4.8rem,9vw,9rem) 1.3rem}.dark-cta h2{margin-bottom:32px}.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:9vw}.contact h1{margin-bottom:22px}.contact>div>p:not(.eyebrow){color:var(--muted);max-width:350px}.contact-details{border-top:1px solid var(--line);margin-top:34px;padding-top:12px}.contact-details p{display:grid;grid-template-columns:100px 1fr;margin:9px 0;font-size:12px}.contact-details b{font:10px 'DM Mono',monospace;color:var(--muted);letter-spacing:1px}.contact-details a{text-decoration:underline}.quote-form{background:var(--pale);padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px;border-radius:6px}.quote-form label{font-size:11px;font-weight:800}.quote-form input,.quote-form select,.quote-form textarea{width:100%;display:block;margin-top:6px;border:1px solid #dce1e7;background:#fff;padding:12px;border-radius:3px;outline-color:var(--blue);font-size:13px}.quote-form textarea{resize:vertical}.full{grid-column:1/-1}.map iframe{display:block;width:100%;height:380px;border:0;filter:grayscale(1) contrast(.9)}.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}@keyframes scale{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes scroll{0%,100%{transform:scaleY(.3);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:720px){.site-header{height:70px}.menu-button{display:flex;width:42px;height:42px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;align-items:center;color:inherit;cursor:pointer}.menu-button i{height:1.5px;width:22px;background:currentColor;transition:.25s}.menu-button[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header nav{position:absolute;top:70px;left:0;right:0;background:#fff;color:var(--ink);padding:25px;display:none;flex-direction:column;align-items:stretch;gap:20px;box-shadow:0 12px 22px #0001}.site-header nav.open{display:flex}.nav-book{text-align:center}.hero{min-height:650px}.hero-content{padding-top:35px}.hero .lead{font-size:14px}.section-heading{align-items:start;gap:20px;flex-direction:column}.service-grid,.benefits{grid-template-columns:1fr}.comparison-section,.booking,.contact{grid-template-columns:1fr;gap:45px}.comparison-copy{max-width:430px}.reviews .section-heading{flex-direction:row;align-items:end}.rating{font-size:14px}.service-list article,.story{grid-template-columns:1fr;padding:45px 0;gap:25px}.service-list article:nth-child(even) img{order:initial}.service-list img,.story img{height:300px}.quote-form{grid-template-columns:1fr;padding:22px}.contact-details p{grid-template-columns:82px 1fr}footer{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-direction:column;gap:10px}.page-hero{padding-top:100px}.masonry{columns:2 150px;column-gap:10px}.gallery-item{margin-bottom:10px}}
/* Review carousel: cards are fixed-width so they cannot collapse into each other. */
.marquee{width:100%;overflow:hidden;padding:5px 0}
.marquee-track{display:flex;flex-wrap:nowrap;gap:18px;width:max-content;will-change:transform}
.marquee-track article{flex:0 0 345px;width:345px;background:#fff}
@media(max-width:720px){.marquee-track article{flex-basis:80vw;width:80vw}}

/* Local before-and-after media */
.before{z-index:1}
.comparison>img,.before img,.before video{width:100%;height:100%;object-fit:cover}
.before video{display:block;max-width:none;width:100%;aspect-ratio:1.44}
.comparison input{z-index:2}.compare-label{z-index:3}

/* Aligned testimonial cards */
.marquee-track article{min-height:230px;padding:24px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}
.review-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:17px;border-bottom:1px solid var(--line)}
.review-meta div{display:grid;gap:2px;min-width:0}
.review-meta b{font-size:13px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-meta span{font:10px 'DM Mono',monospace;letter-spacing:.2px;color:var(--muted)}
.review-meta i{flex:0 0 auto;font-style:normal;color:#f3ad17;font-size:12px;letter-spacing:1px}
.marquee-track article>p{margin:18px 0 0;font-size:15px;line-height:1.62;color:var(--ink)}
@media(max-width:720px){.marquee-track article{min-height:245px}.review-meta b{font-size:12px}.review-meta i{font-size:10px}}

/* Logo mark replacing text-based TB badge */
.brand{display:flex;align-items:center;gap:10px}
.logo-mark{height:52px;width:auto;display:block;flex:0 0 auto}
.footer-brand .logo-mark{height:46px}
@media(max-width:720px){.logo-mark{height:40px}}

/* Featured photo slider (gallery page) */
.featured{padding-bottom:2.5rem}
.featured.mazda-featured{padding-top:0}
.featured .section-heading{align-items:end}
.feature-note{max-width:280px;color:var(--muted);font-size:13px;margin:0}
.feature-slider{position:relative;border-radius:8px;overflow:hidden;background:#0e1116;max-width:460px;margin:0 auto}
.feature-slider-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.feature-slider-track::-webkit-scrollbar{display:none}
.feature-slider-track figure{flex:0 0 100%;scroll-snap-align:start;margin:0;position:relative;aspect-ratio:1/1}
.feature-slider-track img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.feature-slider-track figcaption{position:absolute;bottom:16px;left:18px;color:#fff;font:10px 'DM Mono',monospace;letter-spacing:1.5px;text-transform:uppercase;background:#121722b3;padding:6px 10px;border-radius:3px}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #0004;opacity:.92}
.slider-btn:hover{opacity:1}
.slider-btn.prev{left:16px}
.slider-btn.next{right:16px}
.slider-dots{position:absolute;bottom:16px;right:18px;display:flex;gap:7px}
.slider-dots button{width:7px;height:7px;padding:0;border-radius:50%;border:0;background:#ffffff70;cursor:pointer}
.slider-dots button.active{background:#fff}
@media(max-width:720px){.feature-slider{max-width:100%}.slider-btn{width:36px;height:36px;font-size:19px}}
