@font-face{font-family:Playfair;src:url('assets/fonts/playfair-display-regular-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Playfair;src:url('assets/fonts/playfair-display-italic-400.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Golos;src:url('assets/fonts/golos-text-400.ttf') format('truetype');font-weight:400;font-display:swap}

/* One scale for the whole homepage: 8 / 16 / 24 / 32 / 48 / 64 / 96. */
:root{
 --cream:#f2e7db;--navy:#273a66;--burgundy:#5c262b;--pink:#e3adb7;--olive:#5d6738;
 --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s6:48px;--s8:64px;
 --section-space:96px;--gutter:clamp(24px,6.25vw,120px);--grid-gap:32px;
 --body:16px;--caption:14px;--small:12px;--subheading:20px;
 --heading:clamp(44px,4.25vw,72px);--hero-heading:clamp(72px,5.8vw,108px);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;color:var(--navy);background:var(--cream);font:400 var(--body)/1.6 Golos,Arial,sans-serif;font-synthesis:none}
h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Playfair,Georgia,serif;font-weight:400;font-size:var(--heading);line-height:1.12;letter-spacing:-.025em;text-wrap:balance}h1 em,h2 em{font-weight:400;font-style:italic}h3{font-size:var(--subheading);font-weight:400;line-height:1.35}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}img{display:block;width:100%;height:auto}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}[hidden]{display:none!important}
.wrap{width:min(100%,1920px);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-space)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:44px;padding:12px 18px;border-radius:4px;background:var(--burgundy);color:var(--cream);font-size:14px;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#71353b;transform:translateY(-2px)}.button.light{background:var(--cream);color:var(--burgundy)}.button.light:hover{background:#fff5ea}
.text-link{display:inline-flex;align-items:center;gap:var(--s4);background:none;padding:var(--s1) 0;text-align:left;font-size:var(--body);line-height:1.5;min-height:44px}.text-link>span{transition:transform .2s}.text-link:hover>span{transform:translateX(5px)}
.button span,.text-link>span{display:inline-block;width:22px;height:12px;font-size:0;position:relative;flex-shrink:0}.button span::before,.text-link>span::before{content:"";position:absolute;left:0;right:0;top:5px;border-top:1px solid currentColor}.button span::after,.text-link>span::after{content:"";position:absolute;right:1px;top:2px;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.logo{display:inline-block;flex-shrink:0}.logo svg{display:block;width:clamp(140px,12vw,234px);height:auto;aspect-ratio:278/108;filter:brightness(0) saturate(100%) invert(95%) sepia(7%) saturate(693%) hue-rotate(329deg) brightness(99%) contrast(91%)}.skip-link{position:fixed;top:-100px;left:24px;background:var(--cream);color:var(--navy);padding:16px;z-index:100}.skip-link:focus{top:16px}

.site-header{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;gap:var(--s6);height:90px;padding-block:0;color:var(--cream)}.site-header .logo svg{width:128px}.desktop-nav{display:flex;gap:var(--s4);margin-left:auto;font-size:var(--body)}.desktop-nav a:hover,.site-footer nav a:hover{text-decoration:underline;text-underline-offset:5px}.header-cta{min-height:48px;gap:var(--s4)}
.menu-toggle{display:none;width:44px;height:44px;background:none;padding:10px;border:1px solid #f2e7db70;border-radius:3px}.menu-toggle span{display:block;height:1px;background:currentColor;margin-block:7px}.mobile-nav{position:absolute;top:100%;right:var(--gutter);left:var(--gutter);margin-top:var(--s2);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s1);background:var(--cream);color:var(--navy);box-shadow:0 12px 30px #0002}.mobile-nav a{padding:var(--s1)}
/* Follow the visible viewport as mobile browser controls expand/collapse. */
.hero{position:relative;height:auto;min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;align-items:center;isolation:isolate;color:var(--cream);overflow:hidden}.hero-background{position:absolute;inset:0;height:100%;object-fit:cover;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(18,5,5,.28) 0%,rgba(18,5,5,.12) 12%,rgba(18,5,5,0) 30%)}.hero-content{width:min(100%,960px);margin-inline:auto;padding:112px var(--gutter) 80px;text-align:center}.hero h1{font-size:var(--hero-heading);line-height:1.08;text-wrap:initial}.hero p{font-size:var(--body);line-height:1.6;margin:var(--s3) auto 0;max-width:440px;text-wrap:balance}.hero .desktop-break{display:none}.hero .button{margin-top:var(--s4);min-width:0}

.editor-section{background:var(--pink)}.editor-layout{display:grid;grid-template-columns:38% 1fr;gap:var(--s6);align-items:center}.editor-copy p{max-width:34em;margin-top:var(--s3)}.editor-copy .button{margin-top:var(--s4);min-width:0}.interface-preview{display:block;overflow:hidden;background:var(--cream);aspect-ratio:1.5}.interface-preview img{height:100%;object-fit:cover;object-position:left top;transition:transform .45s}.interface-preview:hover img{transform:scale(1.025)}
.editor-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap);margin-top:var(--s6)}.editor-steps>div{border-top:1px solid #273a6680;padding-top:var(--s2)}.editor-steps>div>span{font-size:var(--caption)}.editor-steps h3{margin-top:var(--s1)}.editor-steps p{margin-top:var(--s1);font-size:var(--caption)}

.ideas-section{background:var(--navy);color:var(--cream)}.ideas-heading{display:grid;grid-template-columns:38% 1fr;gap:var(--s6);align-items:start}.ideas-heading em{color:var(--pink)}.ideas-heading p{max-width:30em}.gallery{display:flex;gap:var(--grid-gap);margin-top:var(--s6);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:8px}.gallery::-webkit-scrollbar{display:none}.gallery:focus-visible{outline:1px solid var(--cream);outline-offset:8px}.gallery-item{flex:0 0 78%;min-width:0;padding:0;background:none;text-align:left;color:var(--cream);scroll-snap-align:start}.gallery-item:last-child{scroll-snap-align:end}.gallery-item>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.gallery-item>span{display:flex;justify-content:space-between;gap:var(--s1);margin-top:var(--s2);font-size:var(--caption);line-height:1.5}.gallery-item:hover>span{text-decoration:underline;text-underline-offset:4px}.gallery-action{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-top:var(--s4)}.gallery-note,.carousel-position{font-size:var(--caption)}.gallery-note{opacity:.75}.carousel-controls{display:flex;align-items:center;gap:var(--s2);flex:none}.carousel-position{min-width:42px;font-variant-numeric:tabular-nums}.carousel-arrow{display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;color:var(--cream);border:1px solid #f2e7db70;border-radius:0;font-size:24px;line-height:1;transition:background .2s}.carousel-arrow:hover:not(:disabled){background:#f2e7db12}.carousel-arrow:disabled{opacity:.3;cursor:default}

.paper-section h2{text-align:center;margin-bottom:var(--s6)}.paper-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--s8);align-items:center}.paper-image{position:relative}.paper-image img{aspect-ratio:1.7;object-fit:cover}.paper-image figcaption{font-size:var(--small);line-height:1.5;margin-top:var(--s2);opacity:.7}.paper-copy p{max-width:30em}.status{font-size:var(--caption);display:flex;gap:var(--s1);align-items:center;margin-top:var(--s3)}.status span{width:12px;height:12px;border-radius:50%;background:var(--olive);flex-shrink:0}.paper-copy .button{margin-top:var(--s4)}.detail-copy{margin-top:var(--s3);font-size:var(--caption)}

