@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#171717;--cream:#1e2021;--lime:#d4a64a;--muted:#777}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #ddd;position:relative;z-index:10;background:var(--cream)}.logo{font-family:'Space Grotesk',sans-serif;font-size:27px;letter-spacing:-1.9px;font-weight:700}.logo span{font-weight:400}.logo i{font-size:15px;color:#d4a64a;font-style:normal;vertical-align:top;margin-left:4px}.nav nav{display:flex;gap:34px;font-size:13px;font-weight:700}.nav nav a:hover,.text-link:hover{color:#d4a64a}.nav-cta{background:var(--ink);color:white;padding:15px 22px;font-size:12px;font-weight:800;letter-spacing:.05em}.menu{display:none;background:none;border:0;font-size:25px}.hero{min-height:660px;padding:90px 5% 0;overflow:hidden}.hero-tag,.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em}.hero-tag{display:flex;align-items:center;gap:10px}.pulse{width:9px;height:9px;background:#d4a64a;border-radius:50%;box-shadow:0 0 0 5px #50432c}.hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(65px,10.8vw,185px);letter-spacing:-.095em;line-height:.91;margin:35px 0 28px;font-weight:700}.hero h1 em,.contact h2 em,.about h2 em{font-style:normal;color:#d4a64a}.asterisk{font-size:.36em;color:var(--lime);-webkit-text-stroke:2px var(--ink);vertical-align:top;margin-left:18px}.hero-bottom{display:flex;align-items:end;justify-content:space-between;margin-bottom:85px}.hero-bottom p{font-size:19px;line-height:1.55}.circle-link{display:grid;place-items:center;width:72px;height:72px;background:var(--lime);border-radius:50%;font-size:35px}.hero-marquee{background:var(--lime);margin:0 -6%;overflow:hidden;transform:rotate(-2deg);padding:18px 0;font-size:25px;font-weight:800;white-space:nowrap;letter-spacing:.08em}.hero-marquee div{width:max-content;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-40%)}}.section{padding:125px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px}.section-heading h2,.about h2{font-family:'Space Grotesk';font-size:clamp(55px,7.2vw,105px);line-height:.94;letter-spacing:-.08em;margin:22px 0 0}.period{color:#d4a64a}.section-heading>p{max-width:340px;font-size:16px;line-height:1.6;color:#555}.work{background:#171717;color:#f5f2ea}.work .section-heading>p{color:#aaa}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.work-card{min-width:0}.placeholder{height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;position:relative;overflow:hidden;background:#333}.work-card.big .placeholder{height:440px}.p1{background:radial-gradient(circle at 70% 30%,#6a4d4b,#1b1c24 60%)}.p2{background:linear-gradient(130deg,#d6b8a2,#4c5558)}.p3{background:linear-gradient(135deg,#526d66,#191e27)}.p4{background:radial-gradient(circle at 20% 20%,#ad8d62,#292826 70%)}.placeholder:before{content:'';position:absolute;width:45%;height:150%;transform:rotate(30deg);border:1px solid #ffffff2e;border-radius:50%}.placeholder-icon{font-size:76px;color:#fff9;z-index:1}.placeholder-note{z-index:1;font-size:11px;letter-spacing:.2em;color:#fff9;font-weight:800}.card-caption{display:flex;justify-content:space-between;gap:15px;padding:20px 0 25px;font-size:12px;font-weight:800;letter-spacing:.08em}.card-caption span:last-child{color:#a9a9a9}.work-hint{color:#aaa;font-size:13px;margin-top:25px}.services{background:#f3f0e9}.outline{color:transparent;-webkit-text-stroke:2px var(--ink)}.packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.package{border:2px solid #191919;padding:28px;display:flex;flex-direction:column;min-height:690px}.package.featured{background:var(--lime)}.package-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.07em;font-weight:800}.badge{background:#1a1a1a;color:#fff;padding:7px 8px;font-size:9px;white-space:nowrap}.badge.light{background:#fff;color:#171717}.package-symbol{font-size:52px;margin:34px 0 10px}.package h3{font-family:'Space Grotesk';font-size:clamp(29px,3vw,45px);line-height:1;letter-spacing:-.065em;margin:0 0 14px}.package-description{font-size:14px;line-height:1.5;color:#555;min-height:45px}.price{font-family:'Space Grotesk';font-size:55px;font-weight:700;letter-spacing:-.07em;margin:15px 0 25px}.price small{font-family:'DM Sans';font-size:10px;letter-spacing:.04em}.package ul{list-style:none;padding:0;margin:0;border-top:1px solid #171717}.package li{padding:15px 0;border-bottom:1px solid #1717173b;display:flex;flex-direction:column;gap:5px;font-size:13px}.package li span{color:#555}.fine{font-size:11px;color:#555;line-height:1.6;margin:20px 0 25px}.package-button{margin-top:auto;background:#171717;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:17px 18px;font-size:11px;font-weight:800;letter-spacing:.06em}.package-button span{font-size:19px}.package-button:hover,.nav-cta:hover{background:#414141}.service-note{font-size:12px;color:#666;line-height:1.6;margin-top:24px}.about{background:#d4a64a;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-art{height:500px;background:#181818;color:var(--lime);display:flex;align-items:end;padding:35px;position:relative;overflow:hidden}.about-art>span{font-family:'Space Grotesk';font-size:clamp(44px,5vw,80px);font-weight:700;line-height:.95;letter-spacing:-.08em;z-index:1}.art-orbit{position:absolute;font-size:450px;top:-160px;right:-120px;line-height:1;color:#d4a64a33}.about h2{font-size:clamp(50px,5vw,80px)}.about h2 em{color:#171717;text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:10px}.about-copy p{font-size:17px;line-height:1.7;max-width:550px}.text-link{font-size:12px;font-weight:800;letter-spacing:.1em;display:inline-block;margin-top:25px;border-bottom:2px solid;padding-bottom:9px}.contact{background:#171717;color:#fff}.contact h2{font-family:'Space Grotesk';font-size:clamp(62px,9vw,150px);line-height:.91;letter-spacing:-.09em;margin:30px 0 80px}.contact h2 em{color:var(--lime)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-info>p{font-size:21px;line-height:1.55;max-width:470px}.contact-links{margin:55px 0;display:flex;flex-direction:column}.contact-links a{font-family:'Space Grotesk';font-size:30px;font-weight:700;display:flex;justify-content:space-between;border-bottom:1px solid #555;padding:19px 0}.contact-links small{font-family:'DM Sans';font-size:10px;color:#aaa;align-self:center}.contact-location{font-size:11px;letter-spacing:.08em;color:#aaa}.contact-form{display:flex;flex-direction:column}.contact-form label{font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:8px}.contact-form input,.contact-form select,.contact-form textarea{background:#252525;border:1px solid #555;color:#fff;padding:15px 14px;margin-bottom:23px;border-radius:0;width:100%;outline:none}.contact-form :is(input,select,textarea):focus{border-color:var(--lime)}.contact-form textarea{resize:vertical}.submit{background:var(--lime);color:#171717;border:0;padding:20px;font-size:12px;font-weight:800;display:flex;justify-content:space-between}.submit span{font-size:20px}.form-note{font-size:12px;line-height:1.5;color:#aaa}footer{background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:35px 5%;flex-wrap:wrap}footer>span,footer>a:not(.logo),footer small{font-size:11px;letter-spacing:.06em}footer .logo{font-size:24px}@media(max-width:1000px){.packages{grid-template-columns:1fr 1fr}.package.featured{grid-column:1/-1;min-height:580px}.about{gap:5%}}@media(max-width:700px){.nav{height:70px}.nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:25px 5%;flex-direction:column;border-bottom:1px solid #ccc}.nav nav.open{display:flex}.nav-cta{margin-left:auto;margin-right:15px;padding:12px;font-size:10px}.menu{display:block}.hero{padding-top:85px;min-height:540px}.hero h1{font-size:clamp(56px,12vw,95px);margin:40px 0}.hero-bottom{margin-bottom:70px}.hero-bottom p{font-size:15px}.circle-link{height:55px;width:55px}.section{padding:85px 5%}.section-heading{display:block}.section-heading>p{margin-top:25px}.work-grid{gap:15px}.work-card.big .placeholder,.placeholder{height:220px}.placeholder-icon{font-size:42px}.placeholder-note{font-size:8px;text-align:center}.card-caption{font-size:9px;flex-direction:column;gap:5px}.packages{grid-template-columns:1fr}.package.featured{grid-column:auto}.package{min-height:620px}.about{grid-template-columns:1fr}.about-art{height:340px}.contact-layout{grid-template-columns:1fr}.contact h2{font-size:clamp(54px,11vw,90px)}.contact-info{margin-bottom:45px}footer{justify-content:center;text-align:center}footer>*{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-marquee div{animation:none}}

