@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Oswald:wght@400;500;600&display=swap');
:root{--sage:#3d503d;--sage2:#53664f;--sage3:#75816a;--beige:#efe9d8;--ink:#1c261e;--line:rgba(239,233,216,.22);--white:#f7f4e9;--muted:rgba(247,244,233,.68);--serif:Georgia,'Times New Roman',serif;--display:'Oswald',Impact,sans-serif;--sans:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sage);color:var(--white);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.08;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='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.site-header{height:96px;padding:22px 5vw;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s ease,backdrop-filter .3s ease,border-color .3s ease}.wordmark{font:600 24px/.78 var(--display);letter-spacing:.03em;color:var(--white);text-decoration:none}.dot{color:var(--beige)}.site-nav{display:flex;gap:34px;align-items:center}.site-nav a,.text-link{color:var(--white);text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.11em}.site-nav a{opacity:.72;transition:.25s}.site-nav a:hover,.site-nav a.active{opacity:1}.menu-toggle{display:none;background:none;border:0;color:var(--white)}.hero{min-height:88vh;padding:125px 5vw 55px;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;position:relative}.home-hero{background:radial-gradient(circle at 80% 40%,rgba(255,255,255,.07),transparent 30%),linear-gradient(120deg,#354736,#3f523f)}.hero-copy{max-width:700px}.eyebrow,.section-kicker{font:500 11px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);font-weight:500;letter-spacing:-.025em;text-transform:uppercase}h1{font-size:clamp(70px,9vw,150px);line-height:.88;margin:20px 0 30px}h2{font-size:clamp(52px,6vw,92px);line-height:.92;margin:15px 0 28px}h1 i,h2 i{font-family:var(--serif);font-weight:400;text-transform:none;letter-spacing:-.05em}.hero-intro{max-width:500px;font-size:18px;color:var(--muted);line-height:1.6}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.button{display:inline-flex;align-items:center;gap:18px;padding:15px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font:500 11px var(--mono);transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button-solid{background:var(--beige);color:var(--ink)}.button-outline{border:1px solid rgba(247,244,233,.55);color:var(--white)}.text-link{display:inline-flex;gap:10px;border-bottom:1px solid rgba(247,244,233,.35);padding-bottom:7px}.hero-visual{height:min(600px,68vh);position:relative}.hero-frame{position:absolute;overflow:hidden;background:#263328}.hero-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}.frame-a{width:72%;height:78%;right:7%;top:5%;transform:rotate(2deg)}.frame-b{width:52%;height:40%;left:0;bottom:5%;transform:rotate(-4deg);border:9px solid var(--sage)}.frame-label,.scroll-note{position:absolute;font:500 10px var(--mono);letter-spacing:.13em}.frame-label{right:0;top:0;text-align:right}.scroll-note{left:0;bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.6}.section-pad{padding:120px 7vw}.intro-strip{background:var(--beige);color:var(--ink);display:grid;grid-template-columns:.6fr 2fr .9fr;gap:5vw;align-items:start}.intro-strip .section-kicker{color:rgba(28,38,30,.65)}.statement{font:500 clamp(40px,5vw,75px)/.98 var(--display);text-transform:uppercase;max-width:900px}.statement span{font-family:var(--serif);text-transform:none}.small-copy{font-size:14px;line-height:1.7;max-width:290px;color:rgba(28,38,30,.7)}.work-preview{background:var(--sage)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:55px}.section-head h2{margin-bottom:0}.project-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.project{position:relative;min-height:360px;text-decoration:none;color:var(--white);overflow:hidden}.project-large{grid-row:span 2;min-height:738px}.project-placeholder{height:100%;min-height:inherit;padding:40px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:transform .5s}.project:hover .project-placeholder{transform:scale(1.025)}.project-placeholder:before{content:'';position:absolute;width:55%;aspect-ratio:1;border-radius:50%;filter:blur(50px);opacity:.35;top:12%;right:0;background:#b8c3a1}.dark-card{background:linear-gradient(135deg,#263329,#56604d)}.sage-card{background:linear-gradient(145deg,#637359,#2f4031)}.beige-card{background:linear-gradient(145deg,#d6ceb8,#8b9279);color:var(--ink)}.project-placeholder span{font:500 10px var(--mono);letter-spacing:.15em;margin-bottom:auto}.project-placeholder strong{font:500 clamp(38px,4vw,70px)/.95 var(--display);text-transform:uppercase;max-width:550px}.project-placeholder small{font-size:12px;margin-top:10px;opacity:.75}.project-meta{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.split-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;background:#263328}.split-image{position:relative}.split-image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.75)}.image-tag{position:absolute;bottom:15px;left:15px;font:10px var(--mono);padding:7px 9px;background:var(--beige);color:var(--ink)}.split-copy p,.about-copy p{max-width:500px;color:var(--muted);font-size:17px;line-height:1.7}.about-tease{display:grid;grid-template-columns:1fr .85fr;gap:8vw;align-items:center;background:var(--beige);color:var(--ink)}.about-tease .section-kicker{color:rgba(28,38,30,.65)}.about-tease .text-link{color:var(--ink);border-color:rgba(28,38,30,.3)}.about-tease .about-copy p{color:rgba(28,38,30,.76)}.about-photo img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}.contact{background:var(--sage2)}.contact h2{font-size:clamp(65px,9vw,130px);max-width:900px;margin-bottom:40px}.contact-email{display:inline-flex;gap:20px;color:var(--white);font:500 clamp(22px,3vw,40px) var(--display);text-decoration:none;border-bottom:1px solid rgba(247,244,233,.4);padding-bottom:12px}.contact-details{display:flex;justify-content:space-between;gap:25px;margin-top:55px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.contact-details div{display:flex;gap:22px}.contact-details a{color:var(--white);text-decoration:none}.footer{padding:24px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.page-hero{padding-top:190px;min-height:70vh;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 70% 45%,rgba(239,233,216,.09),transparent 25%)}.page-hero h1{max-width:1000px}.page-hero p{max-width:650px;color:var(--muted);font-size:18px;line-height:1.7}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;background:var(--beige);color:var(--ink)}.category-card{min-height:430px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:inherit;position:relative;overflow:hidden}.category-card span{font:10px var(--mono);letter-spacing:.12em}.category-card div{position:relative}.category-card b{display:block;font:500 clamp(40px,5vw,76px)/.9 var(--display);text-transform:uppercase}.category-card small{display:block;margin-top:12px;font:12px var(--mono);opacity:.65}.cat-tall{background:#6e7d63}.cat-wide{background:#29352c;color:var(--white)}.cat-dark{background:#1f2a22;color:var(--white)}.cat-beige{background:#d7cfb9}.cat-green{background:#879177}.cat-outline{background:var(--beige);border:1px solid rgba(28,38,30,.25)}.gallery-section{background:var(--sage)}.gallery-note{max-width:320px;color:var(--muted);font-size:12px;line-height:1.6}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 18px}.empty-frame{aspect-ratio:4/5;border:1px solid rgba(247,244,233,.25);background:linear-gradient(145deg,rgba(247,244,233,.07),rgba(28,38,30,.15));display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;transition:.3s}.empty-frame:hover{background:rgba(247,244,233,.11);transform:translateY(-4px)}.empty-frame span{font:500 11px var(--mono);letter-spacing:.15em}.empty-frame small{font:10px var(--mono);opacity:.5}.photo-gallery figcaption{font:11px var(--mono);text-transform:uppercase;letter-spacing:.07em;margin-top:12px}.cta-band{display:flex;justify-content:space-between;align-items:end;background:var(--beige);color:var(--ink)}.cta-band .section-kicker{color:rgba(28,38,30,.6)}.cta-band .button-solid{background:var(--ink);color:var(--beige)}.video-hero{background:linear-gradient(135deg,#3e523e,#263329)}.video-types{background:#263328}.video-types article{display:grid;grid-template-columns:100px 1fr;gap:4vw;padding:45px 0;border-top:1px solid var(--line);align-items:start}.video-types article:last-child{border-bottom:1px solid var(--line)}.type-number{font:11px var(--mono);opacity:.6}.video-types h2{font-size:clamp(42px,5vw,72px);margin:0 0 15px}.video-types p{max-width:620px;color:var(--muted);margin:0}.video-showcase{background:var(--beige);color:var(--ink)}.video-showcase .section-kicker{color:rgba(28,38,30,.6);margin-bottom:25px}.video-placeholder{aspect-ratio:16/8;background:#202a22;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;color:var(--beige);border:10px solid #d9d2bf}.play{width:62px;height:62px;border:1px solid rgba(239,233,216,.55);border-radius:50%;display:grid;place-items:center;padding-left:4px}.video-placeholder span{font:11px var(--mono);letter-spacing:.15em}.video-placeholder small{font-size:11px;opacity:.6}.video-caption{display:flex;justify-content:space-between;gap:20px;padding-top:15px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.bts-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center}.bts-photo{position:relative}.bts-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.bts-photo span{position:absolute;bottom:12px;left:12px;background:var(--beige);color:var(--ink);font:10px var(--mono);padding:7px}.bts-copy p{max-width:500px;color:var(--muted);font-size:17px;line-height:1.7}.about-hero{padding-top:150px;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center;background:var(--beige);color:var(--ink)}.about-hero-image{position:relative}.about-hero-image img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}.about-hero-image span{position:absolute;bottom:12px;left:12px;background:var(--beige);color:var(--ink);font:10px var(--mono);padding:7px}.about-hero-copy .section-kicker{color:rgba(28,38,30,.6)}.about-hero-copy h1{font-size:clamp(80px,10vw,150px);margin:20px 0}.about-hero-copy p{max-width:650px;color:rgba(28,38,30,.7);line-height:1.75}.about-hero-copy .lead{font-size:21px;color:var(--ink)}.about-hero-copy .button-outline{color:var(--ink);border-color:rgba(28,38,30,.4);margin-top:18px}.about-details{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--sage)}.timeline>div{padding:0 0 40px 35px;border-left:1px solid rgba(247,244,233,.35);position:relative}.timeline>div:before{content:'';position:absolute;left:-4px;top:0;width:7px;height:7px;background:var(--beige);border-radius:50%}.timeline span{font:10px var(--mono);opacity:.55;display:block;margin-bottom:10px}.timeline b{font:500 34px var(--display);text-transform:uppercase}.timeline p{max-width:650px;color:var(--muted);margin-top:10px}.values{background:var(--beige);color:var(--ink)}.values .section-kicker{color:rgba(28,38,30,.6)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px}.values-grid>div{border-top:1px solid rgba(28,38,30,.25);padding-top:20px}.values-grid b{font:10px var(--mono);opacity:.6}.values-grid h3{font:500 55px var(--display);text-transform:uppercase;margin:25px 0 10px}.values-grid p{color:rgba(28,38,30,.7);font-size:14px;line-height:1.7;max-width:340px}
@media(max-width:900px){.site-nav{display:none;position:absolute;top:80px;right:5vw;background:var(--ink);padding:20px;flex-direction:column;align-items:flex-start;min-width:190px}.site-nav.open{display:flex}.menu-toggle{display:flex;align-items:center;gap:8px}.menu-toggle span{display:block;width:18px;height:1px;background:var(--white);position:absolute}.menu-toggle span:nth-child(1){transform:translateY(-6px)}.menu-toggle span:nth-child(3){transform:translateY(6px)}.menu-toggle em{font:10px var(--mono);font-style:normal;margin-left:58px}.hero,.split-feature,.about-tease,.about-hero,.about-details,.intro-strip{grid-template-columns:1fr}.hero{padding-top:115px}.hero-visual{height:470px}.intro-strip{gap:35px}.project-grid{grid-template-columns:1fr}.project-large{min-height:520px}.project{min-height:420px}.category-grid,.photo-gallery{grid-template-columns:1fr 1fr}.section-head{align-items:flex-start;flex-direction:column}.contact-details,.footer{flex-wrap:wrap}.values-grid{grid-template-columns:1fr}.about-hero-copy{order:-1}.about-hero{padding-top:140px}.video-types article{grid-template-columns:55px 1fr}.contact-email{font-size:28px}}
@media(max-width:600px){.site-header{height:78px;padding:18px 6vw}.wordmark{font-size:20px}.section-pad{padding:80px 6vw}h1{font-size:65px}.hero{padding-left:6vw;padding-right:6vw;min-height:82vh;padding-top:105px}.hero-visual{height:390px}.frame-a{width:78%;height:76%}.frame-b{width:58%;height:38%}.hero-actions{flex-direction:column;align-items:flex-start}.category-grid,.photo-gallery{grid-template-columns:1fr}.category-card{min-height:330px}.contact-details{display:grid;grid-template-columns:1fr}.contact-details div{flex-wrap:wrap}.footer{padding:20px 6vw}.video-caption{flex-direction:column}.video-placeholder{border-width:5px}.about-hero-copy .lead{font-size:18px}.about-hero-copy h1{font-size:75px}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.revealed{opacity:1;transform:none}

.site-header.scrolled{background:rgba(61,80,61,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(239,233,216,.12)}
@media(max-width:900px){.site-header.scrolled{background:rgba(28,38,30,.94)}}

/* V6: numbered-file photography gallery */
.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin:-15px 0 40px}.gallery-filter{appearance:none;border:1px solid rgba(247,244,233,.28);background:transparent;color:var(--white);padding:10px 13px;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.25s}.gallery-filter:hover,.gallery-filter.active{background:var(--beige);color:var(--ink);border-color:var(--beige)}.photo-gallery figure{margin:0;break-inside:avoid}.gallery-image-button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}.gallery-image-button img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;transition:transform .45s ease,filter .35s ease;filter:saturate(.9)}.gallery-image-button:hover img{transform:scale(1.025);filter:saturate(1)}.photo-gallery figure:nth-child(5n+1) .gallery-image-button img,.photo-gallery figure:nth-child(7n+4) .gallery-image-button img{aspect-ratio:4/3}.photo-gallery figure.is-hidden{display:none}.gallery-empty{padding:55px 0;border-top:1px solid var(--line);font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(20,27,22,.94);display:none;align-items:center;justify-content:center;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:min(92vw,1500px);max-height:84vh;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.25)}.lightbox-close{position:absolute;top:22px;right:28px;border:0;background:none;color:var(--white);font:300 45px/1 Arial;cursor:pointer}.lightbox-caption{position:absolute;left:5vw;bottom:25px;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* V7: consistent gallery rhythm + live category preview images */
.category-card{isolation:isolate;background-color:var(--sage);transition:transform .35s ease}
.category-card:hover{transform:translateY(-3px)}
.category-card .category-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.86) contrast(.96);transform:scale(1.002);transition:transform .55s ease,filter .45s ease}
.category-card:hover .category-preview{transform:scale(1.035);filter:saturate(.98) contrast(1)}
.category-card.has-preview:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,24,18,.10) 0%,rgba(16,24,18,.18) 42%,rgba(16,24,18,.78) 100%)}
.category-card.has-preview{color:var(--white);border-color:transparent}
.category-card.has-preview span,.category-card.has-preview small{color:var(--white);opacity:.88;text-shadow:0 1px 15px rgba(0,0,0,.22)}
.category-card.has-preview b{color:var(--white);text-shadow:0 2px 24px rgba(0,0,0,.22)}

