@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0b0b0c;--surface:#171719;--line:#333337;--text:#f1eee9;--muted:#a6a4a2;--accent:#c9bba2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{transition:.2s}a{color:inherit;text-decoration:none}button{cursor:pointer}.wrap{max-width:1400px;margin:auto;padding:0 5vw}.topbar{display:flex;align-items:center;justify-content:space-between;height:84px;border-bottom:1px solid #ffffff22;position:sticky;top:0;z-index:20;background:#0b0b0ce8;backdrop-filter:blur(18px)}.brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-1.4px;font-size:clamp(16px,2vw,23px)}.brand span{font-weight:400;color:var(--accent)}.nav{display:flex;gap:26px;align-items:center}.nav a{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:#c8c5c1}.nav a:hover,.nav a.active{color:white}.menu{display:none;background:none;color:white;border:0;font-size:26px}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);font-weight:700}.hero{min-height:calc(100svh - 84px);position:relative;display:flex;align-items:end;overflow:hidden;background:linear-gradient(0deg,#0b0b0c 0%,#0b0b0c20 70%),linear-gradient(90deg,#080808a8,#0000),url('https://images.unsplash.com/photo-1503376780353-7e6692767b70?w=2000&q=85') center 48%/cover}.hero .wrap{width:100%;padding-bottom:8vh;position:relative}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(64px,11vw,180px);letter-spacing:-.095em;line-height:.9;margin:20px 0 26px;font-weight:800;max-width:1100px}.hero h1 em{font-style:normal;color:var(--accent)}.lead{max-width:560px;font-size:clamp(16px,2vw,20px);line-height:1.6;color:#e2ded8}.btn{border:1px solid #d6d0c7;padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:15px;color:var(--text);background:transparent;text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:700}.btn:hover{background:var(--text);color:var(--bg)}.btn.fill{background:var(--text);color:#101010}.btn.fill:hover{background:var(--accent)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.section{padding:100px 0}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}.section h2,.pagehead h1{font-family:Manrope,sans-serif;font-size:clamp(40px,6vw,88px);line-height:1.05;letter-spacing:-.07em;margin:10px 0}.muted{color:var(--muted);line-height:1.7}.projectgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.project{min-height:360px;position:relative;overflow:hidden;background:#242426}.project:nth-child(3){grid-column:1 / -1;min-height:440px}.project img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:brightness(.78);transition:transform .5s}.project:hover img{transform:scale(1.04)}.project .overlay{position:absolute;inset:auto 0 0;padding:35px;background:linear-gradient(transparent,#000b)}.project h3{font-size:30px;letter-spacing:-1px;margin:8px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.statement{font-size:clamp(30px,4.5vw,70px);line-height:1.12;letter-spacing:-.06em;font-weight:600}.stats{display:flex;gap:35px;flex-wrap:wrap}.stat strong{display:block;font-size:34px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);background:var(--surface);padding:28px}.card h3{font-size:24px;margin:12px 0}.card .price{font-size:36px;font-weight:700;letter-spacing:-2px}.card ul{padding-left:18px;line-height:2;color:var(--muted);font-size:14px}.pagehead{padding:85px 0 50px;border-bottom:1px solid var(--line)}.pagehead p{max-width:650px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.chip{border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 17px;font-size:12px}.chip.active{background:var(--text);color:#111}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery figure{margin:0;position:relative;aspect-ratio:4/5;background:#222;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 20px;background:linear-gradient(transparent,#000a)}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent)}.field input,.field select,.field textarea{border:1px solid #444;background:#151517;color:white;padding:15px;border-radius:0;width:100%;outline:none}.field textarea{min-height:125px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.notice{padding:16px 20px;border:1px solid #6a644f;background:#27241c;color:#e7d8b8;font-size:13px;line-height:1.6;margin-bottom:25px}.success{border-color:#526958;background:#19231d;color:#c3e3ca}.layout{display:grid;grid-template-columns:260px 1fr;min-height:70vh}.sidebar{border-right:1px solid var(--line);padding:40px 22px}.sidebar button{display:block;width:100%;background:none;color:var(--muted);border:0;text-align:left;padding:15px;border-bottom:1px solid #29292b}.sidebar button.active{color:white;background:#232326}.panel{padding:40px;min-width:0}.data{width:100%;border-collapse:collapse;font-size:13px}.data th{text-align:left;color:var(--accent);font-size:11px;letter-spacing:1px;text-transform:uppercase}.data td,.data th{padding:17px 12px;border-bottom:1px solid var(--line)}.tag{display:inline-block;padding:6px 10px;background:#2d2b25;color:#e6d7b9;font-size:11px}.empty{border:1px dashed #555;padding:55px;text-align:center;color:var(--muted)}.footer{border-top:1px solid var(--line);padding:50px 0}.footergrid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer small{color:var(--muted)}.lightbox{position:fixed;inset:0;z-index:50;background:#000e;display:grid;place-items:center;padding:40px}.lightbox img{max-height:85vh;max-width:90vw;object-fit:contain}.close{position:absolute;right:20px;top:20px;background:#222;color:white;border:1px solid #777;padding:12px}.mobileNav{display:none}@media(max-width:800px){.topbar{height:70px}.nav{display:none}.menu{display:block}.mobileNav{display:flex;position:fixed;z-index:19;top:70px;left:0;right:0;background:#101011;flex-direction:column;padding:25px;gap:22px;border-bottom:1px solid var(--line)}.mobileNav a{text-transform:uppercase;letter-spacing:2px;font-size:13px}.hero{min-height:77svh}.hero h1{font-size:clamp(58px,13vw,100px)}.section{padding:65px 0}.projectgrid,.split,.cards,.layout{grid-template-columns:1fr}.project:nth-child(3){grid-column:auto}.project{min-height:340px!important}.gallery{grid-template-columns:repeat(2,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:15px;display:flex;overflow-x:auto}.sidebar button{white-space:nowrap;width:auto}.panel{padding:25px 5vw}.sectionhead{align-items:start;flex-direction:column}}@media(max-width:520px){.gallery{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.hero h1{font-size:15vw}.data{display:block;overflow:auto}.pagehead{padding:55px 0 35px}}

