:root{--bg:#F6EBDD;--ink:#332B27;--action:#A55045;--on-action:#ffffff;--accent:#577467;--highlight:#D6A94E;--surface:#D6A94E44;--focus:#577467;--header:72px}

*,*::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.55}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select: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:99;background:var(--bg);padding:.75rem}.site-header{position:relative;z-index:20;min-height:var(--header);border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 72%);background:var(--bg)}.header-in{max-width:1440px;margin:auto;padding:1rem clamp(1rem,4vw,4rem);display:flex;align-items:center;gap:2rem}.brand{font-weight:900;text-decoration:none;letter-spacing:-.03em}.brand small{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.nav{margin-left:auto}.nav ul{display:flex;gap:clamp(.6rem,1.2vw,1.35rem);list-style:none;margin:0;padding:0;font-size:.78rem;text-transform:uppercase}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{min-height:44px;padding:.65rem 1rem;border:1px solid currentColor}.mobile-nav nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .5rem);background:var(--bg);border:1px solid currentColor;padding:1rem}.mobile-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.book{display:inline-flex;min-height:44px;align-items:center;padding:.65rem 1rem;background:var(--action);color:var(--on-action);text-decoration:none;font-weight:800;border:1px solid var(--action)}main{overflow:clip}.page-shell{max-width:1320px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.8rem,7vw,7.5rem);line-height:.92;letter-spacing:-.055em;max-width:13ch}h2{font-size:clamp(1.8rem,3.4vw,4rem);line-height:1;letter-spacing:-.035em}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.lede{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:58ch}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.text-link{display:inline-flex;min-height:44px;align-items:center}.hero{min-height:calc(100svh - var(--header));display:grid;align-items:center}.hero-inner{max-width:1440px;margin:auto;padding:clamp(3rem,7vw,8rem) clamp(1rem,4vw,4rem);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(2rem,6vw,7rem);align-items:center}.hero-art{position:relative}.hero-art img{aspect-ratio:3/2;object-fit:cover}.section{max-width:1320px;margin:auto;padding:clamp(4rem,8vw,9rem) clamp(1rem,4vw,4rem)}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2.5rem}.section-head p{max-width:48ch}.service-list,.gallery-grid,.people-grid,.review-grid,.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.service,.person,.review,.process-step,.faq-list details{border:1px solid color-mix(in srgb,var(--ink),transparent 70%);padding:1.35rem;background:var(--surface)}.service .price{font-size:1.3rem;font-weight:900;color:var(--action)}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{font-size:.78rem;padding:.7rem 0}.review cite{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.faq-list{display:grid;gap:.75rem}.faq-list summary{cursor:pointer;font-weight:800;min-height:44px;padding:.65rem 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}form{display:grid;gap:1rem}.field{display:grid;gap:.4rem}input,textarea,select{width:100%;min-height:46px;padding:.75rem;border:1px solid color-mix(in srgb,var(--ink),transparent 55%);background:var(--bg);color:var(--ink);font:inherit}textarea{min-height:150px}button{min-height:46px;padding:.75rem 1.1rem;border:0;background:var(--action);color:var(--on-action);font-weight:900}.status{min-height:1.5em}.contact-band{padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem);background:var(--action);color:var(--on-action)}.contact-band>div{max-width:1320px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.contact-band .book{background:var(--bg);color:var(--ink);border-color:var(--bg)}.subscribe{padding:2rem clamp(1rem,5vw,5rem);background:var(--surface)}.subscribe form{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr minmax(240px,430px) auto;align-items:end}.site-footer{padding:4rem clamp(1rem,5vw,5rem);border-top:1px solid color-mix(in srgb,var(--ink),transparent 70%)}.footer-in{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.site-footer ul{list-style:none;margin:0;padding:0}.legal{font-size:.7rem;opacity:.7;margin-top:3rem}.page-404 main{min-height:70svh;display:grid;align-items:center}.meta-list{display:grid;gap:.5rem}.meta-list div{display:grid;grid-template-columns:9rem 1fr;border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 80%);padding:.5rem 0}.privacy-copy{max-width:75ch}.privacy-copy section{padding:1.5rem 0;border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 80%)}
@media(max-width:850px){.nav{display:none}.mobile-nav{display:block}.header-in>.book{display:none}.hero-inner,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.service-list,.gallery-grid,.people-grid,.review-grid,.process-grid{grid-template-columns:1fr}.section-head,.contact-band>div{display:block}.subscribe form{grid-template-columns:1fr}.footer-in{grid-template-columns:1fr}h1{font-size:clamp(2.7rem,14vw,5.2rem)}.header-in{gap:1rem}.home .hero-inner,.home .section,.home .contact-band{transform:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

body{background-image:linear-gradient(90deg,transparent 49.7%,rgba(70,50,40,.12) 50%,transparent 50.3%)}.site-header{position:sticky;top:0}.home .hero-inner{background:var(--surface);box-shadow:0 22px 60px #332b2722;transform:rotate(-.6deg);margin-block:4rem}.hero-art img,.gallery-grid figure,.person,.review{border:12px solid #fff;box-shadow:4px 8px 18px #332b2733}.service:nth-child(odd),.gallery-grid figure:nth-child(odd){transform:rotate(-2deg)}.service:nth-child(even),.gallery-grid figure:nth-child(even){transform:rotate(2deg)}.section:nth-child(even){background:#fff8}.faq-list details{transform:rotate(-.4deg)}

/* DS-14 material identity: bound album spreads, not loose cards. */
.layout-scrapbook{font-family:var(--catalog-font-body);background-image:linear-gradient(90deg,transparent calc(50% - 2px),#8d6f5940 calc(50% - 1px),#fff8 calc(50%),#8d6f5940 calc(50% + 1px),transparent calc(50% + 2px))}
.layout-scrapbook h1,.layout-scrapbook h2,.layout-scrapbook h3{font-family:var(--catalog-font-heading)}.layout-scrapbook .site-header{border:0;background:transparent}.layout-scrapbook .nav a{background:#fff9;padding:.55rem .75rem;border-radius:8px 8px 0 0}
.layout-scrapbook.home .hero{padding:3rem}.layout-scrapbook.home .hero-inner{min-height:78svh;display:grid;grid-template-columns:.78fr 1.22fr;background:#fffaf1;box-shadow:0 20px 55px #332b2730;transform:none;margin:0 auto;border:1px solid #8d6f5930}.layout-scrapbook.home .hero-copy{padding:2rem;border-right:1px solid #8d6f5940}
.album-stack{height:620px;position:relative;overflow:hidden}.album-stack figure{position:absolute;width:58%;margin:0;background:white;padding:.65rem;box-shadow:5px 8px 18px #332b2740}.album-stack figure:nth-child(1){left:8%;top:5%;transform:rotate(-4deg)}.album-stack figure:nth-child(2){right:5%;top:16%;transform:rotate(4deg)}.album-stack figure:nth-child(3){left:17%;top:34%;transform:rotate(-1deg)}.album-stack figure:nth-child(4){right:8%;top:52%;transform:rotate(3deg)}.album-stack figure:nth-child(5){left:6%;top:69%;transform:rotate(-3deg)}.album-stack img{aspect-ratio:16/8;object-fit:cover}.album-stack figcaption{font:700 .72rem Newsreader,serif;padding-top:.35rem}.album-controls{position:absolute;right:1rem;bottom:1rem;display:flex;gap:.35rem}.album-controls a{width:44px;height:44px;display:grid;place-items:center;background:var(--action);color:white;text-decoration:none;border-radius:50%}
.layout-scrapbook.home .section{max-width:1320px;background:#fff9;box-shadow:0 10px 28px #332b2718;margin-block:3rem;display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;border:1px solid #8d6f5925}.layout-scrapbook.home .section::after{content:"";position:absolute}.layout-scrapbook .page-shell{background:#fff9;box-shadow:0 16px 45px #332b2725;margin-block:3rem;border:1px solid #8d6f5925}.layout-scrapbook .people-grid,.layout-scrapbook .review-grid{grid-template-columns:1fr 1fr}.layout-scrapbook .footer-nav{border-top:1px dashed currentColor;padding-top:1rem}
@media(max-width:850px){.layout-scrapbook{background-position:100% 0}.layout-scrapbook.home .hero{padding:1rem}.layout-scrapbook.home .hero-inner{display:block;min-height:auto}.layout-scrapbook.home .hero-copy{border-right:0;border-bottom:1px solid #8d6f5940;padding:1.25rem}.album-stack{height:500px}.album-stack figure{width:72%}.layout-scrapbook.home .section{display:block;margin:1rem;padding:2rem 1.2rem}.layout-scrapbook .people-grid,.layout-scrapbook .review-grid{grid-template-columns:1fr}.layout-scrapbook .book{max-width:100%}}

.role-portrait{width:min(100%,220px);aspect-ratio:8/9;object-fit:cover;border:1px solid currentColor}.role-name{font-weight:900;text-transform:uppercase;letter-spacing:.12em}.footer-nav{max-width:1320px;margin:2rem auto 0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.footer-nav a{min-height:44px;display:inline-flex;align-items:center}

@media(max-width:1100px){.layout-scrapbook .site-header{position:relative;background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 72%)}.layout-scrapbook .nav{display:none}.layout-scrapbook .mobile-nav{display:block}.layout-scrapbook .header-in>.book{display:none}}

@media(prefers-reduced-motion:reduce){.legal{opacity:1}}

/* Material DS-14 systems: guided trail, stepped roster and tucked review notes. */
.layout-scrapbook .album-stack img{filter:saturate(.82) contrast(1.04)}
.layout-scrapbook.page-gallery .gallery-grid{grid-template-columns:repeat(12,1fr);gap:2rem 1.25rem;align-items:start}
.layout-scrapbook.page-gallery .gallery-grid figure{grid-column:span 4}
.layout-scrapbook.page-gallery .gallery-grid figure:nth-child(1),.layout-scrapbook.page-gallery .gallery-grid figure:nth-child(5){grid-column:span 7}
.layout-scrapbook.page-gallery .gallery-grid figure:nth-child(2),.layout-scrapbook.page-gallery .gallery-grid figure:nth-child(6){grid-column:span 5}
.layout-scrapbook.page-gallery .gallery-grid img{aspect-ratio:4/3;object-fit:cover}
.layout-scrapbook.page-gallery .gallery-grid figcaption{font-size:.95rem;line-height:1.5;padding:.9rem .25rem .4rem}
.layout-scrapbook.page-services .service-list{position:relative;display:grid;grid-template-columns:1fr;gap:2rem;counter-reset:service-stop;padding-left:3rem}
.layout-scrapbook.page-services .service-list::before{content:"";position:absolute;left:1rem;top:1rem;bottom:1rem;border-left:3px dashed var(--accent)}
.layout-scrapbook.page-services .service{counter-increment:service-stop;position:relative;display:grid;grid-template-columns:minmax(17rem,.9fr) minmax(17rem,1.2fr) minmax(9rem,.4fr);gap:.6rem 2rem;transform:none;border:0;border-left:8px solid var(--accent);background:#fffaf1;padding:2rem;box-shadow:5px 8px 20px #332b2720}
.layout-scrapbook.page-services .service::before{content:counter(service-stop,decimal-leading-zero);position:absolute;left:-4.25rem;top:1.25rem;width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:50%;background:var(--action);color:#fff;font-weight:800}
.layout-scrapbook.page-services .service:nth-child(even){margin-left:clamp(0rem,6vw,5rem);border-left-color:var(--highlight)}
.layout-scrapbook.page-services .service h3{grid-column:1;grid-row:2/5;font-size:clamp(2rem,2.6vw,2.7rem);align-self:start;overflow-wrap:normal;word-break:normal;padding-right:.75rem}
.layout-scrapbook.page-services .service>p:not(.eyebrow):not(.price):not(.best-for),.layout-scrapbook.page-services .service ul{grid-column:2}
.layout-scrapbook.page-services .service .best-for{grid-column:2;max-width:58ch}
.layout-scrapbook.page-services .service .price{grid-column:3;grid-row:2;font-size:1.65rem;border:2px solid var(--action);border-radius:50%;min-height:7rem;display:grid;place-items:center;text-align:center;padding:.75rem}
.layout-scrapbook.page-services .service>a{grid-column:3;align-self:end;min-height:44px;display:flex;align-items:center}
.layout-scrapbook.page-staff .people-grid{grid-template-columns:1fr 1fr;gap:2rem}
.layout-scrapbook.page-staff .person{transform:none;border-width:10px;padding:1.5rem}
.layout-scrapbook.page-staff .person:nth-child(3),.layout-scrapbook.page-staff .person:nth-child(4){grid-column:1/-1;width:72%}
.layout-scrapbook.page-staff .person:nth-child(4){justify-self:end}
.layout-scrapbook.page-staff .role-portrait{width:min(100%,130px);float:left;margin:0 1.25rem .75rem 0}
.layout-scrapbook .service-tags{clear:both;padding-top:.75rem;font-weight:700}.layout-scrapbook .ask-role{border-top:1px dashed currentColor;padding-top:.75rem;margin-bottom:0}
.layout-scrapbook.page-reviews .review-grid{display:grid;grid-template-columns:1fr;gap:2rem}
.layout-scrapbook.page-reviews .review{position:relative;width:78%;transform:rotate(-.5deg);padding:2rem 2rem 2rem 7rem;font-size:1.08rem}
.layout-scrapbook.page-reviews .review:nth-child(even){justify-self:end;transform:rotate(.5deg)}
.review-avatar{position:absolute;left:1.4rem;top:1.4rem;width:64px;height:64px;border-radius:50% 50% 45% 55%;display:grid;place-items:center;background:var(--action);color:#fff;font-weight:800;border:4px solid #fff;box-shadow:2px 4px 0 var(--highlight)}
.layout-scrapbook.page-reviews .review cite{display:block;border-top:1px dashed currentColor;padding-top:.85rem;line-height:1.7}
.next-card{margin-top:2rem;padding:1.5rem;background:var(--surface);border:2px dashed var(--accent);transform:rotate(-.6deg)}.next-card h3{font-size:2rem}.next-card ol{padding-left:1.25rem}
@media(max-width:850px){.layout-scrapbook.page-gallery .gallery-grid{display:grid;grid-template-columns:1fr}.layout-scrapbook.page-gallery .gallery-grid figure{grid-column:auto!important}.layout-scrapbook.page-gallery .gallery-grid figure:nth-child(6){width:100%;max-width:651px;justify-self:center}.layout-scrapbook.page-services .service-list{padding-left:2rem}.layout-scrapbook.page-services .service{display:block;margin-left:0!important;padding:1.5rem}.layout-scrapbook.page-services .service::before{left:-3.4rem}.layout-scrapbook.page-services .service .price{min-height:0;border-radius:999px;display:inline-flex;padding:.55rem 1rem}.layout-scrapbook.page-services .service>a{display:flex;margin-top:.75rem}.layout-scrapbook.page-staff .people-grid{grid-template-columns:1fr}.layout-scrapbook.page-staff .person:nth-child(3),.layout-scrapbook.page-staff .person:nth-child(4){grid-column:auto;width:100%}.layout-scrapbook.page-reviews .review{width:calc(100% - 8px);padding:6rem 1.25rem 1.5rem}.layout-scrapbook.page-reviews .review:nth-child(even){margin-left:8px}}
.service-handoff{margin-top:clamp(3rem,7vw,6rem);padding:clamp(1.5rem,4vw,3rem);background:var(--surface);border:2px dashed var(--accent)}.service-handoff ol{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0;list-style:none}.service-handoff li{padding:1rem;background:#fff9}.service-handoff strong{display:block;font-family:var(--catalog-font-body);font-size:1.35rem;margin-bottom:.5rem}@media(max-width:850px){.service-handoff ol{grid-template-columns:1fr}}

:root{--font-h:var(--catalog-font-heading);--font-b:var(--catalog-font-body)}
body{font-family:var(--font-b)}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Space Grotesk', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;--catalog-font-body:'Newsreader', Georgia, 'Times New Roman', serif;--font-h:var(--catalog-font-heading);--font-b:var(--catalog-font-body)}
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; }
}
