:root{--ink:#171510;--paper:#f2eee5;--sand:#d1b58b;--rust:#9c4f2d;--sage:#667060;--line:rgba(23,21,16,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300;overflow-x:hidden}.grain{position:fixed;inset:0;opacity:.045;pointer-events:none;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.site-header{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:#fff}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-size:14px;line-height:1;letter-spacing:.18em;font-weight:500;text-transform:uppercase}.brand small{display:block;font-size:8px;letter-spacing:.3em;margin-top:6px}.brand-mark{font:34px/1 "Italiana";border:1px solid currentColor;width:48px;height:48px;display:grid;place-items:center;border-radius:50%}nav{display:flex;gap:38px}nav a,.header-cta{color:inherit;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.2em}.header-cta{border-bottom:1px solid;padding-bottom:8px}.header-cta span{margin-left:12px}.menu-toggle{display:none;background:none;border:0}.hero{height:100svh;min-height:680px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,7,.76) 0%,rgba(8,9,7,.24) 55%,rgba(8,9,7,.05)),linear-gradient(0deg,rgba(8,9,7,.42),transparent 45%)}.hero-copy{position:absolute;left:8vw;top:50%;transform:translateY(-43%);max-width:780px}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.25em;font-size:10px;font-weight:500}.eyebrow{color:#dfc8a4;margin-bottom:28px}.hero h1,.section-head h2,.manifesto h2,.services h2,.contact h2{font:clamp(64px,9.5vw,145px)/.82 "Italiana";letter-spacing:-.04em;margin:0}.hero h1 em,h2 em{font-weight:400;color:var(--sand)}.hero-intro{font-size:16px;line-height:1.7;max-width:490px;margin:34px 0}.text-link{display:inline-flex;align-items:center;gap:42px;color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:10px;border-bottom:1px solid currentColor;padding-bottom:11px}.hero-note{position:absolute;right:6vw;bottom:8vh;display:flex;gap:12px;border-left:1px solid rgba(255,255,255,.5);padding-left:15px;text-transform:uppercase}.hero-note span{font-size:8px;letter-spacing:.2em}.hero-note strong{font-size:9px;letter-spacing:.16em;line-height:1.7}.scroll-cue{position:absolute;left:2.3vw;bottom:6vh;writing-mode:vertical-rl;text-transform:uppercase;font-size:8px;letter-spacing:.25em}.scroll-cue i{height:45px;border-left:1px solid;display:inline-block;margin-top:14px}.section-pad{padding:140px 8vw}.manifesto{display:grid;grid-template-columns:1fr 3fr;border-bottom:1px solid var(--line)}.section-label{padding-top:10px}.manifesto h2,.section-head h2,.services h2,.contact h2{font-size:clamp(56px,8vw,120px)}.manifesto>div p{max-width:640px;margin:45px 0 35px;font-size:18px;line-height:1.75}.text-link.dark{color:var(--ink)}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:80px}.section-head h2{font-size:clamp(52px,7vw,100px)}.gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw 4vw}.shot{overflow:hidden}.shot-2{margin-top:130px}.shot-3{width:72%;justify-self:end}.shot-4{margin-top:80px}.placeholder{min-height:560px;padding:28px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;color:#f7f2e9;background-color:#423a31;background-image:radial-gradient(circle at 70% 20%,rgba(218,175,112,.5),transparent 30%),linear-gradient(145deg,transparent 40%,rgba(0,0,0,.6)),linear-gradient(45deg,#2c302b,#8b6745);transition:transform .7s}.shot-2 .placeholder{min-height:720px;background-image:radial-gradient(circle at 28% 40%,rgba(202,154,119,.4),transparent 28%),linear-gradient(135deg,#542f22,#1a1916)}.shot-3 .placeholder{min-height:520px;background-image:radial-gradient(circle at 50% 20%,rgba(229,207,162,.45),transparent 20%),linear-gradient(150deg,#756c59,#25231d)}.shot-4 .placeholder{min-height:620px;background-image:radial-gradient(circle at 70% 30%,rgba(157,166,135,.4),transparent 35%),linear-gradient(45deg,#18211e,#545844)}.placeholder:hover{transform:scale(1.015)}.placeholder span{position:absolute;top:25px;right:25px;font:32px "Italiana"}.placeholder b{font:34px "Italiana";font-weight:400}.placeholder small{text-transform:uppercase;letter-spacing:.18em;margin-top:10px}.gallery-note{width:48%;margin:80px 0 0 auto;line-height:1.7;color:#665f55}.services{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.15fr;gap:8vw}.services-title{position:sticky;top:100px;height:max-content}.service-list article{border-top:1px solid rgba(255,255,255,.2);padding:30px 4px;display:grid;grid-template-columns:40px 1fr 30px;gap:20px}.service-list article:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.service-list span{font-size:10px;color:var(--sand)}.service-list h3{font:38px "Italiana";margin:0 0 8px}.service-list p{margin:0;color:#afa99d;line-height:1.6}.service-list b{font-weight:300;color:var(--sand)}.quote-band{background:var(--rust);color:#f8eee0;padding:80px 0 130px;overflow:hidden}.marquee{white-space:nowrap;display:flex;width:max-content;animation:marquee 25s linear infinite;opacity:.3;font:44px "Italiana";font-style:italic}.marquee span{padding-right:20px}@keyframes marquee{to{transform:translateX(-50%)}}blockquote{font:clamp(44px,7vw,100px)/1.06 "Italiana";text-align:center;margin:130px auto 0;max-width:1200px;padding:0 5vw}blockquote em{color:#e0c7a0}.contact{display:grid;grid-template-columns:1.25fr .75fr;gap:10vw}.contact-copy>p:not(.section-label){font-size:17px;line-height:1.7;max-width:520px;margin:40px 0}.button{display:inline-flex;gap:45px;background:var(--ink);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;padding:20px 25px}.contact-details{font-style:normal;padding-top:70px}.contact-details div{border-top:1px solid var(--line);padding:23px 0}.contact-details span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.2em;margin-bottom:10px;color:#766e62}.contact-details a,.contact-details p{color:inherit;text-decoration:none;font-size:16px;line-height:1.6;margin:0}footer{background:#0d0c0a;color:#aaa49a;display:flex;align-items:center;justify-content:space-between;padding:50px 6vw;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.footer-brand{color:#eee9df}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:76px;padding:0 20px}.brand-mark{width:40px;height:40px;font-size:28px}.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:7px;padding:10px;z-index:2}.menu-toggle span{width:25px;border-top:1px solid white;transition:.3s}nav{position:fixed;inset:0;background:#171510;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;transform:translateY(-100%);transition:.45s}nav.open{transform:none}nav a{font:40px "Italiana";text-transform:none}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:640px}.hero-image{object-position:62% center}.hero-overlay{background:linear-gradient(0deg,rgba(8,9,7,.8),rgba(8,9,7,.05) 70%)}.hero-copy{left:24px;right:24px;top:auto;bottom:95px;transform:none}.hero h1{font-size:clamp(56px,20vw,82px)}.hero-intro{font-size:14px;margin:24px 0}.hero-note{display:none}.scroll-cue{right:18px;left:auto}.section-pad{padding:90px 24px}.manifesto,.services,.contact{grid-template-columns:1fr;gap:50px}.manifesto h2{margin-top:35px}.section-head{display:block}.section-head h2{margin-top:32px}.gallery{grid-template-columns:1fr;gap:24px}.shot-2,.shot-4{margin-top:0}.shot-3{width:100%}.placeholder,.shot-2 .placeholder,.shot-3 .placeholder,.shot-4 .placeholder{min-height:480px}.gallery-note{width:100%;margin-top:45px}.services-title{position:static}.quote-band{padding:60px 0 90px}blockquote{margin-top:90px}.contact-details{padding-top:0}footer{align-items:flex-start;flex-direction:column;gap:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee{animation:none}}

/* Experience, enquiry and navigation enhancements */
.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:40}.progress span{display:block;width:100%;height:100%;background:var(--sand);transform:scaleX(0);transform-origin:left}.site-header{z-index:30;transition:background .35s,color .35s,height .35s}.site-header.scrolled{position:fixed;height:70px;background:rgba(23,21,16,.92);backdrop-filter:blur(14px);box-shadow:0 1px rgba(255,255,255,.08)}
.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;border-bottom:1px solid var(--line)}.process-heading{position:sticky;top:120px;height:max-content}.process-heading h2,.faq h2{font:clamp(52px,6.5vw,95px)/.9 "Italiana";letter-spacing:-.04em;margin:25px 0 35px}.process-heading>p:last-child{line-height:1.7;max-width:430px}.process-steps{list-style:none;padding:0;margin:0}.process-steps li{display:grid;grid-template-columns:55px 1fr;border-top:1px solid var(--line);padding:35px 0}.process-steps li:last-child{border-bottom:1px solid var(--line)}.process-steps span{font-size:10px;letter-spacing:.15em;color:var(--rust)}.process-steps h3{font:36px "Italiana";margin:0 0 12px}.process-steps p{line-height:1.7;margin:0;max-width:550px;color:#665f55}
.faq{background:#ded6c8;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}.faq-heading{align-self:start}.accordion details{border-top:1px solid rgba(23,21,16,.35)}.accordion details:last-child{border-bottom:1px solid rgba(23,21,16,.35)}.accordion summary{list-style:none;cursor:pointer;padding:28px 0;font:25px "Italiana";display:flex;justify-content:space-between;gap:20px}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font:300 24px "DM Sans";transition:transform .3s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{max-width:620px;line-height:1.7;color:#5f594f;margin:0;padding:0 45px 28px 0}
.button{justify-content:space-between;border:0;cursor:pointer;transition:background .25s,transform .25s}.button:hover{background:var(--rust);transform:translateY(-2px)}.enquiry-form{margin-top:45px;max-width:680px}.enquiry-form label{display:block;margin-bottom:25px}.enquiry-form label>span{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.2em;margin-bottom:9px;color:#766e62}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:9px 0 13px;font:15px "DM Sans";color:var(--ink);outline:none}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--rust)}.enquiry-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-note{font-size:10px!important;margin:14px 0 0!important;color:#766e62}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:15;background:#f2eee5;color:#171510;box-shadow:0 8px 30px rgba(0,0,0,.22);display:flex;align-items:center;gap:18px;padding:14px 17px;text-decoration:none;text-transform:uppercase;font-size:9px;letter-spacing:.17em;border-radius:40px}.floating-whatsapp b{font-size:15px;font-weight:400}
@media(max-width:800px){.site-header.scrolled{height:64px}.process,.faq{grid-template-columns:1fr;gap:50px}.process-heading{position:static}.form-row{grid-template-columns:1fr;gap:0}.floating-whatsapp span{display:none}}

/* Cinematic future editorial layer */
.hero-image{object-position:center 35%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
body.loading{overflow:hidden}.loader{position:fixed;inset:0;z-index:100;background:#0d0c0a;color:#eee9df;display:grid;place-items:center;align-content:center;gap:28px;transition:opacity .7s ease,visibility .7s}.loader.done{opacity:0;visibility:hidden}.loader p{font:14px "DM Sans";letter-spacing:.35em;text-transform:uppercase;margin:0}.loader p span{color:var(--sand);font-size:9px}.loader-aperture{width:78px;height:78px;border:1px solid rgba(255,255,255,.18);border-radius:50%;position:relative;animation:aperture-spin 2.5s cubic-bezier(.6,0,.3,1) infinite}.loader-aperture i{position:absolute;left:37px;top:6px;width:1px;height:32px;background:linear-gradient(#d1b58b,transparent);transform-origin:0 33px}.loader-aperture i:nth-child(2){transform:rotate(60deg)}.loader-aperture i:nth-child(3){transform:rotate(120deg)}.loader-aperture i:nth-child(4){transform:rotate(180deg)}.loader-aperture i:nth-child(5){transform:rotate(240deg)}.loader-aperture i:nth-child(6){transform:rotate(300deg)}@keyframes aperture-spin{50%{transform:rotate(150deg) scale(.65)}to{transform:rotate(360deg)}}
.cursor-lens{position:fixed;left:0;top:0;width:76px;height:76px;border:1px solid rgba(209,181,139,.8);border-radius:50%;z-index:60;pointer-events:none;display:grid;place-items:center;opacity:0;transform:translate(-50%,-50%) scale(.5);transition:opacity .2s,transform .18s ease-out,background .2s;mix-blend-mode:difference}.cursor-lens span{font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:#fff;opacity:0}.cursor-lens.active{opacity:1;transform:translate(-50%,-50%) scale(1)}.cursor-lens.view{background:#fff;mix-blend-mode:difference;transform:translate(-50%,-50%) scale(1.25)}.cursor-lens.view span{opacity:1;color:#000}.hero-tech{position:absolute;right:6vw;top:24%;display:grid;gap:8px;text-align:right;font:8px "DM Sans";letter-spacing:.2em;color:rgba(255,255,255,.65)}.hero-tech span:first-child{color:var(--sand)}
.grade-lab{background:#11110f;color:var(--paper);display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:center}.lab-copy h2{font:clamp(55px,7vw,105px)/.88 "Italiana";letter-spacing:-.04em;margin:28px 0 35px}.lab-copy>p:not(.section-label){color:#aaa399;line-height:1.8;max-width:480px}.lab-readout{border:1px solid rgba(255,255,255,.15);margin-top:45px;padding:17px 19px;display:grid;grid-template-columns:1fr auto;gap:6px 20px;font-size:8px;letter-spacing:.16em}.lab-readout span{color:#7f7a72}.lab-readout b{font-weight:400;color:var(--sand);grid-row:2}.lab-readout i{grid-row:1/3;grid-column:2;align-self:center;color:#879b70;font-style:normal}.compare{height:min(72vh,720px);min-height:520px;position:relative;overflow:hidden;cursor:ew-resize;background:#28251f}.compare>img,.compare-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% center}.compare>img{filter:saturate(.65) contrast(.9) brightness(1.06)}.compare-after{position:absolute;inset:0;clip-path:inset(0 42% 0 0)}.compare-after img{filter:saturate(1.08) contrast(1.08) sepia(.08)}.compare-line{position:absolute;left:58%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.9);pointer-events:none}.compare-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(17,17,15,.75);border:1px solid #fff;display:grid;place-items:center;backdrop-filter:blur(8px)}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare-label{position:absolute;bottom:18px;background:rgba(10,10,8,.65);backdrop-filter:blur(8px);padding:9px 12px;text-transform:uppercase;letter-spacing:.18em;font-size:8px}.compare-label.before{left:18px}.compare-label.after{right:18px;color:var(--sand)}
.availability-trigger{position:fixed;z-index:16;left:22px;bottom:22px;border:0;background:var(--rust);color:white;border-radius:40px;padding:15px 18px;display:flex;align-items:center;gap:14px;text-transform:uppercase;font:9px "DM Sans";letter-spacing:.17em;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.22)}.availability-trigger i{width:7px;height:7px;background:#d7e6bd;border-radius:50%;box-shadow:0 0 0 5px rgba(215,230,189,.12);animation:pulse 1.8s infinite}@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(215,230,189,0)}}.planner{width:min(92vw,580px);border:1px solid rgba(255,255,255,.13);background:rgba(20,19,16,.96);backdrop-filter:blur(22px);color:var(--paper);padding:55px;color-scheme:dark}.planner::backdrop{background:rgba(8,8,7,.72);backdrop-filter:blur(6px)}.planner h2{font:clamp(52px,7vw,82px)/.88 "Italiana";letter-spacing:-.04em;margin:22px 0}.planner h2 em{color:var(--sand)}.planner>p:not(.section-label){color:#aaa399;line-height:1.6}.planner-close{position:absolute;right:20px;top:15px;border:0;background:none;color:#fff;font-size:30px;font-weight:200;cursor:pointer}.planner form{margin-top:35px}.planner label{display:block;margin:20px 0}.planner label span{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.2em;color:#8d877e;margin-bottom:8px}.planner input,.planner select{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;padding:10px 0;font:14px "DM Sans";outline:none}.planner option{background:#171510}.planner .button{margin-top:15px;background:var(--rust);width:100%}nav a{position:relative}nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--sand);transition:right .3s}nav a.active::after,nav a:hover::after{right:0}
@media(max-width:800px){.cursor-lens{display:none}.hero-tech{display:none}.grade-lab{grid-template-columns:1fr;padding-left:0;padding-right:0}.lab-copy{padding:0 24px}.compare{min-height:460px;height:62vh}.lab-readout{display:none}.availability-trigger{left:16px;bottom:16px}.floating-whatsapp{right:16px;bottom:16px}.planner{padding:50px 25px 30px}.planner h2{font-size:55px}nav a::after{display:none}}
@media(pointer:coarse){.cursor-lens{display:none}}@media(prefers-reduced-motion:reduce){.loader-aperture,.availability-trigger i{animation:none}.loader{display:none}}

/* Real-work gallery and immersive viewer */
.gallery{grid-template-columns:repeat(12,1fr);gap:7vw 2vw}.shot{position:relative;border:0;padding:0;background:#292720;color:#fff;text-align:left;cursor:zoom-in;width:100%;margin:0;justify-self:stretch;overflow:hidden}.shot-1{grid-column:1/span 7}.shot-2{grid-column:8/span 5;margin-top:120px}.shot-3{grid-column:1/span 5;width:100%;justify-self:stretch}.shot-4{grid-column:6/span 7;margin-top:80px}.shot-5{grid-column:1/span 7}.shot-6{grid-column:8/span 5;margin-top:110px}.shot img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s}.shot-1 img,.shot-4 img,.shot-5 img{aspect-ratio:1/1.06}.shot:hover img{transform:scale(1.025);filter:brightness(.8)}.shot:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.shot-meta{position:absolute;inset:auto 0 0;padding:70px 24px 23px;display:flex;align-items:end;justify-content:space-between;gap:20px;background:linear-gradient(transparent,rgba(10,9,8,.8));opacity:0;transform:translateY(12px);transition:.4s;pointer-events:none}.shot:hover .shot-meta,.shot:focus-visible .shot-meta{opacity:1;transform:none}.shot-meta b{font:30px "Italiana";font-weight:400}.shot-meta small{text-transform:uppercase;font-size:8px;letter-spacing:.18em}.gallery-foot{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:80px 0 0 auto;width:65%}.gallery-foot p{line-height:1.7;color:#665f55;max-width:470px;margin:0}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(8,8,7,.96);color:#fff;overflow:hidden}.lightbox::backdrop{background:#080807}.lightbox figure{height:100%;margin:0;display:grid;place-items:center;padding:55px 110px}.lightbox figure>img{display:block;max-width:100%;max-height:calc(100vh - 130px);object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.45)}.lightbox figcaption{position:absolute;left:34px;bottom:30px;display:grid;gap:5px}.lightbox figcaption span{font-size:8px;letter-spacing:.2em;color:var(--sand)}.lightbox figcaption b{font:24px "Italiana";font-weight:400}.lightbox figcaption small{text-transform:uppercase;letter-spacing:.16em;color:#88837b}.lightbox-close{position:absolute;right:30px;top:22px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:none;color:#fff;font-size:26px;cursor:pointer}.lightbox-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.2);color:#fff;cursor:pointer}.lightbox-nav.prev{left:28px}.lightbox-nav.next{right:28px}.lightbox-count{position:absolute;right:35px;bottom:33px;font-size:9px;letter-spacing:.2em;color:#aaa399}
@media(max-width:800px){.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shot-1,.shot-2,.shot-3,.shot-4,.shot-5,.shot-6{grid-column:auto;margin:0;width:100%}.shot:nth-child(3n+1){grid-column:1/-1}.shot img,.shot-1 img,.shot-4 img,.shot-5 img{aspect-ratio:4/5}.shot:nth-child(3n+1) img{aspect-ratio:1.15/1}.shot-meta{opacity:1;transform:none;padding:50px 14px 13px}.shot-meta b{font-size:20px}.shot-meta small{display:none}.gallery-foot{width:100%;display:block;margin-top:40px}.gallery-foot .text-link{margin-top:25px}.lightbox figure{padding:70px 15px 125px}.lightbox figure>img{max-height:calc(100vh - 200px)}.lightbox-nav{top:auto;bottom:25px}.lightbox-nav.prev{left:50%;margin-left:-58px}.lightbox-nav.next{right:50%;margin-right:-58px}.lightbox figcaption{left:18px;bottom:86px}.lightbox-count{right:18px;bottom:98px}.lightbox-close{right:14px;top:14px}}

/* Portfolio controls and capture-system presentation */
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;margin:-35px 0 55px;border-bottom:1px solid var(--line);padding-bottom:18px}.filter-list{display:flex;gap:8px;flex-wrap:wrap}.filter-list button{border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--ink);padding:10px 15px;text-transform:uppercase;font:8px "DM Sans";letter-spacing:.16em;cursor:pointer;transition:.3s}.filter-list button:hover,.filter-list button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.gallery-toolbar>p{margin:0;text-transform:uppercase;font-size:8px;letter-spacing:.17em;color:#766e62}.gallery-toolbar>p span{color:var(--rust);font:22px "Italiana";margin-right:5px}.shot.is-hidden{display:none}.gallery.filtered{grid-template-columns:repeat(2,1fr);gap:2vw}.gallery.filtered .shot{grid-column:auto;margin:0}.gallery.filtered .shot img{aspect-ratio:4/5}.service-list article[role=button]{cursor:pointer;transition:padding .35s,background .35s}.service-list article[role=button]:hover,.service-list article[role=button]:focus-visible{padding-left:18px;padding-right:18px;background:rgba(255,255,255,.045);outline:none}.service-list article small{display:inline-block;margin-top:14px;text-transform:uppercase;letter-spacing:.17em;font-size:8px;color:var(--sand);opacity:0;transform:translateX(-8px);transition:.3s}.service-list article:hover small,.service-list article:focus-visible small{opacity:1;transform:none}
.capture-system{background:#d7c9b4;display:grid;grid-template-columns:.8fr 1fr;gap:6vw 9vw;overflow:hidden}.capture-intro h2{font:clamp(58px,7vw,105px)/.88 "Italiana";letter-spacing:-.04em;margin:28px 0 35px}.capture-intro>p:last-child{max-width:480px;line-height:1.75}.capture-orbit{height:430px;position:relative;display:grid;place-items:center}.orbit-core{width:150px;height:150px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;align-content:center;position:relative;z-index:2;box-shadow:0 25px 70px rgba(23,21,16,.25)}.orbit-core span{font:50px "Italiana"}.orbit-core small{text-transform:uppercase;font-size:7px;letter-spacing:.22em;color:var(--sand)}.orbit-ring{position:absolute;border:1px solid rgba(23,21,16,.3);border-radius:50%;animation:orbit-spin 16s linear infinite}.ring-a{width:330px;height:330px}.ring-b{width:430px;height:210px;animation-direction:reverse;animation-duration:12s}.capture-orbit i{position:absolute;z-index:3;width:58px;height:58px;border-radius:50%;background:var(--paper);box-shadow:0 10px 35px rgba(23,21,16,.18);display:grid;place-items:center;font:10px "DM Sans";font-style:normal;letter-spacing:.1em}.node-a{top:25px;left:50%}.node-b{bottom:45px;left:10%}.node-c{right:5%;top:48%}@keyframes orbit-spin{to{transform:rotate(360deg)}}.capture-specs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(23,21,16,.25)}.capture-specs article{padding:30px 3vw 0 0;border-right:1px solid rgba(23,21,16,.25)}.capture-specs article+article{padding-left:3vw}.capture-specs article:last-child{border:0}.capture-specs span{font-size:8px;letter-spacing:.2em;color:var(--rust)}.capture-specs h3{font:34px "Italiana";margin:15px 0 12px}.capture-specs p{line-height:1.65;color:#5d554a;margin:0}
@media(max-width:800px){.gallery-toolbar{display:block;margin-top:-25px}.gallery-toolbar>p{margin-top:15px}.gallery.filtered{grid-template-columns:1fr 1fr;gap:10px}.capture-system{grid-template-columns:1fr}.capture-orbit{height:350px;transform:scale(.82);margin:-35px 0}.capture-specs{grid-template-columns:1fr}.capture-specs article,.capture-specs article+article{padding:25px 0;border-right:0;border-bottom:1px solid rgba(23,21,16,.25)}.service-list article small{opacity:1;transform:none}.filter-list button{padding:9px 12px}}@media(prefers-reduced-motion:reduce){.orbit-ring{animation:none}}
.contact.selection-pulse .enquiry-form{animation:form-pulse 1.1s ease}@keyframes form-pulse{35%{filter:drop-shadow(0 0 14px rgba(156,79,45,.25));transform:translateY(-3px)}to{filter:none;transform:none}}@media(prefers-reduced-motion:reduce){.contact.selection-pulse .enquiry-form{animation:none}}

/* Extended curated portfolio */
.shot-7{grid-column:1/span 5}.shot-8{grid-column:6/span 7;margin-top:75px}.shot-9{grid-column:1/span 7}.shot-10{grid-column:8/span 5;margin-top:115px}.shot-8 img,.shot-9 img{aspect-ratio:1/1.06}.lightbox figcaption a{color:var(--sand);text-transform:uppercase;font-size:7px;letter-spacing:.17em;text-decoration:none;margin-top:5px}
@media(max-width:800px){.shot-7,.shot-8,.shot-9,.shot-10{grid-column:auto;margin:0;width:100%}.shot-8 img,.shot-9 img{aspect-ratio:4/5}}
@media(max-width:800px){.hero-image{object-position:center center}}

/* Guided story planner */
.planner{width:min(94vw,760px);padding:42px 48px;overflow-x:hidden}.planner-topline{display:flex;align-items:center;justify-content:space-between}.planner-topline .section-label{padding:0;margin:0}.planner-topline>span{font-size:9px;letter-spacing:.2em;color:#777168}.planner-topline>span b{font:26px "Italiana";font-weight:400;color:var(--sand)}.planner-progress{height:1px;background:rgba(255,255,255,.14);margin:22px 0 28px}.planner-progress i{display:block;width:33.333%;height:100%;background:var(--sand);transition:width .5s cubic-bezier(.2,.7,.2,1)}.planner-step{border:0;padding:0;margin:0;display:none;opacity:0;transform:translateX(28px)}.planner-step.active{display:block;animation:step-in .45s ease forwards}@keyframes step-in{to{opacity:1;transform:none}}.planner-step legend{font:clamp(46px,6vw,70px)/.9 "Italiana";letter-spacing:-.035em;padding:0;margin:0}.planner-step legend em{color:var(--sand);font-style:italic}.planner-step>p{color:#969086;line-height:1.6;margin:18px 0 26px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid label{margin:0;cursor:pointer}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid label>span{min-height:92px;border:1px solid rgba(255,255,255,.16);padding:18px;display:flex;flex-direction:column;justify-content:center;transition:background .25s,border-color .25s,transform .25s}.choice-grid label>span b{font:23px "Italiana";font-weight:400}.choice-grid label>span small{color:#8b857c;margin-top:6px;font-size:10px}.choice-grid label:hover>span{border-color:rgba(209,181,139,.65);transform:translateY(-2px)}.choice-grid input:checked+span{background:var(--paper);color:var(--ink);border-color:var(--paper)}.choice-grid input:checked+span small{color:#6b645b}.choice-grid input:focus-visible+span{outline:2px solid var(--sand);outline-offset:3px}.planner-step.invalid .choice-grid{animation:choice-shake .35s ease}@keyframes choice-shake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}.planner-actions{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:24px}.planner-actions .button{margin:0}.planner-back{border:0;background:none;color:#aaa399;text-transform:uppercase;font:8px "DM Sans";letter-spacing:.18em;cursor:pointer;padding:15px}.planner-step>label,.planner-step>.form-row label{margin:18px 0}.planner-step>label>span,.planner-step>.form-row label>span{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.2em;color:#8d877e;margin-bottom:8px}.planner-step input[type=date],.planner-step input[name=location],.planner-step input[name=plannerName]{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;padding:10px 0;font:14px "DM Sans";outline:none}.planner-step input:focus{border-color:var(--sand)}.planner-privacy{font-size:9px!important;margin:18px 0 0!important;color:#716c64!important}.planner-field-error{color:#d99572!important;font-size:9px!important;margin:10px 0 0!important}.planner-success{padding:80px 0;text-align:center}.planner-success i{width:64px;height:64px;border:1px solid var(--sand);border-radius:50%;display:grid;place-items:center;margin:0 auto 25px;color:var(--sand);font:28px "Italiana"}.planner-success h3{font:50px "Italiana";font-weight:400;margin:0 0 15px}.planner-success p{color:#9c968c;line-height:1.6}
@media(max-width:800px){.planner{padding:38px 20px 24px;max-height:100svh}.choice-grid{grid-template-columns:1fr 1fr}.choice-grid label>span{min-height:82px;padding:13px}.choice-grid label>span b{font-size:19px}.choice-grid label>span small{font-size:8px}.planner-step legend{font-size:48px}.planner-actions{margin-top:18px}.planner-step>.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.planner-privacy{display:none}}@media(max-width:420px){.planner{width:100vw}.choice-grid{grid-template-columns:1fr}.choice-grid label>span{min-height:66px}.planner-step legend{font-size:42px}.planner-step>p{margin:12px 0 18px}.planner-step>.form-row{grid-template-columns:1fr}}
.planner-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.planner .button:disabled{opacity:.65;cursor:wait;transform:none}

/* Cinematic motion story */
.showreel{background:#0c0d0c;color:var(--paper);display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;align-items:center;min-height:100vh;overflow:hidden}.reel-stage{height:min(78vh,760px);position:relative;display:grid;place-items:center}.reel-stage video{height:100%;max-width:100%;aspect-ratio:9/16;object-fit:cover;position:relative;z-index:2;box-shadow:0 35px 100px rgba(0,0,0,.55)}.reel-glow{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(78,108,121,.44),rgba(156,79,45,.16) 45%,transparent 70%);filter:blur(30px);animation:reel-breathe 6s ease-in-out infinite}@keyframes reel-breathe{50%{transform:scale(1.12);opacity:.7}}.reel-controls{position:absolute;z-index:3;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.reel-controls button{border:1px solid rgba(255,255,255,.28);border-radius:30px;background:rgba(10,10,9,.68);backdrop-filter:blur(12px);color:#fff;padding:11px 14px;display:flex;align-items:center;gap:8px;cursor:pointer}.reel-controls button span{color:var(--sand)}.reel-controls button b{font:7px "DM Sans";font-weight:500;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}.reel-progress{position:absolute;z-index:3;bottom:0;left:calc(50% - min(21.94vh,213px));width:min(43.88vh,427px);height:2px;background:rgba(255,255,255,.2)}.reel-progress i{display:block;width:0;height:100%;background:var(--sand);transform-origin:left}.reel-copy h2{font:clamp(58px,7vw,105px)/.88 "Italiana";letter-spacing:-.04em;margin:28px 0 35px}.reel-copy>p:not(.section-label){color:#a39d93;line-height:1.8;max-width:530px}.reel-copy dl{margin:42px 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17)}.reel-copy dl div{padding:16px 12px 16px 0}.reel-copy dt{text-transform:uppercase;font-size:7px;letter-spacing:.2em;color:#777168}.reel-copy dd{margin:7px 0 0;font:16px "Italiana"}.reel-copy .text-link{color:var(--paper)}
@media(max-width:800px){.showreel{grid-template-columns:1fr;padding-left:24px;padding-right:24px;gap:70px}.reel-stage{height:68vh;min-height:520px}.reel-copy{grid-row:1}.reel-copy dl{grid-template-columns:1fr 1fr}.reel-copy dl div:last-child{display:none}.reel-progress{left:50%;transform:translateX(-50%);width:min(38.25vh,300px)}}@media(prefers-reduced-motion:reduce){.reel-glow{animation:none}}
/* Private enquiry intake */
.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.enquiry-form button:disabled{cursor:wait;opacity:.65}

/* Story index 2.0 — cinematic, responsive and service-aware */
.work{position:relative;isolation:isolate;overflow:hidden;background:#0b0d0d;color:#ece8df}
.work::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(199,171,123,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(199,171,123,.055) 1px,transparent 1px),radial-gradient(circle at 82% 8%,rgba(76,163,173,.16),transparent 24%),radial-gradient(circle at 8% 48%,rgba(163,84,50,.2),transparent 28%);background-size:72px 72px,72px 72px,auto,auto}
.work::after{content:"NAG / VISUAL ARCHIVE";position:absolute;z-index:-1;top:7%;right:-3%;font:clamp(70px,13vw,190px)/1 "Italiana";color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);writing-mode:vertical-rl;letter-spacing:.05em}
.work .section-label{color:#75c6cc}.work .section-head em{color:#d4b57f}.story-signal{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:-35px 0 72px;padding:13px 0;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);text-transform:uppercase;font-size:8px;letter-spacing:.17em}.story-signal span{color:#9dd8da}.story-signal i{display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:#70d4d5;box-shadow:0 0 0 6px rgba(112,212,213,.1),0 0 22px #70d4d5;animation:signal-pulse 2s ease-in-out infinite}.story-signal p{margin:0;color:#777f7c}.gallery-toolbar{position:sticky;top:12px;z-index:4;margin:-35px 0 55px;padding:13px 15px;border:1px solid rgba(255,255,255,.13);border-radius:50px;background:rgba(12,14,14,.74);backdrop-filter:blur(18px);box-shadow:0 20px 70px rgba(0,0,0,.24)}.filter-list button{border-color:rgba(255,255,255,.14);color:#c7c8c3}.filter-list button:hover,.filter-list button.active{border-color:#83d1d3;background:#83d1d3;color:#071011;box-shadow:0 0 28px rgba(131,209,211,.2)}.gallery-toolbar>p{color:#747b78}.gallery-toolbar>p span{color:#83d1d3}.shot{background:#111515;border:1px solid rgba(255,255,255,.09);clip-path:polygon(0 0,calc(100% - 19px) 0,100% 19px,100% 100%,0 100%);box-shadow:0 30px 80px rgba(0,0,0,.25)}.shot::before{content:"0" counter(story);counter-increment:story;position:absolute;z-index:2;top:15px;left:15px;padding:7px 9px;background:rgba(5,8,8,.62);border:1px solid rgba(255,255,255,.2);color:#a9dfe0;backdrop-filter:blur(10px);font-size:8px;letter-spacing:.16em}.gallery{counter-reset:story}.shot img{filter:saturate(.92) contrast(1.03)}.shot:hover img{filter:saturate(1.04) contrast(1.05) brightness(.72)}.shot-meta{background:linear-gradient(transparent,rgba(5,8,8,.92))}.shot-meta small{color:#9ad2d4}.gallery-foot{color:#c7c9c4}.gallery-foot p{color:#7f8783}.gallery-foot>div{display:flex;gap:30px;align-items:end}.work .text-link.dark{color:#e9e6de}.service-list article.service-linked{padding-left:18px;padding-right:18px;background:linear-gradient(90deg,rgba(117,198,204,.12),rgba(255,255,255,.025));box-shadow:inset 2px 0 #75c6cc}.service-list article.service-linked>span,.service-list article.service-linked>b{color:#8ad4d6}
@keyframes signal-pulse{50%{opacity:.45;box-shadow:0 0 0 11px rgba(112,212,213,0),0 0 35px #70d4d5}}
@media(max-width:800px){.story-signal{display:block;margin-top:-15px}.story-signal p{margin-top:8px;line-height:1.6}.gallery-toolbar{top:7px;border-radius:18px}.gallery-foot>div{display:grid;gap:20px;margin-top:25px}.work::after{display:none}}
@media(prefers-reduced-motion:reduce){.story-signal i{animation:none}}
