@font-face{font-family:'Besley';src:url('assets/fonts/Besley-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--background:#e4e4e4;--ink:#1e1e1e;--hover:#0100c8;--font:'Besley','Times New Roman',Times,serif}
*{box-sizing:border-box}
body{margin:0;background:var(--background);color:var(--ink);font-family:var(--font);font-size:16px;font-weight:400;min-height:100svh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}a:hover,button:hover{color:var(--hover)}a:focus-visible,button:focus-visible{outline:1px solid var(--hover);outline-offset:6px}
.header{padding:18px 18px 0;display:grid;grid-template-columns:22% 1fr;align-items:start;min-height:70px;text-transform:uppercase;line-height:1.35}
.name{width:fit-content}.header nav{display:flex;justify-content:space-between;gap:20px}.header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
main{flex:1;display:flex;min-width:0}.page{width:100%}.page[hidden]{display:none}
figure{margin:0}.home{display:flex;align-items:center;justify-content:center;padding:6vh 18px 8vh;min-height:calc(100svh - 108px)}
.home-photo{width:min(57vw,1200px);aspect-ratio:1.6;max-height:74svh}.photo-slot{position:relative}.photo-slot img{display:block;width:100%;height:100%;object-fit:contain}
.choose-photo{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);border:0;background:var(--background);color:var(--ink);padding:8px 12px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.photo-slot.has-photo .choose-photo{opacity:0}.photo-slot.has-photo:hover .choose-photo,.photo-slot.has-photo:focus-within .choose-photo{opacity:1}
.about{display:grid;grid-template-columns:40% 60%;align-items:center;min-height:calc(100svh - 108px);padding:5vh 0 7vh}.about-copy{max-width:450px;width:76%;margin:0 auto;line-height:1.6;font-size:19px}.about-copy h1{font-size:16px;text-transform:uppercase;font-weight:400;margin:0 0 40px}.about-copy p{margin:0 0 22px}.text-link{font-size:14px;text-transform:uppercase;display:inline-block;margin-top:28px}.about-photo{height:70svh;max-height:850px;aspect-ratio:3/4;max-width:80%;justify-self:center}
.draft-page{display:grid;grid-template-columns:40% 60%;align-items:center;min-height:calc(100svh - 108px);padding:10vh 18px}.draft-heading{width:76%;margin:auto}.draft-heading h1{font-size:16px;font-weight:400;text-transform:uppercase;margin:0 0 32px}.draft-heading p{font-size:28px;max-width:320px}.draft-body{margin:auto;width:70%;border-top:1px solid #bcbcbc;padding-top:22px;line-height:1.5}.draft-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#686868}
footer{display:flex;justify-content:space-between;gap:24px;padding:10px 18px 15px;font-size:12px;text-transform:uppercase}
#notice{position:fixed;bottom:48px;left:50%;transform:translateX(-50%);padding:12px 18px;max-width:90vw;width:max-content;background:var(--ink);color:var(--background);font:14px/1.4 var(--font);z-index:5}
@media(max-width:760px){.header{display:block;padding:18px 16px 0;min-height:100px;font-size:14px}.header nav{margin-top:22px;gap:12px}.home{padding:6vh 16px;min-height:calc(100svh - 145px)}.home-photo{width:100%;max-height:none}.about{grid-template-columns:1fr;padding:46px 16px 60px;gap:42px}.about-copy{width:100%;max-width:480px;font-size:18px}.about-copy h1{margin-bottom:24px}.about-photo{width:min(100%,440px);height:auto;max-width:100%;aspect-ratio:3/4}.draft-page{grid-template-columns:1fr;gap:70px;padding:60px 16px;min-height:calc(100svh - 145px)}.draft-heading,.draft-body{width:100%}.draft-heading p{font-size:26px}footer{padding:10px 16px 16px;font-size:10px}.choose-photo{opacity:1!important}}
@media(prefers-reduced-motion:no-preference){a,.choose-photo{transition:color .15s,opacity .15s}}

/* Reference navigation: 12px regular with 0.2px tracking. */
.header{font-size:12px;letter-spacing:.2px;font-weight:400;line-height:1.35}
footer{letter-spacing:.2px;font-weight:400}
@media(max-width:760px){.header{font-size:12px}footer{font-size:12px}}

.header .name,.header nav a{display:inline-block;transform:scaleX(.82);transform-origin:left center;letter-spacing:.244px}

.page,.page h1,.page p,.page a,.page button{font-family:var(--font)}

.home-photo{aspect-ratio:3/2}
.about-photo{aspect-ratio:2/3}
@media(max-width:760px){.about-photo{aspect-ratio:2/3}}

/* Booking */
.booking-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,100px);align-items:start;max-width:1100px;margin:0 auto;padding:5vh 40px 8vh}
.booking-card{min-width:0}
.booking-card h1{font-size:16px;font-weight:400;letter-spacing:.2px;margin:0 0 22px;text-transform:uppercase}
.booking-cover{height:clamp(280px,53svh,620px)}
.booking-cover img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.booking-details{margin-top:24px;border-top:1px solid #bcbcbc;border-bottom:1px solid #bcbcbc}
.booking-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-size:14px;padding:15px 0}
.booking-details summary::-webkit-details-marker{display:none}
.booking-details summary:hover{color:var(--hover)}
.booking-details summary:focus-visible{outline:1px solid var(--hover);outline-offset:4px}
.disclosure-icon::before{content:'+'}.booking-details[open] .disclosure-icon::before{content:'−'}
.booking-process{font-size:14px;line-height:1.7;padding:0 0 8px;max-width:420px}
.booking-process p{margin:0 0 16px}
.booking-cta{display:inline-flex;gap:28px;align-items:center;margin-top:22px;padding:11px 16px;border:1px solid var(--ink);font-size:12px;letter-spacing:.2px}
@media(max-width:760px){.booking-page{grid-template-columns:1fr;padding:40px 16px 60px;gap:54px;max-width:480px}.booking-cover{height:auto}.booking-cover img{height:auto;width:100%}.booking-card h1{margin-bottom:18px}}

/* Unified interior typography and revised Booking layout. */
.about-copy,.about-copy h1,.text-link,.draft-heading h1,.draft-heading p,.draft-body,.draft-label,.booking-card h1,.booking-details summary,.booking-process,.booking-cta{font-family:var(--font);font-size:12px;font-weight:400;letter-spacing:.2px}
.booking-page{max-width:1600px;width:76%;padding:5vh 0 8vh;gap:24px}
.booking-cover{position:relative;height:auto;aspect-ratio:1/1;overflow:hidden}
.booking-cover img{width:100%;height:100%;object-fit:cover;object-position:center}
.booking-cover figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 20px 20px;background:linear-gradient(transparent,rgba(0,0,0,.26));color:#fff;pointer-events:none}
.booking-card h1{margin:0;line-height:1.35;display:inline-block;transform:scaleX(.82);transform-origin:left center;letter-spacing:.244px}
.booking-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;margin-top:20px}
.booking-details{margin:0;border:0;min-width:0}
.booking-details summary{justify-content:flex-start;gap:14px;padding:12px 0;line-height:1.35}
.booking-cta{margin:0;white-space:nowrap;line-height:1.35}
.booking-process{padding-top:8px}
@media(max-width:760px){.booking-page{width:100%;max-width:600px;padding:40px 16px 60px;gap:44px}.booking-cover{aspect-ratio:1/1}.booking-cover img{height:100%}.booking-card h1{margin:0}.booking-actions{gap:12px}.booking-cta{padding:11px 12px;gap:12px}}