/* CTRLVISIONAIRE interactive proofing prototype */
.proofbar{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}.proofbar h2{font-size:clamp(30px,5vw,64px);letter-spacing:-.06em;margin:10px 0}.proofgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.proofphoto{background:#171719;border:1px solid #353538;min-width:0}.proofphoto img{width:100%;height:310px;object-fit:cover;display:block}.proofcaption{display:flex;align-items:center;justify-content:space-between;padding:17px;gap:8px}.proofcaption h3{font-size:18px;margin:8px 0 0}.heart{width:48px;height:48px;border:1px solid #5b5853;color:#eee;background:#242426;font-size:28px;flex-shrink:0}.heart.selected{background:#c9bba2;color:#0b0b0c}.data select{background:#242426;color:#eee;border:1px solid #555;padding:8px;max-width:130px}@media(max-width:850px){.proofgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.proofgrid{grid-template-columns:1fr}.proofphoto img{height:390px}}

/* V4 editorial / booking enhancements */
.hero h1{max-width:1150px}.hero:after{content:'CV / 001';position:absolute;right:5vw;bottom:5vh;font-size:11px;letter-spacing:4px;color:#fff9;writing-mode:vertical-rl}.projectgrid .project:first-child{min-height:560px}.projectgrid .project:nth-child(2){min-height:560px}.addons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.addons label,.terms{display:flex;align-items:center;gap:9px;font-size:13px;color:#d4d0c9;line-height:1.5}.addons input,.terms input{width:auto;accent-color:#c9bba2}.publishedintro{max-width:800px;margin-bottom:45px}.publication-placeholder{min-height:500px;border:1px solid #555044;display:flex;flex-direction:column;justify-content:space-between;padding:40px;background:radial-gradient(ellipse at 70% 30%,#3a342e,#111113 65%)}.publication-placeholder span,.publication-placeholder small{letter-spacing:3px;font-size:11px;color:#b8ae9f}.publication-placeholder strong{font:800 clamp(50px,10vw,145px)/.91 Manrope,sans-serif;letter-spacing:-.085em}@media(max-width:600px){.addons{grid-template-columns:1fr}.publication-placeholder{min-height:350px;padding:25px}}

/* V5 — editorial refinement and mobile accessibility */
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:#c9bba2;color:#111}html{scroll-padding-top:90px}img{max-width:100%}.processgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#393532;border:1px solid #393532}.processstep{background:var(--bg);padding:38px;min-height:230px}.processstep h2{font-size:clamp(27px,3vw,44px);margin:28px 0 14px;letter-spacing:-.06em}.processstep p{line-height:1.75}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:25px 0}.faq summary{cursor:pointer;font-size:clamp(16px,2vw,23px);font-weight:600;display:flex;justify-content:space-between;gap:20px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--accent)}.faq details p{max-width:750px;line-height:1.8}.topbar{max-width:none}.project img,.gallery img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project:hover img,.gallery figure:hover img{transform:scale(1.035)}@media(max-width:850px){.processgrid{grid-template-columns:1fr 1fr}.processstep{padding:26px;min-height:0}}@media(max-width:540px){.processgrid{grid-template-columns:1fr}.processstep{padding:28px}.hero h1{font-size:clamp(54px,13vw,88px)}.btn{min-height:46px}.topbar{height:70px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V8 - functional studio interfaces */
.checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkgrid label{font-size:.85rem;color:var(--text);display:flex;gap:10px;align-items:center}.checkgrid input{width:auto}.field input[type=checkbox]{width:auto;margin-right:8px}.formgrid label:has(input[type=checkbox]){display:block}.proofphoto img{aspect-ratio:4/5;object-fit:cover}.heart{min-width:44px;min-height:44px}.heart.selected{color:#eec9a4}.card pre{white-space:pre-wrap;overflow-wrap:anywhere}.cards article.card{min-width:0}.card a{overflow-wrap:anywhere}@media(max-width:640px){.checkgrid{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}}


/* V9 — three-step mobile-first booking */
[hidden]{display:none!important}.sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.booking-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.45fr);gap:4vw;padding-top:70px;padding-bottom:65px;border-bottom:1px solid var(--line)}.booking-hero h1{font-size:clamp(56px,8vw,120px);line-height:.94;letter-spacing:-.085em;margin:32px 0}.booking-hero em{font-weight:400;font-family:Georgia,serif;color:var(--accent)}.booking-hero p{max-width:660px}.booking-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.booking-pills span{font-size:10px;letter-spacing:1.7px;border:1px solid var(--line);padding:10px 12px;color:var(--muted)}.booking-hero-side{border-left:1px solid var(--line);padding-left:30px}.booking-hero-side p{margin:6px 0 24px;color:var(--muted);font-size:12px;letter-spacing:1px;text-transform:uppercase}.booking-stat{font-size:clamp(54px,7vw,90px);line-height:1;letter-spacing:-.09em;font-weight:800}.booking-stat span{font-size:.22em;letter-spacing:0;color:var(--accent);margin-left:10px}.booking-section{padding-top:70px;padding-bottom:95px}.booking-layout{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(0,1.25fr);gap:7vw}.booking-layout>div:first-child>h2{font-size:clamp(35px,4vw,63px);line-height:1;letter-spacing:-.07em;margin:18px 0}.booking-guide{border-top:1px solid var(--line);margin:40px 0 24px}.booking-guide>div{padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px}.booking-guide b{font-size:13px;color:var(--accent)}.booking-guide span{font-size:14px;color:#dfddd8}.booking-help{background:#171719;padding:24px}.booking-help p{font-size:13px;color:var(--muted);line-height:1.6}.booking-help a{font-size:12px;letter-spacing:1px;color:var(--accent)}.booking-shell{border:1px solid #464345;background:linear-gradient(160deg,#1c1c20,#111113);padding:clamp(20px,3vw,44px);scroll-margin-top:100px}.wizard-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;letter-spacing:1.4px;color:#e8e1d8}.wizard-progress{height:3px;background:#38363a;margin:20px 0 26px}.wizard-progress>div{height:100%;background:var(--accent);transition:width .25s}.booking-step h3{font-size:clamp(29px,3vw,40px);letter-spacing:-.05em;line-height:1.1;margin:12px 0}.booking-step>p{margin-bottom:25px}.booking-step .field{margin-bottom:15px}.service-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:25px 0}.service-pick{text-align:left;background:#161619;border:1px solid #3d3b40;color:#f4f1ed;min-height:96px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;gap:10px}.service-pick span{font-size:16px;font-weight:700;letter-spacing:-.02em}.service-pick small{font-size:11px;color:var(--accent)}.service-pick:hover,.service-pick:focus-visible,.service-pick.selected{border-color:var(--accent);background:#272520}.service-pick.selected:after{content:'✓';position:absolute;right:12px;top:7px;color:var(--accent)}.service-pick{position:relative}.service-preview{font-size:13px;line-height:1.6;color:var(--muted);min-height:22px;margin:5px 0 10px}.booking-status{font-size:12px;line-height:1.5;border-left:3px solid #605f61;padding:10px 14px;background:#202024;color:#d6d1cc;margin-bottom:20px}.booking-status[data-state=ready]{border-color:#94af97}.booking-status[data-state=error]{border-color:#dd8f84}.booking-note{font-size:12px;color:var(--accent);line-height:1.7;border-left:2px solid var(--accent);padding:10px 14px;margin:15px 0}.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:28px}.wizard-actions .btn{flex:1;min-height:52px}.wizard-actions .btn:first-child:last-child{margin-left:auto;max-width:100%}.wizard-actions [disabled]{opacity:.4;cursor:not-allowed}.booking-shell .formgrid{gap:12px}.booking-shell .field label{font-size:12px;letter-spacing:.04em;text-transform:none;color:#e9e3d8}.booking-shell .field input,.booking-shell .field select,.booking-shell .field textarea{border-radius:3px;min-height:49px;font-size:16px}.booking-shell .field textarea{min-height:112px}.option-pill{position:relative;cursor:pointer;border:1px solid var(--line);padding:10px;display:flex!important;align-items:center;gap:8px;font-size:12px!important;color:#e6dfd7!important}.option-pill input{min-height:0!important;width:18px!important}.booking-review{border:1px solid #4c483f;background:#222019;padding:17px 20px;margin-top:16px}.booking-review strong{font-size:20px}.booking-review p{color:var(--muted);font-size:13px}.booking-review .eyebrow{margin-bottom:7px}.booking-terms{padding:17px 20px;margin-top:14px;border-left:3px solid var(--accent);background:#191919}.booking-terms strong{font-size:13px}.booking-terms p{color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:0}.booking-error,.service-offline{padding:17px;border:1px solid #a76358;background:#261917;color:#f7d8d0;line-height:1.7}.service-offline{grid-column:1/-1}.service-offline a{color:white;text-decoration:underline}.service-offline .btn{margin-top:13px}.booking-success{padding:25px;border:1px solid #6a7c65;background:#1b241c;margin-top:24px}.booking-success h2{font-size:clamp(28px,5vw,45px);letter-spacing:-.05em}.booking-success p{line-height:1.6}.booking-success .actions{margin-top:15px}@media(max-width:850px){.booking-layout{grid-template-columns:1fr;gap:35px}.booking-hero{grid-template-columns:1fr}.booking-hero-side{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px}.booking-hero-side .small{grid-column:1/-1}.booking-stat{font-size:50px}.booking-hero-side p{font-size:11px;margin:0 0 5px}}@media(max-width:520px){.booking-hero{padding-top:45px;padding-bottom:40px}.booking-hero h1{font-size:clamp(46px,13vw,75px)}.booking-section{padding:40px 0 70px}.booking-shell{padding:20px 15px}.service-picks{gap:8px}.service-pick{padding:14px;min-height:105px}.service-pick span{font-size:14px}.wizard-top{font-size:9px}.wizard-actions .btn{padding:13px;font-size:10px}.booking-step h3{font-size:28px}}

/* V9 mobile CTA, always one-tap to booking */
.mobile-book-cta{display:none}@media(max-width:800px){body{padding-bottom:58px}.mobile-book-cta{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;z-index:25;background:#eae4da;color:#121214;padding:17px 22px;min-height:56px;box-shadow:0 -5px 20px #0006;font-size:12px;font-weight:800;letter-spacing:2px}}
