@font-face{font-family:'Sora';src:url('../fonts/heading-sora.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Bitter';src:url('../fonts/body-bitter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--catalog-font-body);line-height:1.6}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--bg);padding:.75rem}.site-header{position:relative;z-index:30;min-height:var(--header);background:var(--header-bg,var(--bg));color:var(--header-ink,var(--ink));border-bottom:var(--header-border,1px solid currentColor)}.header-in{max-width:1500px;margin:auto;min-height:var(--header);padding:.65rem clamp(1rem,3vw,3rem);display:flex;align-items:center;gap:1.25rem}.brand{font-family:var(--catalog-font-heading);font-weight:800;text-decoration:none;line-height:1}.brand small{display:block;font:600 .62rem/1.3 Atkinson Hyperlegible Next,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:.25rem}.chrome-mark{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.desktop-nav{margin-left:auto}.desktop-nav ul,.drawer ul,.site-footer nav ul{list-style:none;margin:0;padding:0}.desktop-nav ul{display:flex;gap:clamp(.55rem,1vw,1rem);font-size:.72rem;text-transform:uppercase}.desktop-nav a[aria-current=page]{font-weight:900;text-decoration-thickness:3px}.drawer{display:none;margin-left:auto}.drawer summary{min-width:52px;min-height:44px;padding:.6rem;border:1px solid currentColor;cursor:pointer}.drawer nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .25rem);padding:1rem;background:var(--header-bg,var(--bg));border:1px solid currentColor}.drawer ul{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.book,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.68rem 1rem;background:var(--action);color:var(--on-action);border:1px solid var(--action);font-weight:850;text-decoration:none}.kicker{font-size:.72rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3{font-family:var(--catalog-font-body);line-height:.98;margin-top:0}h1{font-size:clamp(2.8rem,7vw,7rem);letter-spacing:-.045em;max-width:13ch}h2{font-size:clamp(1.9rem,4vw,4.3rem);letter-spacing:-.03em}h3{font-size:clamp(1.15rem,2vw,1.65rem)}p{margin-top:0}.lede{font-size:clamp(1.05rem,1.8vw,1.4rem);max-width:60ch}.actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.page-layout{max-width:1360px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem)}.page-title{display:grid;grid-template-columns:3fr 7fr 4fr;gap:2rem;align-items:end;padding-bottom:2rem;border-bottom:2px solid currentColor}.page-title h1{grid-column:1/3;margin-bottom:0}.page-title>p:last-child{margin-bottom:0}.service-composition{display:grid;gap:0}.service{padding:1.5rem;border-bottom:1px solid currentColor}.service h3{margin-bottom:.35rem}.price{font:850 1.25rem/1 Space Grotesk,sans-serif;color:var(--price,var(--action))}.service ul{padding-left:1.2rem}.gallery-composition{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-top:3rem}.gallery-composition figure{margin:0;grid-column:span 4}.gallery-composition figure:nth-child(1),.gallery-composition figure:nth-child(6){grid-column:span 8}.gallery-composition figcaption{padding:.75rem 0;font-size:.86rem}.staff-composition{display:grid;gap:2rem;margin-top:3rem}.person{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid currentColor}.portrait{aspect-ratio:4/5;object-fit:cover}.review{margin:0;padding:2rem;border-bottom:1px solid currentColor}.review p{font-size:clamp(1.05rem,2vw,1.45rem);max-width:58ch}.review footer{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem}.avatar{display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;margin-bottom:1rem}.faq-composition{margin-top:3rem}.faq-composition details{padding:1rem 0;border-bottom:1px solid currentColor}.faq-composition summary{cursor:pointer;min-height:44px;font:750 1.05rem/1.4 Space Grotesk,sans-serif}.escape-hatch,.process-note{padding:3rem;margin-top:3rem;background:var(--surface)}.about-composition,.contact-composition,.privacy-composition{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);margin-top:3rem}.about-composition aside{padding:1rem;border-left:5px solid var(--action)}form{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-weight:700}label span{font-weight:400}input,select,textarea{width:100%;min-height:46px;padding:.75rem;border:1px solid currentColor;background:var(--field,var(--bg));color:var(--ink)}textarea{min-height:150px}.status{min-height:1.5em}.subscribe{padding:2.5rem clamp(1rem,4vw,4rem);background:var(--subscribe,var(--surface))}.subscribe-form{max-width:1360px;margin:auto;display:grid;grid-template-columns:1fr minmax(240px,420px) auto;align-items:end}.subscribe-form .status{grid-column:2/-1}.site-footer{padding:4rem clamp(1rem,4vw,4rem);display:grid;grid-template-columns:1.15fr 1.7fr 1fr;gap:3rem;background:var(--footer-bg,var(--ink));color:var(--footer-ink,var(--bg))}.site-footer nav ul{columns:3}.site-footer li{break-inside:avoid;margin-bottom:.5rem}.footer-facts ul{list-style:none;padding:0}.not-found-page{min-height:70svh;display:grid;align-content:center}.not-found-page h1{font-size:clamp(4rem,12vw,12rem)}
@media(max-width:850px){.desktop-nav,.chrome-mark,.header-book{display:none}.drawer{display:block}.header-in{gap:.6rem}.page-title,.about-composition,.contact-composition,.privacy-composition,.person{grid-template-columns:1fr}.page-title h1{grid-column:auto}.gallery-composition{grid-template-columns:1fr}.gallery-composition figure,.gallery-composition figure:nth-child(1),.gallery-composition figure:nth-child(6){grid-column:auto}.subscribe-form,.site-footer{grid-template-columns:1fr}.subscribe-form .status{grid-column:auto}.site-footer nav ul{columns:2}h1{font-size:clamp(2.6rem,13vw,4.6rem)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
details.drawer:not([open])>nav{display:none}
@media(max-width:480px){.site-footer nav ul{columns:1}.page-title,.page-title>*{min-width:0}.page-title>*{overflow-wrap:anywhere}}
:root{--bg:#FAF7F2;--ink:#171717;--action:#A94C61;--on-action:#fff;--accent:#C79B58;--highlight:#E8D4D8;--surface:#EFE7DC;--focus:#8B233B;--header:72px}.site-header{position:relative;border:0}.chrome-mark{margin-left:auto}.desktop-nav{margin-left:0}.lookbook-home .spread{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.spread>div{padding:clamp(3rem,8vw,9rem);align-self:center}.spread figure{margin:0}.spread img{height:100%;object-fit:cover}.cover{background:#171717;color:#FAF7F2}.service-spread>figure{order:2}.service-spread .service{padding:1rem 0}.process-spread{grid-template-columns:1fr 1fr 1fr!important;background:var(--surface)}.quote-spread{background:var(--highlight)}.quote-spread .review{align-self:center;margin:8vw}.back-cover{display:flex!important;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--action);color:#fff}.page-layout{max-width:none;padding-inline:8vw}.service-composition .service{max-width:70%;margin-left:auto}.service-composition .service:nth-child(even){margin-left:0}.gallery-page .gallery-composition figure{grid-column:span 6}.gallery-page figure:nth-child(odd){margin-top:6rem}.staff-page .person{min-height:80svh;grid-template-columns:1fr 1fr;align-items:center}.staff-page .person:nth-child(even) img{order:2}.reviews-page .review{min-height:55svh;display:grid;align-content:center}.reviews-page .review:nth-child(even){padding-left:35%}.faq-page{max-width:960px}.contact-page .contact-composition{grid-template-columns:2fr 3fr}.privacy-page .privacy-composition{border-top:1px solid;padding-top:2rem}@media(max-width:850px){.lookbook-home .spread,.process-spread,.staff-page .person,.contact-page .contact-composition{grid-template-columns:1fr!important;min-height:auto}.spread>div{padding:4rem 1.25rem}.service-spread>figure,.staff-page .person:nth-child(even) img{order:initial}.service-composition .service{max-width:none;margin:0}.gallery-page figure:nth-child(n){margin:0}.reviews-page .review:nth-child(even){padding-left:2rem}}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Sora', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;--catalog-font-body:'Bitter', Georgia, 'Times New Roman', serif}
html body,input,select,textarea,button{font-family:var(--catalog-font-body)}
h1,h2,h3,h4,h5,h6,.display,.disp,.brand,.logo{font-family:var(--catalog-font-heading)}

/* aajwebz-mailto-nowrap — an address is one token, never split across lines */
a[href^="mailto:"] {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  display: inline-block;
  max-width: 100%;
}
@media (max-width: 380px) {
  a[href^="mailto:"] { font-size: 0.88em; }
}
