@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#372b2a;--muted:#725e57;--line:#d7bfb0;--paper:#fcf8f2;--blue:#eadde9;--blue2:#f8e9dc;--yellow:#f1d99f;--deep:#7b493d;--white:#fffaf4;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::selection{background:var(--yellow);color:var(--ink)}
.site-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:min(calc(100% - 88px),var(--max));margin-inline:auto}.site-header{position:relative;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}.head-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.07em;font-size:1.56rem;white-space:nowrap;line-height:1}.brand span{color:#c47958}.desktop-nav{display:flex;align-items:center;gap:clamp(20px,3vw,52px)}.desktop-nav a{font-size:.88rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;position:relative;padding:8px 0}.desktop-nav a::after{content:'';height:1px;background:var(--ink);position:absolute;left:0;right:100%;bottom:2px;transition:right .25s}.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{right:0}.nav-contact{display:inline-flex;align-items:center;gap:15px;background:var(--ink);color:#fffaf4;padding:12px 17px;border-radius:2px}.nav-contact:hover{background:var(--deep)}.nav-contact span{font-size:1.2rem;line-height:1}.mobile-nav{display:none}.site-main{flex:1}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:700;color:var(--deep)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(3.6rem,8vw,8.5rem);line-height:.99;letter-spacing:-.085em;font-weight:700}h2{font-size:clamp(2.25rem,5vw,5rem);line-height:1.05;letter-spacing:-.075em;font-weight:700}h3{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.14;letter-spacing:-.05em}p{max-width:65ch}.link-arrow{display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid var(--ink);padding:10px 0 9px;font-weight:700}.link-arrow span{transition:transform .25s}.link-arrow:hover span{transform:translateX(6px)}
.hero{background:var(--blue);padding:clamp(55px,8vw,110px) 0 74px;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:end}.hero h1{margin:15px 0 25px}.hero h1 em{font-style:normal;color:var(--deep)}.hero-sub{font-size:clamp(1.1rem,1.65vw,1.48rem);line-height:1.45;max-width:570px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:50px}.hero-note{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.hero-art{height:clamp(300px,34vw,510px);display:flex;align-items:end;justify-content:center;position:relative}.hero-art::before{content:'';position:absolute;width:79%;height:80%;top:3%;right:0;border:1px solid #c99982;border-radius:50%}.hero-card{width:64%;aspect-ratio:3/4.05;background:var(--yellow);transform:rotate(-8deg);box-shadow:19px 27px 0 rgba(94,59,47,.14);display:flex;flex-direction:column;justify-content:space-between;padding:7%;position:relative}.hero-card::after{content:'';border:1px solid var(--deep);position:absolute;inset:7%;pointer-events:none}.hero-card .hc-top{font-size:.8rem;letter-spacing:.23em;font-weight:700}.hero-card .hc-mark{font-family:Manrope;font-size:clamp(6rem,14vw,13rem);font-weight:800;letter-spacing:-.14em;line-height:.8;color:var(--deep);align-self:center;margin-left:-.12em}.hero-card .hc-bottom{font-family:Manrope;font-size:clamp(1rem,2vw,1.9rem);font-weight:700;line-height:1.1;letter-spacing:-.05em;max-width:140px}
.section{padding:clamp(75px,8vw,126px) 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading h2{margin:10px 0 0}.section-heading p{color:var(--muted);margin:0}.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:54px 24px}.project-card{display:block;min-width:0}.cover-wrap{aspect-ratio:3/4.08;background:#f2dfd2;overflow:hidden;position:relative}.cover-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.1,1)}.project-card:hover img{transform:scale(1.035)}.cover-wrap::after{content:'View project ↗';position:absolute;bottom:12px;right:12px;background:var(--paper);padding:8px 10px;font-size:.76rem;font-weight:700;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}.project-card:hover .cover-wrap::after,.project-card:focus-visible .cover-wrap::after{opacity:1;transform:none}.card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:15px;align-items:baseline}.card-meta h3{font-size:1.08rem;margin:0;font-weight:700;letter-spacing:-.04em}.card-meta span{color:var(--muted);font-size:.8rem;white-space:nowrap}.card-author{font-size:.86rem;color:var(--muted);margin:4px 0 0}.after-grid{margin-top:62px;text-align:center}
.feature-band{background:var(--yellow);padding:clamp(60px,7vw,105px) 0}.feature-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.feature-inner h2{margin:15px 0 23px}.feature-inner p{font-size:1.12rem}.feature-covers{display:flex;align-items:center;justify-content:center;padding:20px 30px}.feature-covers img{width:40%;box-shadow:18px 22px 0 rgba(94,59,47,.13);transform:rotate(-7deg);transition:transform .4s}.feature-covers img+img{margin-left:-5%;transform:rotate(7deg) translateY(15px)}.feature-covers:hover img{transform:rotate(-3deg)}.feature-covers:hover img+img{transform:rotate(3deg) translateY(15px)}.statement{background:var(--blue2)}.statement-inner{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.statement h2{margin:0}.statement p{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.5}.statement .link-arrow{margin-top:10px}
.page-intro{background:var(--blue);padding:clamp(55px,7vw,95px) 0 clamp(45px,6vw,78px)}.page-intro h1{font-size:clamp(3.5rem,7vw,7.6rem);margin:9px 0 22px}.page-intro p{font-size:1.15rem;max-width:710px;margin-bottom:0}.work-section{padding-top:53px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:39px}.filter-btn{background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 18px;cursor:pointer;font-size:.88rem;font-weight:700;transition:background .2s,border-color .2s}.filter-btn:hover,.filter-btn[aria-pressed=true]{background:var(--yellow);border-color:var(--yellow)}.filter-count{color:var(--muted);margin:0 0 17px;font-size:.82rem}.project-card[hidden]{display:none}
.about-main{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:clamp(75px,9vw,150px) 0}.about-main h2{margin:8px 0 30px}.about-copy{font-size:1.15rem;line-height:1.8}.about-copy p{max-width:60ch}.about-tiles{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:35px}.about-tile{background:var(--blue);min-height:170px;padding:24px;display:flex;flex-direction:column;justify-content:space-between}.about-tile strong{font-family:Manrope;font-size:2.3rem;letter-spacing:-.07em;line-height:1}.about-tile span{font-size:.82rem;color:var(--deep)}.about-aside{background:var(--yellow);min-height:520px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.about-aside::before{content:'';position:absolute;width:80%;aspect-ratio:1;border:1px solid var(--deep);border-radius:50%;transform:translate(15%,-10%)}.about-aside::after{content:'';position:absolute;width:55%;aspect-ratio:1;border:1px solid var(--deep);border-radius:50%;transform:translate(-25%,15%)}.about-aside span{position:relative;z-index:1;font:800 clamp(6rem,16vw,15rem)/1 Manrope;letter-spacing:-.17em;color:var(--deep);margin-left:-.17em}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service{border:1px solid var(--line);padding:clamp(26px,4vw,56px);background:#fffaf4;min-height:310px;display:flex;flex-direction:column}.service:nth-child(2){background:var(--blue2)}.service:nth-child(3){background:var(--yellow)}.service .num{font-size:.8rem;font-weight:700;color:var(--deep)}.service h2{font-size:clamp(1.7rem,3vw,3rem);margin:35px 0 15px}.service p{margin:0;color:#6b534b}.service .bottom{margin-top:auto;padding-top:28px;font-size:.82rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700}.process{background:var(--blue2)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:50px}.process-item{border-top:1px solid var(--ink);padding-top:17px}.process-item span{font-size:.8rem;color:var(--deep)}.process-item h3{font-size:1.3rem;margin:18px 0 8px}.process-item p{font-size:.9rem;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:1fr .8fr;gap:10vw;align-items:end;padding:clamp(95px,12vw,190px) 0}.contact-layout h1{margin:13px 0 26px}.contact-layout .lede{font-size:1.3rem;max-width:550px}.email-link{display:inline-block;font:600 clamp(1.5rem,3vw,3.1rem)/1.15 Manrope;letter-spacing:-.055em;border-bottom:2px solid currentColor;padding-bottom:8px;overflow-wrap:anywhere;margin:20px 0}.email-link:hover{color:var(--deep)}.contact-aside{background:var(--yellow);padding:clamp(30px,5vw,65px);min-height:320px;display:flex;flex-direction:column;justify-content:space-between}.contact-aside p{font-size:1.1rem}.contact-aside span{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.project-head{padding:35px 0 60px}.breadcrumb{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;display:inline-flex;gap:10px}.breadcrumb:hover{text-decoration:underline}.project-head h1{font-size:clamp(3.3rem,7vw,7.8rem);margin:45px 0 20px}.project-head .project-deck{font-size:clamp(1.1rem,1.8vw,1.42rem);color:var(--muted);max-width:690px}.project-showcase{background:var(--blue);padding:clamp(45px,7vw,95px) 20px;display:flex;justify-content:center}.project-showcase img{width:min(440px,62vw);aspect-ratio:3/4.08;object-fit:cover;box-shadow:22px 27px 0 rgba(94,59,47,.15)}.project-body{display:grid;grid-template-columns:1.25fr .75fr;gap:10vw;padding:clamp(65px,8vw,120px) 0}.project-body h2{font-size:clamp(2rem,4vw,3.5rem)}.project-body p{font-size:1.08rem;line-height:1.75}.details-list{border-top:1px solid var(--line)}.details-row{border-bottom:1px solid var(--line);padding:15px 0;display:grid;grid-template-columns:100px 1fr;gap:15px;font-size:.9rem}.details-row dt{color:var(--muted)}.details-row dd{margin:0;font-weight:700}.detail-images{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:120px}.detail-images img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--blue)}.next-project{background:var(--yellow);padding:60px 0}.next-project a{display:flex;justify-content:space-between;align-items:end;gap:20px}.next-project h2{margin:12px 0 0}.next-project .next-icon{font-size:3rem;font-weight:400}
.site-footer{background:var(--ink);color:#fffaf4;padding:55px 0 28px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start;padding-bottom:90px}.footer-top h2{font-size:clamp(2.6rem,5vw,5rem);margin:0;letter-spacing:-.075em}.footer-top a{border-bottom:1px solid currentColor;font-size:1.08rem;padding-bottom:7px}.footer-bottom{border-top:1px solid #8c685e;padding-top:22px;display:flex;justify-content:space-between;gap:18px;font-size:.76rem;letter-spacing:.05em;color:#ead9cb}
@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}}@media (max-width:1000px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}.hero-inner{grid-template-columns:1fr .75fr}.hero h1{font-size:clamp(3.5rem,8vw,6rem)}.feature-inner{gap:4vw}}@media (max-width:700px){.container{width:min(calc(100% - 36px),var(--max))}.head-inner{height:66px}.desktop-nav{display:none}.mobile-nav{display:flex;gap:18px;overflow-x:auto;padding:0 0 12px;scrollbar-width:none}.mobile-nav a{font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.mobile-nav a[aria-current=page]{border-bottom:2px solid var(--ink)}.hero{padding:55px 0 60px}.hero-inner{grid-template-columns:1fr;gap:15px}.hero h1{font-size:clamp(3.8rem,13vw,6.5rem)}.hero-art{height:260px;justify-content:flex-end;padding-right:10%}.hero-card{width:170px;padding:18px}.hero-card .hc-mark{font-size:6rem}.hero-card .hc-bottom{font-size:1rem}.hero-bottom{margin-top:25px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 13px}.card-meta{display:block;margin-top:9px}.card-meta h3{font-size:.94rem}.card-meta span{display:block;font-size:.74rem;margin-top:3px}.card-author{font-size:.78rem}.section-heading{align-items:start;flex-direction:column;gap:12px}.section-heading p{max-width:50ch}.feature-inner,.statement-inner,.about-main,.contact-layout,.project-body{grid-template-columns:1fr}.feature-covers{padding:25px 0 0}.feature-covers img{width:43%}.statement-inner,.about-main,.contact-layout,.project-body{gap:35px}.about-aside{min-height:340px;order:-1}.services-grid{grid-template-columns:1fr}.service{min-height:250px}.process-grid{grid-template-columns:repeat(2,1fr)}.project-head h1{margin-top:30px}.detail-images{gap:10px;margin-bottom:70px}.footer-top{flex-direction:column;padding-bottom:65px}.footer-bottom{flex-direction:column}.next-project h2{font-size:2rem}}@media(max-width:390px){.portfolio-grid{gap:28px 10px}.process-grid{grid-template-columns:1fr}.mobile-nav{gap:13px}.hero h1{font-size:3.45rem}}

/* Editorial hero: the actual portfolio follows immediately below. */
.hero{padding:clamp(52px,6vw,85px) 0 clamp(50px,6vw,85px)}.hero-inner{display:block}.hero h1{max-width:1000px;margin:14px 0 19px}.hero-sub{max-width:760px}.hero-bottom{max-width:760px;margin-top:24px}@media(max-width:700px){.hero{padding:50px 0 55px}.hero h1{font-size:clamp(3.8rem,13vw,6.5rem)}.hero-bottom{align-items:center}.hero-note{display:none}}
/* A soft lilac opening keeps the warm site palette without a brown hero. */
.hero{background:#eadde9;color:#382c3d}.hero h1 em,.hero .eyebrow{color:#704e78}.hero .link-arrow{border-color:#382c3d}
.desktop-nav a.nav-contact{padding:12px 18px 12px 20px;justify-content:center}
.bookmark-card .cover-wrap{display:flex;align-items:center;justify-content:center;background:#eadde9}.bookmark-card .cover-wrap img{width:auto;height:84%;max-width:58%;object-fit:contain;box-shadow:8px 12px 0 rgba(94,59,47,.12)}.bookmark-card:hover .cover-wrap img{transform:translateY(-5px)}.bookmark-showcase img{width:min(220px,42vw);height:auto;max-height:72vh;aspect-ratio:2/7;object-fit:contain}

/* Keep the artwork's original proportions; the jacket and endpaper are complete images. */
.cover-wrap{display:flex;align-items:center;justify-content:center;background:#eadde9;padding:9%}
.cover-wrap img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(8px 10px 7px rgba(43,30,42,.13))}
.bookmark-card .cover-wrap img{height:85%;width:auto;max-width:65%;box-shadow:none}
.card-meta{align-items:start}.card-meta span{text-align:right;line-height:1.3}
.project-head .project-deck{max-width:950px}
.original-title{display:block;font-size:.78em;margin-top:7px}
.project-showcase img{height:auto;max-height:650px;aspect-ratio:auto;object-fit:contain;box-shadow:14px 20px 0 rgba(112,78,120,.14)}
.bookmark-showcase img{height:auto;aspect-ratio:auto;max-height:75vh}
.series-showcase{padding-inline:clamp(20px,5vw,90px)}
.series-preview{display:flex;justify-content:center;gap:clamp(12px,3vw,44px);align-items:end;max-width:1200px;width:100%}
.series-preview figure{margin:0;min-width:0;flex:1;max-width:310px;text-align:center}
.series-preview img{width:100%;max-height:490px;object-fit:contain;margin-inline:auto}
.series-preview figcaption{font-size:.88rem;font-weight:700;margin-top:25px}
.project-body{border-bottom:1px solid var(--line)}
.project-body h2{max-width:12ch}.project-body p{color:var(--muted)}
.single-details,.volumes{padding-top:85px;padding-bottom:120px}
.single-details h2,.volumes h2{margin:12px 0 43px}
.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:35px}
.detail-figure{margin:0;min-width:0;background:#f3e8ea;padding:clamp(16px,3vw,38px);display:flex;flex-direction:column;align-items:center;justify-content:center}
.detail-figure img{width:100%;height:auto;max-height:700px;object-fit:contain}
.detail-figure figcaption{align-self:start;margin-top:19px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--muted)}
.detail-figure.wide{grid-column:span 2}
.detail-figure.wide img{max-height:850px}
.detail-figure:only-child{grid-column:span 2}
.volumes .volume{padding:65px 0;border-top:1px solid var(--line)}
.volume-heading{display:flex;gap:28px;align-items:baseline}
.volume-heading>span{font-size:.8rem;letter-spacing:.1em;color:var(--muted);white-space:nowrap}
.volume-heading h3{font-size:clamp(2rem,4vw,3.8rem);margin:0 0 5px}
.volume-heading p{color:var(--muted);font-size:.88rem}
.volume-cover{background:var(--blue);padding:36px;display:flex;justify-content:center}
.volume-cover img{max-height:560px;width:auto;object-fit:contain;filter:drop-shadow(9px 14px 9px rgba(43,30,42,.14))}
.volumes .detail-figure.wide{grid-column:span 2}
@media(max-width:700px){.cover-wrap{padding:6%}.project-showcase img{max-height:520px}.series-preview{gap:10px}.series-preview figcaption{font-size:.7rem;margin-top:13px}.detail-gallery{grid-template-columns:1fr;gap:13px}.detail-figure.wide,.detail-figure:only-child,.volumes .detail-figure.wide{grid-column:auto}.single-details,.volumes{padding-top:60px;padding-bottom:65px}.volumes .volume{padding:40px 0}.volume-cover{padding:22px}.volume-cover img{max-height:450px}.volume-heading{gap:13px}.volume-heading h3{font-size:2rem}}

/* Portrait on About */
.about-aside{margin:0;min-height:0;aspect-ratio:3/4;background:var(--blue);display:block}
.about-aside::before,.about-aside::after{display:none}
.about-aside img{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.about-principle{margin:28px 0;padding:18px 22px;border-left:3px solid #886c96;background:#f3e8f1;font-weight:700;color:#46324b}
@media(max-width:700px){.about-aside{width:min(100%,460px);margin-inline:auto;min-height:0;aspect-ratio:4/5}.about-aside img{object-position:center 37%}}