/* 2026 charcoal + gold creative studio update */
:root{--bg:#17191a;--ink:#f5f1e8;--accent:#d4a64a;--muted:#a6a39a;--line:#45433b}
body{background:var(--bg);color:var(--ink)}
.logo span,.period,.eyebrow,.art-orbit{color:var(--accent)}
a{color:inherit}
.nav{background:rgba(23,25,26,.93);border-bottom:1px solid #353634}
.nav-cta,.primary-cta,.submit,.package-button{background:var(--accent)!important;color:#1b1b19!important;border-color:var(--accent)!important}
.hero-cinema{min-height:790px;height:min(900px,95svh);position:relative;overflow:hidden;display:flex;align-items:center;padding:110px max(5vw,24px) 95px;background:#101213}
.showreel,.hero-shade{position:absolute;inset:0}.showreel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.showreel [hidden]{display:none!important}.hero-shade{background:linear-gradient(90deg,rgba(10,11,12,.87),rgba(10,11,12,.22)),linear-gradient(0deg,rgba(10,11,12,.6),transparent 40%);pointer-events:none}
.showreel-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;text-align:center;background:radial-gradient(circle at 70% 25%,#50442b 0%,#242729 36%,#111314 85%);color:#d6c7a6}.showreel-fallback strong{font-size:clamp(3rem,9vw,9rem);line-height:.86;letter-spacing:-.08em;opacity:.22}.showreel-fallback span,.showreel-fallback small{letter-spacing:.2em;font-size:12px}
.hero-content{position:relative;z-index:2;width:100%;max-width:1200px;margin:auto}.hero-cinema h1{font-size:clamp(4rem,10vw,10rem);line-height:.9;letter-spacing:-.075em;margin:28px 0}.hero-cinema h1 em{font-style:normal;color:var(--accent)}.hero-sub{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.6;color:#ddd6c7}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.primary-cta,.secondary-cta{display:inline-flex;padding:18px 26px;font-weight:800;letter-spacing:.04em;text-decoration:none}.secondary-cta{border:1px solid #c3bba9;color:white}.showreel-controls{position:absolute;z-index:3;bottom:24px;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.16em}.showreel-controls div{display:flex;gap:10px}.showreel-controls button{width:52px;height:52px;border:1px solid #b9ad92;border-radius:50%;background:#18191a;color:#f7f1e2;cursor:pointer;font-size:24px}.showreel-controls button:hover{background:var(--accent);color:#17191a}
.portfolio-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.portfolio-tabs button{background:transparent;color:var(--ink);border:1px solid #666055;padding:11px 18px;cursor:pointer;font-weight:700}.portfolio-tabs button.active,.portfolio-tabs button:hover{background:var(--accent);color:#17191a;border-color:var(--accent)}.portfolio-frame{min-height:300px;height:100%;position:relative;overflow:hidden}.portfolio-frame img,.portfolio-frame video{width:100%;height:100%;object-fit:cover;display:block}.portfolio-placeholder{background:linear-gradient(145deg,#373a39,#1e2222 65%,#4c412b);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}.portfolio-placeholder .placeholder-icon{color:var(--accent);font-size:70px}.portfolio-placeholder .placeholder-note{font-size:12px;letter-spacing:.18em}.work-card[hidden]{display:none!important}.work-card .card-caption{padding:16px 4px}.work-card{min-width:0}
.process{background:#222424}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.steps article{border-top:1px solid var(--accent);padding:24px 12px 20px 0}.steps article span{color:var(--accent);font-size:13px}.steps h3{font-size:clamp(1.5rem,2.5vw,2.6rem);margin:25px 0 10px}.steps p{color:#c8c3b9;line-height:1.6}
.contact-form input,.contact-form textarea,.contact-form select{background:#232526;color:var(--ink);border-color:#5b584e}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aaa59a}.hidden-field{position:absolute;left:-9999px}.success-page{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:10vw;gap:22px}.success-page h1{font-size:clamp(4rem,12vw,10rem);line-height:1;margin:0}.success-page p{font-size:1.25rem;max-width:600px;line-height:1.5}.success-page .primary-cta{margin-top:10px}
@media(max-width:760px){.hero-cinema{min-height:680px;height:90svh;padding-top:110px}.hero-cinema h1{font-size:clamp(3.7rem,13vw,6rem)}.showreel-controls{bottom:18px}.showreel-controls>span:last-child{display:none}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:450px){.steps{grid-template-columns:1fr}.hero-actions a{padding:14px 16px}.showreel-controls button{width:44px;height:44px}}

/* Unified charcoal and warm-gold palette (no neon accents) */
:root{--bg:#17191a;--ink:#f5f1e8;--cream:#1e2021;--lime:#d4a64a;--accent:#d4a64a}
.services{background:#1e2021;color:#f5f1e8}
.services .section-heading>p,.services .package-description,.services .package li span,.services .fine,.services .service-note{color:#c7c0b2}
.outline{-webkit-text-stroke:1.5px #e9e2d4}
.package{border-color:#69604d;background:#252728;color:#f5f1e8}
.package.featured{background:#3c3325;border-color:var(--accent)}
.package ul{border-top-color:#69604d}.package li{border-bottom-color:#5a554a}
.package .badge{background:#d4a64a;color:#191919}.package .badge.light{background:#f5f1e8;color:#191919}
.about{background:#292a29;color:#f5f1e8}.about h2 em{color:var(--accent)}
.about-art{color:var(--accent)}.art-orbit{color:#d4a64a40}
.contact-form :is(input,select,textarea):focus{border-color:var(--accent)}
.nav nav a:hover,.text-link:hover{color:var(--accent)}

/* Keep portfolio player controls and full video frames visible. */
.portfolio-frame{height:auto;min-height:0;aspect-ratio:16/9;background:#101213}.portfolio-frame video{object-fit:contain}

/* Vector icons keep their shape and color across mobile and desktop. */
.site-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}.logo i{display:inline-flex;align-items:center}.package-symbol .site-icon{width:1em;height:1em}.showreel-controls button{display:grid;place-items:center}.menu{color:var(--ink)}.art-orbit .site-icon{width:1em;height:1em;vertical-align:0}.contact-form .submit{align-items:center;gap:16px}.contact-form .form-note{margin-bottom:0}.contact-layout>*{min-width:0}.contact-form input,.contact-form select,.contact-form textarea{min-width:0;max-width:100%}footer{position:relative;clear:both}

@media(max-width:700px){.contact-layout{row-gap:40px;column-gap:0}}

/* Shoot categories */
.service-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;border-bottom:1px solid #69604d;padding-bottom:20px}
.service-tabs button{background:transparent;border:1px solid #69604d;color:var(--ink);padding:15px 20px;font-size:13px;font-weight:700;line-height:1.4;text-align:left;min-height:48px}
.service-tabs button[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:#17191a}
.service-tabs button:hover{border-color:var(--accent)}
.service-tabs button:focus-visible,.package-button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.service-panel[hidden]{display:none!important}.category-heading{margin-bottom:28px}.category-heading h3{font-family:'Space Grotesk',sans-serif;font-size:25px;letter-spacing:-.04em;margin:0 0 10px}.category-heading p{color:#c7c0b2;line-height:1.6;margin:0}
.quote-package{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding:48px;border:1px solid #69604d;background:#252728}.quote-intro h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(36px,4.2vw,64px);letter-spacing:-.065em;line-height:1.02;margin:24px 0}.quote-intro>p,.quote-details>p{color:#c7c0b2;line-height:1.7;font-size:16px}.quote-label{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--accent)}.quote-details ul{list-style:none;margin:20px 0;padding:0;border-top:1px solid #69604d}.quote-details li{padding:17px 0;border-bottom:1px solid #69604d;font-size:16px}.quote-details .package-button{margin-top:26px}.quote-details>small{display:block;color:#c7c0b2;font-size:12px;line-height:1.6;margin-top:15px}
@media(max-width:700px){.service-tabs{display:grid;grid-template-columns:1fr 1fr}.service-tabs button{padding:13px 12px}.quote-package{grid-template-columns:1fr;gap:24px;padding:26px}.quote-intro h3{font-size:42px}.category-heading h3{font-size:23px}}

/* Larger, closely spaced portfolio thumbnails. */
.work.section{padding:90px 3% 72px}.work .section-heading{margin-bottom:32px}.work .portfolio-tabs{margin-bottom:22px}
.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:18px;align-items:start}
.work-card .portfolio-frame{aspect-ratio:16/10;min-height:0;height:auto;overflow:hidden}
.film-preview{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:#101213;overflow:hidden}
.film-preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.film-preview::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0003,transparent 60%);pointer-events:none}
.film-play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;display:grid;place-items:center;border:1px solid #fff9;border-radius:50%;color:white;background:#10121366;backdrop-filter:blur(8px);transition:background .2s,transform .2s}
.film-play svg{width:31px;height:31px;margin-left:3px}.film-preview:hover img{transform:scale(1.035);filter:brightness(.85)}.film-preview:hover .film-play{background:#d4a64ae6;color:#17191a;transform:translate(-50%,-50%) scale(1.06)}
.film-preview:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.work-card .card-caption{padding:11px 2px 0;font-size:12px;line-height:1.5;gap:14px;flex-direction:row}.work-hint{margin-top:28px}
.film-dialog{width:min(1280px,94vw);max-width:94vw;max-height:94svh;padding:0;border:1px solid #69604d;background:#101213;color:var(--ink)}.film-dialog::backdrop{background:#000e;backdrop-filter:blur(6px)}.film-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px}.film-toolbar h2{font-family:'Space Grotesk',sans-serif;font-size:18px;line-height:1.4;margin:0}.film-close{background:none;border:1px solid #69604d;color:var(--ink);padding:10px 14px;font-size:11px;letter-spacing:.08em;display:flex;align-items:center;gap:14px;min-height:44px}.film-close span{font-size:24px;line-height:1}.film-close:hover{border-color:var(--accent);color:var(--accent)}.film-player video{display:block;width:100%;max-height:calc(94svh - 80px);background:#000;object-fit:contain}.film-open{overflow:hidden}
@media(max-width:700px){.work.section{padding:70px 4% 55px}.work-grid{grid-template-columns:1fr;row-gap:20px}.work-card .portfolio-frame{aspect-ratio:16/10}.film-play{width:60px;height:60px}.work-card .card-caption{font-size:11px;padding-top:9px}.film-toolbar{padding:12px}.film-toolbar h2{font-size:14px}.film-dialog{width:96vw;max-width:96vw}}
@media(prefers-reduced-motion:reduce){.film-preview img,.film-play{transition:none}}

/* Photography keeps the full portrait composition in a compact grid. */
.work-grid[hidden],.photo-grid[hidden]{display:none!important}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px;margin-top:26px}.work-grid[hidden]+.photo-grid{margin-top:0}
.photo-card .portfolio-frame{aspect-ratio:9/16!important;background:#101213}.photo-preview{display:block;width:100%;height:100%;padding:0;border:0;background:#101213;cursor:zoom-in}.photo-preview img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .2s}.photo-preview:hover img{filter:brightness(.9)}.photo-preview:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}.photo-grid .card-caption{padding:10px 2px 0;display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5}
.photo-dialog{width:min(1000px,96vw);max-width:96vw;max-height:96svh;padding:0;border:1px solid #69604d;background:#101213;color:var(--ink)}.photo-dialog::backdrop{background:#000e;backdrop-filter:blur(6px)}.photo-full{display:block;width:100%;height:calc(96svh - 145px);object-fit:contain;background:#101213}.photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px}.photo-navigation button{background:transparent;border:1px solid #69604d;color:var(--ink);min-height:44px;padding:10px 14px;font-size:11px;letter-spacing:.04em}.photo-navigation button:hover{border-color:var(--accent);color:var(--accent)}.photo-count{font-size:12px;color:#c7c0b2;white-space:nowrap}
@media(max-width:700px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 10px}.photo-grid .card-caption{font-size:9px;gap:5px}.photo-navigation{padding:12px}.photo-navigation button{padding:10px;font-size:10px}.photo-full{height:calc(96svh - 145px)}}

.photo-landscape{grid-column:1/-1}.photo-landscape .portfolio-frame{aspect-ratio:2048/1358!important}

/* All Work combines films and photos in three compact preview rows. */
.work-card[hidden],.portfolio-more[hidden]{display:none!important}
.mixed-grid .photo-landscape{grid-column:auto}
.mixed-grid .photo-card .portfolio-frame{aspect-ratio:16/10!important}
.mixed-grid .photo-preview img{object-fit:cover}
.portfolio-more{display:block;margin:30px auto 0;padding:16px 30px;border:1px solid var(--accent);background:transparent;color:var(--ink);font:inherit;font-size:12px;font-weight:700;letter-spacing:.08em;cursor:pointer;min-height:48px}
.portfolio-more:hover{background:var(--accent);color:#161616}
.portfolio-more:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* Mobile navigation opens below the header and stays above the hero. */
.menu{color:var(--ink);touch-action:manipulation}
.menu:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:700px){
 .nav{z-index:50;padding:0 5%;gap:8px}
 .nav .logo{flex-shrink:0}
 .nav-cta{margin-right:0;padding:12px 10px;white-space:nowrap}
 .menu{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:10px}
 .nav nav{top:100%;padding:10px 5% 18px;gap:0;background:#17191a;border-bottom:1px solid #69604d;box-shadow:0 15px 25px #0006}
 .nav-open .nav nav{display:flex}
 .nav nav a{display:block;padding:15px 8px;border-bottom:1px solid #ffffff18;font-size:16px;min-height:50px}
 .nav nav a:last-child{border-bottom:0}
 .nav-open .menu{color:var(--accent)}
 .film-dialog{max-height:92svh;overflow:auto}
 .film-player video{max-height:calc(92svh - 170px);min-height:160px}
}
#heroPlay[hidden],.film-retry[hidden]{display:none!important}
#heroPlay{border:1px solid #c7c0b2;background:#17191ae6;color:var(--ink);padding:12px 16px;min-height:44px;font-size:10px;letter-spacing:.04em}
.film-help{padding:10px 16px 14px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px}
.film-status{flex-basis:100%;margin:0;color:#c7c0b2}.film-status:empty{display:none}
.film-direct{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;color:var(--accent)}
.film-retry{background:transparent;border:1px solid #69604d;padding:12px;color:var(--ink);min-height:44px}

/* Compact mobile portfolio inspired by a three-column social gallery. */
@media(max-width:700px){
 .work .work-grid,.work .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-top:0}
 .work .work-card{position:relative;overflow:hidden;min-width:0}
 .work .work-card.photo-landscape{grid-column:auto}
 .work .work-card .portfolio-frame,.work .mixed-grid .photo-card .portfolio-frame,.work .photo-landscape .portfolio-frame{aspect-ratio:3/4!important}
 .work .film-preview img,.work .photo-preview img{width:100%;height:100%;object-fit:cover}
 .work .work-card .card-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;pointer-events:none;margin:0;padding:25px 6px 8px;display:block;background:linear-gradient(transparent,#000b);color:#fff;font-size:9px;line-height:1.25;letter-spacing:.02em;text-shadow:0 1px 3px #000;font-weight:700}
 .work .card-caption span:last-child{display:none}
 .work .film-play{width:22px;height:22px;top:7px;right:7px;left:auto;transform:none;background:#0007;border:1px solid #ffffff80}
 .work .film-play svg{width:12px;height:12px}
 .work .portfolio-more{margin-top:24px}
 .work .film-preview:focus-visible,.work .photo-preview:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
}

/* Fill photo thumbnails without letterboxing; the viewer retains the complete image. */
.photo-preview img{object-fit:cover}
