@font-face{font-family:'Bodoni Moda';src:url('../fonts/heading-bodoni-moda.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/body-plus-jakarta-sans.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,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 Oswald,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 Oswald,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:#F1F3F2;--ink:#16221F;--action:#007F73;--on-action:#fff;--accent:#E47E49;--highlight:#B9D9D4;--surface:#E5E0D6;--focus:#9C3B10;--header:56px}.site-header{border:0}.header-in{border-bottom:1px solid}.storyboard-home{max-width:1500px;margin:auto;padding:1rem;display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.tile{padding:clamp(1.5rem,3vw,3rem);border:1px solid #16221F55;min-width:0}.tile-hero{grid-column:1/8;grid-row:1/3;background:var(--surface);display:grid;align-content:space-between}.tile-services{grid-column:8/-1}.tile-services .service{padding:1rem}.tile-process{grid-column:8/-1;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tile-gallery{grid-column:1/5}.tile-review{grid-column:5/10}.tile-contact{grid-column:10/-1;background:var(--action);color:#fff}.service-composition{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-top:2rem}.service-composition .service{grid-column:span 5;background:var(--surface)}.service-composition .service:nth-child(3n){grid-column:span 7}.gallery-page figure:nth-child(2n){grid-column:span 5}.gallery-page figure:nth-child(3n){grid-column:span 7}.staff-page .person:nth-child(odd){margin-right:20%}.staff-page .person:nth-child(even){margin-left:20%}.reviews-composition{display:grid;grid-template-columns:repeat(3,1fr)}.reviews-page .review:nth-child(2){grid-row:span 2;background:var(--surface)}@media(max-width:850px){.storyboard-home,.service-composition,.reviews-composition{display:block;padding:0}.tile{margin-bottom:1rem}.tile-process{display:block}.service-composition .service,.staff-page .person:nth-child(n){margin:0}}.tile-hero{grid-template-rows:auto minmax(520px,1fr)}.tile-hero>img{height:100%;object-fit:cover}@media(max-width:850px){.tile-hero{grid-template-rows:auto auto}.tile-hero>img{height:auto}}
.gallery-page .gallery-composition figure:nth-child(8){grid-column:span 12;display:grid;grid-template-columns:5fr 7fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(1.5rem,4vw,3rem);background:var(--surface)}@media(max-width:850px){.gallery-page .gallery-composition figure{grid-column:auto!important}.gallery-page .gallery-composition figure:nth-child(8){display:grid;grid-template-columns:1fr;padding:1rem}.gallery-page .gallery-composition figcaption{overflow-wrap:anywhere}}
.page-service-area .gallery-composition{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.page-service-area .gallery-composition .tile{grid-column:auto;padding:clamp(1.25rem,3vw,2.5rem)}.page-service-area .gallery-composition .area-final{grid-column:1/-1;background:var(--surface)}@media(max-width:850px){.page-service-area .gallery-composition{grid-template-columns:1fr}.page-service-area .gallery-composition .area-final{grid-column:auto}}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Bodoni Moda', Georgia, 'Times New Roman', serif;--catalog-font-body:'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-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; }
}
