.hero{isolation:isolate;min-height:100svh;align-items:center;background:#111!important}
.hero:before,.hero:after{display:none}
.hero-image,.hero-shade{position:absolute;inset:0}
.hero-image{z-index:-2}
.hero-shade{z-index:-1;background:linear-gradient(90deg,#080807e8 0%,#090908a8 36%,#09090828 78%),linear-gradient(0deg,#080807b3,#08080712 56%,#08080752)}
.hero-copy{max-width:760px;padding-top:110px}
.hero h1{font-size:clamp(3.4rem,8vw,7rem);text-wrap:balance}
.hero h1 span{color:var(--paper)}
.hero-copy p:first-of-type{font-size:clamp(1rem,1.4vw,1.2rem);color:#e4e0d6}
.hero-copy p:nth-of-type(2){display:none}
.hero-copy .actions{margin-top:28px}
.hero-caption{position:absolute;right:34px;bottom:27px;font-size:.64rem;letter-spacing:.2em;color:#e7e2d5b8}
.photo-slot{position:relative;isolation:isolate;overflow:hidden;margin:0;min-width:0;background:radial-gradient(ellipse at 72% 38%,#4b483f 0,#282720 28%,#1b1b19 66%,#121211 100%);color:var(--paper)}
.photo-slot:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(136deg,transparent 0 37%,#c1ae7820 37.1%,transparent 37.4%),linear-gradient(26deg,transparent 0 63%,#ffffff10 63.1%,transparent 63.35%),radial-gradient(ellipse at 76% 45%,transparent 0 19%,#d3c18d17 19.1% 19.3%,transparent 19.5% 27%,#d3c18d12 27.1% 27.3%,transparent 27.5%)}
.photo-slot:after{content:"";position:absolute;left:0;right:0;bottom:0;height:52%;background:linear-gradient(0deg,#10100ff0,transparent);z-index:0;pointer-events:none}
.photo-slot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .3s ease}
.photo-slot.is-loaded img{opacity:1}
.photo-slot.is-loaded .photo-placeholder{display:none}
.photo-placeholder{position:absolute;z-index:1;inset:auto 0 0;padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.placeholder-kicker{font-size:.61rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.photo-placeholder strong{font:500 clamp(1.15rem,2vw,1.75rem) Manrope,Arial,sans-serif;letter-spacing:-.025em}
.photo-placeholder code{font:500 .65rem 'DM Sans',Arial,sans-serif;color:#e4e0d5a8;letter-spacing:.08em}
.photo-index{position:absolute;right:18px;top:18px;z-index:2;font-size:.56rem;letter-spacing:.19em;color:#e4e0d5aa}
.hero-photo{width:100%;height:100%}
.hero-photo .photo-placeholder{left:auto;right:5%;bottom:10%;width:min(390px,42%);padding:24px;border:1px solid #d6c9a229;background:#151512aa;backdrop-filter:blur(4px)}
.hero-photo .photo-placeholder:before{content:"";width:48px;height:1px;background:var(--gold);margin-bottom:10px}
.hero-photo:after{height:62%}
.gallery-section{overflow:hidden}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:34px}
.section-heading h2{margin:11px 0 0}
.section-heading>p{max-width:410px;margin:0;color:var(--muted)}
.text-link{font-size:.67rem;letter-spacing:.14em;color:var(--gold);white-space:nowrap}
.tesla-gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:260px 260px;gap:12px}
.tesla-gallery .photo-slot{height:100%;min-height:240px}
.tesla-gallery .gallery-main{grid-row:span 2}
.comfort-strip{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:32px;color:#d9d5ca;font:500 .77rem Manrope,Arial,sans-serif;letter-spacing:.04em}
.comfort-strip i{width:4px;height:4px;border-radius:50%;background:var(--gold)}
.service-band{background:#1a1a18;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-band-inner{min-height:300px;display:flex;align-items:center;justify-content:space-between;gap:32px;background:radial-gradient(ellipse at 82% 50%,#36342c,transparent 49%)}
.service-band h2{margin:12px 0 0}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.service-card{background:#191917;border:1px solid var(--line);overflow:hidden;transition:border-color .25s,transform .25s}
.service-card:hover{border-color:#b8a47a88;transform:translateY(-3px)}
.service-photo{height:230px;overflow:hidden}
.service-photo .photo-slot{height:100%}
.service-photo .photo-placeholder{padding:18px}
.service-photo .photo-placeholder strong{font-size:1rem}
.service-copy{padding:23px 24px 25px}
.service-copy .eyebrow{font-size:.57rem}
.service-copy h3{margin:12px 0 6px;font-size:1.02rem}
.service-copy p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}
.pro-feature{min-height:640px;display:grid;grid-template-columns:1.15fr .85fr;background:#171715}
.pro-image{min-height:100%;overflow:hidden}
.pro-image .photo-slot{height:100%;min-height:640px}
.pro-copy{align-self:center;padding:76px clamp(35px,7vw,105px)}
.pro-copy h2{margin:17px 0 22px;font-size:clamp(2.3rem,4.3vw,4.4rem)}
.pro-copy p{margin-bottom:28px;color:#d2cfc7}
.hospitality{position:relative;margin-top:75px;padding:55px 6%;border:1px solid var(--line);background:radial-gradient(ellipse at 91% 48%,#39362b,#20201d 54%,#181816 78%)}
.hospitality h2{max-width:650px;margin:15px 0}
.hospitality p{margin:0;color:var(--muted)}
.van-feature{margin-top:105px;padding:18px;background:#181816;border:1px solid var(--line);display:grid;grid-template-columns:1.1fr .9fr;min-height:520px;gap:24px}
.van-photo,.van-photo .photo-slot{height:100%;min-height:480px}
.van-copy{padding:28px;align-self:center}
.van-copy h2{margin:12px 0}
.van-copy>p:first-of-type{color:var(--gold);font-size:1.05rem}
.availability{display:inline-block;margin:8px 0 22px;padding:7px 11px;border:1px solid #b8a47a66;color:#d8caa8;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}
.van-interior,.van-interior .photo-slot{height:150px}
.van-interior .photo-placeholder{padding:12px}
.van-interior .photo-placeholder strong{font-size:.92rem}
@media(max-width:850px){.tesla-gallery{grid-template-rows:210px 210px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-feature{min-height:550px}.pro-image .photo-slot{min-height:550px}.pro-copy{padding:50px 34px}.van-feature{min-height:430px}.van-photo,.van-photo .photo-slot{min-height:390px}}
@media(max-width:700px){.hero{min-height:92svh;align-items:flex-end;padding:0 0 105px}.hero-copy{padding:0 0 10px}.hero h1{font-size:clamp(2rem,7.8vw,3.1rem);line-height:.98;letter-spacing:-.055em}.hero h1 span{color:#eeeae0}.hero-shade{background:linear-gradient(0deg,#080807ed 0%,#09090891 47%,#09090823 100%)}.hero-photo .photo-placeholder{left:auto;right:16px;top:98px;bottom:auto;width:auto;max-width:190px;padding:9px 11px;gap:2px}.hero-photo .photo-placeholder strong{font-size:.76rem}.hero-photo .photo-placeholder code{font-size:.5rem}.hero-caption{right:18px;bottom:90px;font-size:.55rem}.hero-copy>.eyebrow{display:none}.hero-photo .photo-placeholder{display:none}.hero-copy .location{margin-top:18px}.hero-copy .btn{min-width:160px}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:23px}.section-heading>p{font-size:.93rem}.tesla-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-right:-19px;padding-right:19px;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#b8a47a66 transparent}.tesla-gallery .photo-slot,.tesla-gallery .gallery-main{flex:0 0 84vw;height:64vw;min-height:245px;max-height:390px;grid-row:auto;scroll-snap-align:start}.photo-placeholder{padding:18px}.comfort-strip{justify-content:flex-start;overflow:hidden;gap:14px;font-size:.68rem;white-space:nowrap}.service-grid{grid-template-columns:1fr;gap:12px}.service-card{display:grid;grid-template-columns:.95fr 1.05fr;min-height:175px}.service-photo{height:100%;min-height:175px}.service-copy{align-self:center;padding:17px}.service-copy h3{font-size:.91rem}.service-copy p{font-size:.78rem}.pro-feature{grid-template-columns:1fr}.pro-image .photo-slot{min-height:66vw;height:66vw}.pro-copy{padding:44px 22px 52px}.hospitality{margin-top:45px;padding:35px 24px}.van-feature{grid-template-columns:1fr;margin-top:65px;padding:10px;gap:0}.van-photo,.van-photo .photo-slot{min-height:67vw;height:67vw}.van-copy{padding:25px 12px 16px}.van-interior,.van-interior .photo-slot{height:135px}.service-band-inner{min-height:250px;align-items:flex-start;justify-content:center;flex-direction:column;padding-top:35px;padding-bottom:35px}.hero-copy p:first-of-type{max-width:310px}.hero-copy .actions{margin-top:20px}}

/* Subtle finish: retain the current pages, layout and interaction patterns. */
:root{--gold:#b6a174;--line:#ffffff24}
body{font-family:"Avenir Next",Avenir,"DM Sans",Arial,sans-serif;letter-spacing:.005em;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand{font-family:"Avenir Next",Avenir,Manrope,Arial,sans-serif}
h1,h2{letter-spacing:-.045em}
.brand{font-size:1.52rem;letter-spacing:.115em;font-weight:650;line-height:1.05}
.brand small{margin-top:3px;font-size:.53rem;letter-spacing:.28em;color:#c4b28c}
.site-header{transition:background .3s ease,border-color .3s ease}
.site-header.solid{background:#10100ff2;border-bottom-color:#b6a17438;box-shadow:0 8px 28px #0000001c}
.nav a:not(.btn){transition:color .2s ease}
.nav a:not(.btn):hover,.nav a[aria-current="page"]:not(.btn){color:#d2c19b}
.btn{position:relative;border-color:#b6a174b8;border-radius:2px;min-height:54px;padding-inline:27px;font-size:.69rem;letter-spacing:.16em;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}
.btn:hover{border-color:#d0bd91;transform:translateY(-1px)}
.btn.fill{background:#b6a174;color:#111110}
.btn.fill:hover{background:#c7b58e}
.hero-shade{background:linear-gradient(90deg,#080807ec 0%,#090908a8 39%,#09090820 82%),linear-gradient(0deg,#080807a8,#0808070a 58%,#08080744)}
.hero-copy{max-width:790px}
.hero h1{line-height:1.02;letter-spacing:-.052em}
.hero-copy>.eyebrow,.page-hero .eyebrow{letter-spacing:.2em}
.hero-copy .btn{min-width:174px}
.hero-caption{color:#f2f0e9a8}
.section{padding-block:112px}
.section-heading{margin-bottom:38px}
.section-heading h2{letter-spacing:-.04em}
.tesla-gallery{gap:14px}
.photo-slot{background-color:#1b1b19}
.photo-slot img{transition:transform .8s cubic-bezier(.2,.65,.3,1),filter .5s ease;filter:saturate(.88)}
.photo-slot:hover img{transform:scale(1.025);filter:saturate(1)}
.service-card,.card,.contact-box,.feature,.van-feature{border-color:#ffffff24;transition:border-color .25s ease,background-color .25s ease,transform .25s ease}
.service-card:hover,.card:hover{border-color:#b6a17475}
.service-copy{padding:25px 25px 27px}
.service-copy .eyebrow{letter-spacing:.16em}
.pro-feature{background:#171715;border-color:#b6a17427}
.pro-copy p{line-height:1.75}
.hospitality{border-color:#b6a17435}
.van-feature{border-color:#b6a17435}
.field input,.field select,.field textarea{border-radius:2px;transition:border-color .2s ease,background-color .2s ease}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#ffffff45}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid #b6a174;outline-offset:2px;border-color:transparent}
.footer{border-top-color:#b6a17435}
.mobilebar{backdrop-filter:blur(14px);border-top-color:#b6a1743d}
.mobilebar .btn{min-height:50px}
@media(max-width:700px){
  .brand{font-size:1.38rem}
  .hero{min-height:90svh}
  .hero-copy{max-width:100%}
  .hero h1{font-size:clamp(2rem,8vw,3.15rem);line-height:1.02}
  .hero-copy .btn{min-height:51px}
  .section{padding-block:76px}
  .section-heading{gap:14px;margin-bottom:25px}
  .tesla-gallery{gap:11px}
  .service-copy{padding:16px 15px}
  .pro-copy{padding:42px 22px 48px}
  .van-feature{padding:11px}
  .field input,.field select{min-height:52px}
  .field textarea{min-height:128px}
  .mobilebar .btn{font-size:.66rem;letter-spacing:.12em}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Homepage-only content hierarchy */
.home-intro{padding:55px 0 58px;background:#181816;border-bottom:1px solid #b6a1742b}
.home-intro-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:55px}
.home-intro h2{margin:11px 0 0;font-size:clamp(1.45rem,2.5vw,2.25rem);line-height:1.22;letter-spacing:-.035em}
.home-intro-copy p{max-width:470px;margin:0 0 12px;color:#d8d5cd;font-size:.98rem;line-height:1.65}
.home-intro-copy strong{color:var(--paper);font-weight:600}
.home-vehicles{padding-top:86px}
.home-vehicle-grid{display:grid;grid-template-columns:1.08fr .96fr .96fr;gap:18px}
.home-vehicle-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;background:#191917;border:1px solid #ffffff24}
.home-vehicle-photo,.home-vehicle-photo .photo-slot{height:clamp(230px,23vw,310px)}
.home-vehicle-photo .photo-slot img{object-position:50% 50%}
.home-vehicle-photo .photo-placeholder{padding:24px}
.home-vehicle-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px 27px 28px}
.home-vehicle-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.home-vehicle-meta .eyebrow{font-size:.58rem;letter-spacing:.15em}
.home-vehicle-meta .availability{margin:0;padding:5px 8px;font-size:.55rem;letter-spacing:.07em}
.home-vehicle-copy h3{margin:17px 0 8px;font-size:1.27rem;letter-spacing:.035em}
.home-vehicle-copy p{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 19px;color:#c8c4ba;font-size:.88rem;line-height:1.55}
.home-vehicle-copy p i{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.home-van .home-vehicle-copy p{display:block}
.home-vehicle-copy .btn{min-height:47px;margin-top:auto}
.home-services{padding-top:82px;padding-bottom:84px;background:#171715}
.home-service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-service-list article{display:flex;gap:17px;align-items:flex-start;padding:22px 20px;border:1px solid #ffffff20;background:#1b1b19}
.home-service-list article>span{color:var(--gold);font:500 .72rem Manrope,Arial,sans-serif;letter-spacing:.12em}
.home-service-list h3{margin:0 0 6px;font-size:.83rem;line-height:1.35;letter-spacing:.035em}
.home-service-list p{margin:0;color:var(--muted);font-size:.82rem}
.home-fares{padding-top:82px;padding-bottom:83px}
.home-fare-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-fare-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 17px;border-right:1px solid var(--line);transition:background .2s ease}
.home-fare-list a:first-child{padding-left:0}
.home-fare-list a:last-child{border-right:0}
.home-fare-list a:hover{background:#ffffff08}
.home-fare-list span{font-size:.88rem;color:#ddd9d0}
.home-fare-list strong{white-space:nowrap;color:var(--gold);font:600 1.05rem Manrope,Arial,sans-serif}
.home-fares .note{margin:13px 0 0}
.home-contact{padding:61px 0;background:radial-gradient(ellipse at 86% 50%,#302e26 0,transparent 45%),#171715;border-block:1px solid #b6a17430}
.home-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.home-contact h2{margin:10px 0;font-size:clamp(1.65rem,3.5vw,2.8rem)}
.home-contact p{margin:0;color:var(--muted)}
.home-contact .actions{margin:0;flex-shrink:0}
.hybrid-feature{margin:78px 0 92px;padding-top:45px;border-top:1px solid #b6a17435}
.hybrid-feature>.btn{margin-top:25px}
.hybrid-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:245px;gap:12px}
.hybrid-gallery .photo-slot{height:100%}
.hybrid-gallery .photo-slot:first-child{grid-row:span 1}
.hybrid-feature .section-heading{margin-bottom:25px}
.hybrid-feature .section-heading h2{font-size:clamp(1.8rem,3.7vw,3rem)}
@media(max-width:850px){
  .home-intro-inner{gap:28px}
  .home-vehicle-grid{grid-template-columns:1fr 1fr}
  .home-vehicle-copy{padding:20px}
  .home-vehicle-meta{align-items:flex-start;flex-direction:column}
  .home-vehicle-photo,.home-vehicle-photo .photo-slot{height:34vw;min-height:230px;max-height:300px}
  .hybrid-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px}
  .hybrid-gallery .photo-slot:first-child{grid-row:span 2}
}
@media(max-width:700px){
  .home-intro{padding:37px 0 39px}
  .home-intro-inner{grid-template-columns:1fr;gap:13px}
  .home-intro h2{font-size:1.42rem}
  .home-intro-copy p{font-size:.91rem;line-height:1.55}
  .home-vehicles{padding-top:63px}
  .home-vehicle-grid{grid-template-columns:1fr;gap:13px}
  .home-vehicle-photo,.home-vehicle-photo .photo-slot{height:64vw;min-height:235px;max-height:340px}
  .hybrid-feature{margin:56px 0 70px;padding-top:32px}
  .hybrid-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-right:-19px;padding-right:19px;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#b8a47a66 transparent}
  .hybrid-gallery .photo-slot{flex:0 0 84vw;height:64vw;min-height:245px;max-height:390px;scroll-snap-align:start}
  .home-vehicle-copy{padding:18px 18px 20px}
  .home-vehicle-meta{align-items:center;flex-direction:row}
  .home-vehicle-copy h3{font-size:1.12rem}
  .home-vehicle-copy p{font-size:.82rem}
  .home-services,.home-fares{padding-block:62px}
  .home-service-list{grid-template-columns:1fr;gap:9px}
  .home-service-list article{padding:16px}
  .home-fare-list{grid-template-columns:1fr}
  .home-fare-list a,.home-fare-list a:first-child{padding:15px 4px;border-right:0;border-bottom:1px solid var(--line)}
  .home-fare-list a:last-child{border-bottom:0}
  .home-contact{padding:43px 0}
  .home-contact-inner{align-items:flex-start;flex-direction:column;gap:14px}
  .home-contact .actions{width:100%;flex-direction:row;max-width:none}
  .home-contact .actions .btn{flex:1;min-width:0;padding-inline:12px;font-size:.61rem}
}

/* The supplied Tesla photograph leaves clear space at the right for the hero copy. */
.hero-copy{width:min(52%,680px);margin-left:auto;margin-right:0}
.hero h1{font-size:clamp(2.25rem,4.8vw,5.5rem)}
.hero-shade{background:linear-gradient(270deg,#080807e8 0%,#090908b0 36%,#09090814 76%),linear-gradient(0deg,#08080765,#08080708 58%,#08080730)}
.hero-caption{left:34px;right:auto;bottom:26px}
.hero-image .hero-photo img{object-position:left center}
@media(max-width:700px){
  .hero-copy{width:100%;margin:0 auto}
  .hero h1{font-size:clamp(2rem,8vw,3.15rem)}
  .hero-shade{background:linear-gradient(0deg,#080807e8 0%,#08080795 34%,#08080708 72%)}
  .hero-image .hero-photo img{object-fit:contain;object-position:center 23%}
  .hero-image .hero-photo:after{display:none}
  .hero-caption{display:none}
}
.van-gallery-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.van-gallery-strip .photo-slot{height:145px}
.van-gallery-strip .photo-placeholder{padding:10px}
.van-gallery-strip .photo-placeholder strong{font-size:.82rem}
@media(max-width:700px){.van-gallery-strip{gap:8px}.van-gallery-strip .photo-slot{height:125px}}

/* Refined wordmark, preserving the existing AD&S identity. */
.brand{font-family:Georgia,"Times New Roman",serif;font-size:1.72rem;font-weight:600;letter-spacing:.13em;line-height:.95;color:#f3f0e9}
.brand .brand-amp{display:inline-block;padding:0 .015em;color:var(--gold);font-size:.82em;font-style:italic;letter-spacing:0}
.brand small{display:flex;align-items:center;gap:8px;margin-top:7px;font-family:"Avenir Next",Avenir,"DM Sans",Arial,sans-serif;font-size:.48rem;font-weight:500;letter-spacing:.23em;color:#c7b990}
.brand small::before{content:"";display:block;width:18px;height:1px;flex:0 0 18px;background:#b6a174a8}
@media(max-width:700px){.brand{font-size:1.55rem}.brand small{font-size:.46rem;letter-spacing:.2em}}

/* Refined site typography; the AD&S wordmark rules above stay untouched. */
body{font-family:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;letter-spacing:.008em}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em}

/* Contact and booking pages: focused panels with a calm champagne accent. */
.contact-page,.reservation-page{position:relative;background:radial-gradient(ellipse at 92% 10%,#29271f 0,transparent 36%),#111110}
.contact-page .wrap.intro{grid-template-columns:1fr .82fr;gap:clamp(28px,6vw,82px);align-items:stretch}
.contact-page .intro>div:first-child{position:relative;overflow:hidden;padding:clamp(28px,5vw,54px);background:linear-gradient(145deg,#22211d,#171715 74%);border:1px solid #b6a17445}
.contact-page .intro>div:first-child::before{content:"";position:absolute;top:0;left:clamp(28px,5vw,54px);width:54px;height:1px;background:var(--gold)}
.contact-page .intro h2,.reservation-page .intro h2{font-size:clamp(1.8rem,3.2vw,2.75rem);line-height:1.12}
.contact-page .contact-box{padding:0;border:0;background:transparent}
.contact-page .contact-box p{margin:18px 0 0;color:#d2cfc7;font-size:.96rem;line-height:1.7}
.contact-page .contact-box p:first-child{margin-top:25px}
.contact-page .contact-box a{transition:color .2s ease}
.contact-page .contact-box a:hover{color:#d3c197}
.contact-page .actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:12px;margin:0}
.contact-page .actions .btn{width:100%;min-height:60px;justify-content:space-between;padding-inline:22px}
.contact-page .actions .btn::after{content:"↗";font-size:1rem;color:var(--gold);transition:transform .2s ease}
.contact-page .actions .btn.fill::after{color:#171612}
.contact-page .actions .btn:hover::after{transform:translate(2px,-2px)}
.reservation-page .wrap.intro{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:clamp(28px,5vw,68px);align-items:start}
.reservation-page .intro>div:first-child{padding-top:18px}
.reservation-page .intro>div:first-child>p{max-width:390px;color:#c8c5bc;font-size:.98rem;line-height:1.75}
.reservation-page .contact-box{margin-top:30px;padding:18px 20px;background:#191917;border-color:#b6a17435}
.reservation-page .contact-box p{margin:0;color:#d1c4a5;font-size:.86rem}
.reservation-page .contact-box p+p{margin-top:5px;color:#aaa79e}
.reservation-page .contact-box a:hover{color:#f2f0e9}
.reservation-page .form{gap:15px 13px;padding:clamp(19px,3vw,34px);background:linear-gradient(145deg,#1b1b19,#151514);border:1px solid #ffffff24;box-shadow:0 18px 55px #00000024}
.reservation-page .field{min-width:0;gap:8px}
.reservation-page .field label{font-size:.72rem;letter-spacing:.035em;color:#d7d2c7}
.reservation-page .field input,.reservation-page .field select,.reservation-page .field textarea{background:#111110;border-color:#ffffff29;border-radius:2px}
.reservation-page .field input:hover,.reservation-page .field select:hover,.reservation-page .field textarea:hover{border-color:#b6a17480}
.reservation-page .form>button{grid-column:1/-1;width:100%;margin-top:3px}
.reservation-page .form-notice{padding-top:2px;font-size:.82rem}
@media(max-width:700px){
  .contact-page,.reservation-page{padding-top:52px;padding-bottom:58px}
  .contact-page .wrap.intro,.reservation-page .wrap.intro{grid-template-columns:1fr;gap:22px}
  .contact-page .intro>div:first-child{padding:28px 23px}
  .contact-page .intro>div:first-child::before{left:23px}
  .contact-page .actions{gap:9px}
  .contact-page .actions .btn{min-height:54px}
  .reservation-page .intro>div:first-child{padding-top:0}
  .reservation-page .form{padding:19px 16px;gap:13px}
  .reservation-page .form .field.full{grid-column:1/-1}
}

/* A more considered layout for fare tables and quote based services. */
.tarifs-page{position:relative;background:radial-gradient(ellipse at 88% 4%,#29271f 0,transparent 34%),#111110}
.tarifs-page .price-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(20px,3vw,38px);align-items:start}
.tarifs-page .price-grid>div{min-width:0;padding:clamp(22px,3.2vw,38px);border:1px solid #ffffff20;background:linear-gradient(145deg,#1c1c19,#151514)}
.tarifs-page .price-grid h2{margin:0 0 23px;font-size:clamp(1.55rem,2.4vw,2.15rem);letter-spacing:-.015em}
.tarifs-page .price-table{margin:0;width:100%}
.tarifs-page .price-table td{padding:16px 0;border-bottom:1px solid #ffffff19;font-size:.92rem}
.tarifs-page .price-table tr:last-child td{border-bottom:0}
.tarifs-page .price-table td:first-child{padding-right:14px;color:#dedbd3}
.tarifs-page .price-table td:last-child{white-space:nowrap;font-size:1rem;color:#d0bd91;font-variant-numeric:tabular-nums}
.tarifs-page .price-grid>div:nth-child(2){display:grid;gap:12px;align-content:start}
.tarifs-page .price-grid>div:nth-child(2)>h2{margin-bottom:8px}
.tarifs-page .price-grid .card{position:relative;min-height:0;margin:0;padding:23px 24px;background:#181816;border-color:#ffffff20}
.tarifs-page .price-grid .card::before{content:"";position:absolute;top:0;left:24px;width:34px;height:1px;background:#b6a174a8}
.tarifs-page .price-grid .card h3{margin:0 0 15px;font-size:1.2rem;letter-spacing:0}
.tarifs-page .price-grid .card p{margin:0;color:#aaa79e;font-size:.86rem;line-height:1.65}
.tarifs-page .price-grid .card p+p{margin-top:6px}
.tarifs-page .price-grid .card p b{color:#d3c197;font-weight:600;font-size:1.04rem}
.tarifs-page .note{max-width:760px;margin:21px 0 0;padding:14px 17px;border-left:1px solid #b6a17488;color:#aaa79e;font-size:.8rem;line-height:1.6}
@media(max-width:700px){
  .tarifs-page{padding-top:54px;padding-bottom:58px}
  .tarifs-page .price-grid{grid-template-columns:1fr;gap:16px}
  .tarifs-page .price-grid>div{padding:22px 19px}
  .tarifs-page .price-grid h2{margin-bottom:16px}
  .tarifs-page .price-table td{padding:14px 0;font-size:.85rem}
  .tarifs-page .price-table td:last-child{font-size:.92rem}
  .tarifs-page .price-grid .card{padding:21px 20px}
  .tarifs-page .price-grid .card::before{left:20px}
}

/* Text-first service tiles, with no photo placeholders. */
.service-grid{gap:15px}
.service-card{position:relative;display:flex;min-height:238px;padding:27px 26px;background:linear-gradient(145deg,#1d1d1a,#151514 78%);border:1px solid #ffffff20;isolation:isolate}
.service-card::before{content:"";position:absolute;z-index:-1;top:0;left:26px;width:42px;height:1px;background:#c2ae7e}
.service-card::after{content:"";position:absolute;z-index:-1;top:26px;right:25px;width:54px;height:54px;border:1px solid #b6a17423;border-radius:50%;box-shadow:0 0 0 9px #b6a17408,0 0 0 18px #b6a17405}
.service-copy{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:0}
.service-copy .service-number{margin-bottom:auto;color:#c2ae7e;font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.service-copy h3{max-width:290px;margin:28px 0 9px;color:#f1eee7;font-size:1.15rem;line-height:1.2;letter-spacing:.025em}
.service-copy p{max-width:310px;margin:0;color:#b9b6ae;font-size:.88rem;line-height:1.65}
.service-card:hover{background:linear-gradient(145deg,#22211d,#171715 78%);border-color:#b6a17478}
@media(max-width:700px){
  .service-grid{gap:11px}
  .service-card{min-height:190px;padding:23px 21px}
  .service-card::before{left:21px}
  .service-card::after{top:20px;right:20px;width:44px;height:44px}
  .service-copy h3{margin:24px 0 8px;font-size:1.08rem}
  .service-copy p{font-size:.83rem}
}
