:root{
  --bg:#111312;
  --bg-soft:#181b19;
  --panel:#1e211f;
  --panel-2:#242725;
  --ink:#f3f1ec;
  --muted:#a6aba7;
  --line:rgba(243,241,236,.14);
  --line-strong:rgba(243,241,236,.24);
  --accent:#e6532f;
  --accent-2:#4e554a;
  --warm:#f3f1ec;
  --dark:#101211;
  --max:1180px;
  --radius:22px;
  --shadow:0 20px 70px rgba(0,0,0,.28);
  --ease:cubic-bezier(.22,.8,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;letter-spacing:-.01em}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{display:block;max-width:100%}
::selection{background:var(--accent);color:#fff}
.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:999;background:#fff;color:#111;padding:10px 14px;border-radius:8px}.skip-link:focus{top:16px}
.eyebrow{margin:0 0 14px;color:#c5c8c5;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.display{font-size:clamp(3.2rem,8vw,7.5rem);line-height:.9;letter-spacing:-.065em;font-weight:700;margin:0;max-width:10ch}
.display em{font-family:Georgia,"Times New Roman",serif;font-weight:400}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.98;letter-spacing:-.05em;margin-bottom:20px}
h3{font-size:1.2rem;letter-spacing:-.025em}
.lead{font-size:clamp(1.05rem,1.7vw,1.3rem);color:#c8cbc8;max-width:58ch}
.small{font-size:.88rem;color:var(--muted)}
.section{padding:110px 0;border-top:1px solid var(--line)}
.section--soft{background:var(--bg-soft)}
.section--warm{background:var(--warm);color:#141615}
.section--warm .eyebrow,.section--warm .small{color:#6e746f}
.section-heading{display:grid;grid-template-columns:minmax(180px,.65fr) 1.75fr;gap:40px;align-items:start;margin-bottom:58px}
.section-heading p:last-child{max-width:62ch;color:var(--muted)}
.section--warm .section-heading p:last-child{color:#666d68}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(17,19,18,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;flex-direction:column;line-height:.88;font-weight:800;letter-spacing:-.035em;font-size:1.05rem}
.brand small{font-size:.56rem;letter-spacing:.16em;color:#aeb2ae;margin-top:4px}
.desktop-nav{display:flex;align-items:center;gap:28px;font-size:.9rem;color:#c5c8c5}
.desktop-nav a{position:relative}.desktop-nav a::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:12px}
.button,.button-outline,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 18px;border-radius:999px;transition:transform .25s var(--ease),background .25s ease,color .25s ease,border-color .25s ease;cursor:pointer}
.button{background:var(--ink);color:#121412;border:1px solid var(--ink);font-weight:700}
.button:hover{transform:translateY(-2px);background:#fff}
.button--accent{background:var(--accent);border-color:var(--accent);color:#fff}
.button--dark{background:#151716;color:#fff;border-color:#151716}
.button-outline{border:1px solid var(--line-strong);color:var(--ink);background:transparent}
.button-outline:hover{border-color:#fff;transform:translateY(-2px)}
.text-link{padding:0;min-height:auto;border-radius:0;border-bottom:1px solid rgba(255,255,255,.28)}
.mobile-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:10px 14px}
.mobile-menu{display:none}

/* Hero */
.hero{min-height:calc(100svh - 76px);display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding:52px 0 40px}
.hero-copy{padding-right:20px}.hero-copy .lead{margin:28px 0 28px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-visual{position:relative;min-height:620px;border-radius:30px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,#202421 0%,#121412 52%,#050606 100%);box-shadow:var(--shadow);isolation:isolate}
.hero-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,65%) var(--my,35%),rgba(255,255,255,.18),transparent 22%),linear-gradient(120deg,transparent 24%,rgba(255,255,255,.06) 35%,transparent 46%);mix-blend-mode:screen;transition:opacity .25s ease}
.hero-visual::after{content:"";position:absolute;width:145%;height:130px;left:-25%;top:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:rotate(-18deg);filter:blur(13px);opacity:.42}
.hero-car-form{position:absolute;right:-12%;bottom:8%;width:85%;height:45%;border-radius:48% 12% 18% 12%/64% 22% 20% 20%;background:linear-gradient(180deg,#090a09 0%,#252926 46%,#0c0e0d 100%);box-shadow:inset 0 3px 0 rgba(255,255,255,.16),0 60px 80px rgba(0,0,0,.48)}
.hero-car-form::before{content:"";position:absolute;left:9%;top:-42%;width:54%;height:55%;border-radius:50% 50% 6% 6%/80% 80% 8% 8%;background:linear-gradient(180deg,#161917,#070807);border-top:1px solid rgba(255,255,255,.16)}
.hero-car-form::after{content:"";position:absolute;left:12%;right:12%;top:15%;height:7px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),rgba(230,83,47,.85),transparent);filter:blur(1px)}
.hero-stamp{position:absolute;left:24px;bottom:24px;z-index:3;border:1px solid var(--line-strong);background:rgba(10,12,11,.55);backdrop-filter:blur(10px);padding:14px 16px;border-radius:14px;color:#d3d6d3;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase}
.hero-meta{margin-top:32px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-meta div{padding:18px 0}.hero-meta div+div{border-left:1px solid var(--line);padding-left:18px}.hero-meta strong{display:block;font-size:.85rem}.hero-meta span{font-size:.76rem;color:var(--muted)}

/* Placeholder media */
.media-placeholder{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(145deg,#2a2e2b,#151715 65%,#0f1110);min-height:340px;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.media-placeholder::before{content:"";position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.11) 49%,transparent 58%);transform:translateX(-35%);transition:transform .8s var(--ease)}
.media-placeholder:hover::before{transform:translateX(35%)}
.media-placeholder::after{content:attr(data-label);position:absolute;left:18px;bottom:16px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(0,0,0,.3);color:#c4c7c4;font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;backdrop-filter:blur(8px)}
.media-placeholder--light{background:linear-gradient(145deg,#deddd7,#b6bbb7)}.media-placeholder--light::after{color:#1b1d1c;background:rgba(255,255,255,.55);border-color:rgba(0,0,0,.12)}

/* Intro */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.intro-copy p{color:var(--muted);max-width:60ch}.intro-copy .lead{color:#e0e2df}

/* Services */
.services-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:38px;align-items:stretch}.service-stage{min-height:610px}.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:1fr auto;gap:24px;padding:25px 4px;border-bottom:1px solid var(--line);transition:opacity .28s ease,transform .28s var(--ease),padding-left .28s var(--ease);cursor:pointer}
.service-list:hover .service-row{opacity:.38}.service-list .service-row:hover,.service-row.is-active{opacity:1;transform:translateX(8px);padding-left:8px}.service-row h3{margin:0 0 7px}.service-row p{margin:0;color:var(--muted);font-size:.9rem;max-width:48ch}.service-row span{color:#c7cac7;font-size:.78rem;white-space:nowrap}
.service-stage-copy{position:absolute;inset:auto 24px 24px 24px;z-index:2;background:rgba(12,14,13,.65);border:1px solid var(--line);padding:18px;border-radius:16px;backdrop-filter:blur(12px)}.service-stage{position:relative}.service-stage-copy strong{display:block;margin-bottom:4px}.service-stage-copy span{color:var(--muted);font-size:.82rem}

/* Before after */
.correction{background:#0a0c0b}.ba-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:44px;align-items:center}.ba-copy .lead{max-width:38ch}.ba-slider{position:relative;min-height:520px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#151816;--pos:50%}
.ba-base,.ba-after{position:absolute;inset:0}.ba-base{background:repeating-radial-gradient(ellipse at 55% 42%,transparent 0 22px,rgba(255,255,255,.06) 23px 24px),linear-gradient(145deg,#070807,#252a27 56%,#090a09)}
.ba-base::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.18) 46%,transparent 56%)}
.ba-after{clip-path:inset(0 0 0 var(--pos));background:linear-gradient(145deg,#090a09,#2d322f 56%,#080909)}.ba-after::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.5) 46%,transparent 58%);filter:blur(1px)}
.ba-divider{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.ba-knob{position:absolute;left:var(--pos);top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-weight:800;pointer-events:none;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.ba-label{position:absolute;top:18px;padding:8px 10px;border-radius:999px;background:rgba(0,0,0,.42);font-size:.72rem;text-transform:uppercase;letter-spacing:.11em}.ba-label.before{left:18px}.ba-label.after{right:18px}

/* Principles */
.principles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principle{padding:30px 24px;min-height:250px;transition:opacity .25s ease,background .25s ease}.principle+.principle{border-left:1px solid var(--line)}.principles:hover .principle{opacity:.36}.principles .principle:hover{opacity:1;background:rgba(230,83,47,.05)}.principle::before{content:"";display:block;width:36px;height:2px;background:var(--accent);margin-bottom:54px;transform:scaleX(.35);transform-origin:left;transition:transform .25s ease}.principle:hover::before{transform:scaleX(1)}.principle p{color:var(--muted);font-size:.92rem}

/* Packages */
.package-list{border-top:1px solid rgba(20,22,21,.16)}.package-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:28px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(20,22,21,.16);transition:padding .3s var(--ease),background .3s ease}.package-row:hover{padding-left:18px;padding-right:18px;background:rgba(78,85,74,.06)}.package-row strong{font-size:1.4rem}.package-row p{margin:0;color:#69706b}.package-row .price{text-align:right;font-weight:700}.package-extra{grid-column:2/4;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s var(--ease),opacity .25s ease,padding-top .3s ease}.package-row:hover .package-extra{max-height:120px;opacity:1;padding-top:8px}.package-extra span{font-size:.78rem;color:#5f6661}.package-extra b{display:block;color:#222622;margin-top:3px}

/* Work */
.work-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.work-card{position:relative;overflow:hidden;border-radius:24px}.work-card:first-child{grid-row:span 2}.work-card .media-placeholder{height:100%;min-height:320px}.work-card:first-child .media-placeholder{min-height:680px}.work-overlay{position:absolute;inset:auto 18px 18px 18px;display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px;background:rgba(10,12,11,.68);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(12px);transform:translateY(6px);transition:transform .25s var(--ease)}.work-card:hover .work-overlay{transform:translateY(0)}.work-overlay p{margin:0;color:#b8bcb8;font-size:.83rem}.work-overlay strong{display:block;margin-bottom:3px}.work-overlay span{font-size:.78rem;color:#fff;white-space:nowrap}

/* Process */
.process-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-item{padding:28px 20px;min-height:240px}.process-item+.process-item{border-left:1px solid var(--line)}.process-item h3{margin-bottom:56px}.process-item p{color:var(--muted);font-size:.9rem}.process-strip:hover .process-item{opacity:.4}.process-strip .process-item:hover{opacity:1;background:rgba(255,255,255,.02)}

/* CTA */
.final-cta{position:relative;padding:130px 0;overflow:hidden;background:#090b0a}.final-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,70%) var(--my,35%),rgba(255,255,255,.13),transparent 22%),linear-gradient(120deg,transparent 20%,rgba(255,255,255,.035) 50%,transparent 72%)}.final-cta .shell{position:relative}.final-cta h2{max-width:10ch}.final-cta .lead{max-width:48ch}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

/* Page hero */
.page-hero{padding:90px 0 72px;border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:end}.page-hero h1{font-size:clamp(3.5rem,8vw,7rem);line-height:.9;letter-spacing:-.065em;margin:0}.page-hero p{color:var(--muted);font-size:1.05rem}

/* Services page */
.service-editorial{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;padding:70px 0;border-bottom:1px solid var(--line);align-items:center}.service-editorial:nth-child(even){grid-template-columns:.9fr 1.1fr}.service-editorial:nth-child(even) .service-editorial-copy{order:-1}.service-editorial .media-placeholder{min-height:480px}.service-meta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.tag{display:inline-flex;padding:7px 10px;border-radius:999px;border:1px solid var(--line);font-size:.75rem;color:#c3c6c3}.service-editorial-copy p{color:var(--muted)}

/* Service detail */
.service-detail-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:calc(100svh - 76px);border-bottom:1px solid var(--line)}.service-detail-copy{padding:70px max(30px,calc((100vw - var(--max))/2)) 60px max(20px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center}.service-detail-copy h1{font-size:clamp(4rem,7vw,7rem);line-height:.9;letter-spacing:-.06em}.service-detail-copy p{color:var(--muted);max-width:46ch}.service-detail-media{border-left:1px solid var(--line);min-height:600px;border-radius:0}.detail-layout{display:grid;grid-template-columns:280px 1fr;gap:70px}.detail-sticky{position:sticky;top:110px;align-self:start;border:1px solid var(--line);border-radius:18px;padding:22px}.detail-sticky strong{display:block;font-size:1.4rem;margin-bottom:6px}.detail-sticky p{color:var(--muted);font-size:.86rem}.detail-content>section{padding-bottom:74px;margin-bottom:74px;border-bottom:1px solid var(--line)}.detail-content>section:last-child{border-bottom:0}.detail-content p,.detail-content li{color:var(--muted)}.detail-content ul{padding-left:18px}.detail-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.detail-step{border:1px solid var(--line);border-radius:14px;padding:18px;min-height:150px}.detail-step p{font-size:.86rem;margin-bottom:0}

/* Gallery page */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}.filter-btn{background:transparent;color:#c7cac7;border:1px solid var(--line);padding:9px 13px;border-radius:999px;cursor:pointer}.filter-btn.is-active{background:#fff;color:#111;border-color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.gallery-card{grid-column:span 6}.gallery-card:nth-child(3n){grid-column:span 4}.gallery-card:nth-child(4n){grid-column:span 8}.gallery-card[hidden]{display:none}.gallery-card .media-placeholder{min-height:420px}.gallery-card h3{margin:14px 0 4px}.gallery-card p{color:var(--muted);font-size:.85rem}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.about-grid .media-placeholder{min-height:650px;position:sticky;top:110px}.values{border-top:1px solid var(--line)}.value{padding:24px 0;border-bottom:1px solid var(--line)}.value p{color:var(--muted);margin-bottom:0}

/* Booking */
.booking-shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:start}.booking-aside{position:sticky;top:110px}.booking-progress{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 36px}.booking-progress span{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#757b76;border-bottom:1px solid rgba(20,22,21,.16);padding-bottom:8px}.booking-progress span.is-active{color:#111;border-color:var(--accent)}.booking-card{background:#fff;color:#151715;border-radius:24px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.1)}.form-step{display:none}.form-step.is-active{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;color:#545b56}.field input,.field select,.field textarea{width:100%;border:1px solid #d5d8d5;background:#fafaf8;color:#161817;padding:13px 14px;border-radius:12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7a827d;box-shadow:0 0 0 3px rgba(78,85,74,.08)}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice label{display:block;border:1px solid #d8dbd8;border-radius:14px;padding:16px;cursor:pointer;transition:border .2s ease,background .2s ease}.choice input:checked+label{border-color:#1b1d1c;background:#f1f2ef}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.form-actions .button-outline{color:#1b1d1c;border-color:#ccd0cc}.form-success{display:none}.form-success.is-active{display:block}

/* Footer */
.site-footer{padding:54px 0 28px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-nav{display:flex;flex-direction:column;gap:8px;color:#aeb2ae;font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:.76rem;color:#7f8580}.disclosure{max-width:72ch}

/* Reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);width:0;z-index:300}

@media (max-width:980px){
  .desktop-nav{display:none}.mobile-toggle{display:block}.mobile-menu{position:fixed;inset:76px 0 0;background:#101211;padding:28px 20px;z-index:95;display:none}.mobile-menu.is-open{display:flex;flex-direction:column;gap:18px}.mobile-menu a{font-size:1.5rem;padding:10px 0;border-bottom:1px solid var(--line)}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.hero-visual{min-height:500px}.hero-meta{margin-top:20px}
  .section-heading,.intro-grid,.services-grid,.ba-wrap,.page-hero-grid,.service-editorial,.service-detail-hero,.detail-layout,.about-grid,.booking-shell{grid-template-columns:1fr}
  .service-editorial:nth-child(even){grid-template-columns:1fr}.service-editorial:nth-child(even) .service-editorial-copy{order:0}
  .principles{grid-template-columns:1fr 1fr}.principle:nth-child(3){border-left:0}.principle:nth-child(n+3){border-top:1px solid var(--line)}
  .process-strip{grid-template-columns:1fr 1fr}.process-item:nth-child(odd){border-left:0}.process-item:nth-child(n+3){border-top:1px solid var(--line)}
  .work-grid{grid-template-columns:1fr}.work-card:first-child{grid-row:auto}.work-card:first-child .media-placeholder{min-height:520px}
  .service-detail-media{border-left:0;border-top:1px solid var(--line)}.detail-sticky,.booking-aside,.about-grid .media-placeholder{position:static}.detail-steps{grid-template-columns:1fr 1fr}
  .gallery-card,.gallery-card:nth-child(3n),.gallery-card:nth-child(4n){grid-column:span 6}
}
@media (max-width:680px){
  .shell{width:min(calc(100% - 28px),var(--max))}.section{padding:82px 0}.header-inner{height:68px}.mobile-menu{inset:68px 0 0}.header-actions>.button{display:none}
  .display{font-size:clamp(3.15rem,15vw,5rem)}.hero{padding-top:46px}.hero-visual{min-height:390px;border-radius:22px}.hero-meta{grid-template-columns:1fr}.hero-meta div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .section-heading{gap:18px;margin-bottom:40px}.intro-grid,.services-grid{gap:28px}.service-stage{min-height:410px}.service-row{grid-template-columns:1fr}.service-row span{white-space:normal}.ba-slider{min-height:380px}.principles,.process-strip{grid-template-columns:1fr}.principle+.principle,.process-item+.process-item{border-left:0;border-top:1px solid var(--line)}
  .package-row{grid-template-columns:1fr auto;gap:10px}.package-row p{grid-column:1/-1}.package-extra{grid-column:1/-1;grid-template-columns:1fr 1fr}.work-card:first-child .media-placeholder{min-height:420px}.work-overlay{align-items:start;flex-direction:column}
  .service-editorial .media-placeholder{min-height:340px}.service-detail-copy{padding:54px 18px}.service-detail-media{min-height:420px}.detail-steps{grid-template-columns:1fr}.gallery-card,.gallery-card:nth-child(3n),.gallery-card:nth-child(4n){grid-column:1/-1}.gallery-card .media-placeholder{min-height:320px}
  .form-grid,.choice-grid{grid-template-columns:1fr}.booking-card{padding:24px 18px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.final-cta{padding:95px 0}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* =========================================================
   V2 polish — accessibility, touch behavior, booking feedback
   ========================================================= */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.button:focus-visible,.button-outline:focus-visible,.filter-btn:focus-visible,.mobile-toggle:focus-visible{outline-offset:3px}

.mobile-toggle{min-width:72px}
.mobile-menu a[aria-current="page"]{color:#fff}
.mobile-menu a[aria-current="page"]::after{content:"Current";float:right;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin-top:.55rem}

.service-row[role="button"]:focus-visible{outline:none;box-shadow:inset 3px 0 0 var(--accent);padding-left:12px}
.filter-btn{transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s var(--ease)}
.filter-btn:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.gallery-card[hidden]{display:none!important}

.booking-progress span{position:relative;transition:color .2s ease,border-color .2s ease}
.booking-progress span.is-complete{color:#3f4741;border-color:#8f9891}
.booking-progress span.is-complete::after{content:"✓";margin-left:6px;color:#536057}
.form-step.is-active{animation:offsetStepIn .34s var(--ease) both}
@keyframes offsetStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#b93825;box-shadow:0 0 0 3px rgba(185,56,37,.08)}
.choice-grid.is-invalid .choice label{border-color:#cf7668}
.form-inline-error{margin:18px 0 0;color:#9e3020;font-size:.9rem;font-weight:650}
.form-success:focus{outline:none}
.form-success.is-active{animation:offsetStepIn .4s var(--ease) both}

@media (hover:none){
  .service-list:hover .service-row{opacity:1}
  .service-row{transform:none!important;padding-left:4px!important}
  .button:hover,.button-outline:hover,.filter-btn:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .form-step.is-active,.form-success.is-active{animation:none}
}


/* =========================================================
   V3 final photography integration
   ========================================================= */
.media-photo{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);min-height:340px;background:#0d0f0e;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.media-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .8s var(--ease),filter .5s ease}
.media-photo:hover>img{transform:scale(1.018)}
.media-photo--light{border-color:rgba(20,22,21,.12);background:#d8d9d5}
.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;z-index:0;transform:scale(1.01);transition:transform 1.1s var(--ease),filter .5s ease}
.hero-visual:hover>img{transform:scale(1.025)}
.hero-visual::before{z-index:1;pointer-events:none;background:radial-gradient(circle at var(--mx,65%) var(--my,35%),rgba(255,255,255,.16),transparent 23%),linear-gradient(180deg,transparent 52%,rgba(0,0,0,.24) 100%)}
.hero-visual::after{z-index:2;pointer-events:none;opacity:.18}
.service-stage-image{z-index:0}
.service-stage-copy{z-index:3}
.service-stage::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 52%,rgba(4,5,5,.68));pointer-events:none}
.ba-base img,.ba-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ba-base,.ba-after{background:#090a09}
.ba-base::after,.ba-after::after{display:none}
.detail-photo{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;min-height:460px;margin-top:28px;background:#0d0f0e}
.detail-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.detail-photo--wide{aspect-ratio:16/10;min-height:0}
.gallery-card .media-photo{min-height:420px}
.gallery-card .media-photo img{object-fit:cover}
.about-grid .media-photo{min-height:650px;position:sticky;top:110px}
.booking-aside .media-photo{min-height:330px;margin-top:34px}
.final-cta--photo{position:relative;isolation:isolate;background:linear-gradient(90deg,rgba(7,8,8,.96) 0%,rgba(7,8,8,.85) 46%,rgba(7,8,8,.5) 100%),url("assets/images/vehicle-handover-finished.webp") center 58%/cover no-repeat}
.final-cta--photo::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--mx,72%) var(--my,38%),rgba(255,255,255,.1),transparent 24%)}
@media (max-width:980px){.about-grid .media-photo{position:static}.hero-visual>img{object-position:center}.final-cta--photo{background-position:62% center}}
@media (max-width:680px){.gallery-card .media-photo{min-height:320px}.detail-photo{min-height:330px}.final-cta--photo{background-position:68% center}.media-photo:hover>img,.hero-visual:hover>img{transform:none}}
@media (prefers-reduced-motion:reduce){.media-photo>img,.hero-visual>img{transition:none!important;transform:none!important}}

.service-stage-image{transition:opacity .18s ease,transform .8s var(--ease),filter .5s ease}