/* Use a masonry-style column flow so portrait and landscape previews keep
   their intended proportions while every gap remains exactly the same. */
.photo-gallery{display:block;columns:3;column-gap:18px}
.photo-gallery figure{display:inline-block;width:100%;margin:0 0 18px;break-inside:avoid;vertical-align:top}
.gallery-image-button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}
.gallery-image-button img{width:100%;display:block;object-fit:cover;transition:transform .45s ease,filter .35s ease;filter:saturate(.9)}
.gallery-image-button img.is-landscape{aspect-ratio:4/3}
.gallery-image-button img.is-portrait,.gallery-image-button img.is-square{aspect-ratio:4/5}
.photo-gallery figure:nth-child(5n+1) .gallery-image-button img,.photo-gallery figure:nth-child(7n+4) .gallery-image-button img{aspect-ratio:unset}
.gallery-image-button:hover img{transform:scale(1.025);filter:saturate(1)}

@media(max-width:900px){.photo-gallery{columns:2}}
@media(max-width:600px){.photo-gallery{columns:1}}


/* V9: homepage selected-work previews while preserving the original card styling. */
.project-placeholder{position:relative;isolation:isolate;overflow:hidden}
.project-placeholder .home-project-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity .35s ease,transform .55s ease,filter .4s ease;filter:saturate(.88) contrast(.96);transform:scale(1.002)}
.project-placeholder .home-project-preview.image-loaded{opacity:1}
.project-placeholder .home-project-preview.image-missing{display:none}
.project-placeholder:has(.home-project-preview.image-loaded):after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(17,25,19,.12) 0%,rgba(17,25,19,.18) 40%,rgba(17,25,19,.76) 100%)}
.project:hover .home-project-preview.image-loaded{transform:scale(1.035);filter:saturate(1) contrast(1)}
.project-placeholder:has(.home-project-preview.image-loaded),.project-placeholder:has(.home-project-preview.image-loaded) span,.project-placeholder:has(.home-project-preview.image-loaded) strong,.project-placeholder:has(.home-project-preview.image-loaded) small{color:var(--white);text-shadow:0 2px 20px rgba(0,0,0,.24)}