/* A personal creative process, on the same cream as the paper section. */
.about-section{background:var(--cream);color:var(--navy);padding-top:var(--section-space)}
.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s4) var(--s8);align-items:start}.about-intro{grid-column:1;grid-row:1}.about-story{grid-column:1;grid-row:2}.about-ending{grid-column:1;grid-row:3}.about-photo{grid-column:2;grid-row:1/4}
.about-label{font-size:var(--small);letter-spacing:.08em;margin-bottom:var(--s3);opacity:.75}
.about-story{max-width:34em}.about-story p+p{margin-top:var(--s3)}
.about-signature{font:400 clamp(26px,2.2vw,36px)/1.35 Playfair,Georgia,serif;color:var(--burgundy)}
.about-ending .text-link{color:var(--burgundy);margin-top:var(--s3)}
.about-photo{align-self:stretch;min-height:400px;overflow:hidden}.about-photo img{height:100%;object-fit:cover;object-position:center;aspect-ratio:5/6}
.site-footer{border-top:1px solid #f2e7db33;background:var(--burgundy);color:var(--cream);padding-block:var(--s8) var(--s4)}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:var(--s6);align-items:start}.footer-note{margin-top:var(--s3);font-size:var(--caption)}.site-footer nav{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s1)}.footer-start{justify-self:end}.footer-start>p{font:400 clamp(28px,2.4vw,44px)/1.25 Playfair,Georgia,serif}.footer-start .button{margin-top:var(--s4);min-width:0}.footer-bottom{display:flex;justify-content:space-between;gap:var(--s3);align-items:center;border-top:1px solid #f2e7db40;margin-top:var(--s6);padding-top:var(--s3);font-size:var(--small)}.footer-bottom a{padding-block:var(--s1)}

dialog{max-width:min(760px,calc(100% - 32px));max-height:90svh;border:0;padding:var(--s8);background:var(--cream);color:var(--navy);overflow:auto}dialog::backdrop{background:#142039b8}dialog h2{font-size:var(--heading);margin-bottom:var(--s3)}dialog p+p{margin-top:var(--s3)}dialog .button{margin-top:var(--s4)}.dialog-close{position:absolute;right:16px;top:8px;background:none;font:32px Arial;width:44px;height:44px}.dialog-label{font-size:var(--small);letter-spacing:.07em;margin-bottom:var(--s3)}.art-dialog{width:min(680px,calc(100% - 32px));padding:var(--s2)}.art-dialog img{max-height:75svh;object-fit:contain}.art-dialog .dialog-close{background:var(--cream);border-radius:50%;z-index:1}.art-dialog .art-caption{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding-top:var(--s2)}.art-caption .button{margin:0;min-height:44px;gap:var(--s2)}

@media(min-width:1700px){:root{--body:16px;--caption:14px;--subheading:20px;--grid-gap:32px;--section-space:112px}.button{font-size:16px}}
@media(max-width:1100px){:root{--section-space:80px;--grid-gap:24px}.site-header{gap:var(--s3)}.desktop-nav{gap:var(--s3);font-size:14px}.logo svg{width:150px}.header-cta{gap:var(--s3)}.desktop-break{display:none}.editor-layout,.ideas-heading{gap:var(--s4);grid-template-columns:40% 1fr}.interface-preview{aspect-ratio:1.5}.interface-preview img{object-position:20% top}.paper-layout{grid-template-columns:1.6fr 1fr;gap:var(--s4)}.paper-image img{aspect-ratio:1.7}.about-layout{column-gap:var(--s6)}.footer-main{gap:var(--s4)}.footer-start .button{min-width:0;gap:var(--s3)}}
@media(max-width:760px){
 :root{--gutter:24px;--section-space:64px;--heading:44px;--hero-heading:clamp(48px,8.3vw,66px);--body:16px;--caption:14px;--small:12px;--subheading:20px;--grid-gap:24px}
 .site-header{gap:var(--s2)}.desktop-nav{display:none}.header-cta{margin-left:auto;font-size:12px;min-height:44px;padding:12px 16px;gap:var(--s2)}.header-cta span{width:24px}.logo svg{width:130px}.menu-toggle{display:block;flex-shrink:0}
 .hero-background{object-position:60% center}.hero-shade{background:linear-gradient(180deg,rgba(18,5,5,.28) 0%,rgba(18,5,5,.12) 12%,rgba(18,5,5,0) 30%)}.hero-content{padding:112px var(--gutter) 80px}.hero p{max-width:440px}.hero .button{margin-top:var(--s4);min-width:0}
 .editor-layout{grid-template-columns:1fr;gap:var(--s6)}.editor-copy p{margin-top:var(--s3)}.editor-copy .button{min-width:0}.interface-preview{aspect-ratio:1.7}.interface-preview img{object-position:left top}.editor-steps{margin-top:var(--s6);gap:var(--s3)}
 .ideas-heading{grid-template-columns:1fr 1fr;gap:var(--s4)}.gallery{gap:var(--s3)}.paper-section h2{white-space:normal;text-align:left;max-width:570px}.paper-layout{grid-template-columns:1fr;gap:var(--s4)}.paper-image img{aspect-ratio:1.8}
 .about-layout{grid-template-columns:1fr;gap:var(--s4)}.about-intro{grid-column:1;grid-row:1}.about-photo{grid-column:1;grid-row:2}.about-story{grid-column:1;grid-row:3}.about-ending{grid-column:1;grid-row:4}.about-photo{min-height:0}.about-photo img{height:auto;aspect-ratio:4/3}.about-signature{font-size:28px}.footer-main{grid-template-columns:1fr 1fr;gap:var(--s4)}.footer-start{grid-column:1/-1;justify-self:start;display:flex;gap:var(--s4);align-items:center;width:100%;justify-content:space-between}.footer-start>p{font-size:32px}.footer-start .button{margin-top:0}.footer-bottom>span:nth-child(2){display:none}dialog{padding:var(--s4)}.art-dialog{padding:var(--s2)}
}
@media(max-width:480px){
 :root{--heading:40px;--hero-heading:clamp(40px,11.5vw,52px);--grid-gap:24px}
 .site-header{gap:var(--s1)}.site-header .logo svg{width:100px}.header-cta{white-space:nowrap;font-size:12px;padding:12px}.header-cta span{display:none}.hero-background{object-position:50% center}.hero-content{padding-block:112px 80px}.hero p{max-width:330px}
 .editor-steps{grid-template-columns:1fr;gap:var(--s3)}.editor-steps>div{display:grid;grid-template-columns:24px 1fr;gap:var(--s1) var(--s2);padding-top:var(--s2)}.editor-steps>div>span{grid-row:1/3;padding-top:2px}.editor-steps h3{margin:0}.editor-steps p{grid-column:2;margin:0}
 .ideas-heading{grid-template-columns:1fr;gap:var(--s3)}.ideas-heading p{max-width:30em}.gallery{gap:var(--s2)}.gallery-item{flex-basis:94%}.gallery-action{align-items:flex-start;gap:var(--s2)}.gallery-note{max-width:145px;font-size:12px}.carousel-controls{gap:var(--s1)}.footer-main{gap:var(--s4) var(--s3)}.site-footer nav{font-size:14px}.footer-start{display:block}.footer-start .button{margin-top:var(--s3)}.art-dialog .art-caption{align-items:flex-start;flex-direction:column}
}
@media(max-height:600px) and (min-width:761px){.hero-content{padding-block:96px 32px}.hero h1{font-size:60px}.hero p{margin-top:24px}.hero .button{margin-top:var(--s6)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Compact header before navigation links begin wrapping. */
@media(min-width:761px) and (max-width:900px){.desktop-nav{display:none}.header-cta{margin-left:auto;white-space:nowrap}.menu-toggle{display:block;flex-shrink:0}}
@media(max-width:360px){.site-header .logo svg{width:84px}.header-cta{font-size:11px;padding:10px}.menu-toggle{width:40px;height:44px}}

@media(min-width:761px) and (max-width:900px){.about-layout{grid-template-columns:1fr 1fr;gap:var(--s4)}.about-photo{min-height:0}.about-photo img{aspect-ratio:3/4}.footer-main{grid-template-columns:1fr 1fr}.footer-start{grid-column:1/-1;justify-self:start;display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%}.footer-start .button{margin-top:0;white-space:nowrap}}

.site-header{justify-content:space-between}.desktop-nav{gap:var(--s6)}
@media(max-width:900px){.site-header .menu-toggle{margin-left:auto}}

@media(prefers-reduced-motion:reduce){.carousel-arrow{transition:none}}

/* Arrows sit beside the artwork, on the navy background. */
.carousel-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:20px;margin-top:var(--s6);margin-inline:calc(-1 * min(var(--gutter),64px))}
.carousel-stage .gallery{margin-top:0}
.carousel-stage .carousel-arrow{transform:translateY(-22px)}
@media(max-width:1100px){.carousel-stage{gap:8px}}
@media(max-width:600px){.carousel-stage{gap:4px}.carousel-stage .carousel-arrow{font-size:20px}.gallery-action .gallery-note{max-width:none}}

/* Keep the photo behind translucent mobile browser controls as they expand/collapse. */
@media(max-width:900px),(hover:none) and (pointer:coarse){
 .hero{min-height:100vh;min-height:100lvh}
}

/* Editorial hierarchy: regular Playfair headings, regular Golos copy and UI. */
h1,h2,.about-signature,.footer-start>p{font-family:Playfair,Georgia,serif;font-weight:400;font-style:normal}
h3,p,nav,.button,.text-link,.gallery-item>span,.carousel-position{font-weight:400}
.about-signature em{font-style:italic;color:var(--burgundy)}.footer-start>p em{font-style:normal}
.about-signature,.footer-start>p{font-size:clamp(28px,2.4vw,36px);line-height:1.35}
.hero h1{font-size:clamp(52px,5.3vw,88px);line-height:1.12}
@media(max-width:760px){.hero h1{font-size:clamp(36px,6.5vw,52px)}}
@media(max-width:480px){.hero h1{font-size:clamp(32px,8.5vw,40px)}}