/* Full-width portrait process, with its enquiry button kept at top right. */
.booking-actions{position:relative;display:block}
.booking-actions>.booking-cta{position:absolute;top:0;right:0}
.booking-details summary{width:calc(100% - 175px);min-height:42px}
.portrait-process{max-width:none;width:100%;padding-top:22px;font-size:12px;line-height:1.8}
.portrait-process h2,.portrait-process h3,.portrait-process h4{font-family:var(--font);font-weight:400;letter-spacing:.2px;line-height:1.5}
.portrait-process h2{font-size:13px;margin:0 0 16px}
.process-step{margin-top:30px}
.process-step h3{font-size:12px;margin:0 0 8px}
.process-step h4{font-size:12px;margin:0 0 16px;color:#555}
.session-facts{border:1px solid #aaa;margin-top:30px;padding:18px 16px 16px}
.session-facts h3{font-size:12px;margin:0 0 20px;text-transform:uppercase}
.session-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.session-facts dl>div{display:flex;flex-direction:column;gap:6px}
.session-facts dd{order:-1;margin:0;font-size:13px;line-height:1.5}
.session-facts dt{font-size:10px;line-height:1.6;color:#555}
.portrait-process .session-note{font-size:10px;color:#555;margin:20px 0 0;line-height:1.6}
@media(max-width:760px){.session-facts dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.session-facts{padding:16px}.booking-details summary{width:calc(100% - 155px)}}

/* Quiet separators distinguish each stage without oversized headings. */
.process-step{border-top:1px solid #bcbcbc;padding-top:18px}
.process-step h3{font-weight:500}
.process-step h4{color:var(--ink);font-weight:500}
.session-facts{font-family:var(--font);font-size:12px;line-height:1.8;letter-spacing:.2px}
.session-facts h3{font-family:var(--font);font-weight:400;line-height:1.5}
.session-facts .session-note{font-size:10px;color:#555;margin:20px 0 0;line-height:1.6}

/* Compact price cards and shared practical terms. */
.price-card{padding:18px 20px;border-color:#bcbcbc}
.price-card h3{font-size:10px;color:#555;margin:0 0 10px}
.price-card .session-price{font-size:22px;font-weight:400;line-height:1.3;margin:0 0 12px;color:var(--ink)}
.price-card p{font-size:12px;line-height:1.7;margin:3px 0}
.booking-terms{grid-column:1/-1;margin-top:0;max-width:100%}
.production-note{font-size:11px;line-height:1.7;margin:0 0 30px;color:#555}
.image-policy{max-width:760px;font-size:10px;line-height:1.8;color:#666}
.image-policy h2{font-family:var(--font);font-size:10px;font-weight:400;letter-spacing:.2px;text-transform:uppercase;margin:0 0 12px}
.image-policy p{font-size:10px;margin:0 0 8px}
@media(max-width:760px){.booking-terms{margin-top:-12px}.price-card .session-price{font-size:22px}}

/* Restrained price and section typography. */
.price-card .session-price{font-size:14px;font-weight:400;line-height:1.5;margin:0 0 10px}
.process-step h3,.process-step h4{font-weight:400}
@media(max-width:760px){.price-card .session-price{font-size:14px}}

/* Portfolio: editorial rows share the established content alignment. */
.portfolio-page{width:76%;max-width:1440px;margin:0 auto;padding:5vh 0 8vh}
.portfolio-heading{font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.2px;margin:0 0 36px}
.editorial-project{margin-bottom:160px}
.project-header{display:flex;justify-content:space-between;gap:24px;align-items:baseline;margin:0 0 24px;text-transform:uppercase;scroll-margin-top:24px;font-size:12px;letter-spacing:.2px}
.project-header h2{font:inherit;margin:0}
.editorial-row{display:grid;gap:clamp(20px,2vw,32px);align-items:start;margin-bottom:clamp(64px,6vw,100px)}
.editorial-row figure{min-width:0}
.editorial-row img{display:block;width:100%;height:auto}
.editorial-row figcaption{font-size:12px;font-weight:400;line-height:1.8;letter-spacing:.2px;max-width:340px;margin-top:28px}
.row-opening{grid-template-columns:58fr 42fr}
.row-opening figure:nth-child(2){padding-top:18%}
.row-supporting{grid-template-columns:44fr 56fr}
.row-supporting figure:first-child{width:90%}
.row-supporting figure:nth-child(2){width:88%;justify-self:end;padding-top:18%}
.row-fashion{grid-template-columns:52fr 48fr}
.row-fashion figure:nth-child(2){padding-top:24%}
.row-intimate{grid-template-columns:1fr 1fr}
.row-intimate figure{width:90%}
.row-intimate figure:nth-child(2){justify-self:end}
.row-closing{grid-template-columns:55fr 45fr}
.row-closing figure:nth-child(2){padding-top:20%}
.series-toggle{display:block;margin:0 0 72px auto;padding:10px 0;background:none;border:0;color:var(--ink);font:12px/1.5 var(--font);letter-spacing:.2px;cursor:pointer}
.series-extra[hidden]{display:none}
.series-close{margin-bottom:0}
@media(prefers-reduced-motion:no-preference){.series-extra:not([hidden]){animation:series-reveal .25s ease-out}@keyframes series-reveal{from{opacity:0}to{opacity:1}}}
@media(max-width:767px){.portfolio-page{width:100%;padding:40px 16px 60px}.portfolio-heading{margin-bottom:28px}.project-header{font-size:11px;gap:12px;margin-bottom:24px}.editorial-row{grid-template-columns:1fr;gap:36px;margin-bottom:48px}.editorial-row figure,.editorial-row figure:first-child,.editorial-row figure:nth-child(2){width:100%;padding-top:0;justify-self:stretch}.editorial-row figcaption{margin-top:24px;max-width:none}.series-toggle{margin-bottom:48px}.series-close{margin-bottom:0}.editorial-project{margin-bottom:100px}}
/* YANA uses the same editorial grid with its own architectural rhythm. */
.row-yana-opening{grid-template-columns:58fr 42fr}
.row-yana-opening figure:nth-child(2){padding-top:18%}
.row-yana-opening figcaption{margin:0 0 32px}
.row-yana-character{grid-template-columns:44fr 56fr}
.row-yana-character figure:first-child{width:92%}
.row-yana-character figure:nth-child(2){width:88%;justify-self:end;padding-top:14%}
.row-yana-architecture{grid-template-columns:60fr 40fr}
.row-yana-architecture figure:nth-child(2){padding-top:24%}
.row-yana-personal{grid-template-columns:48fr 52fr}
.row-yana-personal figure:first-child{width:94%}
.row-yana-personal figure:nth-child(2){padding-top:12%}
.row-yana-experimental{grid-template-columns:46fr 54fr;padding:0 4%}
.row-yana-experimental figure:nth-child(2){width:88%;justify-self:end;padding-top:20%}
.row-yana-stillness{grid-template-columns:62fr 38fr}
.row-yana-stillness figure:nth-child(2){padding-top:12%}
.row-yana-connection{grid-template-columns:48fr 52fr}
.row-yana-connection figure:first-child{width:92%}
.row-yana-connection figure:nth-child(2){padding-top:16%}
@media(max-width:767px){
  .editorial-row[class*="row-yana-"]{grid-template-columns:1fr;padding:0}
  .editorial-row[class*="row-yana-"] figure{width:100%;padding-top:0;justify-self:stretch}
  .row-yana-opening figcaption{margin:0 0 28px}
}

/* Compact three-photograph project openings. */
.editorial-project{margin-bottom:90px}
.editorial-row{margin-bottom:44px}
.row-cover{grid-template-columns:68fr 32fr;gap:20px;margin-bottom:20px;align-items:start}
.row-cover figure:first-child{grid-column:1;grid-row:1 / span 2}
.row-cover figure:nth-child(2){grid-column:2;grid-row:1}
.row-cover figure:nth-child(3){grid-column:2;grid-row:2}
.project-description{font-size:12px;line-height:1.8;letter-spacing:.2px;max-width:560px;margin:0 0 20px}
.series-toggle{margin-bottom:32px}
.series-close{margin-bottom:0}
.series-extra .editorial-row figure{padding-top:0}
.row-final-single{grid-template-columns:1fr 1fr}
.row-final-single figure{width:90%;grid-column:2;justify-self:end}
@media(max-width:767px){
 .row-cover{grid-template-columns:1fr;gap:24px}
 .row-cover figure:first-child,.row-cover figure:nth-child(2),.row-cover figure:nth-child(3){grid-column:auto;grid-row:auto;width:100%}
 .editorial-row,.row-final-single{grid-template-columns:1fr;margin-bottom:32px}
 .row-final-single figure{grid-column:auto;width:100%}
 .editorial-project{margin-bottom:64px}
 .project-description{margin-bottom:16px}
}

.row-wide-single{grid-template-columns:1fr}
.row-wide-single figure{width:100%}

.cta-arrow{display:block;width:14px;height:14px;flex:none;color:inherit}
