/* ROVER PERFORMANCE INSTITUTE · EDITION 03.3 · AN ORIGINAL INDEPENDENT DESIGN */
:root{--pine:#172722;--pine2:#21342e;--pine3:#30483e;--ink:#26302a;--muted:#73786f;--cream:#f5f3ec;--cream2:#ece9df;--white:#fffefa;--champ:#bba17b;--line:rgba(37,48,41,.17);--linelight:rgba(255,255,255,.19);--serif:'EB Garamond','Baskerville','Georgia',serif;--sans:'Inter','Helvetica Neue',Arial,sans;--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}.shell{width:min(calc(100% - 112px),var(--max));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-80px;left:10px;z-index:100;background:white;padding:12px}.skip:focus{top:8px}::selection{background:#bba17b;color:#172722}
.utility{background:#14221e;color:#d3d1c5;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.utility .shell{height:33px;display:flex;align-items:center;justify-content:space-between}.utility span:last-child{opacity:.72}.header{background:var(--cream);position:relative;z-index:25;border-bottom:1px solid rgba(38,48,42,.12)}.header-inner{min-height:97px;display:flex;align-items:center;gap:38px}.identity{display:flex;gap:14px;align-items:center;flex:none}.monogram{height:51px;width:51px;display:grid;place-items:center;color:var(--pine);border:1px solid var(--pine);font-family:var(--serif);font-size:21px;letter-spacing:-.085em}.identity-text{display:flex;flex-direction:column;gap:5px;min-width:197px}.identity-text strong{font-family:var(--serif);letter-spacing:.005em;font-size:21px;font-weight:500;line-height:.96}.identity-text span{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;gap:35px;align-items:center;margin-left:auto}.nav a{font-size:10px;letter-spacing:.12em;color:#565d55;text-transform:uppercase;transition:color .2s}.nav a:hover,.nav a[aria-current]{color:#192e26}.nav a[aria-current]:after{content:'';display:block;height:1px;background:var(--champ);margin-top:7px}.nav-action{height:45px;padding:0 22px;display:flex;align-items:center;gap:20px;white-space:nowrap;background:var(--pine);color:white;font-size:10px;letter-spacing:.15em;text-transform:uppercase;transition:background .2s}.nav-action:hover,.btn-dark:hover{background:#30493c}.menu-toggle{display:none;width:43px;height:43px;align-items:center;justify-content:center;background:none;border:1px solid var(--line);font-size:22px;color:var(--pine)}.mobile-nav{display:none}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:.23em;text-transform:uppercase;color:#806f57}.eyebrow.light{color:#c6b28d}.rule{width:37px;height:1px;background:var(--champ)}.serif{font-family:var(--serif);letter-spacing:-.035em;font-weight:400}.serif em{font-weight:400;color:#9b8465}.button{min-height:54px;padding:0 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:29px;border:1px solid transparent;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;transition:background .2s,color .2s,border-color .2s}.button span{font-size:17px;font-weight:400}.btn-champ{background:#d2b992;color:#172722}.btn-champ:hover{background:#e4cca5}.btn-outline{border-color:#b4b0a5;color:var(--ink)}.btn-outline:hover{border-color:var(--pine);background:var(--pine);color:var(--white)}.btn-outline-light{border-color:rgba(255,255,255,.44);color:white}.btn-outline-light:hover{background:white;color:var(--pine)}.btn-dark{background:var(--pine);color:var(--white)}.text-cta{display:inline-flex;align-items:center;gap:34px;border-bottom:1px solid var(--champ);padding-bottom:10px;font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:600}.text-cta span{font-size:17px;font-weight:400}.text-cta:hover{color:#a78f6e}
/* Quiet, cinematic hero */
.hero{position:relative;min-height:695px;background:#172622;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0 0 0 38%;overflow:hidden}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:50% 53%;filter:brightness(.78) saturate(.8)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172622 0%,rgba(23,38,34,.85) 17%,rgba(23,38,34,.20) 56%,rgba(23,38,34,.22) 100%),linear-gradient(0deg,rgba(20,33,29,.4),transparent 44%)}.hero-inner{position:relative;z-index:2;min-height:695px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:90px 116px}.hero-pre{display:flex;align-items:center;gap:16px;color:#d9c39e;font-size:11px;letter-spacing:.21em;text-transform:uppercase;margin-bottom:29px}.hero h1{max-width:850px;font-size:clamp(70px,7.2vw,118px);line-height:.94;margin:0 0 24px}.hero h1 span{display:block}.hero h1 em{display:block;color:#d5bc98;font-weight:400}.hero-lead{font-size:14px;line-height:1.8;max-width:420px;color:#e3e3dc;margin:15px 0 36px;font-weight:350}.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}.hero-lower{position:absolute;z-index:3;bottom:0;left:0;width:100%;border-top:1px solid rgba(255,255,255,.2)}.hero-lower-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;height:72px;font-size:9px;letter-spacing:.17em;color:#dad5c9;text-transform:uppercase}.hero-lower-inner b{font-weight:400;color:#beab89}.scroll-mark{display:flex;gap:19px;align-items:center}.scroll-mark i{width:40px;height:1px;background:#bba17b}.hero-image-credit{position:absolute;bottom:98px;right:40px;z-index:3;color:rgba(255,255,255,.82);font-size:9px;letter-spacing:.17em;text-transform:uppercase;writing-mode:vertical-rl}
/* Home editorial */
.welcome{padding:114px 0 100px;background:var(--cream)}.welcome-grid{display:grid;grid-template-columns:.48fr 1fr;gap:100px}.section-index{display:flex;flex-direction:column;gap:23px;align-items:flex-start}.section-index .line{height:1px;width:64px;background:var(--champ)}.welcome-content h2{font-size:clamp(50px,5vw,78px);line-height:1.02;margin-bottom:30px;max-width:940px}.welcome-bottom{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.welcome-bottom p{color:#666c63;font-size:15px;line-height:1.9;max-width:510px;margin:0}.credentials{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream2)}.credentials-inner{min-height:103px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.credential{padding:20px 29px;text-align:center;border-right:1px solid var(--line)}.credential:last-child{border:0}.credential b{display:block;font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.1}.credential span{display:block;color:#838076;text-transform:uppercase;letter-spacing:.15em;font-size:9px;margin-top:11px}
/* Services */
.services-block{padding:115px 0 125px;background:#f9f8f3}.section-header{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:52px}.section-header h2{font-size:clamp(50px,5.25vw,82px);line-height:1.02;max-width:820px;margin:0}.section-header p{max-width:280px;color:#697168;font-size:13px;line-height:1.8;margin:0 0 5px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:84px minmax(240px,1fr) 1.15fr 25px;gap:22px;align-items:center;padding:32px 9px;border-bottom:1px solid var(--line);transition:background .2s}.service-row:hover{background:#efede5}.service-row .number{font-family:var(--serif);font-size:24px;color:#b49b75}.service-row h3{font-family:var(--serif);font-size:clamp(26px,2.65vw,41px);margin:0}.service-row p{max-width:475px;margin:0;color:#72756c;font-size:13px;line-height:1.85}.service-row .arrow{font-size:21px;color:#ae9775}.service-disclaimer{display:flex;gap:11px;margin-top:25px;color:#817f76;font-size:11px;line-height:1.65}
/* Portfolio featured */
.portfolio-feature{background:#1b2b26;color:#faf8f2;padding:105px 0 118px}.portfolio-feature .section-header h2{max-width:750px}.portfolio-feature .section-header p{color:#c0c7bf}.portfolio-feature .eyebrow{color:#d0b995}.portfolio-mosaic{display:grid;grid-template-columns:1.28fr .72fr;grid-template-rows:258px 258px;gap:14px}.portfolio-cell{position:relative;overflow:hidden;background:#415247}.portfolio-cell:first-child{grid-row:span 2}.portfolio-cell img{width:100%;height:100%;object-fit:cover;object-position:50% 53%;filter:saturate(.85);transition:transform .5s ease,filter .3s}.portfolio-cell:hover img{transform:scale(1.035);filter:saturate(1)}.portfolio-cell:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.70))}.portfolio-cell .cell-label{z-index:2;position:absolute;bottom:25px;left:27px;right:25px;color:white}.cell-label small{display:block;font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:#e2caab;margin-bottom:7px}.cell-label strong{font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.7vw,39px)}.cell-label i{position:absolute;right:0;bottom:7px;font-style:normal;font-size:20px}.portfolio-note{font-size:11px;line-height:1.65;color:#bdc4bd;margin:20px 0 0}.portfolio-link{margin-top:34px}
/* Craft and about */
.experience{background:var(--cream);padding:120px 0}.experience-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:11%;align-items:center}.experience-photo{position:relative;aspect-ratio:4/4.2;overflow:hidden;background:#d5d1c5}.experience-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.experience-photo small{position:absolute;bottom:0;left:0;padding:14px 20px;background:var(--pine);color:white;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.experience-copy h2{font-size:clamp(52px,5.1vw,80px);line-height:1.03;margin:23px 0}.experience-copy>p:not(.eyebrow){max-width:475px;color:#747870;font-size:14px;line-height:1.95;margin-bottom:28px}.blockquote{border-left:1px solid var(--champ);padding-left:21px;font-family:var(--serif);font-size:25px;line-height:1.4;margin:34px 0;color:#304039}
/* Steps */
.process-block{background:var(--cream2);padding:110px 0}.process-header{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:50px}.process-header h2{font-size:clamp(51px,5vw,79px);line-height:.99;margin:20px 0 0}.process-header p{max-width:360px;line-height:1.8;color:#6e756c;margin:0 0 4px;font-size:14px}.process-steps{margin-top:67px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.process-step{padding:34px 38px 22px 0;border-right:1px solid var(--line);margin-right:31px}.process-step:last-child{border:0;margin:0}.process-step .step-index{font-family:var(--serif);font-size:34px;color:#ab977a}.process-step h3{font-family:var(--serif);font-size:30px;margin:31px 0 12px}.process-step p{font-size:13px;color:#77786e;line-height:1.85}
/* Closing CTA */
.closing{background:var(--pine);color:white;text-align:center;padding:115px 20px 120px}.closing .eyebrow{color:#cbb390}.closing h2{font-size:clamp(60px,6vw,94px);line-height:1;margin:22px 0 22px}.closing p{max-width:530px;margin:0 auto 37px;line-height:1.9;font-size:14px;color:#d0d4cd}
/* Footer */
.footer{background:#111d19;color:#eeeae1;padding:77px 0 25px}.footer-top{display:grid;grid-template-columns:1.45fr .55fr .55fr;gap:50px;padding-bottom:66px}.footer .identity{color:var(--cream)}.footer .monogram{border-color:#afa389;color:#d5c3a5}.footer .identity-text span{color:#b0ad9f}.footer-about{color:#a7afa5;font-size:13px;line-height:1.85;max-width:330px;margin:23px 0 0}.footer-column b{display:block;font-size:9px;color:#c8b28e;letter-spacing:.2em;text-transform:uppercase;margin-bottom:22px}.footer-column a{display:block;font-size:13px;margin-bottom:16px;color:#d2d5ce}.footer-column a:hover{color:#d2b992}.fineprint{border-top:1px solid rgba(255,255,255,.12);padding-top:23px;color:#7e8a80;font-size:10px;line-height:1.75;max-width:1020px}.footer-bottom{display:flex;justify-content:space-between;gap:22px;margin-top:43px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:9px;letter-spacing:.17em;color:#a2aca2;text-transform:uppercase}
/* Inner pages */
.page-banner{background:var(--pine);color:white;padding:88px 0 93px;position:relative;overflow:hidden}.page-banner.photo{min-height:450px;display:flex;align-items:center}.page-banner.photo .banner-photo{position:absolute;inset:0 0 0 48%}.page-banner.photo .banner-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.58) saturate(.76)}.page-banner.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--pine) 22%,rgba(23,39,34,.88) 46%,transparent 95%)}.page-banner .shell{position:relative;z-index:2}.page-banner .eyebrow{color:#d1b88f}.page-banner h1{max-width:800px;font-size:clamp(60px,7vw,105px);line-height:.95;margin:20px 0 18px}.page-banner p:last-child{font-size:14px;color:#d9ded7;line-height:1.8;max-width:510px;margin:0}.inner-section{padding:96px 0}.inner-intro{display:grid;grid-template-columns:1fr .65fr;gap:90px;align-items:end;margin-bottom:56px}.inner-intro h2{font-size:clamp(43px,4.6vw,70px);line-height:1.02;margin:15px 0 0}.inner-intro p{font-size:14px;line-height:1.9;color:#71776e;margin:0 0 5px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding:55px 0;align-items:center}.service-detail:nth-of-type(even) .detail-pic{order:-1}.detail-text .eyebrow{margin-bottom:17px}.detail-text h3{font:400 clamp(37px,3.8vw,56px)/1.02 var(--serif);margin:0 0 19px}.detail-text p{color:#6d746a;font-size:14px;line-height:1.85;max-width:520px}.detail-pic{height:360px;background:#e2dfd4;overflow:hidden}.detail-pic img{width:100%;height:100%;object-fit:cover}.service-list-inline{padding:0 0 0 20px;font-size:13px;line-height:2;color:#6d746a}
/* Gallery */
.filterbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 33px}.filter-button{padding:13px 17px;border:1px solid var(--line);background:transparent;color:#525d53;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.filter-button:hover,.filter-button.active{background:var(--pine);color:white;border-color:var(--pine)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-card{min-width:0;text-align:left;padding:0;background:var(--white);border:1px solid var(--line);transition:transform .2s}.gallery-card:hover{transform:translateY(-3px)}.gallery-card img{width:100%;aspect-ratio:1.35;object-fit:cover}.gallery-card .gallery-text{padding:17px 17px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.gallery-card .gallery-text strong{font:400 24px/1.04 var(--serif)}.gallery-card .gallery-text small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8f8879}.gallery-card[hidden]{display:none}.gallery-explain{margin:0 0 32px;padding:19px 22px;background:#e9e5db;color:#647066;font-size:12px;line-height:1.8}.lightbox{position:fixed;inset:0;background:rgba(12,24,19,.96);z-index:70;display:none;align-items:center;justify-content:center;padding:55px}.lightbox.open{display:flex}.lightbox-content{width:min(980px,100%);max-height:95vh;display:flex;flex-direction:column;align-items:center}.lightbox img{max-height:76vh;max-width:100%;object-fit:contain}.lightbox-caption{color:white;font-family:var(--serif);font-size:24px;margin-top:12px}.lightbox-close,.lightbox-prev,.lightbox-next{border:1px solid rgba(255,255,255,.4);color:white;background:transparent;position:absolute;min-width:40px;min-height:40px;font-size:20px}.lightbox-close{top:21px;right:25px}.lightbox-prev{left:20px;top:50%}.lightbox-next{right:20px;top:50%}
/* About */
.about-columns{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:start}.about-columns .about-picture{position:relative}.about-columns .about-picture img{width:100%;max-height:580px;object-fit:cover}.about-columns .about-picture small{display:block;padding:14px 0;color:#7a8076;font-size:11px;line-height:1.6}.about-copy h2{font-size:clamp(48px,5vw,78px);line-height:1.04;margin:0 0 25px}.about-copy p:not(.eyebrow){font-size:14px;line-height:1.95;color:#687168;max-width:630px}.about-copy blockquote{font:italic 29px/1.35 var(--serif);padding-left:22px;margin:34px 0;border-left:1px solid var(--champ);max-width:500px}.principles{background:var(--cream2);padding:90px 0}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.principles-grid article{border-top:1px solid #b9b09f;padding-top:25px}.principles-grid strong{display:block;font:400 34px var(--serif);margin:9px 0 12px}.principles-grid p{font-size:13px;color:#667167;line-height:1.85}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font:400 25px var(--serif)}.faq details p{color:#697269;font-size:13px;line-height:1.9;max-width:800px}
/* Contact */
.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:10%;align-items:start}.contact-intro h2{font-size:clamp(47px,5vw,72px);line-height:1.05;margin:19px 0 27px}.contact-intro>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#6c746c;max-width:480px}.contact-fact{padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px}.contact-fact span{font-size:10px;color:#84786b;letter-spacing:.12em;text-transform:uppercase}.contact-fact b{font:400 22px var(--serif);text-align:right}.form-shell{background:#fffdf8;padding:44px;border:1px solid #e1ddd2;box-shadow:0 14px 38px rgba(36,49,42,.035)}.form-heading{font:400 40px var(--serif);margin:0 0 6px}.form-sub{font-size:12px;line-height:1.6;color:#767f74;margin-bottom:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 19px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1 / -1}.field label,.field .field-label{font-size:10px;letter-spacing:.12em;color:#5c645c;text-transform:uppercase}.field input,.field textarea,.field select{width:100%;border:1px solid #d9d9d1;border-radius:0;background:#faf9f5;color:#293930;min-height:47px;padding:13px;font-size:13px;outline-offset:2px}.field textarea{min-height:135px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:1px solid var(--pine)}.checkbox-line{display:flex;gap:11px;align-items:flex-start;font-size:12px;line-height:1.7;color:#6a7269;margin-top:16px}.checkbox-line input{margin-top:4px;accent-color:var(--pine)}.checkbox-line a{text-decoration:underline}.form-submit{width:100%;margin-top:21px;border:0}.form-note{font-size:11px;line-height:1.8;color:#7c8279;margin:17px 0 0}.honeypot{position:absolute;left:-9999px;opacity:0}.form-feedback{padding:12px 15px;background:#eeeadd;color:#3f5546;font-size:12px;line-height:1.7;margin-top:14px}
/* Generic */
.callout{background:#e9e4d9;padding:27px 30px;border-left:2px solid var(--champ);color:#687166;font-size:13px;line-height:1.9}.legal{max-width:950px;font-size:13px;line-height:2;color:#626f64}.legal h2{font:400 33px var(--serif);margin:30px 0 5px}.legal a{text-decoration:underline}.end-space{height:30px}.mobile-fixed-cta{display:none}
@media(max-width:1130px){.shell{width:min(calc(100% - 72px),var(--max))}.header-inner{gap:20px}.identity-text{min-width:178px}.nav{gap:19px}.nav-action{padding-inline:15px;gap:12px}.hero h1{font-size:clamp(73px,8vw,100px)}.welcome-grid{gap:55px}.service-row{grid-template-columns:45px 1fr 1.1fr 22px}.experience-grid{gap:6%}}
@media(max-width:900px){.header-inner{min-height:82px}.nav,.nav-action{display:none}.menu-toggle{display:flex;margin-left:auto}.mobile-nav{display:block;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:18px 38px 30px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.08)}.mobile-nav[hidden]{display:none}.mobile-nav a{display:block;padding:15px 2px;border-bottom:1px solid var(--line);font:400 25px var(--serif)}.mobile-nav a:last-child{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;background:var(--pine);color:white;text-align:center;margin-top:18px;padding:18px;border:0}.hero-image{left:22%}.hero h1{font-size:clamp(64px,9vw,90px)}.hero-image:after{background:linear-gradient(90deg,#172622 0%,rgba(23,38,34,.88) 35%,rgba(23,38,34,.27) 100%),linear-gradient(0deg,rgba(20,33,29,.5),transparent 45%)}.welcome-grid,.welcome-bottom{grid-template-columns:1fr;gap:26px}.section-index{flex-direction:row;align-items:center}.welcome{padding:80px 0}.service-row{grid-template-columns:38px 1fr 1fr 22px}.portfolio-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:300px 250px}.portfolio-cell:first-child{grid-column:span 2;grid-row:span 1}.experience-grid,.about-columns,.contact-layout{grid-template-columns:1fr;gap:45px}.experience-photo{max-height:550px;aspect-ratio:1.5}.contact-layout{gap:40px}.process-header{grid-template-columns:1fr;gap:20px}.inner-intro{gap:40px}.footer-top{grid-template-columns:1fr 1fr 1fr}.footer .identity-text{min-width:0}.footer .identity-text strong{font-size:18px}}
@media(max-width:620px){.shell{width:calc(100% - 36px)}.utility{font-size:8px}.utility .shell{justify-content:center;text-align:center}.utility span:last-child{display:none}.header-inner{min-height:75px}.monogram{height:44px;width:44px;font-size:18px}.identity{gap:10px}.identity-text{min-width:0}.identity-text strong{font-size:18px}.identity-text span{font-size:7.6px;letter-spacing:.2em}.mobile-nav{padding:17px 18px 28px}.hero{min-height:705px}.hero-image{inset:0}.hero-image img{object-position:55% 48%;filter:brightness(.69) saturate(.85)}.hero-image:after{background:linear-gradient(0deg,rgba(20,34,29,.98) 0%,rgba(20,34,29,.78) 37%,rgba(20,34,29,.08) 90%),linear-gradient(90deg,rgba(20,34,29,.42),transparent)}.hero-inner{min-height:705px;justify-content:flex-end;padding-top:140px;padding-bottom:123px}.hero-pre{margin-bottom:18px;font-size:9px;line-height:1.5;letter-spacing:.16em}.hero h1{font-size:clamp(57px,14.4vw,76px);line-height:.95;margin-bottom:11px;max-width:530px}.hero-lead{font-size:12px;line-height:1.75;margin:11px 0 23px;max-width:370px}.hero-ctas{gap:9px}.hero-ctas .button{width:100%;justify-content:space-between;min-height:47px;font-size:9px}.hero-lower-inner{height:48px;font-size:8px}.hero-lower-inner span:nth-child(2),.scroll-mark{display:none}.hero-image-credit{display:none}.welcome{padding:72px 0}.section-index{gap:14px}.section-index .line{width:30px}.welcome-content h2{font-size:clamp(44px,12vw,62px);margin-bottom:24px}.welcome-bottom{gap:26px}.welcome-bottom p{font-size:13px}.credentials-inner{grid-template-columns:1fr}.credential{border-right:0;border-bottom:1px solid var(--line);padding:17px}.credential:last-child{border:0}.credential b{font-size:21px}.credential span{font-size:8px;margin-top:6px}.services-block{padding:78px 0 82px}.section-header{align-items:start;flex-direction:column;gap:18px;margin-bottom:28px}.section-header h2{font-size:clamp(48px,12vw,66px)}.section-header p{font-size:12px}.service-row{grid-template-columns:28px 1fr 18px;gap:10px 12px;padding:24px 2px}.service-row h3{font-size:32px}.service-row p{grid-column:2/3;font-size:12px}.service-row .arrow{grid-column:3;grid-row:1}.portfolio-feature{padding:75px 0 82px}.portfolio-mosaic{display:flex;flex-direction:column;gap:11px}.portfolio-cell{height:230px;flex:unset}.portfolio-cell:first-child{height:315px}.cell-label strong{font-size:30px}.portfolio-note{font-size:10px}.experience{padding:77px 0}.experience-grid{gap:32px}.experience-photo{aspect-ratio:1.09;max-height:430px}.experience-copy h2{font-size:clamp(49px,12vw,69px)}.experience-copy>p:not(.eyebrow){font-size:13px}.blockquote{font-size:22px}.process-block{padding:75px 0}.process-header h2{font-size:clamp(45px,12vw,65px)}.process-header p{font-size:13px}.process-steps{grid-template-columns:1fr;margin-top:40px}.process-step{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:24px 0 19px}.process-step:last-child{border:0}.process-step h3{margin:8px 0;font-size:28px}.closing{padding:85px 20px}.closing h2{font-size:clamp(57px,13.2vw,74px)}.closing p{font-size:13px}.footer{padding-top:55px}.footer-top{grid-template-columns:1fr 1fr;gap:30px;padding-bottom:33px}.footer-about-wrap{grid-column:span 2}.footer-bottom{flex-direction:column;gap:12px}.page-banner{padding:68px 0}.page-banner.photo{min-height:380px}.page-banner.photo .banner-photo{inset:0}.page-banner.photo:after{background:linear-gradient(0deg,rgba(23,39,34,.96),rgba(23,39,34,.65) 67%,rgba(23,39,34,.25))}.page-banner h1{font-size:clamp(53px,13.2vw,75px)}.page-banner p:last-child{font-size:12px}.inner-section{padding:70px 0}.inner-intro{grid-template-columns:1fr;gap:22px;margin-bottom:35px}.inner-intro h2{font-size:clamp(44px,11vw,59px)}.inner-intro p{font-size:13px}.service-detail,.service-detail:nth-of-type(even){grid-template-columns:1fr;gap:25px;padding:35px 0}.service-detail:nth-of-type(even) .detail-pic{order:initial}.detail-pic{height:270px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-card .gallery-text{padding:12px;align-items:start}.gallery-card .gallery-text strong{font-size:18px}.gallery-card .gallery-text small{font-size:8px}.filter-button{padding:11px;font-size:9px}.gallery-explain{font-size:11px;padding:15px}.lightbox{padding:46px 12px}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox-close{right:12px}.about-copy h2{font-size:53px}.principles{padding:65px 0}.principles-grid{grid-template-columns:1fr;gap:18px}.contact-intro h2{font-size:52px}.form-shell{padding:25px 18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:1}.form-heading{font-size:36px}.mobile-fixed-cta{display:flex;position:fixed;z-index:20;bottom:10px;left:10px;right:10px;min-height:46px;align-items:center;justify-content:space-between;padding:0 18px;background:#cfb48b;color:#14211c;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 9px 24px rgba(10,20,13,.22)}body{padding-bottom:60px}}
@media(max-width:380px){.identity-text strong{font-size:16px}.identity-text span{font-size:7px}.hero h1{font-size:clamp(51px,14vw,58px)}.hero{min-height:675px}.hero-inner{min-height:675px}.hero-pre{font-size:8px}.hero-lead{font-size:11px}.gallery-grid{grid-template-columns:1fr}.gallery-card img{aspect-ratio:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Final refinement: keep the independent RPI monogram on one horizontal line. */
.monogram{display:flex;align-items:center;justify-content:center;white-space:nowrap;letter-spacing:-.08em;gap:1px}


/* V3.3.1 · Grand Touring fine-tuning. Original V3.3 composition deliberately retained. */
:root{--champ:#bda27d}
/* More delicate controls and intentional focus states. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #d8b27a;outline-offset:4px}
.nav a{position:relative;transition:color .22s ease}
.nav a:not([aria-current])::after{content:"";position:absolute;bottom:-10px;left:0;width:0;height:1px;background:var(--champ);transition:width .22s ease}
.nav a:not([aria-current]):hover::after{width:100%}
.hero-image img{filter:brightness(.88) saturate(.93) contrast(1.04);object-position:48% 51%}
.hero-image:after{background:linear-gradient(90deg,#172622 0%,rgba(23,38,34,.91) 14%,rgba(23,38,34,.24) 58%,rgba(23,38,34,.20) 100%),linear-gradient(0deg,rgba(20,33,29,.38),transparent 47%),radial-gradient(circle at 100% 100%,rgba(20,33,29,.52),transparent 45%)}
.hero h1{text-wrap:balance}
.hero-lead{max-width:455px;font-size:14px;line-height:1.85;letter-spacing:.003em}
.hero-pre{font-weight:500}
.button,.nav-action{transition:background .2s ease,transform .2s ease,border-color .2s ease}
.button:hover{transform:translateY(-1px)}
.service-row h3{line-height:1.13}
.portfolio-cell img{filter:saturate(.93) contrast(1.025)}
.portfolio-cell:hover img{filter:saturate(1.06)}
/* Fine, unobtrusive photo captions. */
.hero-image-credit{font-size:8px;letter-spacing:.15em;color:rgba(255,255,255,.73)}
/* Keep the mobile booking call-to-action off the cinematic hero until the visitor scrolls. */
@media(max-width:900px){.hero-image:after{background:linear-gradient(90deg,#172622 0%,rgba(23,38,34,.86) 30%,rgba(23,38,34,.22) 100%),linear-gradient(0deg,rgba(20,33,29,.47),transparent 50%)}}
@media(max-width:620px){
 .hero-image img{filter:brightness(.83) saturate(.99) contrast(1.045);object-position:55% 46%}
 .hero-image:after{background:linear-gradient(0deg,rgba(20,34,29,.98) 0%,rgba(20,34,29,.82) 36%,rgba(20,34,29,.06) 92%),linear-gradient(90deg,rgba(20,34,29,.28),transparent)}
 .hero-lead{max-width:365px;font-size:12.5px;line-height:1.75}
 .hero h1{letter-spacing:-.045em}
 .hero-lower{background:rgba(20,34,29,.35)}
 .mobile-fixed-cta{opacity:0;transform:translateY(calc(100% + 20px));pointer-events:none;transition:opacity .25s ease,transform .25s ease}
 .mobile-fixed-cta.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
 body:has(.form-shell) .mobile-fixed-cta{display:none}
}
@media(max-width:380px){.hero-lead{font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.mobile-fixed-cta{transition:none}}

/* V3.3.2 — Grand Touring photographic polish. Preserve the original V3.3 composition. */
:root { --champ:#c1a784 }
/* Preserve original Jaguar image, instead of altering the vehicle or inventing a workshop. */
.hero-image { inset:0 0 0 36%; isolation:isolate }
.hero-image img {object-position:46% 52%;filter:brightness(1.01) saturate(1.075) contrast(1.055)}
.hero-image::after {
  background:
    linear-gradient(90deg,#172622 0%,rgba(23,38,34,.94) 13%,rgba(23,38,34,.49) 43%,rgba(23,38,34,.04) 75%,rgba(23,38,34,.03) 100%),
    linear-gradient(0deg,rgba(16,28,23,.84) 0%,rgba(16,28,23,.16) 28%,transparent 67%),
    linear-gradient(180deg,rgba(17,29,24,.34),transparent 32%);
}
.hero-image-credit {position:absolute;z-index:4;bottom:91px;right:max(35px,calc((100vw - 1380px)/2));writing-mode:horizontal-tb!important;transform:none!important;display:flex;align-items:center;gap:11px;text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:#f3ece0;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.hero-image-credit b {font-weight:500;color:#f1dfbb}
.hero-image-credit i {height:1px;width:26px;background:#c1a784;display:block}
.hero h1 {letter-spacing:-.041em;text-shadow:0 2px 26px rgba(0,0,0,.10)}
.hero-lead {max-width:470px;font-size:14.5px;line-height:1.88;color:#e6e7df}
.hero-ctas .button{min-height:56px}
.hero-pre{color:#e6ce9f}
/* Typography and controls: elegant yet accessible. */
.hero .button:focus-visible{outline-color:#f6dfb5}
.portfolio-cell img {filter:saturate(1) contrast(1.025)}
.portfolio-cell:hover img {filter:saturate(1.12)}
.portfolio-cell::after {background:linear-gradient(transparent 31%,rgba(12,20,16,.72))}
@media(max-width:900px){
 .hero-image {inset:0}
 .hero-image::after {background:linear-gradient(90deg,rgba(18,31,26,.78) 0%,rgba(18,31,26,.28) 68%),linear-gradient(0deg,rgba(16,29,24,.67),transparent 50%)}
 .hero-image-credit{right:30px;bottom:86px}
}
@media(max-width:620px){
 .hero {min-height:730px}
 .hero-inner {min-height:730px;padding-top:130px;padding-bottom:112px}
 .hero-image {inset:0}
 .hero-image img {height:80%;width:100%;object-fit:cover;object-position:31% 50%;filter:brightness(.92) saturate(1.04) contrast(1.055)}
 .hero-image::after {background:linear-gradient(0deg,#14241e 0%,rgba(20,36,30,.99) 35%,rgba(20,36,30,.78) 47%,rgba(20,36,30,.14) 82%,rgba(20,36,30,.04) 100%)}
 .hero-pre {max-width:100%;font-size:9px;letter-spacing:.14em;gap:10px;margin-bottom:14px}
 .hero-pre .rule{width:22px;flex:none}
 .hero h1 {font-size:clamp(54px,13.6vw,73px);line-height:.98;margin-bottom:14px}
 .hero-lead {font-size:13px;line-height:1.72;max-width:355px;margin-top:11px;margin-bottom:24px}
 .hero-ctas .button {min-height:50px}
 .hero-image-credit {display:none}
}
@media(max-width:380px){ .hero h1{font-size:clamp(48px,13vw,57px)} .hero-lead{font-size:12px}.hero{min-height:710px}.hero-inner{min-height:710px} }

/* Natural-looking vignette softens a tool bottle at the extreme lower right of the original photo. */
@media(min-width:901px){.hero-image::after{background:linear-gradient(90deg,#172622 0%,rgba(23,38,34,.94) 13%,rgba(23,38,34,.49) 43%,rgba(23,38,34,.04) 75%,rgba(23,38,34,.06) 100%),linear-gradient(0deg,rgba(16,28,23,.84) 0%,rgba(16,28,23,.16) 28%,transparent 67%),radial-gradient(ellipse 28% 44% at 100% 100%,rgba(13,24,19,.88),transparent 100%),linear-gradient(180deg,rgba(17,29,24,.34),transparent 32%)}}


/* V3.3.4: Subtle business and workflow additions; original Grand Touring design preserved. */
.trade-teaser{background:#1a2d28;color:#f8f2e8;padding:78px 0;border-top:1px solid rgba(220,190,145,.24);border-bottom:1px solid rgba(220,190,145,.24)}
.trade-teaser-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:center}.trade-teaser h2{font-size:clamp(38px,4.2vw,61px);line-height:1.04;margin:14px 0 17px;max-width:800px}.trade-teaser h2 em{color:#d7bea0}.trade-teaser p:not(.eyebrow){max-width:670px;font-size:13px;line-height:1.9;color:#bdc8be}.trade-teaser .button{white-space:nowrap}.trade-inline{background:#edeae1;padding:62px 0}.trade-inline-content{display:flex;align-items:center;justify-content:space-between;gap:30px}.trade-inline h2{font-size:clamp(37px,4vw,57px);line-height:1.04;margin:9px 0 14px}.trade-inline p:not(.eyebrow){font-size:13px;color:#667268;max-width:610px;line-height:1.8}.trade-banner{background:linear-gradient(116deg,#172923 30%,#334b40 100%)}.trade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.trade-card{background:#faf8f3;border:1px solid #e2ddd2;padding:31px;min-height:250px}.trade-card-index{font:600 10px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#978266}.trade-card h3{font:400 29px/1.12 var(--serif);margin:23px 0 14px}.trade-card p{color:#687168;font-size:13px;line-height:1.9}.trade-scope{background:#eae5da;margin:58px 0 27px;padding:38px;display:grid;grid-template-columns:.56fr 1fr;gap:25px}.trade-scope h3{font-size:48px;line-height:1;margin:0 0 20px}.trade-scope p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:580px;color:#647067}.trade-scope .button{margin-top:10px}.preview-notice{font-size:12px;line-height:1.6;color:#675d46;background:#f2ebdc;border-left:3px solid #b8a077;padding:12px 14px;margin:0 0 22px}.preview-notice strong{color:#36483c}.optional{text-transform:none;letter-spacing:0;color:#95978f}.field textarea#prior-work{min-height:80px}.form-feedback{display:block}.form-feedback[hidden]{display:none}
@media(max-width:900px){.trade-teaser-inner{grid-template-columns:1fr;gap:23px}.trade-teaser .button{justify-self:start}.trade-grid{grid-template-columns:1fr 1fr}.trade-scope{grid-template-columns:1fr;gap:10px}}
@media(max-width:620px){.trade-teaser{padding:62px 0}.trade-teaser h2{font-size:clamp(43px,11vw,58px)}.trade-teaser-inner{gap:12px}.trade-teaser .button{white-space:normal;width:100%}.trade-inline-content{display:block}.trade-inline .text-cta{display:inline-flex;margin-top:15px}.trade-grid{grid-template-columns:1fr}.trade-card{min-height:0;padding:26px}.trade-scope{margin-top:38px;padding:24px}.trade-scope h3{font-size:43px}}

/* A11y: keep conditionally hidden form sections hidden even with layout utility classes. */
[hidden]{display:none!important}


/* V3.3.5 — Experience engineering: refinement without changing the Grand Touring visual identity */
:root { color-scheme: light; }
.header { position:sticky; top:0; z-index:55; backdrop-filter:saturate(1.08); }
.nav { gap:clamp(13px,1.7vw,26px); }
.nav a {white-space:nowrap;}
.nav a[aria-current="page"] {color:#1d3028;}
html { scroll-padding-top:110px; }
.gallery-status { margin:0; color:#757a70; font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
.archive-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 18px; margin-bottom:22px; }
.archive-controls .filterbar { margin-bottom:8px; }
.gallery-card:focus-visible {outline:3px solid #bfa37e;outline-offset:3px;}
.lightbox{overscroll-behavior:contain;}
.lightbox-content img{max-height:min(72dvh,780px);}
.lightbox-caption{text-align:center;max-width:95%;}
.lightbox-close,.lightbox-prev,.lightbox-next {min-height:48px;min-width:48px;background:rgba(16,31,25,.42);touch-action:manipulation;}
.preview-alert {padding:13px 17px;margin:0 0 22px;background:#efebe1;border-left:2px solid #b6a07e;color:#4d594c;font-size:11px;line-height:1.65;letter-spacing:.03em;}
.form-progress{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:6px 0 27px;}
.form-progress-item{border-top:2px solid #d7d3c7;padding-top:11px;color:#84887d;text-transform:uppercase;letter-spacing:.1em;font-size:10px;}
.form-progress-item.current{color:#253e30;border-color:#bda27d;font-weight:700;}
.intake-title{font:400 clamp(29px,3vw,35px)/1.1 var(--serif);margin:0 0 7px;color:#263b30;}
.intake-description{font-size:12px;line-height:1.8;color:#777e75;margin:0 0 24px;}
.intake-step[hidden], .field[hidden]{display:none!important;}
.intake-step .form-grid{gap:17px 18px;}
.form-next{width:100%;margin-top:22px;border:0;}
.show-history,.form-back,.form-edit{color:#324c3e;border:0;background:transparent;padding:13px 0;text-align:left;font-size:12px;line-height:1.5;text-decoration:underline;text-decoration-color:#baa17e;text-underline-offset:5px;}
.show-history{margin-top:15px;}
.form-actions{display:flex;flex-direction:column;gap:6px;margin-top:18px;}
.form-actions .form-submit{margin-top:0;}
.form-note{font-size:11px;}
.request-summary{background:#f0efe8;padding:20px 24px;margin:19px 0 13px;border:1px solid #dfded4;}
.request-summary dl{margin:0;}
.request-summary dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8b8f84;margin:17px 0 3px;}
.request-summary dt:first-child{margin-top:0;}
.request-summary dd{font:400 20px/1.4 var(--serif);margin:0;overflow-wrap:anywhere;}
:is(.button,.nav-action,.filter-button,.gallery-card,.menu-toggle,.form-back,.form-next,.show-history){touch-action:manipulation;}
@media(max-width:900px){.header{position:sticky;top:0;}
 .mobile-nav{max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;}
 .menu-toggle{min-height:44px;min-width:44px;}}
@media(max-width:620px){
 html{scroll-padding-top:85px;}
 .form-shell{padding:28px 20px;}
 .preview-alert{font-size:10px;}
 .archive-controls{gap:10px;}
 .filterbar{gap:8px;}
 .gallery-status{margin-bottom:5px;}
 .lightbox {padding-inline:12px;}
 .lightbox-content img{max-height:66dvh;}
 .lightbox-prev{top:auto;bottom:17px;left:calc(50% - 67px);}
 .lightbox-next{top:auto;bottom:17px;right:calc(50% - 67px);}
 .lightbox-caption{font-size:19px;margin-bottom:50px;}
 .lightbox-close{top:max(10px,env(safe-area-inset-top));right:12px;}
 .form-progress-item{font-size:9px;line-height:1.5;}
 .intake-description{font-size:12px;}
 .mobile-fixed-cta{bottom:max(10px,env(safe-area-inset-bottom));}
 }
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;}}

/* Contact-page speed to first action: vehicle enquiry before supporting copy on phones. */
@media(max-width:900px){.contact-page .contact-layout{display:flex;flex-direction:column;gap:36px;}
.contact-page .form-shell{order:-1;width:100%;}}
@media(max-width:620px){.contact-page .page-banner{padding:36px 0 39px;}
.contact-page .page-banner h1{font-size:clamp(43px,11.2vw,59px);margin:10px 0 9px;}
.contact-page .page-banner .eyebrow{font-size:9px;}
.contact-page .inner-section{padding:32px 0 65px;}
.contact-page .form-shell{padding:24px 17px;}
.contact-page .form-sub{margin-bottom:19px;}
.contact-page .form-heading{font-size:32px;}
.contact-page .contact-intro{margin-top:10px;}
}


/* V3.3.6 — Grand Touring interaction polish. Original cinematic visual direction retained. */
:root {color-scheme:light;}
html {scroll-padding-top:116px;}
#welcome-heading,#gallery-grid,#service-area {scroll-margin-top:116px;}
.scroll-mark {color:inherit;text-decoration:none;transition:color .2s ease;}
.scroll-mark:hover,.scroll-mark:focus-visible {color:#e2c9a4;}
@media (hover:hover) {.scroll-mark:hover i {width:58px;}}
.scroll-mark i {transition:width .2s ease;}
.header {box-shadow:0 3px 20px rgba(21,34,28,.045);}
.gallery-card {box-shadow:0 8px 30px rgba(23,39,34,.025);}
.gallery-card:hover {box-shadow:0 15px 38px rgba(23,39,34,.09);}
.archive-controls {display:flex;flex-direction:column;gap:9px;margin-bottom:26px;}
.archive-controls .filterbar {margin:0;}
.archive-controls .filter-button {transition:background .18s ease,border-color .18s ease,color .18s ease;min-height:44px;}
.gallery-tip {margin:0;font-size:12px;line-height:1.6;color:#7c8178;}
.archive-more {display:flex;gap:25px;justify-content:space-between;align-items:center;width:min(100%,480px);margin:38px auto 9px;padding:20px 23px;border:1px solid #aab1a5;color:#1a3127;background:transparent;font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.archive-more span {font-size:23px;font-weight:300;line-height:1;transition:transform .18s ease;}
.archive-more:hover,.archive-more:focus-visible {background:#1a3127;color:#f6f4ed;border-color:#1a3127;}
.archive-more:hover span {transform:translateY(3px);}
.archive-more[hidden],.gallery-card[hidden] {display:none!important;}
.lightbox-help {margin:8px auto 0;color:rgba(255,255,255,.63);text-align:center;font-size:11px;letter-spacing:.04em;}
.lightbox-content img {transition:opacity .12s ease;}
.lightbox-content img.image-loading {opacity:.4;}
.nav-open .mobile-fixed-cta {visibility:hidden;}
@media(max-width:900px){
 body.nav-open {overflow:hidden;}
 .mobile-nav {box-shadow:0 18px 25px rgba(16,32,25,.14);}
 .archive-controls .filterbar {overflow-x:auto;overscroll-behavior-x:contain;flex-wrap:nowrap;scrollbar-width:thin;padding-bottom:10px;scroll-snap-type:x proximity;}
 .archive-controls .filter-button {flex:none;scroll-snap-align:start;white-space:nowrap;}
}
@media(max-width:620px){
 .gallery-grid {grid-template-columns:1fr;gap:16px;}
 .gallery-card img {aspect-ratio:1.46;object-position:center;}
 .gallery-card .gallery-text {padding:18px 19px 20px;}
 .gallery-card .gallery-text strong {font-size:25px;}
 .gallery-card .gallery-text small {font-size:10px;}
 .archive-controls {margin-bottom:20px;gap:8px;}
 .archive-controls .filterbar {margin-right:-18px;padding-right:18px;}
 .archive-controls .filter-button {font-size:10px;padding:13px 17px;}
 .archive-more {margin-top:24px;padding:18px;}
 .gallery-tip {font-size:12px;}
 .lightbox-help {font-size:10px;max-width:260px;}
 .hero-lower-inner {font-size:9px;}
 .mobile-fixed-cta {bottom:max(10px,env(safe-area-inset-bottom));}
}
@media(max-width:380px){.gallery-grid {grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.gallery-card,.archive-more,.archive-more span,.scroll-mark i,.lightbox-content img {transition:none!important;}}
/* Mobile archive overflow correction found during 320/390px browser QA. */
.archive-controls {min-width:0;width:100%;align-items:stretch;}
.archive-controls .filterbar {width:100%;min-width:0;max-width:100%;}
.archive-controls .gallery-status,.archive-controls .gallery-tip {max-width:100%;min-width:0;overflow-wrap:anywhere;}
@media(max-width:620px){.archive-controls .filterbar {margin-right:0;padding-right:4px;}}


/* V3.3.7 — Rover Performance Institute, Grand Touring editorial refinement */
.identity-text > strong{letter-spacing:-.026em}
.identity-text>span{letter-spacing:.19em}
.secondary-portfolio-link {opacity:.9}
.portfolio-link {display:flex;align-items:center;gap:38px;flex-wrap:wrap}
.dossier-teaser{display:grid;grid-template-columns:1fr 1fr;background:#152920;color:#f7f4ea;min-height:380px;margin:35px 0 42px;overflow:hidden;border:1px solid rgba(45,70,59,.18);box-shadow:0 25px 65px rgba(24,33,27,.08)}
.dossier-teaser-image{min-height:360px;overflow:hidden}
.dossier-teaser-image img{width:100%;height:100%;min-height:360px;object-fit:cover;object-position:55% 50%;filter:saturate(.96) contrast(1.04);transition:transform .9s ease}
.dossier-teaser:hover img{transform:scale(1.03)}
.dossier-teaser-copy{display:flex;flex-direction:column;align-items:start;justify-content:center;padding:clamp(28px,5vw,72px)}
.dossier-teaser .eyebrow{color:#d6b996;margin:0 0 17px;font-size:10px}
.dossier-teaser h3{font-size:clamp(40px,4vw,62px);line-height:1.08;margin:0 0 23px;letter-spacing:-.03em;font-weight:400}
.dossier-teaser h3 em{color:#d6b996;font-weight:400}
.dossier-teaser p{font-size:14px;line-height:1.85;color:#cad0c8;margin:0 0 27px;max-width:480px}
.dossier-teaser .button{background:#d4b994;color:#14251e;min-height:50px}
.dossiers-banner{position:relative;background:linear-gradient(90deg,rgba(16,32,25,.94),rgba(16,32,25,.60) 70%),url('assets/photos/jaguar-xkrs-blue-alt.webp') center 47%/cover no-repeat;color:white;padding-bottom:100px}
.dossiers-banner .shell{position:relative;z-index:1}.dossiers-banner h1{max-width:800px}
.dossiers-banner h1 em{color:#d7b994}
.dossiers-banner .button{margin-top:25px}
.dossier-intro{background:#f6f3ec;padding:90px 0 85px}
.dossier-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.dossier-intro .serif{font-size:clamp(40px,5vw,72px);line-height:1.12;margin:12px 0}
.dossier-intro .serif em{color:#9d8360}
.dossier-intro p:not(.eyebrow){font-size:15px;line-height:1.9;color:#566158;max-width:570px}
.dossier-intro .text-cta{display:inline-flex;margin-top:15px}
.dossier-collections{background:#ebe9df;padding:20px 0 90px}
.dossier-story{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(35px,7vw,110px);align-items:center;padding:90px 0;border-bottom:1px solid rgba(31,48,40,.22)}
.dossier-story.reverse .dossier-story-photos{order:2}
.dossier-story-photos{position:relative;min-height:475px;display:flex;align-items:center;justify-content:center}
.dossier-story-photos img:first-child{width:84%;height:435px;object-fit:cover;box-shadow:0 25px 60px rgba(19,35,28,.18);border:7px solid #f6f3ec}
.dossier-story-photos img:nth-child(2){position:absolute;right:0;bottom:0;width:43%;height:218px;object-fit:cover;border:7px solid #f6f3ec;box-shadow:0 17px 39px rgba(19,35,28,.16)}
.dossier-story-content{max-width:535px}.dossier-story .eyebrow{letter-spacing:.18em;color:#8d775c}
.dossier-story .serif{font-size:clamp(42px,5vw,73px);line-height:1.06;margin:20px 0 24px;letter-spacing:-.033em;font-weight:400;color:#17291f}
.dossier-story .serif em{color:#a28668}
.dossier-story-content>p:not(.eyebrow){font-size:15px;line-height:1.96;color:#546158}
.dossier-story-content .dossier-aside{font-size:11px!important;letter-spacing:.045em;line-height:1.7!important;color:#8d8272!important;padding-left:18px;border-left:2px solid #c5af91;margin:25px 0}
.dossier-story .text-cta{display:inline-flex;margin-top:12px}
.dossier-outro{text-align:center;padding:110px 0 130px;background:#172c23;color:#f8f5e9}
.dossier-outro .eyebrow{color:#d6b996}
.dossier-outro .serif{font-size:clamp(42px,5.5vw,75px);line-height:1.1;letter-spacing:-.034em;font-weight:400;margin:25px auto}
.dossier-outro .serif em{color:#d6b996}
.dossier-outro p:not(.eyebrow){max-width:690px;margin:0 auto 30px;color:#c8d1c7;line-height:1.85}
.dossier-outro .button{margin:10px auto 0}
@media(max-width:900px){
  .dossier-teaser{grid-template-columns:1fr}.dossier-teaser-image{min-height:320px;max-height:380px}.dossier-teaser-image img{min-height:320px}.dossier-teaser-copy{padding:32px 30px 40px}
  .dossier-intro-grid{grid-template-columns:1fr;gap:18px}.dossier-intro{padding:65px 0}
  .dossier-story{grid-template-columns:1fr;gap:20px;padding:70px 0}
  .dossier-story.reverse .dossier-story-photos{order:0}
  .dossier-story-content{max-width:none}
}
@media(max-width:560px){
  .portfolio-link{gap:15px;flex-direction:column;align-items:flex-start}
  .dossier-teaser{margin:20px 0 32px}
  .dossier-teaser-image{min-height:220px;max-height:245px}.dossier-teaser-image img{min-height:220px;height:245px;object-position:center}
  .dossier-teaser h3{font-size:40px}.dossier-teaser p{font-size:13px}.dossier-teaser .button{width:100%;font-size:10px;justify-content:space-between;padding-left:17px;padding-right:17px}
  .dossiers-banner{padding-bottom:60px}.dossiers-banner h1{font-size:clamp(48px,13vw,64px)}
  .dossier-story{padding:48px 0 54px;gap:20px}
  .dossier-story-photos{min-height:280px}.dossier-story-photos img:first-child{height:265px;border-width:5px;width:87%}
  .dossier-story-photos img:nth-child(2){height:128px;width:42%;border-width:5px}
  .dossier-story .serif{font-size:46px;margin:14px 0}
  .dossier-story-content>p:not(.eyebrow){font-size:13px}
  .dossier-outro{padding:73px 0 100px}.dossier-outro .serif{font-size:44px}
}
@media(prefers-reduced-motion:reduce){.dossier-teaser-image img{transition:none}}


/* Grand Touring V3.3.8 / The Considered Diagnosis Edition */
html{scroll-padding-top:86px}
:where(a,button,input,textarea,select):focus-visible{outline:2px solid #bc9e73;outline-offset:4px}
.concierge{padding:clamp(68px,8vw,130px) 0 45px;background:#eeeae0;color:#182d24;overflow:hidden}
.concierge-shell{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(35px,6vw,90px);align-items:center}
.concierge .eyebrow{color:#897254}
.concierge-intro{padding:10px 0 12px}
.concierge-intro h2{font-size:clamp(48px,5.45vw,83px);font-weight:400;line-height:1.04;letter-spacing:-.035em;margin:24px 0 25px}
.concierge-intro h2 em{color:#a0835f;font-weight:400}
.concierge-intro>p:not(.eyebrow){font-size:15px;line-height:1.86;max-width:475px;color:#5c675c;margin-bottom:26px}
.concierge-options{border-top:1px solid #c9c6b8;margin-top:31px}
.concierge-option{font:inherit;cursor:pointer;width:100%;background:transparent;border:none;border-bottom:1px solid #c9c6b8;padding:24px 5px;display:grid;grid-template-columns:42px 1fr 22px;gap:12px;text-align:left;align-items:center;color:#25372b;transition:color .25s,background .25s,padding .25s}
.concierge-option>span:nth-child(2){font-family:Georgia,serif;font-size:clamp(19px,2.1vw,26px);line-height:1.24}
.concierge-option>.concierge-number{color:#a08462;font-size:12px;letter-spacing:.08em}
.concierge-option>span:last-child{font-size:21px;color:#ae987b;text-align:right}
.concierge-option:is(:hover,.is-selected){background:#e2dacb;color:#10271c;padding-left:13px;padding-right:13px}
.concierge-option.is-selected .concierge-number{color:#173d2c}
.concierge-intro .concierge-aside{font-size:12px!important;color:#8d897c!important;line-height:1.65!important;margin-top:20px!important}
.concierge-display{position:relative;min-height:635px;isolation:isolate;background:#193127;overflow:hidden;display:flex;align-items:flex-end}
.concierge-photo{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center;z-index:-2;filter:saturate(.85)}
.concierge-display-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,23,.10) 0%,rgba(11,31,23,.22) 29%,rgba(10,29,23,.92) 100%);z-index:-1}
.concierge-display-copy{padding:clamp(28px,4.5vw,58px);color:#fff;max-width:650px}
.concierge-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:#d2b38d}
.concierge-display h3{font-size:clamp(31px,3.4vw,48px);font-weight:400;letter-spacing:-.025em;line-height:1.17;margin:16px 0}
.concierge-display p{font-size:14px;line-height:1.88;color:#d7dfd7;max-width:480px;margin-bottom:29px}
.concierge-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;color:#1e2a21;background:#d4b995;padding:18px 21px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;text-decoration:none;transition:background .2s,transform .2s}
.concierge-link:hover{background:#f0d3ac;transform:translateY(-2px)}
.concierge-footnote{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c5c2b5;margin-top:39px;padding-top:24px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#6e756c}
.concierge-jump{display:inline-flex;gap:20px;align-items:center;margin-top:28px;font-size:12px;letter-spacing:.04em;color:#263b2c;text-decoration:none;border-bottom:1px solid #ad9676;padding-bottom:10px}
.concierge-jump span{color:#957c5b}
.dossier-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:43px;background:#c9c6bb;border:1px solid #c9c6bb}
.dossier-index a{display:flex;align-items:center;gap:10px;min-height:88px;background:#f6f3ec;padding:20px;color:#24372d;text-decoration:none;font:15px Georgia,serif;transition:background .2s}
.dossier-index a:hover{background:#e6ddcd}
.dossier-index a span{color:#9c8261;font:10px system-ui,sans-serif;letter-spacing:.08em}
.dossier-index a b{margin-left:auto;font-size:17px;color:#a18360;font-weight:400}
.dossier-story{scroll-margin-top:100px}
.service-route-note{margin-top:44px;padding:32px 36px;background:#eae7dc;display:flex;align-items:center;gap:18px;justify-content:space-between}
.service-route-note p{font:22px Georgia,serif;color:#193027;margin:0}
.service-route-note .text-cta{margin:0;white-space:nowrap}
@media(max-width:1000px){.concierge-shell{grid-template-columns:1fr;gap:36px}.concierge-intro h2{max-width:750px}.concierge-intro>p:not(.eyebrow){max-width:720px}.concierge-display{min-height:500px}.dossier-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .concierge{padding:68px 0 27px}
 .concierge-intro h2{font-size:clamp(44px,11.2vw,59px);margin:16px 0 19px}
 .concierge-intro>p:not(.eyebrow){font-size:13px;line-height:1.8;margin-bottom:15px}
 .concierge-options{margin-top:21px}
 .concierge-option{grid-template-columns:27px 1fr 16px;gap:7px;padding:18px 2px}
 .concierge-option>span:nth-child(2){font-size:19px}
 .concierge-option>span:last-child{font-size:17px}
 .concierge-option:is(:hover,.is-selected){padding-left:8px;padding-right:8px}
 .concierge-display{min-height:430px}
 .concierge-display-copy{padding:28px 24px 31px}
 .concierge-display h3{font-size:34px}
 .concierge-display p{font-size:12px;line-height:1.75}
 .concierge-link{width:100%;justify-content:space-between;font-size:10px}
 .concierge-footnote{display:grid;grid-template-columns:1fr;gap:12px;font-size:9px;margin-top:26px;padding-top:20px}
 .dossier-index{grid-template-columns:1fr 1fr;margin-top:24px}
 .dossier-index a{min-height:73px;padding:13px 10px;gap:5px;font-size:12px}
 .dossier-index a b{font-size:13px}
 .service-route-note{flex-direction:column;align-items:flex-start;gap:10px;padding:25px 20px}
 .service-route-note p{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.concierge-option,.concierge-link{transition:none}}


/* V3.3.9 / Grand Touring: quiet detail and stronger accessibility */
.rpi-faq{background:#eeeae0;padding:clamp(74px,8.5vw,125px) 0;color:#20352b}
.faq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,120px);align-items:start}
.faq-heading{position:sticky;top:115px}
.faq-heading .eyebrow{color:#977f5e}
.faq-heading h2{font-size:clamp(44px,5vw,76px);font-weight:400;line-height:1.07;margin:17px 0 24px;letter-spacing:-.035em}
.faq-heading h2 em{color:#a18360;font-weight:400}
.faq-heading>p:not(.eyebrow){font-size:14px;color:#68736a;line-height:1.9;max-width:400px}
.faq-heading .text-cta{margin-top:23px;display:inline-flex}
.faq-questions{border-top:1px solid #c5c6b9}
.faq-questions details{border-bottom:1px solid #c5c6b9}
.faq-questions summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;padding:26px 0;font:400 clamp(21px,2.5vw,30px)/1.25 var(--serif);color:#243c30}
.faq-questions summary::-webkit-details-marker{display:none}
.faq-plus{font:300 31px/1 var(--sans);width:32px;flex:none;text-align:center;color:#aa8e65;transition:transform .24s}
.faq-questions details[open] .faq-plus{transform:rotate(45deg)}
.faq-questions details>p{font-size:14px;line-height:1.85;color:#5d6d63;margin:-4px 40px 27px 0;max-width:590px}
.faq-questions summary:hover{color:#8b704f}
.faq-questions summary:focus-visible{outline:2px solid #a7885f;outline-offset:4px}
body.nav-open .mobile-fixed-cta,body:has(.lightbox.open) .mobile-fixed-cta{visibility:hidden;pointer-events:none}
.lightbox-photo-status{font:12px var(--sans);color:#f0eee6;text-align:center;margin-top:10px}
/* Make touch targets usable without altering the period styling */
.mobile-nav a{min-height:49px}
@media(max-width:900px){.faq-layout{grid-template-columns:1fr;gap:35px}.faq-heading{position:static}}
@media(max-width:620px){.rpi-faq{padding:66px 0 80px}.faq-heading h2{font-size:clamp(45px,12vw,61px);margin:15px 0}.faq-heading>p:not(.eyebrow){font-size:13px}.faq-questions summary{font-size:23px;padding:21px 0}.faq-questions details>p{font-size:13px;margin-right:15px}.faq-plus{font-size:27px}}
@media(prefers-reduced-motion:reduce){.faq-plus{transition:none}}

body.photo-open .mobile-fixed-cta{visibility:hidden;pointer-events:none}
/* A smaller floating invitation keeps mobile archive and reading content unobstructed. */
@media(max-width:620px){
 .mobile-fixed-cta{left:auto;right:max(12px,env(safe-area-inset-right));width:auto;min-height:46px;max-width:calc(100vw - 24px);padding:0 15px;gap:15px;font-size:9px;letter-spacing:.105em;box-shadow:0 10px 24px rgba(10,20,13,.18)}
}

/* V3.3.10 | Grand Touring / The Curated Archive. Original palette and header preserved. */
.archive-gateway{margin:56px 0 42px}
.archive-gateway-heading{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:28px}
.archive-gateway-heading h3{font:400 clamp(40px,4.3vw,62px)/1.08 var(--serif);letter-spacing:-.025em;margin:12px 0 0;color:#172b22}
.archive-gateway-heading h3 em{color:#a08260;font-weight:400}
.archive-gateway-heading>p{font-size:13px;line-height:1.75;color:#687467;max-width:345px;margin:0 0 4px}
.archive-collections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.archive-collection{cursor:pointer;min-width:0;border:1px solid transparent;position:relative;background:#14261f;color:white;text-align:left;min-height:clamp(280px,26vw,400px);padding:0;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;transition:transform .24s,border-color .24s}
.archive-collection img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;filter:saturate(.81);transition:transform .65s cubic-bezier(.2,.65,.25,1),filter .4s}
.archive-collection-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,24,18,.36),rgba(9,24,18,.04) 34%,rgba(9,24,18,.87) 100%)}
.archive-collection:is(:hover,:focus-visible){border-color:#d7ba91;transform:translateY(-3px)}
.archive-collection:is(:hover,:focus-visible) img{transform:scale(1.055);filter:saturate(1)}
.archive-collection[aria-pressed=true]{border:2px solid #c9a878}
.archive-collection-top{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;font:11px var(--sans);letter-spacing:.2em;color:#e1d0b3}
.archive-collection-top span{font-size:20px}
.archive-collection-bottom{display:flex;flex-direction:column;gap:10px;padding:0 21px 27px}
.archive-collection-bottom strong{font:400 clamp(23px,2.3vw,32px)/1.08 var(--serif);letter-spacing:-.018em}
.archive-collection-bottom small{font:10px var(--sans);text-transform:uppercase;letter-spacing:.17em;color:#dbc9a9}
.archive-gateway-tail{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0 0;border-bottom:1px solid #c7c7bb;padding-bottom:19px}
.archive-gateway-tail>span{font:10px var(--sans);text-transform:uppercase;letter-spacing:.17em;color:#787e71}
.archive-gateway-tail button{font:10px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#24382c;border:0;border-bottom:1px solid #a78b69;cursor:pointer;background:transparent;padding:7px 0;display:inline-flex;gap:32px;align-items:center}
.archive-gateway-tail button:hover{color:#987b57}
.gallery-grid{grid-auto-flow:row dense}
.gallery-visual{display:block;overflow:hidden;position:relative;min-width:0}
.gallery-visual img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:1.35;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.gallery-card:hover .gallery-visual img,.gallery-card:focus-visible .gallery-visual img{transform:scale(1.035)}
.gallery-card-index{position:absolute;top:14px;left:15px;background:rgba(16,34,27,.74);color:#ebe2d1;padding:8px 10px;font:10px var(--sans);letter-spacing:.17em}
.gallery-card.is-featured{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column}
.gallery-card.is-featured .gallery-visual{flex:1;min-height:450px}
.gallery-card.is-featured img{aspect-ratio:auto;height:100%}
.gallery-card.is-featured .gallery-text{padding:24px}
.gallery-card.is-featured .gallery-text strong{font-size:clamp(29px,3vw,42px)}
.lightbox{background:rgba(11,24,19,.98);padding:64px 88px 45px}
.lightbox-content{width:min(1120px,100%);max-height:calc(100dvh - 106px)}
.lightbox-content>img{height:min(59dvh,700px);max-height:min(59dvh,700px);width:100%;object-fit:contain;flex:none}
.lightbox-caption{font:400 clamp(27px,3vw,40px)/1.08 var(--serif);color:#f3eee4;margin-top:14px}
.lightbox-meta{color:#bda680;font:10px var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:8px 0 17px}
.lightbox-rail{display:flex;gap:8px;justify-content:center;align-items:center;width:100%;min-height:62px;max-width:490px;overflow:hidden}
.lightbox-thumb{border:1px solid rgba(255,255,255,.21);padding:2px;background:transparent;width:74px;height:58px;cursor:pointer;opacity:.62;transition:opacity .2s,border-color .2s;flex:none}
.lightbox-thumb img{object-fit:cover;width:100%;height:100%;max-height:none;display:block}
.lightbox-thumb.active,.lightbox-thumb:hover,.lightbox-thumb:focus-visible{opacity:1;border-color:#d8b58b}
.lightbox-credit{color:#999f92;text-align:center;font:9px var(--sans);text-transform:uppercase;letter-spacing:.16em;margin:17px 0 0}
.lightbox .lightbox-help{font-size:11px;color:#a8aca2}
.lightbox-close{top:20px;right:24px}.lightbox-prev{left:24px}.lightbox-next{right:24px}
@media(max-width:1050px){.archive-collections{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-collection{min-height:320px}.archive-gateway-heading{align-items:start}}
@media(max-width:650px){
 .archive-gateway{margin:45px 0 32px}.archive-gateway-heading{display:block;margin-bottom:20px}
 .archive-gateway-heading h3{font-size:clamp(39px,10.4vw,53px)}
 .archive-gateway-heading>p{margin-top:15px;font-size:13px}
 .archive-collections{gap:8px}.archive-collection{min-height:230px}
 .archive-collection-top{padding:12px;font-size:10px}.archive-collection-bottom{padding:0 12px 17px;gap:7px}
 .archive-collection-bottom strong{font-size:clamp(20px,5.8vw,26px)}
 .archive-collection-bottom small{font-size:8px;line-height:1.4;letter-spacing:.11em}
 .archive-gateway-tail{flex-direction:column;align-items:flex-start;gap:5px}
 .gallery-card.is-featured{grid-column:auto;grid-row:auto}
 .gallery-card.is-featured .gallery-visual{min-height:0;flex:auto}
 .gallery-card.is-featured .gallery-visual img{aspect-ratio:1.25;height:auto}
 .gallery-card.is-featured .gallery-text{padding:17px}
 .gallery-card.is-featured .gallery-text strong{font-size:26px}
 .lightbox{padding:64px 13px 28px;align-items:center}
 .lightbox-content{max-height:calc(100dvh - 90px)}
 .lightbox-content>img{height:min(53dvh,540px);max-height:min(53dvh,540px)}
 .lightbox-prev{left:8px;top:44%;z-index:1}.lightbox-next{right:8px;top:44%;z-index:1}
 .lightbox-caption{font-size:29px;margin-top:14px}.lightbox-meta{font-size:9px}
 .lightbox-rail{gap:5px;min-height:51px;max-width:320px}
 .lightbox-thumb{width:57px;height:46px}
 .lightbox-credit{font-size:8px;line-height:1.5;margin-top:12px}
}
@media(max-width:360px){.archive-collection{min-height:195px}.archive-collection-bottom strong{font-size:18px}.lightbox-thumb{width:50px;height:42px}}
@media(prefers-reduced-motion:reduce){.archive-collection,.archive-collection img,.gallery-visual img,.lightbox-thumb{transition:none}}
/* Keep mobile viewer arrows compact, overriding older bottom-offset rules. */
@media(max-width:650px){.lightbox-prev,.lightbox-next{bottom:auto;height:48px;display:grid;place-items:center}.lightbox-close{height:44px;min-height:44px}}


/* Grand Touring V3.3.11 — a deliberate, photo-led diagnostic method */
.method-band{background:#eae8df;color:#23352c;overflow:hidden;padding:112px 0 120px}
.method-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(52px,6.5vw,112px);align-items:center}
.method-visual{position:relative;min-height:670px;background:#182a23;overflow:hidden}
.method-visual>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center;filter:saturate(.76) contrast(1.03);transform:scale(1.01);transition:transform .7s ease}
.method-visual:hover>img{transform:scale(1.055)}
.method-visual::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(0deg,rgba(15,31,26,.83),transparent)}
.method-photo-border{position:absolute;z-index:1;inset:19px;border:1px solid rgba(240,232,211,.45);pointer-events:none}
.method-photo-footer{position:absolute;left:47px;right:47px;bottom:39px;z-index:2;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:#e4d8be;font-size:9px;line-height:1.5;letter-spacing:.15em;text-transform:uppercase}
.method-photo-footer span:last-child{color:#e6e6dd;opacity:.78}
.method-copy .eyebrow{margin-bottom:27px}
.method-copy h2{font-size:clamp(53px,5vw,76px);line-height:1.02;margin-bottom:26px}
.method-copy h2 em{color:#9a805e}
.method-lead{color:#59665a;font-size:15px;line-height:1.85;max-width:520px;margin-bottom:31px}
.method-steps{border-top:1px solid rgba(36,53,43,.2);margin-bottom:32px}
.method-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:24px 0 23px;border-bottom:1px solid rgba(36,53,43,.18)}
.method-num{font-family:var(--serif);font-size:23px;line-height:1.2;color:#a18a6a;font-variant-numeric:tabular-nums}
.method-step h3{font-family:var(--serif);font-size:clamp(25px,2vw,32px);line-height:1.15;margin:0 0 8px;color:#1e3429}
.method-step p{color:#6c7369;font-size:12px;line-height:1.8;margin:0;max-width:410px}
.method-copy .text-cta{color:#21362c}
@media(min-width:901px) and (max-width:1200px){.method-band{padding:85px 0}.method-visual{min-height:590px}.method-grid{gap:55px}}
@media(max-width:900px){.method-band{padding:80px 0 90px}.method-grid{grid-template-columns:1fr;gap:40px}.method-copy{order:0}.method-visual{order:1;min-height:450px}.method-copy h2{font-size:clamp(49px,7vw,72px)}.method-lead{margin-bottom:24px}}
@media(max-width:620px){.method-band{padding:66px 0 72px}.method-grid{gap:31px}.method-copy .eyebrow{font-size:9px;margin-bottom:19px}.method-copy h2{font-size:clamp(45px,10.5vw,61px);margin-bottom:22px}.method-lead{font-size:13px;line-height:1.76;margin-bottom:25px}.method-step{grid-template-columns:39px minmax(0,1fr);gap:9px;padding:17px 0 18px}.method-num{font-size:20px}.method-step h3{font-size:27px}.method-step p{font-size:12px;line-height:1.65}.method-copy .text-cta{font-size:9px}.method-visual{min-height:330px}.method-photo-border{inset:12px}.method-photo-footer{left:25px;right:25px;bottom:23px;flex-direction:column;gap:6px;font-size:8px}}
@media(max-width:360px){.method-copy h2{font-size:42px}.method-visual{min-height:270px}.method-step h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.method-visual>img{transition:none}}


/* V3.3.12 — Grand Touring editorial wayfinding & usability */
:root{--anchor-offset:114px}
html{scroll-padding-top:var(--anchor-offset)}
section[id],main [id]:target,.gallery-heading,#browse-archive,#choose-concern{scroll-margin-top:var(--anchor-offset)}
.portfolio-disciplines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(233,225,202,.28);border-bottom:1px solid rgba(233,225,202,.28);margin:26px 0 0;gap:0}
.portfolio-discipline{display:flex;min-width:0;gap:12px;align-items:baseline;justify-content:flex-start;padding:19px 13px 20px;color:#f4efe4;border-right:1px solid rgba(233,225,202,.20);transition:background .25s ease,color .25s ease}
.portfolio-discipline:first-child{padding-left:0}
.portfolio-discipline:last-child{border-right:0;padding-right:0}
.portfolio-discipline-num{color:#c3a980;font-size:10px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.portfolio-discipline-name{font-family:var(--serif);font-size:clamp(15px,1.5vw,22px);line-height:1.15;letter-spacing:-.015em}
.portfolio-discipline-arrow{font-size:14px;color:#d9ba93;margin-left:auto;transition:transform .25s ease}
.portfolio-discipline:hover,.portfolio-discipline:focus-visible{background:rgba(220,198,164,.08);color:white}
.portfolio-discipline:hover .portfolio-discipline-arrow,.portfolio-discipline:focus-visible .portfolio-discipline-arrow{transform:translate(2px,-2px)}
@media(max-width:1050px){.portfolio-disciplines{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-discipline{border-right:0;border-bottom:1px solid rgba(233,225,202,.18)}.portfolio-discipline:nth-child(odd){border-right:1px solid rgba(233,225,202,.18)}.portfolio-discipline:nth-last-child(-n+2){border-bottom:0}.portfolio-discipline:first-child{padding-left:13px}.portfolio-discipline:last-child{padding-right:13px}}
@media(max-width:620px){:root{--anchor-offset:88px}.portfolio-disciplines{margin-top:19px}.portfolio-discipline{min-height:68px;align-items:center;gap:8px;padding:12px 8px}.portfolio-discipline:first-child{padding-left:8px}.portfolio-discipline:last-child{padding-right:8px}.portfolio-discipline-num{font-size:9px}.portfolio-discipline-name{font-size:clamp(16px,4.3vw,21px)}.portfolio-discipline-arrow{font-size:13px}.mobile-fixed-cta{bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));min-height:45px;border:1px solid rgba(45,53,41,.15)}body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}}
@media(max-width:350px){.portfolio-discipline{gap:6px}.portfolio-discipline-name{font-size:15px}}
@media(prefers-reduced-motion:reduce){.portfolio-discipline,.portfolio-discipline-arrow{transition:none}}


/* V3.3.13 — Editorial page chapters & phone-first polish */
.chapters{position:relative;background:#e9e7df;color:#172b23;border-bottom:1px solid rgba(30,48,38,.15)}
.chapters-inner{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:stretch;gap:38px}
.chapters-label{display:flex;align-items:center;margin:0;color:#886f52;font-size:9px;line-height:1.4;letter-spacing:.21em;text-transform:uppercase;white-space:nowrap}
.chapters-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}
.chapter-link{position:relative;min-width:0;min-height:115px;display:grid;grid-template-columns:20px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:20px 13px;border-left:1px solid rgba(32,49,39,.13);transition:background-color .24s ease}
.chapter-link:last-child{border-right:1px solid rgba(32,49,39,.13)}
.chapter-number{color:#a88c6b;align-self:center;font-family:var(--serif);font-size:14px;line-height:1}
.chapter-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.chapter-copy strong{font-family:var(--serif);font-weight:400;font-size:clamp(18px,1.6vw,25px);line-height:1.15;letter-spacing:-.02em}
.chapter-copy small{font-size:9px;color:#6d766d;line-height:1.5;letter-spacing:.03em}
.chapter-arrow{color:#a68b6c;font-size:14px;align-self:center;transition:transform .24s ease}
.chapter-link:hover,.chapter-link:focus-visible{background:#e0ded5}
.chapter-link:hover .chapter-arrow,.chapter-link:focus-visible .chapter-arrow{transform:translate(2px,2px)}
.chapter-link:focus-visible{outline:2px solid #92704a;outline-offset:-3px}
/* There is no reason to obscure contact form inputs with a second booking CTA. */
.contact-page .mobile-fixed-cta{display:none!important}
@media(max-width:1200px){.chapters-inner{grid-template-columns:115px minmax(0,1fr);gap:12px}.chapter-link{padding-inline:9px;gap:7px;grid-template-columns:17px minmax(0,1fr) 12px}.chapter-copy strong{font-size:19px}}
@media(max-width:900px){.chapters-inner{display:block;padding-top:20px}.chapters-label{padding-bottom:15px}.chapters-links{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-link{min-height:93px;border-top:1px solid rgba(32,49,39,.13)}.chapter-link:nth-child(2n){border-right:1px solid rgba(32,49,39,.13)}.chapter-link:last-child,.chapter-link:nth-last-child(2){border-bottom:0}.chapter-copy strong{font-size:clamp(19px,3vw,24px)}}
@media(max-width:620px){.chapters-inner{padding-top:17px}.chapters-label{font-size:8px;padding-bottom:12px}.chapter-link{min-height:82px;padding:13px 7px;gap:7px;grid-template-columns:15px minmax(0,1fr) 11px}.chapter-number{font-size:12px}.chapter-copy{gap:5px}.chapter-copy strong{font-size:clamp(16px,4.7vw,21px)}.chapter-copy small{font-size:8px;line-height:1.25}.chapter-arrow{font-size:12px}}
@media(max-width:360px){.chapter-link{padding-inline:5px;gap:5px;grid-template-columns:13px minmax(0,1fr) 11px}.chapter-copy strong{font-size:16px}.chapter-copy small{font-size:7.5px}}
@media(prefers-reduced-motion:reduce){.chapter-link,.chapter-arrow{transition:none}}


/* Grand Touring V3.3.14 — direct contact and customer-initiated email draft */
.utility-call,.utility-call-small{color:#e3cda7;text-underline-offset:3px;text-decoration-thickness:1px}
.utility-call:hover,.utility-call-small:hover{color:#fff}
.utility-call-small{display:none}
.footer-email{overflow-wrap:anywhere;line-height:1.5}
.footer-call,.footer-email{color:#ead9b7!important}
.footer-bottom-call{font-size:11px;color:#e1d2b9;text-decoration:underline;text-underline-offset:3px}
.contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 17px}
.contact-channel{display:flex;position:relative;flex-direction:column;align-items:flex-start;min-width:0;min-height:150px;gap:6px;padding:18px 17px 20px;background:#eeece3;border:1px solid rgba(41,59,46,.16);color:#22392c;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.contact-channel:hover,.contact-channel:focus-visible{background:#e3dfd3;border-color:#a78c64;transform:translateY(-2px)}
.contact-channel small{color:#a28a6b;font-size:8px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase}
.contact-channel strong{font-family:var(--serif);font-weight:normal;font-size:clamp(22px,2.6vw,30px);line-height:1.18;letter-spacing:-.025em}
.contact-channel span{font-size:11px;line-height:1.5;overflow-wrap:anywhere;max-width:100%;color:#596c5b}
.contact-channel i{position:absolute;top:15px;right:15px;font-size:14px;font-style:normal;color:#9b7c56}
.contact-or{font-size:10px!important;letter-spacing:.10em;text-transform:uppercase;text-align:center;color:#718075;margin:10px 0 28px!important}
.contact-direct-note{font-size:13px!important;margin-top:24px;color:#546354;line-height:1.7}
.contact-direct-note a{font-weight:700;text-decoration:underline;text-underline-offset:3px;color:#263e30}
.prepared-enquiry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin:23px 0 9px}
.prepared-enquiry-actions .prepared-mail{display:inline-flex;justify-content:center;min-height:48px;align-items:center}
.copy-enquiry-button{border:1px solid #cbb9a0;padding:15px 19px;min-height:48px;color:#233a2d;font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:transparent}
.copy-enquiry-button:is(:hover,:focus-visible){background:#ece7dd}
.enquiry-feedback{min-height:18px;font-size:11px;line-height:1.6;color:#496b53;margin:0 0 8px}
.draft-help{font-size:11px;line-height:1.75;color:#73796f;margin-top:18px;overflow-wrap:anywhere}
.closing-email{display:block;color:#ead5b6;margin:19px auto 0;font-size:11px;letter-spacing:.10em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.utility-call-small{display:inline-flex;margin-left:auto;font-size:10px}.utility .shell span:first-child{display:none}}
@media(max-width:620px){.utility .shell{justify-content:center}.utility-call-small{margin:0;font-size:10px;letter-spacing:.07em}.contact-channels{gap:9px}.contact-channel{min-height:139px;padding:16px 12px 15px}.contact-channel strong{font-size:24px}.contact-channel span{font-size:9.5px}.contact-channel small{font-size:7.5px}.contact-or{font-size:9px!important}.prepared-enquiry-actions{display:grid;gap:8px}.prepared-enquiry-actions .prepared-mail,.prepared-enquiry-actions .copy-enquiry-button{width:100%}.footer-bottom-call{font-size:12px}}
@media(max-width:360px){.contact-channels{grid-template-columns:1fr}.contact-channel{min-height:115px}.contact-channel strong{font-size:25px}.contact-channel span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.contact-channel{transition:none}}


/* V3.3.15 · Grand Touring / Services editorial edition */
.service-pathways{background:#182a23;color:#f9f6ee;padding:clamp(70px,8vw,112px) 0 clamp(76px,8vw,110px);overflow:hidden}
.service-pathways-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.6fr);gap:clamp(30px,5vw,85px);align-items:end;margin-bottom:42px}
.service-pathways-heading .eyebrow{color:#c5ae8d}
.service-pathways-heading h2{font-size:clamp(48px,5vw,78px);line-height:1.04;letter-spacing:-.035em;margin:18px 0 0}
.service-pathways-heading h2 em,.service-pathway h3 em{font-style:italic;color:#d1b38a;font-weight:400}
.service-pathways-heading>p{font-size:14px;line-height:1.85;max-width:365px;color:#c4cdc5;margin:0 0 6px}
.service-pathway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-pathway{position:relative;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;min-height:415px;padding:27px 26px 29px;overflow:hidden;background:#223a2f;color:#fff;transition:transform .28s ease}
.service-pathway>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.81) brightness(.87);transition:transform .65s cubic-bezier(.18,.5,.2,1),filter .35s}
.service-pathway-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,38,30,.64),rgba(17,38,30,.06) 33%,rgba(12,29,22,.93) 94%)}
.service-pathway:hover>img,.service-pathway:focus-visible>img{transform:scale(1.055);filter:saturate(.93) brightness(.91)}
.service-pathway-top,.service-pathway-copy>span:first-child{font:500 9px/1.7 var(--sans);letter-spacing:.19em;text-transform:uppercase;color:#eee4d3}
.service-pathway-copy h3{font:400 clamp(37px,3.8vw,56px)/1.02 var(--serif);letter-spacing:-.04em;margin:17px 0 22px}
.service-pathway-go{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:15px;border-top:1px solid rgba(246,237,219,.48);font:600 10px/1.35 var(--sans);text-transform:uppercase;letter-spacing:.15em;color:#f3eee2}
.service-pathway-go span{font-size:19px;font-weight:400;color:#dcc197}
.service-pathways-hint{display:none}
.service-detail{scroll-margin-top:104px}
.detail-pic{position:relative;isolation:isolate}
.detail-pic img{transition:transform .65s cubic-bezier(.18,.5,.2,1)}
.service-detail:hover .detail-pic img{transform:scale(1.035)}
.detail-archive-tag{position:absolute;left:0;right:0;bottom:0;padding:24px 20px 15px;background:linear-gradient(0deg,rgba(9,27,19,.74),transparent);color:#f8f2e8;font:500 9px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.18em}
.service-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 23px;margin-top:18px}
.service-detail-actions .text-cta{margin-top:0}
.service-archive-link{border-bottom:1px solid #b6a084;color:#6c6e60;font-size:11px;letter-spacing:.035em;display:inline-flex;gap:18px;align-items:center;padding:8px 0}
.service-archive-link span{color:#99805e}
.service-archive-link:hover{color:#173a2a}
@media(max-width:950px){.service-pathways-heading{grid-template-columns:1fr;gap:22px}.service-pathways-heading>p{max-width:640px}.service-pathway{padding:21px 18px;min-height:360px}.service-pathway-copy h3{font-size:clamp(31px,4.5vw,47px)}}
@media(max-width:680px){.service-pathways{padding:62px 0 70px}.service-pathways-heading{gap:15px;margin-bottom:27px}.service-pathways-heading h2{font-size:clamp(45px,11.7vw,61px);margin-top:13px}.service-pathways-heading>p{font-size:12px;line-height:1.8}.service-pathway-grid{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:18px;scrollbar-width:none;margin-right:-18px;padding-right:18px;-webkit-overflow-scrolling:touch;gap:12px}.service-pathway-grid::-webkit-scrollbar{display:none}.service-pathway{flex:0 0 min(78vw,335px);min-height:390px;scroll-snap-align:start;padding:23px 21px 26px}.service-pathway-copy h3{font-size:44px}.service-pathways-hint{display:block;margin:18px 0 0;color:#d1c6b4;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.service-pathways-hint span{margin-left:7px}.service-detail-actions{align-items:flex-start;gap:16px;flex-direction:column}}
@media(max-width:360px){.service-pathway{min-height:350px;flex-basis:82vw}.service-pathway-copy h3{font-size:38px}}
@media(prefers-reduced-motion:reduce){.service-pathway,.service-pathway>img,.detail-pic img{transition:none}}


/* Grand Touring V3.3.16 · mobile editorial controls and technical proof story */
.service-pathway-controls{display:none}
.about-evidence{background:#192d24;color:#f6f2e9;padding:clamp(80px,10vw,145px) 0;overflow:hidden}
.about-evidence-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.8fr);gap:clamp(50px,8vw,130px);align-items:center}
.about-evidence-images{position:relative;min-height:600px;padding:0 65px 65px 0}
.about-evidence figure{margin:0;position:relative;background:#364f43;overflow:hidden}
.about-evidence img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.84)}
.about-evidence-main{height:560px}
.about-evidence-inset{position:absolute!important;right:0;bottom:0;width:56%;height:275px;border:7px solid #192d24}
.about-evidence figcaption{position:absolute;left:0;bottom:0;right:0;padding:30px 18px 14px;background:linear-gradient(transparent,rgba(8,25,17,.88));font:500 9px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.2em;color:#f5ece0}
.about-evidence-copy .eyebrow{color:#d0b48b}
.about-evidence-copy h2{font-size:clamp(50px,5.3vw,83px);line-height:1.04;letter-spacing:-.036em;margin:24px 0 30px}
.about-evidence-copy h2 em{font-weight:400;color:#d0b48b}
.about-evidence-copy p:not(.eyebrow){color:#d3dad3;line-height:1.9;font-size:15px;max-width:470px;margin:0 0 23px}
.about-evidence-link{display:inline-flex;justify-content:space-between;align-items:center;gap:33px;color:#e3d0b4;border-bottom:1px solid #ba9f76;padding:17px 0 13px;margin-top:10px;font:600 10px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.about-evidence-link:hover{color:#fff}
.about-evidence-copy small{display:block;max-width:410px;color:#adb7ab;font-size:11px;line-height:1.7;margin-top:38px}
@media(max-width:950px){.about-evidence-shell{gap:40px;grid-template-columns:1fr 1fr}.about-evidence-images{min-height:480px;padding:0 30px 45px 0}.about-evidence-main{height:470px}.about-evidence-inset{height:215px;width:57%}.about-evidence-copy h2{font-size:clamp(43px,5vw,60px)}}
@media(max-width:680px){.service-pathway-controls{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-top:15px}.service-pathway-count{white-space:nowrap;font:500 11px/1.4 var(--sans);letter-spacing:.14em;color:#d8c5a8}.service-pathway-count-current{font-size:17px;color:#f5eee0}.service-pathway-count-separator{opacity:.6}.service-pathway-swipe{display:block;color:#bbc9be;font:500 9px/1.45 var(--sans);letter-spacing:.06em;margin-top:4px;text-transform:uppercase}.service-pathway-progress{display:flex;flex:1;max-width:83px;gap:5px}.service-pathway-progress span{height:2px;flex:1;background:rgba(245,238,224,.25);transition:background .2s}.service-pathway-progress span.is-active{background:#d7b994}.service-pathway-arrows{display:flex;gap:6px}.service-pathway-arrows button{display:grid;place-items:center;width:43px;height:43px;background:transparent;border:1px solid rgba(232,215,189,.6);color:#e7d5bc;font-size:19px;cursor:pointer}.service-pathway-arrows button:disabled{opacity:.35;cursor:default}.service-pathway-arrows button:focus-visible{outline:2px solid #fff;outline-offset:3px}.service-pathways-hint{display:none}.about-evidence{padding:70px 0 78px}.about-evidence-shell{display:flex;flex-direction:column;gap:42px}.about-evidence-images{width:100%;min-height:0;padding:0 25px 45px 0}.about-evidence-main{height:clamp(340px,105vw,490px)}.about-evidence-inset{width:55%;height:clamp(160px,51vw,235px);border-width:5px}.about-evidence-copy{width:100%}.about-evidence-copy h2{font-size:clamp(50px,12vw,66px);margin:17px 0 24px}.about-evidence-copy p:not(.eyebrow){font-size:13px;line-height:1.85;margin-bottom:18px}.about-evidence-copy small{margin-top:30px}}
@media(max-width:360px){.service-pathway-progress{max-width:52px}.service-pathway-arrows button{width:39px;height:39px}.about-evidence-copy h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.service-pathway-progress span{transition:none}}
/* A quieter floating enquiry tab: keeps reading space free on small phones. */
@media(max-width:620px){
 .mobile-fixed-cta{min-height:42px;min-width:0;max-width:145px;padding:0 13px;gap:8px;font-size:0!important;letter-spacing:0!important;background:#cbb18d;box-shadow:0 5px 18px rgba(12,28,20,.16)}
 .mobile-fixed-cta::before{content:"Enquire";display:inline-block;font:600 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
 .mobile-fixed-cta span{font-size:17px;line-height:1}
}


/* Grand Touring V3.3.17 · A direct, considered path from archive to enquiry */
.archive-bridge{background:#192d24;color:#f5f0e5;padding:clamp(70px,9vw,140px) 0;overflow:hidden}
.archive-bridge-shell{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);align-items:center;gap:clamp(46px,7.6vw,128px)}
.archive-bridge-visual{position:relative;min-height:610px;background:#324a3b;overflow:hidden}
.archive-bridge-visual img{display:block;width:100%;height:100%;min-height:610px;object-fit:cover;filter:saturate(.74) contrast(1.03)}
.archive-bridge-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,34,25,.03),rgba(14,34,25,.75))}
.archive-bridge-number,.archive-bridge-photo-note{position:absolute;z-index:1;color:#e6d4b5;font:500 10px/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.archive-bridge-number{top:28px;left:30px}.archive-bridge-photo-note{bottom:24px;left:30px;right:20px}
.archive-bridge-copy .eyebrow{color:#ccb08b}
.archive-bridge-copy h2{font-size:clamp(45px,4.9vw,76px);letter-spacing:-.036em;line-height:1.06;margin:22px 0 28px;max-width:650px}
.archive-bridge-copy h2 em{color:#d7b68c;font-weight:400}
.archive-bridge-copy>p:not(.eyebrow){font:400 15px/1.85 var(--sans);color:#cdd7cc;max-width:540px;margin:0 0 33px}
.archive-bridge-choices{border-top:1px solid rgba(215,190,149,.36);max-width:570px}
.archive-bridge-choices>a{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:17px;min-height:68px;border-bottom:1px solid rgba(215,190,149,.36);text-decoration:none;color:#efe9db;font:400 clamp(17px,1.65vw,24px)/1.3 var(--serif);transition:background .2s,padding .2s}
.archive-bridge-choices>a:hover,.archive-bridge-choices>a:focus-visible{padding-left:12px;background:rgba(232,207,164,.07)}
.archive-bridge-choices>a>span:last-child{color:#d7b68c;font:400 20px/1 var(--sans)}
.archive-bridge-item-number{color:#cbb08d;font:500 10px/1 var(--sans);letter-spacing:.1em}
.archive-bridge-direct{display:flex;gap:24px;flex-wrap:wrap;margin:28px 0 20px}
.archive-bridge-direct a{font:600 10px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#e8d5b9;text-underline-offset:7px;text-decoration-thickness:1px}
.archive-bridge-copy small{display:block;color:#b6c1b4;font:400 11px/1.7 var(--sans);max-width:540px}
.lightbox-enquire{display:flex;justify-content:center;align-items:center;gap:14px;width:max-content;max-width:95%;margin:17px auto 6px;padding:10px 16px;color:#e7d1b1;border:1px solid rgba(216,185,143,.55);font:600 10px/1.4 var(--sans);letter-spacing:.13em;text-transform:uppercase;text-decoration:none}
.lightbox-enquire:hover,.lightbox-enquire:focus-visible{background:#d3b58d;color:#12261a}
.archive-contact-context{border:1px solid #c3ae90;background:#eee6d6;color:#1d3329;padding:20px 23px;margin:0 0 25px}
.archive-contact-context[hidden]{display:none!important}
.archive-contact-context-eyebrow{display:block;color:#775f43;text-transform:uppercase;letter-spacing:.14em;font:600 10px/1.4 var(--sans);margin-bottom:9px}
.archive-contact-context strong{font:400 clamp(23px,3.2vw,34px)/1.15 var(--serif);display:block}
.archive-contact-context p{font:400 12px/1.7 var(--sans);color:#4f5f52;margin:12px 0}
.archive-contact-context a{font:600 10px/1.4 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#253d2c;text-decoration:underline;text-underline-offset:4px}
.dossier-contact-link{display:inline-flex;align-items:center;gap:17px;margin-top:20px;padding-bottom:10px;border-bottom:1px solid #bc9e71;color:#243a2e;font:600 10px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase}
#rpi-contact-form,#archive-next-step{scroll-margin-top:105px}
@media(max-width:920px){.archive-bridge-shell{grid-template-columns:1fr 1fr;gap:38px}.archive-bridge-visual,.archive-bridge-visual img{min-height:510px}.archive-bridge-copy h2{font-size:clamp(42px,5vw,58px)}}
@media(max-width:680px){.archive-bridge{padding:54px 0 76px}.archive-bridge-shell{display:flex;flex-direction:column;gap:35px}.archive-bridge-visual{width:100%;min-height:0;max-height:405px}.archive-bridge-visual img{min-height:0;height:clamp(290px,96vw,405px)}.archive-bridge-number{left:18px;top:16px}.archive-bridge-photo-note{left:18px;bottom:17px;font-size:8px}.archive-bridge-copy{width:100%}.archive-bridge-copy h2{font-size:clamp(43px,11vw,62px);margin:15px 0 21px}.archive-bridge-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;margin-bottom:25px}.archive-bridge-choices>a{min-height:66px;font-size:19px;gap:11px}.archive-bridge-copy small{font-size:10px}.archive-contact-context{padding:18px 17px}.lightbox-enquire{margin:12px auto 3px;padding:9px 12px;font-size:9px}.dossier-contact-link{font-size:9px}}
@media(max-width:360px){.archive-bridge-copy h2{font-size:42px}.archive-bridge-choices>a{font-size:17px}}
@media(prefers-reduced-motion:reduce){.archive-bridge-choices>a{transition:none}}

#archive-contact-context{scroll-margin-top:110px}
