@font-face{font-family:'Bricolage Grotesque';src:url('../fonts/heading-bricolage-grotesque.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('../fonts/body-ibm-plex-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--cream:#f4f2ea;--paper:#fcfbf7;--slate:#20292d;--ink:#172126;--light:#f8f6ef;--action:#965123;--action-dark:#743812;--steel:#536f7e;--line:#ccd1cd;--muted:#59656a;--focus:#155a87;--success:#246b4b;--error:#a3302d;--radius:28px;--gutter:clamp(1rem,5vw,5.5rem);--max:1440px;--shadow:0 22px 65px rgba(23,33,38,.11)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--catalog-font-body);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.68}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:.24em}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}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:fixed;top:.5rem;left:-9999px;z-index:1000;background:var(--paper);padding:.75rem 1rem}.skip:focus{left:.5rem}.wrap{width:min(var(--max),100%);margin:auto;padding-inline:var(--gutter)}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted)}h1,h2,h3{font-family:var(--catalog-font-body);line-height:1;margin-top:0;font-weight:650;letter-spacing:-.035em}h1{font-size:clamp(2.7rem,6.4vw,6.75rem);max-width:12ch}h2{font-size:clamp(2.1rem,4.2vw,4.6rem)}h3{font-size:clamp(1.35rem,2vw,2rem)}p{margin-top:0}.lede{font-size:clamp(1.08rem,1.8vw,1.35rem);max-width:60ch}.measure{max-width:65ch}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1.55rem;border:1px solid var(--action);border-radius:999px;background:var(--action);color:#fff;font-weight:800;text-decoration:none;transition:background .22s ease,transform .22s ease}.button:hover,.button:focus-visible{background:var(--action-dark)}.button:active{transform:translateY(1px)}.button.secondary{background:transparent;color:inherit;border-color:currentColor}.actions{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.site-header{position:sticky;top:0;z-index:40;background:rgba(244,242,234,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{min-height:76px;display:flex;align-items:center;gap:1.5rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:850;line-height:1}.brand-mark{width:36px;height:30px;display:grid;place-items:center;border:2px solid var(--steel);clip-path:polygon(50% 0,100% 100%,0 100%);font-size:.65rem;color:var(--steel)}.brand small{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.2rem}.desktop-nav{margin-left:auto}.desktop-nav ul,.footer-nav,.social-list{list-style:none;margin:0;padding:0}.desktop-nav ul{display:flex;align-items:center;gap:clamp(.7rem,1.5vw,1.45rem);font-size:.78rem;font-weight:750}.desktop-nav a[aria-current=page]{text-decoration-thickness:3px}.header-book{font-size:.78rem}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{cursor:pointer;min-width:48px;min-height:44px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:999px;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-panel{position:absolute;top:calc(100% + 1px);left:0;right:0;padding:1rem var(--gutter) 1.5rem;background:var(--cream);border-bottom:1px solid var(--line)}.mobile-panel a{display:block;padding:.72rem 0;border-bottom:1px solid var(--line);font-weight:750}.mobile-panel .button{margin-top:1rem;border-bottom:0;color:#fff}
.contour{position:relative;overflow:hidden}.contour::before{content:"";position:absolute;inset:-20%;opacity:.11;background:repeating-radial-gradient(ellipse at 18% 35%,transparent 0 24px,var(--steel) 25px 26px,transparent 27px 48px);transform:rotate(-8deg);pointer-events:none}.hero{background:var(--cream);min-height:calc(100svh - 76px);display:grid;align-items:center;padding-block:clamp(3rem,7vw,7rem)}.hero-grid{position:relative;display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,7rem);align-items:center}.hero-media{margin:0;position:relative}.hero-media img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.hero-copy{position:relative}.hero h1{margin-bottom:1.25rem}.hero .actions{margin-top:2rem}.hero-note{margin-top:1.5rem;padding-left:1rem;border-left:3px solid var(--action);max-width:46ch;font-size:.9rem}
.band{padding-block:clamp(4rem,8vw,8rem)}.band.dark{background:var(--slate);color:var(--light)}.band.light{background:var(--paper)}.band.cream{background:var(--cream)}.band-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,6rem);align-items:center}.band.reverse .band-media{order:2}.band-media{margin:0}.band-media img{aspect-ratio:16/11;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.band-copy .button{margin-top:1rem}.band-index{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;font-size:.76rem;margin-bottom:1.5rem}
.service-rail{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid currentColor;border-bottom:1px solid currentColor}.service-rail article{padding:2rem;border-right:1px solid currentColor}.service-rail article:last-child{border-right:0}.service-rail .price{font-weight:850;color:var(--action)}.service-rail ul{padding-left:1.1rem}.page-hero{padding-block:clamp(4rem,8vw,8rem);background:var(--cream)}.page-hero .wrap{display:grid;grid-template-columns:8fr 4fr;gap:3rem;align-items:end}.page-hero h1{margin-bottom:0}.page-hero p{margin-bottom:.5rem}.section{padding-block:clamp(4rem,7vw,7rem)}.section-title{display:grid;grid-template-columns:8fr 4fr;gap:2rem;margin-bottom:3rem;align-items:end}.section-title h2{margin-bottom:0}.section-title p{margin-bottom:.35rem}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem}.gallery-grid figure{margin:0}.gallery-grid figure:nth-child(1){grid-column:span 7}.gallery-grid figure:nth-child(2){grid-column:span 5}.gallery-grid figure:nth-child(3),.gallery-grid figure:nth-child(4){grid-column:span 6}.gallery-grid figure:nth-child(5),.gallery-grid figure:nth-child(6),.gallery-grid figure:nth-child(7){grid-column:span 4}.gallery-grid figure:nth-child(8){grid-column:1/-1}.gallery-grid img{aspect-ratio:16/10;object-fit:cover;border-radius:calc(var(--radius) * .65)}.gallery-grid figure:nth-child(2) img,.gallery-grid figure:nth-child(5) img{aspect-ratio:4/5}.gallery-grid figcaption{font-size:.84rem;padding:.75rem .1rem;border-bottom:1px solid var(--line)}
.staff-list{display:grid}.person{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,6rem);padding-block:3rem;border-top:1px solid currentColor;align-items:center}.person:nth-child(even) .person-media{order:2}.person-media img{aspect-ratio:5/4;object-fit:cover;border-radius:var(--radius)}.person ul{padding-left:1.1rem}.role-label{color:var(--action);font-weight:850}.principles,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.principles article,.steps article{padding:1.5rem;border-top:3px solid var(--action);background:rgba(255,255,255,.42)}.steps{grid-template-columns:repeat(4,1fr)}.step-no{font-size:.75rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.review-feature{padding:clamp(2rem,5vw,5rem);background:var(--slate);color:var(--light);border-radius:var(--radius);display:grid;grid-template-columns:1fr 2fr;gap:3rem}.review-feature blockquote{margin:0;font:600 clamp(1.7rem,3.6vw,3.7rem)/1.08 Montserrat,serif}.review-list{display:grid}.review{display:grid;grid-template-columns:3fr 7fr 2fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line)}.review:nth-child(even){background:var(--cream);margin-inline:calc(var(--gutter) * -.35);padding-inline:calc(var(--gutter) * .35)}.review blockquote{margin:0;font-size:1.08rem}.review-meta{font-size:.8rem}.review .avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--slate);color:var(--light);font-weight:850}
.faq-groups{display:grid;gap:3rem}.faq-group{display:grid;grid-template-columns:3fr 9fr;gap:2rem}.faq-group h2{font-size:2rem}.faq-list details{border-top:1px solid var(--line);padding:.35rem 0}.faq-list summary{cursor:pointer;min-height:56px;display:flex;align-items:center;font-weight:800;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";margin-left:auto;font-size:1.5rem}.faq-list details[open]{background:#e6eef1;border-left:4px solid var(--steel);padding:0 1rem 1rem}.faq-list details[open] summary::after{content:"−"}.escape{padding:2rem;background:var(--cream);border-radius:var(--radius)}
.contact-grid{display:grid;grid-template-columns:4fr 7fr;gap:clamp(2rem,7vw,7rem)}.contact-card{padding:2rem;background:var(--cream);border-radius:var(--radius);align-self:start}.contact-card img{border-radius:calc(var(--radius) * .65);margin-bottom:1.5rem}.facts{list-style:none;padding:0}.facts li{padding:.55rem 0;border-bottom:1px solid var(--line)}form{display:grid;gap:1rem}.field{display:grid;gap:.35rem}.field label{font-weight:800}.field small{color:var(--muted)}input,select,textarea{width:100%;min-height:50px;padding:.78rem 1rem;border:1px solid #8a9498;border-radius:10px;background:#fff;color:var(--ink)}textarea{min-height:160px;resize:vertical}.status{min-height:1.5em;font-weight:750}.status.success{color:var(--success)}.status.error{color:var(--error)}.consent{font-size:.9rem}.privacy-layout{display:grid;grid-template-columns:3fr 9fr;gap:clamp(2rem,6vw,6rem)}.toc{position:sticky;top:105px;align-self:start;padding:1.5rem;background:var(--cream);border-radius:18px}.toc ol{padding-left:1.2rem}.policy section{padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--line)}.policy h2{font-size:2rem}
.cta{background:var(--slate);color:var(--light);padding-block:clamp(3rem,6vw,6rem)}.cta .wrap{display:grid;grid-template-columns:8fr 4fr;align-items:center;gap:2rem}.cta h2{margin-bottom:.6rem}.subscribe{padding-block:3rem;background:var(--cream)}.subscribe-grid{display:grid;grid-template-columns:6fr 4fr;gap:3rem;align-items:end}.subscribe form{grid-template-columns:1fr auto;gap:.75rem}.subscribe .status{grid-column:1/-1}.site-footer{position:relative;overflow:hidden;background:var(--slate);color:var(--light);padding-block:clamp(3rem,6vw,6rem)}.site-footer::after{content:"";position:absolute;right:-10%;bottom:-35%;width:48%;aspect-ratio:1;border:1px solid rgba(248,246,239,.13);border-radius:45% 55% 62% 38%;transform:rotate(15deg)}.footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3rem}.footer-brand p{max-width:32ch}.footer-nav{columns:2}.footer-nav li{break-inside:avoid;margin-bottom:.55rem}.social-list{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:1.5rem}.social-list a{font-size:.85rem}.legal{position:relative;z-index:1;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.28);font-size:.78rem}.not-found{min-height:66svh;display:grid;align-items:center}.not-found-grid{display:grid;grid-template-columns:7fr 5fr;gap:4rem;align-items:center}.not-found-mark{aspect-ratio:1;border:1px solid var(--line);border-radius:48% 52% 38% 62%;display:grid;place-items:center;font:700 clamp(4rem,12vw,10rem)/1 Montserrat;color:var(--steel);background:var(--cream)}
@media(max-width:1050px){.desktop-nav{display:none}.mobile-nav{display:block}.header-book{margin-left:auto}.hero-grid,.band-grid{grid-template-columns:1fr 1fr}.page-hero .wrap,.section-title{grid-template-columns:1fr}.service-rail{grid-template-columns:1fr 1fr}.service-rail article:nth-child(2){border-right:0}.service-rail article:nth-child(3){grid-column:1/-1;border-top:1px solid}.steps{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:767px){:root{--radius:14px;--gutter:clamp(1rem,5vw,1.5rem)}body{font-size:1rem}.header-inner{min-height:58px}.header-book{display:none}.brand-mark{width:30px;height:26px}.hero{min-height:auto;padding-block:3.5rem}.hero-grid,.band-grid,.person,.review-feature,.review,.faq-group,.contact-grid,.privacy-layout,.cta .wrap,.subscribe-grid,.footer-grid,.not-found-grid{grid-template-columns:1fr}.hero-media{max-width:82vw}.hero-media img{aspect-ratio:4/5}.band.reverse .band-media,.person:nth-child(even) .person-media{order:0}.band-media img{aspect-ratio:4/3}.service-rail,.principles,.steps{grid-template-columns:1fr}.service-rail article{border-right:0;border-bottom:1px solid}.service-rail article:last-child{border-bottom:0}.service-rail article:nth-child(3){grid-column:auto;border-top:0}.gallery-grid{grid-template-columns:1fr;gap:1.25rem}.gallery-grid figure,.gallery-grid figure:nth-child(n){grid-column:auto}.gallery-grid figure:nth-child(n) img{aspect-ratio:4/3}.person{gap:1.25rem}.person-media img{aspect-ratio:4/3}.review-feature{gap:1.5rem}.review{gap:1rem}.review .avatar{width:54px;height:54px}.faq-group{gap:.5rem}.toc{position:static}.cta .actions{margin-top:.5rem}.subscribe form{grid-template-columns:1fr}.subscribe .status{grid-column:auto}.footer-nav{columns:2}.not-found-mark{max-width:260px}.actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.consent{display:grid;grid-template-columns:1.25rem 1fr;gap:.65rem;align-items:start}.consent input{width:1.1rem;min-height:1.1rem;margin-top:.3rem;padding:0}
/* Catalogue typography identity — headings and reading text. */
:root{--catalog-font-heading:'Bricolage Grotesque', 'Trebuchet MS', Arial, sans-serif;--catalog-font-body:'IBM Plex 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; }
}
