*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1eee8;color:#171715;font-family:Arial,Helvetica,sans-serif;line-height:1.5}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;top:-60px;left:12px;z-index:99;background:white;padding:10px}.skip:focus{top:12px}.site-header{position:absolute;z-index:10;top:0;width:100%;padding:24px clamp(20px,4vw,64px);display:flex;justify-content:space-between;color:white}.brand{font-weight:800;letter-spacing:.04em}.nav{display:flex;gap:28px;font-size:14px}.menu-button{display:none}.hero{height:min(92vh,930px);min-height:680px;position:relative;overflow:hidden}.hero>img{height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.15) 70%)}.hero-copy{position:absolute;left:clamp(20px,4vw,64px);bottom:clamp(50px,8vw,110px);color:white}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:bold;color:#6d6962}.inverse{color:#fff}.hero h1{font-size:clamp(55px,8.8vw,132px);line-height:.85;letter-spacing:-.06em;margin:0 0 26px}.hero-lead{font-size:clamp(18px,2vw,25px)}.actions{display:flex;gap:28px;align-items:center;margin-top:30px;flex-wrap:wrap}.button{display:inline-block;border-radius:999px;padding:14px 22px;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:bold}.light{background:white;color:#111}.dark{background:#111;color:white}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:bold}.section-pad{padding:clamp(80px,10vw,150px) clamp(20px,4vw,64px);max-width:1380px;margin:auto}.intro-grid,.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(35px,8vw,120px);align-items:end}.intro h2,.section-head h2,.commission-copy h2,.about h2,.contact h2{font-size:clamp(42px,6vw,88px);line-height:.95;letter-spacing:-.045em;margin:0}.intro-grid>p,.section-head>p{font-size:clamp(18px,2vw,24px);color:#55514b;margin:0}.featured{max-width:1380px;margin:auto;padding:0 clamp(20px,4vw,64px) 140px}.feature{margin-bottom:100px}.feature-wide img{aspect-ratio:1.6;object-fit:cover}.feature-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,90px)}.feature-pair .offset{margin-top:150px}.portrait img{aspect-ratio:3/4;object-fit:cover}.art-button{border:0;padding:0;background:transparent;width:100%;cursor:zoom-in;overflow:hidden}.art-button img{transition:transform .4s}.art-button:hover img{transform:scale(1.012)}.work-meta,.card-meta{border-top:1px solid #cec9c1;margin-top:14px;padding-top:14px;display:flex;justify-content:space-between;gap:18px}.work-meta h3,.card-meta h3{margin:0;text-transform:uppercase;font-size:14px;letter-spacing:.07em}.work-meta p,.card-meta p{margin:0;color:#6d6962;font-size:13px;text-align:right}.section-head{margin-bottom:55px}.masonry{columns:3 320px;column-gap:28px}.card{break-inside:avoid;margin-bottom:44px}.card img{max-height:680px;object-fit:cover}.commissions{display:grid;grid-template-columns:1fr 1fr;background:#d7d0c6}.split-image img{height:100%;min-height:780px;object-fit:cover}.commission-copy{padding:clamp(60px,7vw,110px);align-self:center}.commission-copy>p:not(.eyebrow){font-size:20px}.steps{list-style:none;padding:0;margin:45px 0}.steps li{display:grid;grid-template-columns:55px 1fr;gap:20px;border-top:1px solid #aaa39a;padding:20px 0}.steps li:last-child{border-bottom:1px solid #aaa39a}.steps li>span{font-size:12px}.steps strong{font-size:13px;text-transform:uppercase;letter-spacing:.06em}.steps p{margin:5px 0;color:#55514b}.note{font-size:13px!important;color:#5e5953}.process-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:26px}.process-grid figure{margin:0}.process-tall{grid-row:span 2}.process-grid figure:nth-child(3){grid-column:2}.process-grid img{height:100%;max-height:850px;object-fit:cover}.process-grid figcaption{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6d6962;padding-top:9px}.about{display:grid;grid-template-columns:1fr 1fr;background:#181817;color:#eeeae4}.about-copy{padding:clamp(70px,9vw,140px) clamp(20px,4vw,64px);align-self:center}.about-copy .eyebrow{color:#9e998f}.about-copy p:not(.eyebrow){font-size:clamp(17px,1.6vw,21px);color:#d0cbc3;max-width:650px}.about-image img{height:100%;min-height:720px;object-fit:cover}.exhibition-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:26px}.exhibition-grid figure{margin:0}.exhibition-grid img{height:100%;min-height:560px;object-fit:cover}.contact{max-width:none;background:#b64e30;color:white}.contact .eyebrow{color:#f0cabb}.contact h2{font-size:clamp(65px,10vw,150px)}.contact>p:not(.eyebrow){font-size:clamp(18px,2vw,25px);max-width:760px}.mail-link{display:inline-block;margin-top:45px;font-size:clamp(26px,4.5vw,65px);border-bottom:2px solid rgba(255,255,255,.5);letter-spacing:-.04em}.footer{padding:32px clamp(20px,4vw,64px);display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:25px;font-size:12px;border-top:1px solid #cec9c1}.footer div:first-child{display:flex;flex-direction:column}.footer span{color:#777}.footer-links{display:flex;gap:18px}.lightbox{border:0;padding:0;margin:auto;width:100vw;height:100vh;max-width:none;max-height:none;background:rgba(15,15,14,.97);color:white}.lightbox img{height:calc(100% - 70px);object-fit:contain;padding:28px 28px 0}.lightbox p{height:70px;margin:0;padding:18px 28px;color:#ccc;font-size:13px}.lightbox-close{position:fixed;right:22px;top:18px;border:0;background:white;border-radius:50%;width:42px;height:42px;font-size:25px}.menu-button{background:transparent;color:white;border:1px solid white;border-radius:999px;padding:7px 12px}@media(max-width:900px){.menu-button{display:block}.nav{display:none;position:absolute;right:20px;top:68px;background:rgba(18,18,17,.92);padding:20px;flex-direction:column;align-items:flex-end}.nav.open{display:flex}.hero>img{object-position:55% center}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.08) 70%)}.intro-grid,.section-head{grid-template-columns:1fr}.commissions,.about{grid-template-columns:1fr}.about-image{order:-1}.exhibition-grid{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}}@media(max-width:620px){.feature-pair{grid-template-columns:1fr}.feature-pair .offset{margin-top:0}.masonry{columns:1}.work-meta,.card-meta{display:block}.work-meta p,.card-meta p{text-align:left;margin-top:3px}.commission-copy{padding:65px 20px}.process-grid{display:block}.process-grid figure{margin-bottom:26px}.about-copy{padding:70px 20px}.footer{grid-template-columns:1fr}.mail-link{font-size:26px;word-break:break-word}}.lang-switch{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.08em}.lang-switch button{border:0;background:transparent;color:inherit;padding:0;cursor:pointer;opacity:.62}.lang-switch button.active{opacity:1;text-decoration:underline;text-underline-offset:4px}@media(max-width:900px){.site-header{gap:16px}.lang-switch{margin-left:auto}.menu-button{order:3}}

