/*
Theme Name: WeShipFineArt Atelier
Theme URI: https://weshipfineart.com/
Author: VAYU Limited — Concept Studio
Description: A high-end editorial WordPress demo for fine art logistics, with light/dark modes, motion, and a guided private transport enquiry. Concept imagery and text are for review, not operational proof.
Version: 1.1.0
Requires at least: 6.1
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wfa-atelier
Tags: custom-logo, custom-colors, featured-images, theme-options, one-column, two-columns, accessibility-ready
*/
:root{color-scheme:dark;--bg:#111412;--surface:#191d1a;--surface2:#20241f;--text:#f0ece4;--muted:#a8a8a1;--line:rgba(229,222,207,.17);--gold:#c1a279;--gold-dark:#8b704b;--paper:#f2eee7;--nav:rgba(17,20,18,.86);--dark:#141713;--white:#f5f1e9;--shadow:0 24px 80px rgba(0,0,0,.25);--serif:'Playfair Display',Georgia,'Times New Roman',serif;--sans:'DM Sans','Manrope',Arial,sans-serif;--pad:clamp(28px,6.4vw,112px)}
html[data-theme=light]{color-scheme:light;--bg:#f3f0e9;--surface:#fffefa;--surface2:#e7e1d6;--text:#22231f;--muted:#696a64;--line:rgba(38,40,34,.15);--gold:#94754e;--gold-dark:#7a5f3a;--nav:rgba(246,243,235,.9);--shadow:0 24px 80px rgba(72,63,46,.12)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.7 var(--sans);-webkit-font-smoothing:antialiased;transition:background .35s,color .35s}body,input,textarea,select,button{font-family:var(--sans)}img,svg{max-width:100%}img{display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}fieldset{border:0;margin:0;padding:0;min-width:0}[hidden],.mobile-nav[hidden]{display:none!important}::selection{background:var(--gold);color:#141713}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:15px;left:15px;z-index:9999;padding:12px 20px;background:var(--paper);color:var(--dark)}.container{width:min(100% - 2*var(--pad),1420px);margin-inline:auto}.section-pad{padding:clamp(82px,10vw,154px) 0}.eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 24px}.eyebrow--line{display:flex;align-items:center;gap:14px}.eyebrow--line:before{content:'';width:29px;height:1px;background:currentColor}.serif-title{font:400 clamp(38px,4.7vw,72px)/1.17 var(--serif);letter-spacing:-.044em;margin:0}.serif-title em,.closing-overlay em,.site-footer h2 em,.pullquote em{font-weight:400;color:var(--gold)}.text-link{display:inline-flex;gap:48px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--gold);padding:0 0 11px;font-size:12px;font-weight:600;letter-spacing:.055em;transition:gap .2s,color .2s}.text-link span{font-size:19px;font-weight:400}.text-link:hover{gap:61px;color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:51px;padding:12px 24px;text-align:center;font:600 10px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.12em;border:1px solid transparent;white-space:nowrap;transition:transform .2s,background .2s,color .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button--gold{background:var(--gold);color:#161712;border-color:var(--gold)}.button--gold:hover{background:#d5b68c;border-color:#d5b68c}.button--plain{color:inherit;border-color:rgba(230,228,220,.42)}.button--plain:hover{border-color:var(--gold)}.button--outline-white{border-color:#f1ede1;color:#fff}.button--outline-white:hover{background:#f1ede1;color:#1b1c18}.spacer-flex{flex:1}
/* Site navigation */
.site-header{height:91px;padding:0 var(--pad);position:absolute;z-index:40;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(249,247,240,.16);transition:background .25s,border-color .25s,color .25s;color:#f2eee7}.site-header.is-sticky{position:fixed;background:var(--nav);color:var(--text);backdrop-filter:blur(19px);-webkit-backdrop-filter:blur(19px);border-color:var(--line)}.brand{font:400 19px/1.04 var(--serif);letter-spacing:.17em;display:inline-flex;min-width:180px;align-items:center}.brand-second{letter-spacing:.235em}.brand img{max-height:58px;width:auto}.primary-nav{display:flex;align-items:center;gap:clamp(19px,2.7vw,47px);margin-left:auto;margin-right:auto}.primary-nav a{font:500 11px var(--sans);color:inherit;transition:color .2s}.primary-nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:13px}.button--nav{min-height:42px;border-color:rgba(219,193,150,.62);padding:11px 21px;color:inherit;letter-spacing:.09em;gap:19px}.button--nav:hover{background:var(--gold);color:#151713}.theme-switch{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(235,223,208,.33);border-radius:50%;background:transparent;color:inherit;transition:transform .25s}.theme-switch:hover{transform:rotate(24deg);border-color:var(--gold)}.theme-switch svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.theme-moon{display:none}html[data-theme=light] .theme-sun{display:none}html[data-theme=light] .theme-moon{display:block}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;padding:10px;border:1px solid rgba(235,223,208,.33);background:transparent;color:inherit}.menu-toggle span{display:block;height:1px;width:100%;background:currentColor;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:fixed;top:78px;left:0;right:0;z-index:39;padding:24px var(--pad) 42px;background:var(--bg);box-shadow:var(--shadow)}.mobile-nav nav{display:grid}.mobile-nav a{font:400 clamp(26px,5vw,40px)/1.4 var(--serif);padding:12px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.mobile-nav a span{font:600 11px var(--sans);color:var(--gold);align-self:center}.mobile-nav a.mobile-nav-cta{font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:22px;border:0}
/* Main hero */
.hero{position:relative;min-height:min(920px,100svh);height:clamp(740px,64vw,930px);isolation:isolate;overflow:hidden;background:#121511;color:#f5f0e7}.hero-visual{position:absolute;inset:0 0 0 39%;z-index:-2;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:48% 42%;animation:heroBreath 21s ease-in-out infinite alternate}.hero-visual--light{display:none}.hero-visual--dark img{object-position:45% 48%}.hero-vignette{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111512 0%,#111512 26%,rgba(17,21,18,.94) 38%,rgba(17,21,18,.32) 70%,rgba(17,21,18,.1) 100%),linear-gradient(0deg,rgba(10,13,10,.76),transparent 25%)}.hero-content{position:relative;height:100%;display:flex;align-items:center}.hero-copy{width:min(690px,59%);padding-top:60px;position:relative;z-index:2;animation:heroRise .9s ease-out both}.hero-copy h1{font:400 clamp(55px,5.9vw,100px)/1.085 var(--serif);letter-spacing:-.057em;margin:0 0 26px;max-width:740px;text-wrap:balance}.hero-description{font:400 clamp(14px,1.15vw,17px)/1.85 var(--sans);max-width:485px;color:#bdbdb5;margin:0}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.hero-foot{position:absolute;left:0;right:0;bottom:33px;display:flex;align-items:end;justify-content:space-between;gap:20px;z-index:2}.hero-est{display:flex;align-items:flex-start;gap:14px;font-size:10px;letter-spacing:.16em;line-height:1.7}.hero-est small{font:400 12px var(--sans);letter-spacing:0;color:#bcbdb5}.decor-line{width:34px;height:1px;background:var(--gold);margin-top:8px}.scroll-hint{font:600 9px var(--sans);letter-spacing:.2em;display:flex;align-items:center;gap:14px}.scroll-circle{width:40px;height:40px;border:1px solid rgba(245,244,232,.44);border-radius:50%;display:grid;place-items:center;font:20px Georgia}.hero-number{font:600 11px var(--sans);letter-spacing:.12em}.hero-number span{color:#acada6}.hero-vertical{position:absolute;z-index:2;right:16px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font:600 9px var(--sans);letter-spacing:.23em;color:#ccc9c0}.hero-eyebrow{color:#cdb18b}
html[data-theme=light] .hero{background:#e7e0d3;color:#25241f}html[data-theme=light] .hero-visual--light{display:block;inset:0 0 0 37%}html[data-theme=light] .hero-visual--dark{display:none}html[data-theme=light] .hero-vignette{background:linear-gradient(90deg,#efe9df 0%,#efe9df 23%,rgba(239,233,223,.98) 36%,rgba(239,233,223,.42) 71%,rgba(239,233,223,.05) 100%),linear-gradient(0deg,rgba(235,229,219,.7),transparent 23%)}html[data-theme=light] .hero-description,html[data-theme=light] .hero-est small,html[data-theme=light] .hero-number span{color:#66645c}html[data-theme=light] .hero .button--plain{border-color:rgba(48,47,41,.4)}html[data-theme=light] .site-header:not(.is-sticky){color:#2c2a25;border-bottom-color:rgba(31,30,28,.17)}html[data-theme=light] .hero-vertical{color:#54483a}html[data-theme=light] .scroll-circle{border-color:#aaa093}
/* Manifesto */
.manifesto{background:var(--bg)}.manifesto-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:9vw;align-items:start}.manifesto-body{max-width:505px;padding-top:37px}.manifesto-body p{font-size:15px;line-height:1.95;color:var(--muted);margin:0 0 20px}.manifesto-body p:first-child{color:var(--text);font-size:18px;line-height:1.85}.manifesto-body .text-link{margin-top:23px}
/* Services */
.expertise{background:var(--surface)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:50px}.section-heading>p{max-width:290px;color:var(--muted);margin:0 0 7px;line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.service-card{display:block}.service-image{height:clamp(290px,30vw,440px);overflow:hidden;background:#252721;position:relative}.service-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.3),transparent 45%);pointer-events:none}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.65,.25,1);filter:saturate(.76)}.service-card:hover img{transform:scale(1.075)}.service-card:nth-child(2) .service-image img{object-position:64% center}.service-card:nth-child(3) .service-image img{object-position:center}.service-hover{position:absolute;z-index:2;bottom:18px;left:18px;right:18px;background:rgba(20,23,19,.92);color:#f1ede7;padding:12px 13px;font-size:10px;letter-spacing:.1em;transform:translateY(135%);opacity:0;transition:transform .3s,opacity .3s}.service-card:hover .service-hover{transform:translateY(0);opacity:1}.service-meta{display:flex;justify-content:space-between;align-items:center;color:var(--gold);font:600 10px var(--sans);letter-spacing:.13em;margin-top:24px}.service-arrow{font-size:24px;font-weight:400}.service-card h3{font:400 clamp(25px,2.4vw,36px)/1.25 var(--serif);letter-spacing:-.035em;margin:10px 0 8px}.service-card p{color:var(--muted);font-size:13px;line-height:1.8;max-width:315px;margin:0}
/* Editorial feature */
.feature-story{display:grid;grid-template-columns:1fr 1fr;min-height:760px;color:#22231f;background:#eae5da}.feature-art{position:relative;min-height:650px;overflow:hidden}.feature-art img{width:100%;height:100%;object-fit:cover;object-position:55% 50%;filter:saturate(.75);position:absolute}.feature-figcaption{position:absolute;left:35px;bottom:28px;background:rgba(10,13,11,.74);color:#fff;font:600 9px var(--sans);letter-spacing:.22em;padding:15px 18px}.feature-content{display:flex;align-items:center;padding:90px clamp(42px,6.5vw,123px)}.feature-inner{max-width:510px}.feature-content .eyebrow{color:#90704a}.feature-lead{color:#62615c;font-size:16px;line-height:1.9;margin:24px 0 37px}.process-list{border-top:1px solid rgba(41,42,37,.2);margin-bottom:32px}.process-item{display:grid;grid-template-columns:50px 1fr;padding:22px 0 18px;border-bottom:1px solid rgba(41,42,37,.2)}.process-item>span{font:600 11px var(--sans);color:#9b815c;padding-top:5px}.process-item h3{font:400 23px var(--serif);margin:0 0 5px}.process-item p{margin:0;color:#6d6d65;font-size:12px;line-height:1.7}.feature-content .text-link{border-color:#a08460;color:#22231f}html[data-theme=light] .feature-story{background:#1a1d19;color:#f1eee6}html[data-theme=light] .feature-lead,html[data-theme=light] .process-item p{color:#aaa9a0}html[data-theme=light] .process-item,html[data-theme=light] .process-list{border-color:rgba(241,239,231,.2)}html[data-theme=light] .feature-content .text-link{color:#f2eee6}
/* Reach / route diagram */
.reach{background:var(--bg)}.reach-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:5vw;align-items:center}.reach-left>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9;max-width:500px;margin:24px 0}.route-chips{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 34px}.route-chips span{font:600 9px var(--sans);letter-spacing:.14em;border:1px solid var(--line);padding:9px 12px}.reach-visual{position:relative;min-height:445px;background:radial-gradient(circle at 50% 40%,rgba(158,135,95,.11),transparent 48%),#181d1b;overflow:hidden;border:1px solid rgba(190,163,120,.16)}.map-grid{position:absolute;inset:0;opacity:.19;background-image:linear-gradient(rgba(202,184,150,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(202,184,150,.22) 1px,transparent 1px);background-size:52px 52px}.reach-visual svg{width:100%;height:100%;position:absolute;inset:0}.map-outline{fill:rgba(184,169,145,.045);stroke:rgba(181,167,141,.29);stroke-width:1.1}.route-line{fill:none;stroke:url(#rg);stroke-width:1.6;stroke-dasharray:6 7;animation:dash 14s linear infinite}.route-line--alt{opacity:.42}.route-point circle:first-child{fill:#c8a879}.route-point .pulse{fill:none;stroke:#c8a879;stroke-width:1;opacity:.45;transform-box:fill-box;transform-origin:center;animation:mapPulse 3s ease-out infinite}.route-label text{fill:#d9d1c5;letter-spacing:2px;font:11px Arial,sans-serif}.map-note{position:absolute;bottom:17px;left:22px;color:#adaca5;font:500 8px var(--sans);letter-spacing:.14em;display:flex;align-items:center;gap:10px}.small-dot{width:5px;height:5px;border-radius:50%;background:#c8a879}
/* Statement */
.pullquote{background:#222622;color:#f2eee7;text-align:center;padding:93px 0 99px}.pullquote .container{max-width:1070px}.quote-mark{font:400 65px/.7 var(--serif);color:#a98e68}.pullquote p{font:400 clamp(28px,3.3vw,55px)/1.45 var(--serif);letter-spacing:-.04em;margin:18px 0 21px}.pullquote em{color:#d0b38a}.pullquote .eyebrow{font-size:9px}
/* Booking */
.enquiry-section{background:var(--bg)}.enquiry-wrap{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr);gap:clamp(35px,6vw,108px);align-items:start}.enquiry-intro{position:sticky;top:123px}.enquiry-intro>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9;max-width:410px;margin:26px 0 40px}.enquiry-steps-aside{border-top:1px solid var(--line);max-width:410px}.enquiry-steps-aside>div{display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}.enquiry-steps-aside span{font-weight:600;font-size:10px;color:var(--gold)}.concierge{display:flex;gap:16px;align-items:flex-start;margin-top:42px;max-width:360px}.concierge-symbol{width:43px;min-width:43px;height:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:22px}.concierge strong{display:block;font:400 17px var(--serif);margin-bottom:3px}.concierge span{display:block;font-size:12px;color:var(--muted);line-height:1.65}.booking-card{background:#f8f6f0;color:#23241f;padding:clamp(26px,3.7vw,60px);box-shadow:0 20px 65px rgba(0,0,0,.12);border:1px solid rgba(33,32,26,.08)}html[data-theme=light] .booking-card{background:#fffdf9}.booking-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.booking-head .eyebrow{font-size:9px;color:#9d805b;margin-bottom:14px}.booking-head h3{font:400 clamp(24px,2.5vw,36px)/1.22 var(--serif);letter-spacing:-.04em;margin:0}.booking-count{font:400 12px var(--sans);color:#aaa69a;white-space:nowrap}.booking-count b{font-weight:600;color:#24251f}.progress-track{height:2px;background:#dedbd3;margin:27px 0 17px}.progress-track div{height:100%;width:25%;background:#a98a5d;transition:width .3s}.step-names{display:flex;justify-content:space-between;gap:8px;margin-bottom:42px}.step-names span{font-size:10px;color:#aaa8a2}.step-names span.active{color:#2f302a;font-weight:700}.booking-step{display:block;animation:softSlide .25s ease both}.form-section-title{font:400 24px/1.3 var(--serif);letter-spacing:-.02em;margin:0 0 5px}.form-subtitle{font-size:12px;color:#7b7971;margin:0 0 25px}.artwork-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 27px}.artwork-choice{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;position:relative;text-align:center;border:1px solid #dad6ce;background:#fffcf7;cursor:pointer;min-height:100px;padding:10px 4px;color:#5a5751;line-height:1.35;font-size:10px;transition:background .2s,border-color .2s,transform .2s}.artwork-choice:hover{transform:translateY(-2px);border-color:#a58b68}.artwork-choice:has(input:checked){border-color:#967750;background:#eae2d5;color:#24251f}.artwork-choice:has(input:focus-visible){outline:2px solid #967750}.artwork-choice input{position:absolute;opacity:0;width:1px;height:1px}.choice-icon{font:32px Georgia;line-height:1.2;color:#a48a68}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:18px}.form-grid--four{grid-template-columns:1fr repeat(3,.8fr)}.booking-step label:not(.artwork-choice):not(.consent):not(.care-choices label){font-size:11px;font-weight:700;color:#383932;line-height:1.5}.booking-step label span{font-weight:400;color:#8b887d}.booking-step label em{color:#9e7246;font-style:normal}.booking-step input:not([type=checkbox]):not([type=radio]),.booking-step select,.booking-step textarea{display:block;width:100%;margin-top:7px;padding:12px 12px;min-width:0;border:1px solid #dcd8ce;border-radius:0;background:#fffefa;color:#25251f;outline:0;font-size:12px;font-weight:400;transition:border-color .2s,box-shadow .2s}.booking-step select{appearance:none;background:#fffefa url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23787870" stroke-width="2"%3E%3Cpath d="m6 9 6 6 6-6"/%3E%3C/svg%3E') no-repeat right 13px center}.booking-step input:focus,.booking-step textarea:focus,.booking-step select:focus{border-color:#a48962;box-shadow:0 0 0 2px rgba(164,137,98,.13)}.booking-step input.invalid,.booking-step select.invalid{border-color:#a23d39!important}.booking-step textarea{resize:vertical}.form-block{display:block}.form-block textarea{margin-bottom:13px}.form-advisory{display:flex;gap:13px;padding:17px 19px;margin-top:25px;background:#eeeae1;color:#605f57;line-height:1.7;font-size:11px}.form-advisory>span{color:#937950;font-size:23px;line-height:1}.form-advisory p{margin:0}.care-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.care-choices label{cursor:pointer;position:relative;display:flex;align-items:start;gap:12px;border:1px solid #dedbd3;background:#fffefa;padding:18px 16px;min-height:94px}.care-choices label:has(input:checked){background:#eae2d5;border-color:#a98b66}.care-choices input{position:absolute;opacity:0;width:1px;height:1px}.care-choices label:has(input:focus-visible){outline:2px solid #967750}.check-custom{width:17px;height:17px;border:1px solid #a79d8c;flex-shrink:0;margin-top:2px;display:grid;place-items:center}.care-choices label:has(input:checked) .check-custom{background:#8f7651;border-color:#8f7651}.care-choices label:has(input:checked) .check-custom:after{content:'✓';color:white;font-size:12px}.care-choices b{display:block;font-weight:600;font-size:12px}.care-choices small{font-size:10px;display:block;color:#7c7a73;line-height:1.5;margin-top:5px}.review-box{background:#ede8dc;padding:17px 19px;margin:24px 0 16px}.review-box .eyebrow{font-size:9px;color:#826b47;margin-bottom:9px}.review-box p{color:#4b4a43;font-size:12px;line-height:1.8;margin:0}.consent{display:flex;align-items:start;gap:9px;cursor:pointer;font-size:11px;color:#6a6962;line-height:1.65}.consent input{margin-top:4px;accent-color:#9c7d53}.booking-controls{display:flex;align-items:center;gap:14px;margin-top:25px;padding-top:21px;border-top:1px solid #ddd9d1}.button-back{border:0;background:transparent;color:#615f58;font:600 12px var(--sans);padding:12px 4px}.button-back:hover{color:#282820}.booking-controls .button{min-height:49px;background:#aa8a5f;border-color:#aa8a5f;font-size:10px;padding:10px 18px;gap:17px}.booking-controls .button:hover{background:#c1a277}.booking-foot{text-align:center;font:500 10px var(--sans);color:#8c8880;margin-top:22px;letter-spacing:.025em}.booking-foot span{color:#9f825d;font-size:17px;vertical-align:middle;margin-right:7px}.form-error,.form-message{background:#fff0e9;color:#7a3430;border:1px solid #e8b4aa;padding:13px 15px;font-size:12px;margin-bottom:18px}.form-message--success{background:#edf4e9;color:#3d613b;border-color:#b9d4ad}.form-message strong{display:block;font-size:13px}.form-message p{margin:5px 0}.form-message a{text-decoration:underline}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Closing feature + footer */
.closing-image{height:clamp(425px,41vw,640px);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#141613;color:#f4eee6}.closing-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;filter:brightness(.55) saturate(.7)}.closing-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,14,12,.4),rgba(13,14,12,.13))}.closing-overlay{position:relative;z-index:1;text-align:center;padding:30px}.closing-overlay h2{font:400 clamp(41px,5.7vw,78px)/1.16 var(--serif);letter-spacing:-.05em;margin:15px 0 30px}.site-footer{background:#131715;color:#e9e5dc;padding:88px 0 0}.footer-upper{display:grid;grid-template-columns:2fr .6fr .9fr;gap:7vw;padding-bottom:100px}.site-footer h2{font:400 clamp(35px,3.5vw,58px)/1.27 var(--serif);letter-spacing:-.035em;margin:0 0 27px}.site-footer .text-link{border-color:#a68b65}.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0;overflow-wrap:anywhere}.footer-nav span:not(.footer-label){font-size:11px;color:#a5a49e;line-height:1.7}.footer-nav a{font-size:12px;color:#d3d0c7}.footer-nav a:hover{color:#bda07a}.footer-nav .footer-label{font-size:10px;letter-spacing:.17em;color:#b89a70;text-transform:uppercase;margin-bottom:12px}.footer-bottom{border-top:1px solid rgba(223,218,201,.16);display:flex;align-items:center;gap:27px;min-height:110px}.brand--footer{font:400 16px/1.1 var(--serif);letter-spacing:.17em;min-width:180px}.footer-bottom>span,.footer-bottom>a:not(.brand){font-size:10px;color:#989992}.footer-bottom>a:last-child{margin-left:auto}.inner-page{padding:200px 0 135px;min-height:70vh}.display-heading{font:400 clamp(55px,6vw,90px)/1.12 var(--serif);margin:0 0 45px;letter-spacing:-.05em}.page-content{max-width:850px;font-size:16px;line-height:1.85}.page-content a{text-decoration:underline;text-decoration-color:var(--gold)}.page-content img{height:auto}.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:35px}.post-card{background:var(--surface);padding:30px}.post-card h2{font:400 31px var(--serif)}.post-card p:not(.eyebrow){color:var(--muted)}
/* entrance / micro animation */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes heroBreath{0%{transform:scale(1)}100%{transform:scale(1.055)}}@keyframes heroRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes dash{to{stroke-dashoffset:-180}}@keyframes mapPulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(2.4);opacity:0}}@keyframes softSlide{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-copy{width:690px}.hero-visual--dark img{object-position:center 50%}}
@media(max-width:1200px){.primary-nav{gap:18px}.hero-copy h1{font-size:clamp(56px,6.2vw,82px)}.hero-copy{width:64%}.brand{min-width:142px}.brand--footer{min-width:160px}.feature-content{padding:65px 6vw}.enquiry-wrap{gap:32px}.artwork-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:960px){:root{--pad:clamp(23px,5vw,50px)}.site-header{height:78px}.primary-nav,.header-actions .button--nav{display:none}.menu-toggle{display:flex}.brand{font-size:17px}.hero{height:800px;min-height:680px}.hero-copy{width:77%}.hero-copy h1{font-size:clamp(48px,7.3vw,83px)}.hero-visual{inset:0 0 0 30%}.hero-vignette{background:linear-gradient(90deg,#111512 0%,rgba(17,21,18,.99) 20%,rgba(17,21,18,.64) 65%,rgba(17,21,18,.22) 100%)}html[data-theme=light] .hero-visual--light{inset:0 0 0 31%}html[data-theme=light] .hero-vignette{background:linear-gradient(90deg,#efe9df 0%,rgba(239,233,223,.97) 25%,rgba(239,233,223,.57) 73%,rgba(239,233,223,.14))}.manifesto-grid{gap:36px}.services-grid{gap:13px}.service-image{height:310px}.feature-story{min-height:640px}.feature-art{min-height:620px}.reach-grid{grid-template-columns:1fr;gap:50px}.reach-visual{min-height:405px}.enquiry-wrap{grid-template-columns:1fr}.enquiry-intro{position:static;display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.enquiry-intro .eyebrow,.enquiry-intro .serif-title{grid-column:1}.enquiry-intro>p:not(.eyebrow){grid-column:2;grid-row:2;margin:0}.enquiry-steps-aside,.concierge{display:none}.booking-card{width:min(100%,790px);margin-inline:auto}.footer-upper{grid-template-columns:1.7fr .8fr 1fr;gap:28px}}
@media(max-width:680px){:root{--pad:20px}.section-pad{padding:77px 0}.site-header{height:73px}.brand{font-size:15px;min-width:130px}.header-actions{gap:8px}.theme-switch{width:39px;height:39px}.menu-toggle{width:39px;height:39px}.mobile-nav{top:73px}.hero{height:780px;min-height:710px}.hero-visual{inset:0;opacity:.73}.hero-visual img{object-position:59% 24%}.hero-vignette{background:linear-gradient(90deg,rgba(16,19,16,.86),rgba(16,19,16,.54)),linear-gradient(0deg,#101310,transparent 40%)}html[data-theme=light] .hero-visual--light{inset:0;opacity:.52}html[data-theme=light] .hero-vignette{background:linear-gradient(90deg,rgba(239,233,223,.94),rgba(239,233,223,.73)),linear-gradient(0deg,#efe9df,transparent 40%)}.hero-content{align-items:center}.hero-copy{width:100%;padding-top:17px}.hero-copy h1{font-size:clamp(47px,10.9vw,65px);max-width:530px}.hero-eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:25px}.hero-description{font-size:13px;max-width:430px}.hero-cta{gap:10px;margin-top:26px}.hero-cta .button{min-height:46px;padding:11px 15px;font-size:9px;gap:12px}.hero-vertical,.scroll-hint{display:none}.hero-foot{bottom:29px}.hero-est{font-size:9px}.hero-number{font-size:10px}.manifesto-grid{display:block}.manifesto-body{padding-top:26px}.manifesto-body p:first-child{font-size:16px}.serif-title{font-size:clamp(37px,9vw,55px)}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin:21px 0 0}.services-grid{grid-template-columns:1fr;gap:35px}.service-image{height:clamp(315px,87vw,460px)}.service-card p{max-width:410px}.service-meta{margin-top:15px}.service-card h3{font-size:30px}.feature-story{display:block}.feature-art{min-height:440px}.feature-content{padding:72px var(--pad) 79px}.feature-inner{max-width:none}.reach-grid{gap:36px}.reach-visual{min-height:300px}.reach-visual svg{transform:scale(1.2)}.route-label text{font-size:10px}.pullquote{padding:67px 0}.pullquote p{font-size:clamp(27px,7vw,43px)}.enquiry-intro{display:block}.enquiry-intro>p:not(.eyebrow){margin:22px 0 33px}.booking-card{padding:27px 19px}.booking-head h3{font-size:25px}.step-names{margin-bottom:30px}.artwork-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.artwork-choice{min-height:93px}.form-grid,.form-grid--four{grid-template-columns:1fr 1fr;gap:13px}.care-choices{grid-template-columns:1fr}.form-section-title{font-size:23px}.booking-controls .button{font-size:9px}.booking-foot{font-size:9px}.closing-image{height:410px}.closing-overlay h2{font-size:43px}.footer-upper{grid-template-columns:1fr 1fr;gap:37px 22px;padding-bottom:65px}.footer-main{grid-column:1/-1}.site-footer h2{font-size:40px}.footer-bottom{padding:27px 0;display:grid;grid-template-columns:1fr 1fr;min-height:0;gap:18px}.brand--footer{min-width:0}.footer-bottom>a:last-child{margin:0}.footer-bottom>span:nth-of-type(2){display:none}.inner-page{padding-top:143px}}
@media(max-width:380px){.hero-copy h1{font-size:46px}.hero-cta .button{width:100%}.artwork-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--four{grid-template-columns:repeat(2,1fr)}.booking-head{gap:6px}.footer-upper{grid-template-columns:1fr}.footer-main{grid-column:auto}.footer-bottom{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* v1.1 — Art-directed imagery and tactile luxury refinements */
.hero-visual{background-image:var(--art-desktop);background-size:cover;background-position:54% 46%;animation:heroBreath 23s cubic-bezier(.4,0,.2,1) infinite alternate;will-change:transform}
.hero-visual--dark{background-position:49% 48%}
.hero-visual--light{background-position:52% 49%}
.hero-visual img{display:none}
.service-image{isolation:isolate;aspect-ratio:4/4.65;height:auto;max-height:495px;border:1px solid rgba(181,155,111,.12)}
.service-image img{object-position:50% 45%;filter:saturate(.84) contrast(1.045);backface-visibility:hidden}
.service-card:nth-child(1) .service-image img{object-position:54% 47%}
.service-card:nth-child(2) .service-image img{object-position:54% 51%}
.service-card:nth-child(3) .service-image img{object-position:50% 45%}
.service-card:hover .service-image img,.service-card:focus-visible .service-image img{transform:scale(1.045)}
.service-card .service-meta,.service-card h3,.service-card p{padding-inline:2px}
.feature-art{background:#241f19}
.feature-art img{object-position:52% 52%;filter:saturate(.85) contrast(1.035)}
.feature-figcaption{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.closing-image>picture{position:absolute;inset:0;width:100%;height:100%;display:block}
.closing-image>picture img{width:100%;height:100%;object-fit:cover;object-position:52% 40%;filter:brightness(.52) saturate(.8)}
.service-card:focus-visible{outline-offset:7px}
/* Prevent bulky CTA and panel clipping between tablet and phone sizes. */
@media (max-width:960px){.service-image{max-height:none;min-height:0}}
@media (max-width:680px){
 .hero-visual{background-image:var(--art-mobile);inset:0;background-position:66% 45%}
 .hero-visual--light{inset:0;background-position:67% center}
 .hero-visual--dark{background-position:66% 47%}
 .service-image{aspect-ratio:5/4;max-height:none}
 .service-card:nth-child(1) .service-image img{object-position:55% 44%}
 .service-card:nth-child(2) .service-image img{object-position:50% 46%}
 .feature-art{min-height:390px}
 .feature-art img{object-position:53% center}
 .closing-image>picture img{object-position:57% center}
}
@media (prefers-reduced-motion:reduce){.hero-visual{animation:none;will-change:auto}}
/* Preserve image richness behind readable copy in the light mobile hero. */
@media(max-width:680px){
 html[data-theme=light] .hero-visual--light{opacity:.86;background-position:68% center}
 html[data-theme=light] .hero-vignette{background:linear-gradient(90deg,rgba(239,233,223,.96) 0%,rgba(239,233,223,.89) 34%,rgba(239,233,223,.55) 70%,rgba(239,233,223,.26) 100%),linear-gradient(0deg,rgba(239,233,223,.84) 0%,transparent 33%)}
 html[data-theme=light] .hero-description{color:#4d4b44}
}
