/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4
 * Editorial Portfolio · Studio · N2 / Ft2 */
@import url('tokens.css');
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus);outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,p,figure{margin:0}h1,h2{font-family:var(--font-display);font-weight:400;font-style:normal;line-height:1.04;letter-spacing:-.045em;overflow-wrap:anywhere;min-width:0}h1{font-size:clamp(42px,5.3vw,90px)}h2{font-size:clamp(38px,4.2vw,70px)}p+p{margin-top:20px}.skip{position:fixed;top:-100px;background:var(--color-paper);padding:10px;z-index:20}.skip:focus{top:0}.masthead{min-height:126px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin:0 var(--page-gutter);border-bottom:1px solid var(--color-rule);gap:24px}.masthead nav{display:flex;gap:30px}.masthead a{white-space:nowrap;font-size:12px}.brand{display:flex;align-items:center;gap:15px;font-size:17px!important;letter-spacing:.15em;line-height:1.4}.brand small{display:block;font-size:8px;letter-spacing:.46em;margin-top:5px}.monogram{display:block;position:relative;overflow:hidden;width:67px;height:51px}.monogram img{position:absolute;max-width:none;width:234%;left:-65%;top:-76%;mix-blend-mode:multiply}.inquire{justify-self:end;border-bottom:1px solid var(--color-ink);padding:8px 0}.opening{padding:0 var(--page-gutter)}.opening-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:43px 0 35px}.opening-heading p{font-size:12px;line-height:1.8}.photo-rail{display:flex;gap:20px;position:relative;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.photo-rail::-webkit-scrollbar{display:none}.photo-rail .work{flex:0 0 calc((100% - 40px)/3);min-width:0;scroll-snap-align:start}.photo-open{position:relative;display:block;width:100%;padding:0;text-align:left;overflow:hidden}.photo-open img{width:100%;height:auto}.enlarge{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;background:var(--color-paper);color:var(--color-ink);width:35px;height:35px;opacity:0;transition:opacity .2s}.photo-open:hover .enlarge,.photo-open:focus-visible .enlarge{opacity:1}figcaption{display:flex;justify-content:space-between;gap:15px;font-size:11px;padding:11px 0;color:var(--color-muted)}.rail-footer{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-rule);padding:18px 0}.small-label{text-transform:uppercase;font-size:10px;letter-spacing:.17em;font-weight:600}.carousel-controls,.lightbox-controls{display:flex;align-items:center;gap:22px}.carousel-controls button,.lightbox-controls button{font-size:22px;min-width:44px;min-height:44px;border:1px solid var(--color-rule);border-radius:50%}.carousel-controls button:hover{background:var(--color-paper-2)}#hero-count{font-size:11px;font-variant-numeric:tabular-nums}.section-pad{padding:100px var(--page-gutter)}.section-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:8vw;margin-bottom:55px}.section-heading .small-label{margin-bottom:22px}.section-heading>p{color:var(--color-muted);max-width:400px;justify-self:end}.portfolio-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:60px 30px;align-items:start}.portfolio-grid .work-3,.portfolio-grid .work-4,.portfolio-grid .work-5{grid-column:span 2}.portfolio-grid .work-4{margin-top:90px}.portfolio-grid .work-6,.portfolio-grid .work-7{grid-column:span 3}.text-link{display:flex;align-items:center;justify-content:space-between;gap:35px;width:fit-content;white-space:nowrap;border-bottom:1px solid var(--color-rule);padding:15px 0;font-size:12px}.text-link span{font-size:22px}.portfolio>.text-link{margin:35px auto 0}.event{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;align-items:center;background:var(--color-paper-2)}.event h2{font-size:clamp(33px,3.3vw,55px);margin:22px 0 28px}.event p:not(.small-label){color:var(--color-muted);font-size:13px}.event img{width:100%;height:auto}.event .text-link{margin-top:20px}.about .section-heading{align-items:start}.about .section-heading>div:last-child{max-width:540px;font-size:14px}.uwe-photo{width:100%;height:auto}.contact{background:var(--color-ink);color:var(--color-white)}.contact h2{font-size:clamp(44px,6.7vw,110px);margin:30px 0 50px}.contact-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;border-top:1px solid var(--color-muted);padding-top:35px}.contact-row p{font-size:14px}.contact-row a{display:block;width:fit-content;white-space:nowrap}.email{font-size:clamp(17px,2.2vw,34px);letter-spacing:-.035em}.phone{font-size:20px;margin-top:12px}.tfp{font-size:11px;margin-top:42px;max-width:560px}footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7vw;padding:38px var(--page-gutter)}.footer-logo{position:relative;display:block;width:230px;height:178px;overflow:hidden}.footer-logo img{position:absolute;max-width:none;width:136.3%;left:-18.5%;top:-46%;mix-blend-mode:multiply}footer nav{display:flex;gap:25px;margin:25px 0;font-size:12px}footer button{padding:0;font-size:12px}footer a,footer button{white-space:nowrap}footer small{color:var(--color-muted);font-size:10px}.back-top{font-size:30px}dialog{background:var(--color-paper);color:var(--color-ink);border:0;padding:28px;max-width:calc(100vw - 24px)}dialog::backdrop{background:var(--color-shade)}.dialog-close{display:block;margin:0 0 20px auto;font-size:12px;min-height:36px}#lightbox{width:min(1200px,94vw);background:var(--color-photo);color:var(--color-white);padding:18px 25px}#lightbox-image{width:100%;height:70vh;object-fit:contain}#lightbox-caption{text-align:center;font-size:12px;margin:15px 0}.lightbox-controls{justify-content:center}.lightbox-controls button{border-color:var(--color-muted)}#credits{width:600px;padding:35px}#credits h2{font-size:38px;margin:20px 0}#credits p{font-size:14px}#credits a{text-decoration:underline}
@media(min-width:1500px){.opening,.section-pad,.masthead,footer{padding-left:max(var(--page-gutter),calc((100vw - 1650px)/2));padding-right:max(var(--page-gutter),calc((100vw - 1650px)/2))}.masthead{margin:0}.photo-rail .photo-open img{max-height:720px;object-fit:contain}.photo-rail .photo-open{background:var(--color-paper-2)}}
@media(max-width:768px){.masthead{min-height:108px;gap:12px}.masthead nav{gap:15px}.masthead nav a{font-size:10px}.brand{font-size:12px!important;gap:8px}.monogram{width:45px;height:34px}.brand small{font-size:6px}.inquire{font-size:10px!important}.opening-heading{display:block;padding:32px 0 25px}.opening-heading p{margin-top:18px;font-size:11px}.section-pad{padding:65px var(--page-gutter)}.section-heading{grid-template-columns:minmax(0,1fr);gap:25px;margin-bottom:35px}.section-heading>p{justify-self:start}.portfolio-grid{gap:30px 20px}.portfolio-grid .work-3,.portfolio-grid .work-4{grid-column:span 3}.portfolio-grid .work-5{grid-column:2/span 4}.portfolio-grid .work-4{margin-top:50px}.portfolio-grid .work-6,.portfolio-grid .work-7{grid-column:span 6}.event{grid-template-columns:minmax(0,1fr);gap:30px}.contact-row{grid-template-columns:minmax(0,1fr);gap:25px}footer{gap:20px;grid-template-columns:minmax(0,1fr) auto}footer>div{grid-column:1/-1;grid-row:2}footer nav{flex-wrap:wrap;gap:20px}.footer-logo{width:190px;height:145px}.photo-rail{gap:12px}.photo-rail .work{flex-basis:calc((100% - 24px)/3)}figcaption{font-size:10px}}
@media(max-width:540px){.masthead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 0}.brand{order:-1}.masthead nav{order:2;width:100%;padding-top:10px;border-top:1px solid var(--color-rule);justify-content:space-between}.masthead nav a{font-size:12px}.inquire{font-size:11px!important}.photo-rail .work{flex-basis:100%}.photo-rail .photo-open img{width:100%;height:auto}.rail-footer{gap:10px}.rail-footer .small-label{font-size:8px;max-width:130px}.carousel-controls{gap:12px}.section-heading h2{font-size:38px}.enlarge{opacity:1}.portfolio-grid{display:block}.portfolio-grid .work{margin:0 0 30px}.text-link{font-size:11px;gap:25px}.contact h2{font-size:43px}.email{font-size:20px}#lightbox{padding:12px}#lightbox-image{height:65vh}footer nav{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Magazine art direction: generous folios, asymmetric photographic spreads. */
.edition-line{display:flex;justify-content:space-between;gap:20px;padding-top:18px;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--color-muted)}
.opening-heading{display:block;padding:34px 0 32px;text-align:center}
.opening-heading h1{font-size:clamp(43px,7.7vw,132px);letter-spacing:-.065em;line-height:1.06}
.opening-heading p{font-size:11px;margin-top:22px;line-height:1.7;letter-spacing:.035em}
.photo-rail{gap:28px}.photo-rail .work{flex-basis:calc((100% - 56px)/3)}
figcaption{padding:16px 0 13px;border-bottom:1px solid var(--color-rule);font-size:10px;letter-spacing:.025em}
figcaption>span:last-child{font-variant-numeric:tabular-nums;color:var(--color-ink)}
.rail-footer{border:0;padding-top:12px}.carousel-controls button{border-radius:0;border:0;border-bottom:1px solid var(--color-rule)}
.section-pad{padding-top:120px;padding-bottom:120px}
.section-heading{border-top:1px solid var(--color-rule);padding-top:30px;margin-bottom:70px}
.section-heading>p{max-width:310px;font-size:14px;line-height:1.9}
.portfolio-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:95px 30px}
.portfolio-grid .work-3{grid-column:1/span 5}
.portfolio-grid .work-4{grid-column:8/span 5;margin-top:170px}
.portfolio-grid .work-5{grid-column:2/span 4;margin-top:-150px}
.portfolio-grid .work-6{grid-column:7/span 6;margin-top:80px}
.portfolio-grid .work-7{grid-column:2/span 10;margin:15px 0 0}
.portfolio>.text-link{margin-top:60px}
.event{background:var(--color-paper);border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.about .section-heading{border-top:0;padding-top:0}.about .uwe-photo{max-width:1350px;margin:auto}
.contact{background:var(--color-paper-2);color:var(--color-ink)}
.contact h2{font-size:clamp(44px,6.2vw,100px)}.contact-row{border-color:var(--color-rule)}
footer{border-top:1px solid var(--color-rule)}
@media(max-width:900px){.portfolio-grid{gap:65px 25px}.portfolio-grid .work-4{margin-top:90px}.portfolio-grid .work-5{margin-top:-65px}.portfolio-grid .work-6{margin-top:30px}.section-pad{padding-top:80px;padding-bottom:80px}}
@media(max-width:768px){.edition-line{font-size:8px;letter-spacing:.08em}.edition-line>span:last-child{display:none}.opening-heading{text-align:left}.opening-heading h1{font-size:clamp(42px,8vw,62px)}.section-heading{gap:24px;margin-bottom:38px}.portfolio-grid .work-3{grid-column:1/span 6}.portfolio-grid .work-4{grid-column:7/span 6;margin-top:60px}.portfolio-grid .work-5{grid-column:2/span 6;margin-top:0}.portfolio-grid .work-6{grid-column:3/span 10;margin-top:0}.portfolio-grid .work-7{grid-column:1/span 12;margin-top:0}.event{grid-template-columns:minmax(0,1fr)}}
@media(max-width:540px){.opening-heading{padding-top:27px}.opening-heading p{margin-top:16px}.edition-line{flex-wrap:wrap;gap:6px 20px}.photo-rail .work{flex-basis:100%}.section-pad{padding-top:60px;padding-bottom:60px}.portfolio-grid .work{margin:0 0 45px}.portfolio-grid .work-4{margin-left:35px}.portfolio-grid .work-5{margin-right:35px}.portfolio-grid .work-7{margin-top:10px}.section-heading{padding-top:22px}.contact h2{font-size:42px}}

/* Exact original photos retained; localized retouch patches cover old signatures. */
.photo-open,.uwe-photo-wrap,.lightbox-visual{position:relative;isolation:isolate}
.photo-open::after,.uwe-photo-wrap::after,.lightbox-visual::after{content:"";position:absolute;right:3%;bottom:3%;width:22%;aspect-ratio:920/670;background-image:url('assets/uwe-van-ree-logo.png');background-repeat:no-repeat;background-size:136.3% 187.16%;background-position:50% 53.1%;filter:invert(1) grayscale(1);mix-blend-mode:screen;pointer-events:none;z-index:2}
.old-logo-quiet::before{content:"";position:absolute;right:0;bottom:0;width:28%;height:7%;background-image:url('assets/portfolio/quiet-portrait-clean.png');background-size:357.143% 1428.571%;background-position:right bottom;pointer-events:none;z-index:1}
.old-logo-uwe::before{content:"";position:absolute;right:0;top:25%;width:35%;height:45%;background-image:url('assets/uwe-portrait-clean.png');background-size:285.714% 222.222%;background-position:100% 45.455%;pointer-events:none;z-index:1}
.uwe-photo-wrap::after{width:24%;right:7%;bottom:34%}.enlarge{right:auto;left:12px;z-index:3}
.lightbox-visual{display:table;margin:auto;max-width:100%}#lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:70vh;object-fit:contain}
@media(max-width:540px){#lightbox-image{max-height:65vh}}

/* Blend pure-white logo backgrounds into the paper without a rectangular edge. */
.monogram,.footer-logo{mix-blend-mode:multiply}
.monogram img,.footer-logo img{filter:grayscale(1) contrast(1.3);mix-blend-mode:normal}
.legal-links{flex-wrap:wrap;margin:16px 0 0;gap:12px 24px}
.legal-page{max-width:1000px;margin:auto;min-height:70vh}
.legal-page article{margin-top:45px;max-width:760px}
.legal-page h1{font-size:clamp(38px,6vw,76px);margin-bottom:42px}
.legal-page h2{font-size:28px;line-height:1.25;margin:36px 0 14px;letter-spacing:-.02em}
.legal-page p,.legal-page ul{margin:0 0 18px}
.legal-page a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-page+footer{max-width:1000px;margin:auto}