/* V13: keep Bryce's face visible in the main homepage portrait. */
.frame-a img{object-position:center top}


/* V14: About-page navigation stays sage-on-beige so it remains legible. */
.about-page .site-header .wordmark,
.about-page .site-header .site-nav a,
.about-page .site-header .menu-toggle{color:var(--sage)}
.about-page .site-header .dot{color:var(--sage)}
.about-page .site-header .menu-toggle span{background:var(--sage)}
.about-page .site-header.scrolled{background:rgba(239,233,216,.94);border-bottom:1px solid rgba(28,38,30,.12)}
@media(max-width:900px){
  .about-page .site-nav{background:rgba(239,233,216,.98)}
  .about-page .site-header.scrolled{background:rgba(239,233,216,.96)}
}

/* V14: the two homepage frames now cycle through portfolio work. */
.portfolio-rotator{transition:opacity .55s ease,transform .8s ease,filter .55s ease!important}
.portfolio-rotator.is-changing{opacity:0;transform:scale(1.015)}
.frame-a .portfolio-rotator{object-position:center center}

/* V16: homepage preview image layering fix. */
.project-placeholder>span,.project-placeholder>strong,.project-placeholder>small{position:relative;z-index:2}

/* V17 — Selected Work 03 + full video portfolio */
.video-feature-home{background:#202b23;display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}.video-feature-copy p{max-width:520px;color:var(--muted);font-size:16px;line-height:1.75}.video-feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 34px}.video-feature-tags span{border:1px solid rgba(247,244,233,.25);padding:8px 10px;font:9px var(--mono);letter-spacing:.11em}.video-feature-card{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;color:var(--white);text-decoration:none;background:#111912}.video-feature-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(.96);transition:transform .6s ease,filter .4s ease}.video-feature-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,14,.08),rgba(12,18,14,.12) 45%,rgba(12,18,14,.82) 100%)}.video-feature-card:hover img{transform:scale(1.025);filter:saturate(1)}.video-feature-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;padding-left:5px;background:rgba(25,34,27,.22);backdrop-filter:blur(4px)}.video-feature-overlay{position:absolute;z-index:2;left:28px;right:28px;bottom:25px}.video-feature-overlay span,.video-feature-overlay small{display:block;font:9px var(--mono);letter-spacing:.11em;text-transform:uppercase}.video-feature-overlay strong{display:block;font:500 clamp(30px,4vw,58px)/.9 var(--display);text-transform:uppercase;margin:8px 0 12px}.video-portfolio{background:var(--beige);color:var(--ink)}.video-portfolio .section-kicker{color:rgba(28,38,30,.6)}.video-portfolio-head>p{max-width:420px;color:rgba(28,38,30,.68);line-height:1.7}.video-filters{display:flex;flex-wrap:wrap;gap:9px;margin:-12px 0 45px}.video-filter{appearance:none;border:1px solid rgba(28,38,30,.24);background:transparent;color:var(--ink);padding:10px 13px;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.25s}.video-filter:hover,.video-filter.active{background:var(--ink);color:var(--beige);border-color:var(--ink)}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 20px}.video-card{min-width:0}.video-card.is-hidden{display:none}.video-card-button{position:relative;width:100%;padding:0;border:0;display:block;overflow:hidden;background:#152018;cursor:pointer;aspect-ratio:16/9;color:var(--white);text-align:left}.video-card-button img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86) contrast(.98);transition:transform .5s ease,filter .35s ease}.video-card-button:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,14,.04),rgba(12,18,14,.18) 70%,rgba(12,18,14,.5))}.video-card-button:hover img{transform:scale(1.025);filter:saturate(1)}.video-card-featured{grid-column:span 2}.video-card-featured .video-card-button{aspect-ratio:16/8}.video-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.8);display:grid;place-items:center;padding-left:4px;background:rgba(20,29,22,.2);backdrop-filter:blur(3px);transition:transform .25s ease,background .25s ease}.video-card-button:hover .video-play{transform:translate(-50%,-50%) scale(1.08);background:rgba(20,29,22,.5)}.video-number{position:absolute;z-index:2;top:14px;left:14px;padding:7px 8px;background:rgba(239,233,216,.92);color:var(--ink);font:9px var(--mono);letter-spacing:.1em}.video-card-meta{display:flex;justify-content:space-between;gap:20px;align-items:end;padding-top:14px}.video-card-meta span,.video-card-meta small{font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(28,38,30,.58)}.video-card-meta h3{font:500 clamp(29px,3vw,46px)/.94 var(--display);text-transform:uppercase;margin:7px 0 0;color:var(--ink)}.video-card-meta small{white-space:nowrap}.peak-collection{background:#263328;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}.peak-collection p{max-width:520px;color:var(--muted);font-size:17px;line-height:1.75}.video-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;background:rgba(14,20,16,.96);padding:5vw}.video-modal.open{display:flex}.video-modal-inner{width:min(1180px,92vw)}.video-embed-wrap{width:100%;aspect-ratio:16/9;background:#090d0a;display:grid;place-items:center}.video-embed-wrap iframe{width:100%;height:100%;border:0;background:#090d0a}.video-modal-meta{display:flex;justify-content:space-between;gap:30px;align-items:end;padding-top:18px}.video-modal-meta span{font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.video-modal-meta h2{font-size:clamp(30px,4vw,58px);margin:7px 0 0}.video-modal-meta a{color:var(--white);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:7px;white-space:nowrap}.video-modal-close{position:absolute;top:22px;right:28px;border:0;background:none;color:var(--white);font:300 45px/1 Arial;cursor:pointer}.video-card:target{scroll-margin-top:120px}.video-card:target .video-card-button{outline:2px solid var(--sage3);outline-offset:5px}
@media(max-width:900px){.video-feature-home,.peak-collection{grid-template-columns:1fr}.video-feature-card{order:-1}.video-grid{grid-template-columns:1fr}.video-card-featured{grid-column:span 1}.video-card-featured .video-card-button{aspect-ratio:16/9}.video-modal-meta{align-items:flex-start;flex-direction:column}.video-portfolio-head{align-items:flex-start}.video-card-meta{align-items:flex-start}}
@media(max-width:600px){.video-feature-play{width:58px;height:58px}.video-feature-overlay{left:18px;right:18px;bottom:17px}.video-feature-overlay strong{font-size:31px}.video-grid{gap:44px}.video-card-meta{flex-direction:column;gap:8px}.video-modal{padding:70px 4vw 25px}.video-modal-inner{width:96vw}.video-modal-close{top:14px;right:14px}.video-filters{gap:7px}.video-filter{padding:9px 10px}}

/* V18 — platform-aware video player. Instagram Reels open in a portrait 9:16 viewer; YouTube stays cinematic 16:9. */
.video-modal.is-instagram .video-modal-inner{width:min(520px,92vw)}
.video-modal.is-instagram .video-embed-wrap{aspect-ratio:9/16;max-height:78vh;margin-inline:auto}
.video-modal.is-instagram .video-embed-wrap iframe{background:#fff}
.video-modal.is-youtube .video-modal-inner{width:min(1180px,92vw)}
.video-modal.is-youtube .video-embed-wrap{aspect-ratio:16/9}
@media(max-width:600px){.video-modal.is-instagram{padding:58px 3vw 18px}.video-modal.is-instagram .video-modal-inner{width:min(430px,94vw)}.video-modal.is-instagram .video-embed-wrap{max-height:72vh}}

/* V19 — video page refinement */
.video-hero{min-height:78vh;display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:center;padding-top:150px}
.video-hero-copy{max-width:760px}
.video-hero-copy h1{margin-bottom:26px}
.video-hero-feature{appearance:none;border:0;padding:0;background:transparent;color:var(--white);text-align:left;cursor:pointer;display:block;width:100%;position:relative}
.video-hero-feature-media{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:#172119}
.video-hero-feature-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,11,.04),rgba(10,15,11,.08) 55%,rgba(10,15,11,.55));pointer-events:none}
.video-hero-feature-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.84) contrast(.98);transition:opacity .5s ease,transform .65s ease,filter .35s ease}
.video-hero-feature:hover .video-hero-feature-media img{transform:scale(1.018);filter:saturate(1)}
.video-hero-feature.is-changing .video-hero-feature-media img{opacity:.15}
.video-hero-feature-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border:1px solid rgba(255,255,255,.76);border-radius:50%;display:grid;place-items:center;padding-left:4px;background:rgba(20,29,22,.24);backdrop-filter:blur(4px)}
.video-hero-feature-count{position:absolute;z-index:2;top:15px;right:15px;padding:7px 9px;background:rgba(239,233,216,.92);color:var(--ink);font:9px var(--mono);letter-spacing:.1em}
.video-hero-feature-meta{display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:end;padding-top:14px}
.video-hero-feature-meta small{grid-column:1/-1;font:9px var(--mono);letter-spacing:.11em;color:var(--muted);margin-bottom:6px}
.video-hero-feature-meta strong{font:500 clamp(27px,3vw,46px)/.94 var(--display);text-transform:uppercase}
.video-hero-feature-meta em{font:9px var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-bottom:4px}

