:root{color-scheme:dark;--bg:#090909;--paper:#ebe8e1;--muted:#a29f9a;--line:#2b2b2a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}body:before{content:"";position:absolute;inset:0 0 auto;height:850px;pointer-events:none;background:radial-gradient(ellipse at 77% 5%,#ffffff09,transparent 55%);z-index:-1}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}.shell{max-width:1600px;margin:auto;padding:0 6%}header{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font-size:14px;letter-spacing:.12em;font-weight:600}.wordmark-period{color:#a6a49e;padding-left:2px}.signature{font-size:14px;color:var(--muted)}.intro{padding:72px 0 53px}.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--muted);margin:0 0 29px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(78px,9.3vw,145px);line-height:.94;letter-spacing:-.06em;margin:0}h1 em,h2 em{font-weight:400;color:#b9b5ae}h1 em{letter-spacing:-.055em}.intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:30px;gap:24px}.intro-bottom p{line-height:1.65;color:var(--muted);margin:0}.index-note{font-size:12px;letter-spacing:.15em;color:#96938e}.collection{display:grid;grid-template-columns:39% 61%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:28px}.tabs{padding:21px 40px 21px 0;border-right:1px solid var(--line)}.tabs button{width:100%;border:0;border-bottom:1px solid #232322;background:transparent;color:var(--muted);display:grid;grid-template-columns:34px 1fr 24px;text-align:left;align-items:center;gap:12px;min-height:82px;padding:17px 12px 17px 0;cursor:pointer;line-height:1.4;transition:color .2s,background .2s,padding .2s}.tabs button:last-child{border-bottom:0}.tabs button[aria-selected=true]{color:var(--paper);background:linear-gradient(90deg,#ffffff08,transparent);padding-left:12px}.tabs button:hover{color:var(--paper)}.tab-number{font-size:12px;color:#8c8984;font-variant-numeric:tabular-nums}.tab-mark{font-size:21px;opacity:0;transition:opacity .2s}.tabs button[aria-selected=true] .tab-mark,.tabs button:hover .tab-mark{opacity:1}.panels{min-width:0;background:linear-gradient(140deg,#ffffff04,transparent 50%,#ffffff02)}.panel{height:100%;min-height:554px;padding:34px 7% 28px;display:flex;flex-direction:column;animation:appear .32s ease}.panel[hidden]{display:none}.panel-top{display:flex;justify-content:space-between;gap:18px;font-size:12px;letter-spacing:.1em;color:var(--muted);line-height:1.6}.panel-top span:last-child{white-space:nowrap}.panel-copy{margin:auto 0;padding:54px 0 48px}.small-serif{font:italic 18px/1.5 Georgia,serif;color:#b0aca6;margin:0 0 23px}h2{font:400 clamp(34px,3.6vw,58px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:0 0 24px}.panel-copy>p:last-child{font-size:16px;line-height:1.75;color:var(--muted);max-width:360px;margin-bottom:0}.empty-state{display:flex;gap:14px;align-items:center;color:#a8a49d;font-size:14px}.empty-state p{margin:0}.empty-line{height:1px;width:28px;background:#77736e}footer{display:flex;justify-content:space-between;gap:22px;padding:31px 0 36px;color:var(--muted);font-size:12px;line-height:1.5}footer>span:nth-child(2){letter-spacing:.12em}footer a:hover{color:var(--paper)}:focus-visible{outline:2px solid #d5cbb8;outline-offset:5px}.skip{position:absolute;top:12px;left:12px;padding:12px;background:var(--paper);color:var(--bg);transform:translateY(-200%);z-index:2}.skip:focus{transform:translateY(0)}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1700px){.shell{padding:0 85px}}@media(max-width:700px){.shell{padding:0 6%}header{min-height:86px}.wordmark{font-size:12px;letter-spacing:.07em}.signature{font-size:12px;text-align:right;max-width:95px;line-height:1.5}.intro{padding:48px 0 34px}h1{font-size:clamp(72px,15vw,104px)}.eyebrow{margin-bottom:25px}.intro-bottom{margin-top:26px}.index-note{display:none}.collection{grid-template-columns:1fr}.tabs{padding:12px 0;border-right:0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px;border-bottom:1px solid var(--line)}.tabs button{grid-template-columns:22px 1fr;gap:6px;font-size:14px;min-height:83px;padding-right:0}.tabs button[aria-selected=true]{padding-left:5px}.tabs button:nth-last-child(2){border-bottom:0}.tab-mark{display:none}.panel{min-height:435px;padding:25px 5%}.panel-top{font-size:12px}.panel-copy{padding:38px 0}h2{font-size:43px}footer{flex-wrap:wrap;padding:25px 0;font-size:12px}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{animation:none!important;transition:none!important}}

/* Personal artwork and contact details */
.portrait{width:56px;height:56px;object-fit:cover;object-position:center 40%;border-radius:50%;border:1px solid #454440}
.tabs button{grid-template-columns:64px minmax(0,1fr) 24px;gap:16px;min-height:96px}
.tab-icon{width:64px;height:64px;object-fit:contain;mix-blend-mode:screen}
.tab-number{width:64px;text-align:center}
h2{display:flex;align-items:center;justify-content:space-between;gap:20px}
h2>span{min-width:0}
.heading-icon{width:112px;height:112px;object-fit:contain;mix-blend-mode:screen;flex-shrink:0}
.contact-details{font-style:normal;display:grid;gap:16px;margin-top:8px}
.contact-details a{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:16px;line-height:1.7;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#55514c}
.contact-details a span{font-size:14px;width:48px;color:var(--muted);text-decoration:none}
.contact-details a:hover{color:#fff;text-decoration-color:#fff}
@media(max-width:1050px) and (min-width:701px){.tabs{padding-right:20px}.tabs button{grid-template-columns:48px minmax(0,1fr);gap:10px}.tab-icon,.tab-number{width:48px}.tab-mark{display:none}.heading-icon{width:80px;height:80px}}
@media(max-width:700px){.portrait{width:48px;height:48px}.tabs button{grid-template-columns:46px minmax(0,1fr);gap:8px;min-height:92px}.tab-icon{width:46px;height:54px}.tab-number{width:46px}.heading-icon{width:80px;height:94px}h2{font-size:clamp(30px,8vw,43px);gap:12px}.panel-top{flex-wrap:wrap}.contact-details{padding-bottom:8px}}

/* Larger artwork in the collection menu */
.tabs button{grid-template-columns:104px minmax(0,1fr) 24px;min-height:124px;gap:18px}
.tab-icon{width:104px;height:96px}
.tab-number{width:104px}
.intro-bottom .motto{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(18px,2vw,24px);line-height:1.6;color:#bbb7b0}
@media(max-width:1050px) and (min-width:701px){.tabs button{grid-template-columns:82px minmax(0,1fr);gap:12px}.tab-icon{width:82px;height:86px}.tab-number{width:82px}}
@media(max-width:700px){.tabs button{grid-template-columns:1fr;justify-items:start;align-content:start;gap:8px;padding:12px 8px;min-height:165px}.tabs button[aria-selected=true]{padding-left:8px}.tab-icon{width:90px;height:86px}.tab-number{width:90px;height:86px;display:flex;align-items:center;justify-content:center}.intro-bottom .motto{max-width:28ch}}

/* Fit the visible artwork, excluding the source canvas margins. */
.tabs button{grid-template-columns:160px minmax(0,1fr);min-height:194px;gap:20px;padding:17px 8px}
.tabs .tab-mark{display:none}
.icon-frame{--icon-size:160px;width:var(--icon-size);height:var(--icon-size);display:flex;align-items:center;justify-content:center;flex-shrink:0;mix-blend-mode:screen;object-fit:initial}
.icon-crop{display:block;position:relative;overflow:hidden;width:min(100%,calc(var(--icon-size) * var(--ratio)));aspect-ratio:var(--ratio)}
.icon-crop img{position:absolute;width:var(--iw);height:var(--ih);left:var(--ix);top:var(--iy);max-width:none;object-fit:fill}
.heading-icon{--icon-size:150px}
.tab-number{width:160px;height:160px;display:flex;align-items:center;justify-content:center}
#panel-travel{justify-content:flex-start}
.travel-heading{padding-top:30px}.travel-heading h2{font-size:clamp(32px,3vw,48px)}
.travel-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:10px 0 28px}
.travel-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:14px 0;color:var(--muted);font:inherit;cursor:pointer}
.travel-tabs button[aria-selected=true]{color:var(--paper);border-bottom-color:var(--paper)}
.trip-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
h3{font:400 30px/1.2 Georgia,serif;margin:0}.trip-title>span{font-size:12px;color:var(--muted)}
.travel-photo{margin:0}.travel-photo a{display:block}.travel-photo img{display:block;width:100%;height:auto}
.travel-photo figcaption{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;line-height:1.6;margin-top:12px}
.daily-intro{margin:10px 0 32px}.daily-intro p,.daily-block p{line-height:1.7;color:var(--muted);font-size:16px}
.daily-block{border-top:1px solid var(--line);padding:25px 0}.daily-block h4{font-size:18px;font-weight:400;margin:0}.coming-soon{display:block;font-size:14px;color:var(--muted);margin-top:26px}
@media(max-width:1100px) and (min-width:701px){.tabs{padding-right:16px}.tabs button{grid-template-columns:1fr;justify-items:start;min-height:220px;gap:10px}.tab-icon,.tab-number{--icon-size:150px;width:150px;height:150px}.heading-icon{--icon-size:112px}.travel-tabs{gap:18px}.travel-tabs button{font-size:14px}}
@media(max-width:700px){.tabs button{grid-template-columns:1fr;min-height:210px;padding:14px 6px;gap:12px}.tab-icon,.tab-number{--icon-size:130px;width:130px;height:130px}.heading-icon{--icon-size:110px}.travel-heading h2{font-size:32px}.travel-tabs{gap:20px}.travel-tabs button{font-size:14px}.travel-photo figcaption{flex-wrap:wrap}.trip-title{flex-wrap:wrap}}

#panel-creative .panel-copy{margin:0;padding:35px 0 30px}
#panel-creative h2{font-size:clamp(30px,3vw,48px)}
.film-project{border-top:1px solid var(--line);padding-top:24px}
.film-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.film-title>span{font-size:12px;color:var(--muted)}
.film-player{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.film-link{display:inline-block;margin-top:16px;padding:8px 0;font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:5px}
.film-link:hover{color:var(--paper)}

#panel-footage .panel-copy{margin:0;padding:35px 0 30px}
#panel-footage h2{font-size:clamp(30px,3vw,48px)}
.poem-collection{margin-top:42px;border-top:1px solid var(--line);padding-top:28px}
.poem-collection>h3{margin-bottom:12px}
.poem-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:24px 0}
.poem-entry h4{font:400 24px/1.3 Georgia,serif;margin:0 0 8px}
.poem-entry p{font:italic 16px/1.6 Georgia,serif;color:var(--muted);margin:0}
.poem-action{font-size:14px;color:var(--muted);white-space:nowrap}
.poem-entry:hover .poem-action{color:var(--paper)}
@media(max-width:700px){.poem-entry{flex-wrap:wrap;gap:12px}.film-title{flex-wrap:wrap}.poem-action{font-size:14px}}

.commercial-film{margin-top:36px}
.school-collection{margin-top:42px;padding:30px 0;border-top:1px solid var(--line)}
.school-collection h3{font-size:clamp(24px,2.5vw,32px);line-height:1.3}
.school-collection p{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:0}

.wedding-gallery{padding-top:24px;border-top:1px solid var(--line);margin-bottom:40px}
.wedding-photos{columns:2;column-gap:14px}
.wedding-photos a{display:block;break-inside:avoid;margin:0 0 14px}
.wedding-photos img{display:block;width:100%;height:auto}
.film-title{flex-wrap:wrap}.film-title h3{overflow-wrap:anywhere}
.film-title .film-date{font-size:12px;line-height:1.6;color:var(--muted)}
.collection-order{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 24px}
@media(max-width:420px){.wedding-photos{columns:1}}

/* Matched gallery rows keep the wedding collection balanced. */
.wedding-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;columns:auto}
.wedding-photos a{margin:0;aspect-ratio:4/3;background:#050505;overflow:hidden}
.wedding-photos a:first-child{grid-column:1/-1;aspect-ratio:16/9}
.wedding-photos img{width:100%;height:100%;object-fit:contain}
.wedding-gallery{margin-top:36px}
.ocarina-blog{border-top:1px solid var(--line);padding-top:28px;margin-top:24px}
.ocarina-blog p{font:400 18px/1.85 Georgia,serif;color:var(--paper);max-width:65ch;margin:24px 0}
.drawing-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}
.drawing-gallery figure{margin:0}.drawing-gallery a{display:block;background:white;aspect-ratio:4/3}
.drawing-gallery img{display:block;width:100%;height:100%;object-fit:contain}
.drawing-gallery figcaption{font:400 18px Georgia,serif;color:var(--muted);padding-top:12px}
[hidden]{display:none!important}
@media(max-width:500px){.wedding-photos,.drawing-gallery{grid-template-columns:1fr}.wedding-photos a:first-child{grid-column:auto}.ocarina-blog p{font-size:17px}.travel-tabs{gap:18px}}

.nuremberg-gallery{display:grid;grid-template-columns:1fr;gap:22px}.nuremberg-gallery a{display:block;background:#050505}.nuremberg-gallery img{display:block;width:100%;height:auto;max-height:85vh;object-fit:contain}#creative-poems .poem-collection{margin-top:0}