.makingof-trigger{cursor:pointer}.makingof-trigger figcaption{display:flex;justify-content:space-between;gap:18px}.makingof-hint{color:#171715}.makingof{border:0;padding:0;width:min(1180px,94vw);height:min(88vh,900px);max-width:none;max-height:none;background:#f1eee8;color:#171715}.makingof::backdrop{background:rgba(15,15,14,.88)}.makingof-inner{height:100%;overflow:auto;padding:clamp(32px,5vw,72px)}.makingof-copy{display:grid;grid-template-columns:.35fr 1fr;gap:35px;margin-bottom:45px}.makingof-copy h2{font-size:clamp(42px,6vw,82px);line-height:.95;letter-spacing:-.045em;margin:0}.makingof-copy p:last-child{grid-column:2;font-size:18px;color:#55514b;max-width:760px}.makingof-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.makingof-gallery img{width:100%;height:auto;max-height:680px;object-fit:cover}.makingof-close{position:fixed;right:calc(3vw + 10px);top:calc(6vh + 10px);z-index:3;border:0;background:#171715;color:white;border-radius:50%;width:44px;height:44px;font-size:26px;cursor:pointer}@media(max-width:700px){.makingof-copy{grid-template-columns:1fr}.makingof-copy p:last-child{grid-column:1}.makingof-gallery{grid-template-columns:1fr}.makingof-trigger figcaption{display:block}.makingof-hint{display:block;margin-top:4px}}

/* v1.4 */
.process-grid{column-gap:clamp(48px,6vw,92px);row-gap:64px}.makingof-trigger figcaption{padding-top:15px}.makingof-gallery{gap:30px}.makingof-gallery img{max-height:none;object-fit:contain;background:#e9e5de}@media(max-width:700px){.process-grid{row-gap:0}.makingof-gallery{gap:22px}}

.makingof-gallery img[alt^="The Maniac making of 4"],.makingof-gallery img[alt^="The Maniac making of 3"]{max-height:760px;object-fit:contain;object-position:center;transform:none}

/* v1.6: The Snake is shown upright and given a full row in the Maniac making-of. */
.makingof-gallery img[alt^="The Maniac making of 3"]{grid-column:1/-1;max-height:760px;width:100%;object-fit:contain;object-position:center;}

/* v1.8 */
.raw-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.raw-grid figure{margin:0}
.raw-grid img{width:100%;height:auto;max-height:none;object-fit:contain}
.moments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 32px}
.moment{margin:0}
.moment-wide{grid-column:1/-1}
.moment img{width:100%;height:auto;max-height:820px;object-fit:contain;background:#ebe7df}
.moment-wide img{max-height:900px}
.moment figcaption{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #cec9c1;margin-top:12px;padding-top:12px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.moment figcaption span{color:#6d6962;text-align:right}
@media(max-width:760px){.raw-grid,.moments-grid{display:block}.raw-grid figure,.moment{margin-bottom:36px}.moment figcaption{display:block}.moment figcaption span{display:block;text-align:left;margin-top:4px}}

/* v1.9 — tighter editorial flow, no dead grid space */
.raw-grid{display:block;columns:2 420px;column-gap:32px}
.raw-grid figure{display:inline-block;width:100%;break-inside:avoid;margin:0 0 32px}
.raw-grid img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;filter:saturate(1.08) contrast(1.025)}
.moments-grid{display:block;columns:2 420px;column-gap:32px}
.moment,.moment-wide{display:inline-block;width:100%;break-inside:avoid;margin:0 0 54px}
.moment-wide{column-span:all;display:block}
.moment img,.moment-wide img{width:100%;height:auto;max-height:none;object-fit:contain;background:transparent;filter:saturate(1.08) contrast(1.025)}
@media(max-width:760px){.raw-grid,.moments-grid{columns:1}.raw-grid figure,.moment,.moment-wide{display:block;margin:0 0 36px}.moment-wide{column-span:none}}

/* v1.10 — original colour-managed JPEGs + image enlargement */
.raw-grid img,.moment img,.moment-wide img{filter:none}
img.zoomable-image{cursor:zoom-in}
img.zoomable-image:hover{opacity:.985}

/* Lightbox: image only, no caption */
.lightbox img{height:100%;padding:28px;object-fit:contain}.lightbox p{display:none!important}

/* v2.0 — editorial luxury direction */
@font-face{font-family:CPSerif;src:url('fonts/NotoSerif-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:CPSans;src:url('fonts/InterDisplay-Regular.otf') format('opentype');font-display:swap}
@font-face{font-family:CPSans;src:url('fonts/InterDisplay-SemiBold.otf') format('opentype');font-weight:600;font-display:swap}
body{font-family:CPSans,Arial,sans-serif;background:#f3f0e9;color:#151514}
.hero h1,.intro h2,.section-head h2,.commission-copy h2,.about h2,.contact h2{font-family:CPSerif,Georgia,serif;font-weight:400;letter-spacing:-.055em}
.hero h1{text-transform:uppercase;font-size:clamp(54px,8vw,118px);line-height:.88;max-width:1000px}
.hero-lead{font-family:CPSerif,Georgia,serif;font-size:clamp(21px,2.2vw,31px);font-style:italic}
.eyebrow,.brand,.nav,.button,.text-link,.work-meta h3,.card-meta h3{font-family:CPSans,Arial,sans-serif}
.works-all{padding-top:60px}
.masonry{columns:2 420px;column-gap:40px;max-width:1120px;margin:auto}
.card{margin-bottom:58px}
.commission-assurance{display:flex;flex-wrap:wrap;gap:9px;margin:34px 0 20px}.commission-assurance span{border:1px solid #aaa39a;border-radius:999px;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.process .section-head h2{font-size:clamp(52px,7vw,102px)}
.raw-grid{columns:2 380px;column-gap:42px}.raw-grid figure{margin-bottom:42px}
.about-copy h2{font-size:clamp(46px,5.8vw,82px)}
.moments-grid{columns:2 380px;column-gap:42px}.moment,.moment-wide{margin-bottom:64px}
.contact{background:#11110f;color:#f3f0e9;padding-top:130px;padding-bottom:130px}.contact .eyebrow{color:#aaa59b}.contact h2{font-size:clamp(66px,10vw,145px);font-weight:400}.mail-link{border-bottom-color:#77736d}
.lightbox{background:rgba(10,10,9,.985)}
@media(max-width:760px){.hero{min-height:640px;height:88vh}.hero h1{font-size:clamp(47px,15vw,72px)}.hero-copy{bottom:54px}.hero-lead{font-size:21px}.masonry,.raw-grid,.moments-grid{columns:1}.contact{padding-top:90px;padding-bottom:90px}}
/* v2.4 — persistent navigation + refined About headline spacing */
.site-header{position:fixed;transition:background .28s ease,color .28s ease,padding .28s ease,box-shadow .28s ease;align-items:center}
.site-header.scrolled{background:rgba(241,238,232,.92);color:#171715;padding-top:15px;padding-bottom:15px;box-shadow:0 1px 0 rgba(23,23,21,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header.scrolled .menu-button{color:#171715;border-color:rgba(23,23,21,.45)}
.site-header.scrolled .nav{color:#171715}
.brand{position:relative}.brand:after{content:'';position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:currentColor;transition:right .25s ease}.brand:hover:after,.brand:focus-visible:after{right:0}
.about-copy h2{line-height:1.06;letter-spacing:-.035em;max-width:12ch}
@media(max-width:900px){.site-header.scrolled .nav{background:rgba(241,238,232,.97);color:#171715;box-shadow:0 10px 30px rgba(0,0,0,.08)}}