/* Reframe Video 03 slightly lower inside its crop. */
#video-03 .video-card-button img{object-position:center 28%}

.peak-collection{display:block}
.peak-collection-head{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin-bottom:55px}
.peak-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 20px}
.peak-video-grid .video-card-meta span,.peak-video-grid .video-card-meta small{color:var(--muted)}
.peak-video-grid .video-card-meta h3{color:var(--white)}
.peak-video-grid .video-card-button{aspect-ratio:16/9}
.peak-collection.is-filter-hidden{display:none}
.video-portfolio.personal-only .video-grid{display:none}

@media(max-width:900px){
  .video-hero{grid-template-columns:1fr;padding-top:135px;gap:50px}
  .video-hero-feature{max-width:760px}
  .peak-collection-head{grid-template-columns:1fr;gap:20px}
  .peak-video-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .video-hero{padding-top:115px}
  .video-hero-feature-media{aspect-ratio:16/11}
  .video-hero-feature-meta{grid-template-columns:1fr}
  .video-hero-feature-meta em{margin-top:8px}
}

/* V23 — mobile-only compact layout pass. Desktop/tablet styling is unchanged. */
@media(max-width:600px){
  body{font-size:14px}
  .section-pad{padding:56px 6vw}
  .section-kicker,.eyebrow{font-size:9px}
  h1{font-size:clamp(50px,16vw,62px);margin:14px 0 20px}
  h2{font-size:clamp(40px,13vw,52px);margin:10px 0 18px}
  .hero{min-height:auto;padding:92px 6vw 42px;gap:26px;align-items:start}
  .hero-intro{font-size:15px;line-height:1.5}
  .hero-actions{margin-top:24px;gap:14px}
  .button{padding:12px 16px}
  .hero-visual{height:300px}
  .frame-a{height:74%}.frame-b{height:36%}
  .intro-strip{gap:20px}
  .statement{font-size:clamp(34px,11vw,45px)}
  .small-copy{font-size:13px;line-height:1.55}
  .section-head{gap:14px;margin-bottom:30px}
  .project-grid{gap:12px}
  .project,.project-large{min-height:300px}
  .project-placeholder{padding:25px}
  .project-placeholder strong{font-size:clamp(34px,11vw,48px)}
  .split-feature,.about-tease,.about-details,.bts-feature{gap:32px}
  .split-copy p,.about-copy p,.bts-copy p{font-size:15px;line-height:1.55}
  .contact h2{font-size:clamp(50px,16vw,68px);margin-bottom:26px}
  .contact-details{margin-top:34px;gap:16px}
  .page-hero{padding-top:115px;min-height:auto;padding-bottom:55px}
  .page-hero p{font-size:15px;line-height:1.55}
  .category-grid{gap:10px}
  .category-card{min-height:245px;padding:22px}
  .category-card b{font-size:clamp(36px,12vw,50px)}
  .gallery-filters{margin:-4px 0 26px;gap:6px}
  .gallery-filter{padding:8px 9px;font-size:9px}
  .photo-gallery{column-gap:12px}
  .photo-gallery figure{margin-bottom:12px}
  .cta-band{gap:24px;align-items:flex-start;flex-direction:column}
  .about-hero{padding:105px 6vw 56px;gap:28px}
  .about-hero-copy h1{font-size:clamp(55px,17vw,72px);margin:12px 0 18px}
  .about-hero-copy .lead{font-size:17px}
  .timeline>div{padding:0 0 28px 25px}
  .timeline b{font-size:29px}
  .values-grid{gap:20px;margin-top:34px}
  .values-grid h3{font-size:42px;margin:16px 0 8px}
  .video-hero{min-height:auto;padding:100px 6vw 50px;gap:30px}
  .video-hero-copy h1{margin-bottom:18px}
  .video-hero-feature-media{aspect-ratio:16/10}
  .video-hero-feature-meta strong{font-size:28px}
  .video-filters{margin:-4px 0 28px}
  .video-grid{gap:30px}
  .video-card-meta{padding-top:10px}
  .video-card-meta h3{font-size:30px;margin-top:5px}
  .video-feature-home{gap:30px}
  .video-feature-copy p,.peak-collection p{font-size:14px;line-height:1.55}
  .video-feature-tags{margin:18px 0 24px}
  .peak-collection-head{margin-bottom:30px}
  .peak-video-grid{gap:30px}
  .video-types article{padding:28px 0}
  .video-types h2{font-size:38px;margin-bottom:10px}
  .video-types p{font-size:14px;line-height:1.55}
}

