:root{
 --ink:#0b0d10;--ink2:#14181e;--cream:#f3f0e9;--gold:#c9a66b;--gold2:#e1c58f;
 --text:#16181c;--muted:#656b73;--line:rgba(18,22,27,.14);
 --shell:min(1240px,calc(100% - 44px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.shell{width:var(--shell);margin-inline:auto}
.skip-link{position:fixed;left:12px;top:12px;z-index:1000;transform:translateY(-150%);background:white;padding:10px 14px}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:100;inset:0 0 auto;background:rgba(8,10,13,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.1)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{width:260px;height:58px;display:flex;align-items:center;overflow:visible;text-decoration:none}
.brand img{display:block;width:240px;max-width:100%;height:auto;object-fit:contain;border-radius:0}
.site-nav{display:flex;align-items:center;gap:30px}
.site-nav a{color:#ecedef;text-decoration:none;font-size:14px;font-weight:700}
.site-nav a:hover{color:var(--gold2)}
.site-nav .nav-cta{border:1px solid rgba(255,255,255,.32);padding:10px 15px}
.menu-toggle{display:none}
.hero{min-height:100svh;position:relative;color:white;display:flex;align-items:end;overflow:hidden;background:var(--ink)}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.88) 0%,rgba(5,7,10,.55) 43%,rgba(5,7,10,.08) 74%),linear-gradient(0deg,rgba(5,7,10,.85),transparent 48%)}
.hero-content{position:relative;z-index:2;padding-top:150px;padding-bottom:42px}
.hero-copy{max-width:690px;margin-bottom:110px}
.eyebrow{margin:0 0 16px;color:var(--gold2);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.eyebrow.dark{color:#8a6733}
.hero h1,.section h2,.feature-copy h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:.98}
.hero h1{font-size:clamp(54px,8vw,116px);margin:0}
.hero-copy>p:not(.eyebrow){font-size:clamp(17px,2vw,21px);color:#d1d4d9;max-width:640px;margin:28px 0 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid transparent;text-decoration:none;font-weight:850;font-size:14px;transition:.2s}
.button:hover{transform:translateY(-2px)}
.button-gold{background:var(--gold);color:#151008}
.button-gold:hover{background:var(--gold2)}
.button-ghost{border-color:rgba(255,255,255,.4);color:white}
.button-ghost:hover{background:white;color:#111}
.button-dark{background:var(--ink);color:white}
.full{width:100%}
.section{padding:110px 0}
.intro-grid,.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.section h2{font-size:clamp(42px,5vw,70px);margin:0}
.intro-copy{font-size:18px;color:var(--muted)}
.intro-copy p:first-child{margin-top:4px}
.section-head{display:grid;grid-template-columns:1fr .55fr;gap:60px;align-items:end;margin-bottom:40px}
.section-head>p{margin:0;color:var(--muted)}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.filter{border:1px solid var(--line);background:white;padding:10px 14px;font-size:13px;font-weight:800}
.filter.active,.filter:hover{background:var(--ink);color:white;border-color:var(--ink)}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:16px}
.work-card{grid-column:span 4;min-width:0}
.work-card.wide{grid-column:span 6}
.work-card.panorama{grid-column:span 12}
.work-card.portrait{grid-column:span 4;grid-row:span 2}
.work-card.square{grid-column:span 4}
.work-card.hidden{display:none}
.work-image{position:relative;border:0;padding:0;width:100%;height:100%;min-height:330px;background:#101318;overflow:hidden;text-align:left}
.work-card.wide .work-image{aspect-ratio:16/10}
.work-card.panorama .work-image{aspect-ratio:2.7/1}
.work-card.portrait .work-image{aspect-ratio:3/4.25}
.work-card.square .work-image{aspect-ratio:1/1}
.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .3s}
.work-card.portrait .work-image img{object-position:center}
.work-image:hover img{transform:scale(1.025);filter:brightness(.92)}
.image-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,7,10,.82),transparent 55%)}
.work-caption{position:absolute;left:0;right:0;bottom:0;padding:24px;color:white}
.work-caption small{display:block;color:var(--gold2);font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.16em;font-weight:900}
.work-caption strong{display:block;font-family:Georgia,serif;font-size:24px;line-height:1.1;margin-top:6px}
.work-caption em{display:block;color:#ccd0d5;font-size:13px;font-style:normal;margin-top:5px}
.services{background:var(--ink);color:white}
.section-head.light>p{color:#b5bac2}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service-grid article{background:var(--ink2);border:1px solid rgba(255,255,255,.1);padding:28px 24px;min-height:290px}
.service-grid article>span{font-family:Georgia,serif;color:var(--gold);font-size:34px}
.service-grid h3{font-size:22px;margin:50px 0 10px}
.service-grid p{color:#aeb4bc;margin:0}
.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);margin-top:20px}
.credentials div{background:#101319;padding:25px}
.credentials b,.credentials span{display:block}
.credentials b{color:var(--gold2)}
.credentials span{color:#aeb4bc;font-size:13px;margin-top:4px}
.feature-strip{position:relative;min-height:620px;color:white;display:flex;align-items:center;overflow:hidden;background:#05070a}
.feature-strip>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.87),rgba(5,7,10,.18) 70%)}
.feature-copy{position:relative;z-index:2}
.feature-copy h2{font-size:clamp(45px,6vw,83px);max-width:700px;margin:0 0 28px}
.prints{background:var(--cream)}
.prints-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}
.print-copy p:not(.eyebrow){font-size:18px;color:var(--muted)}
.print-wall{position:relative;min-height:620px;background:#e3ded4;overflow:hidden}
.frame{position:absolute;margin:0;padding:12px;background:#faf8f3;box-shadow:0 25px 65px rgba(0,0,0,.22)}
.frame img{width:100%;height:100%;object-fit:cover}
.frame.landscape{width:67%;height:52%;left:7%;top:10%;transform:rotate(-3deg)}
.frame.portrait{width:40%;height:67%;right:8%;bottom:7%;transform:rotate(4deg)}
.about-logo{width:min(560px,95%);height:auto;object-fit:contain;margin:auto}
.about-grid>div:last-child>p:not(.eyebrow){font-size:18px;color:var(--muted)}
.contact{background:var(--ink);color:white}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.contact-grid>div>p:not(.eyebrow){color:#b8bdc4;font-size:18px}
.contact-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.contact-notes span{border:1px solid rgba(255,255,255,.18);padding:9px 12px;font-size:12px}
.direct-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}
.direct-contact div{padding:16px;background:#15191f;border:1px solid rgba(255,255,255,.11)}
.direct-contact span,.direct-contact strong,.direct-contact a{display:block}
.direct-contact span{color:#9298a1;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}
.direct-contact strong,.direct-contact a{color:white;text-decoration:none;font-size:15px}
.direct-contact a:hover{color:var(--gold2)}
.footer-grid div a{color:#b9bec5;text-decoration:none}
.footer-grid div a:hover{color:var(--gold2)}

form{background:#15191f;padding:30px;border:1px solid rgba(255,255,255,.11)}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:8px;margin-bottom:16px;font-size:13px;font-weight:800}
input,select,textarea{width:100%;background:#0d1014;color:white;border:1px solid rgba(255,255,255,.2);padding:13px 14px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,166,107,.13)}
form p{color:#9198a1;font-size:12px;margin:12px 0 0}
footer{background:#06080b;color:white;padding:42px 0}
.footer-grid{display:grid;grid-template-columns:auto 1fr auto auto;gap:35px;align-items:center}
.footer-grid>img{width:210px;height:auto;object-fit:contain;border-radius:0}
.footer-grid p,.footer-grid div{font-size:13px;color:#9298a1}
.footer-grid nav{display:flex;gap:18px}
.footer-grid a{text-decoration:none;font-size:13px}
.footer-grid div{display:grid;text-align:right}
.lightbox{width:min(94vw,1400px);max-height:94vh;padding:0;border:0;background:#080a0d;color:white;box-shadow:0 30px 100px rgba(0,0,0,.7)}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox>img{width:100%;max-height:82vh;object-fit:contain}
.lightbox>div{padding:14px 18px;display:flex;justify-content:space-between;gap:20px}
.lightbox>div span{color:#aeb4bc}
.close{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.68);color:white;font-size:27px}
@media(max-width:1000px){
 .section-head,.intro-grid,.about-grid,.prints-grid,.contact-grid{grid-template-columns:1fr}
 .section-head{gap:18px}
 .service-grid{grid-template-columns:repeat(2,1fr)}
 .credentials{grid-template-columns:1fr}
 .work-card,.work-card.wide,.work-card.square{grid-column:span 6}
 .work-card.portrait{grid-column:span 6}
 .prints-grid,.contact-grid,.intro-grid,.about-grid{gap:50px}
 .footer-grid{grid-template-columns:auto 1fr}
 .footer-grid nav,.footer-grid div{grid-column:2}
 .footer-grid div{text-align:left}
}
@media(max-width:760px){
 .direct-contact{grid-template-columns:1fr}

 :root{--shell:min(100% - 28px,1240px)}
 .header-inner{height:68px}
 .brand{width:190px}
 .brand img{width:175px;height:auto}
 .menu-toggle{display:grid;gap:4px;place-content:center;width:48px;height:42px;background:transparent;border:1px solid rgba(255,255,255,.2);color:white}
 .menu-toggle span{display:block;width:20px;height:2px;background:white}
 .menu-toggle b{position:absolute;clip:rect(0 0 0 0)}
 .site-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#090c10;flex-direction:column;align-items:stretch;gap:0;padding:12px 16px 18px}
 .site-nav.open{display:flex}
 .site-nav a{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
 .site-nav .nav-cta{text-align:center;margin-top:8px}
 .hero{min-height:820px}
 .hero-overlay{background:linear-gradient(0deg,rgba(5,7,10,.9),rgba(5,7,10,.22) 65%),linear-gradient(90deg,rgba(5,7,10,.6),transparent)}
 .hero-content{padding-top:120px}
 .hero-copy{margin-bottom:65px}
 
 .section{padding:76px 0}
 .work-grid{grid-template-columns:1fr}
 .work-card,.work-card.wide,.work-card.panorama,.work-card.portrait,.work-card.square{grid-column:auto;grid-row:auto}
 .work-card.panorama .work-image,.work-card.wide .work-image{aspect-ratio:4/3}
 .work-card.portrait .work-image{aspect-ratio:3/4}
 .service-grid{grid-template-columns:1fr}
 .feature-strip{min-height:520px}
 .print-wall{min-height:430px}
 .form-pair{grid-template-columns:1fr}
 form{padding:22px}
 .footer-grid{grid-template-columns:1fr}
 .footer-grid nav,.footer-grid div{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


.website-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
#form-status.success{color:#b9e8c1}
#form-status.error{color:#ffb8b8}