/* V26 — safe final overrides. Built on the stable V23 codebase. */
.video-feature-card img{transition:opacity .28s ease,transform .6s ease,filter .4s ease}
.video-feature-card.is-changing img{opacity:.12}

/* Keep the sticky header visually clear while scrolling. */
.site-header.scrolled{background:rgba(54,72,55,.96);box-shadow:0 8px 28px rgba(15,22,17,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.menu-toggle{cursor:pointer;position:relative;z-index:62;min-height:34px}
@media(max-width:900px){
  .site-nav.open{display:flex;z-index:61;box-shadow:0 14px 35px rgba(10,16,12,.28)}
  .site-header.scrolled{background:rgba(38,51,41,.97)}
  .about-page .site-header.scrolled{background:rgba(239,233,216,.97)}
}

/* Mobile-only: denser photography gallery and video portfolio. */
@media(max-width:600px){
  .photo-gallery{columns:2!important;column-gap:8px!important}
  .photo-gallery figure{margin:0 0 8px!important}
  .photo-gallery figcaption{font-size:8px;line-height:1.25;margin-top:6px;letter-spacing:.04em}
  .gallery-image-button img.is-landscape{aspect-ratio:4/3}
  .gallery-image-button img.is-portrait,.gallery-image-button img.is-square{aspect-ratio:4/5}

  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 10px!important}
  .video-card-featured{grid-column:span 2}
  .video-card-featured .video-card-button{aspect-ratio:16/9}
  .video-card:not(.video-card-featured) .video-card-button{aspect-ratio:4/5}
  .video-card-meta{gap:5px;padding-top:7px!important}
  .video-card-meta h3{font-size:clamp(18px,5.6vw,24px)!important;line-height:.94;margin-top:3px!important}
  .video-card-meta span,.video-card-meta small{font-size:7px;letter-spacing:.06em}
  .video-card-meta small{white-space:normal}
  .video-play{width:42px;height:42px;font-size:12px}
  .video-number{top:8px;left:8px;padding:5px 6px;font-size:7px}

  .peak-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 10px!important}
  .peak-video-grid .video-card-button{aspect-ratio:4/5}
  .peak-video-grid .video-card-meta h3{font-size:clamp(18px,5.6vw,24px)!important}
}

/* V28 — stable homepage hero slideshow */
.home-hero .hero-frame > .portfolio-rotator{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:1;
  transform:none!important;
  transition:opacity .45s ease!important;
  will-change:opacity;
}
.home-hero .hero-frame > .portfolio-rotator.is-fading{opacity:0}
@media (prefers-reduced-motion:reduce){
  .home-hero .hero-frame > .portfolio-rotator{transition:none!important}
}
