
/* Art direction, September 2026. Original content and contact destinations retained. */
html{scroll-padding-top:28px}body{overflow-x:clip}main,section,article,div{min-width:0}img{max-width:100%}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}a.button{transition:background .2s,transform .2s}a.button:hover{transform:translateY(-2px)}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance}a,summary{overflow-wrap:anywhere}summary{min-height:44px}section[id]{scroll-margin-top:24px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

:root{--ink:#38282b;--muted:#76666a;--cream:#faf7f4;--sage:#eadedc;--deep:#6e3944;--line:#dccdcd;--coral:#8d4556;--white:#fffdfb}body{background:var(--cream)}.header{max-width:none;padding:0 5vw;border-bottom:1px solid var(--line);height:90px}.brand{font-weight:500;letter-spacing:0}.hero{max-width:none;position:relative;padding:65px 7vw 80px;grid-template-columns:1.2fr .8fr;gap:4vw;min-height:770px}.hero h1{font-size:clamp(60px,6.9vw,96px);line-height:1.1;letter-spacing:-4px;position:relative;z-index:2;margin-right:-90px}.hero h1 em{font-style:italic;font-family:Georgia,serif;font-weight:400;color:var(--coral)}.hero-photo{height:615px;border-radius:0;align-self:start;overflow:visible;margin-top:0}.hero-photo img{object-fit:contain;object-position:center;display:block;background:#e9e3df}.photo-caption{background:var(--cream);color:var(--ink);text-shadow:none;padding:22px 28px;left:-45px;bottom:25px;font-size:23px;font-style:italic}.lead{font-size:15px;max-width:410px;color:#65565a}.hero .actions{flex-wrap:wrap;gap:18px}.primary{background:var(--deep);border-radius:0;padding:17px 22px}.primary b{color:#fff}.hero-note{font-size:12px;color:#76636a}.eyebrow{color:#775663}.eyebrow:before{display:none}.section{padding:100px 7vw}.intro,.audience{background:#f0e7e5;gap:8vw}.intro-copy,.audience-copy,.about-copy>p:not(.eyebrow){color:#65565a}.principles-inner{padding-top:65px;padding-bottom:65px}.principle-grid h3{font-family:Georgia,serif}.principle-grid p{color:#71646a}.gallery{background:#faf7f4}.gallery-heading{display:block}.gallery-heading>.eyebrow{grid-column:1/-1}.gallery-heading h2{margin:0}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:26px;margin-top:38px}.gallery-grid figure{background:none;padding:0;box-shadow:none}.gallery-grid .gallery-wide{grid-column:span 2;max-width:850px;width:100%;justify-self:center}.gallery-grid img{object-fit:contain;aspect-ratio:auto;max-height:540px;background:#ede6e3}.gallery-grid figure img{height:350px;object-fit:contain}.gallery-grid figcaption{padding-top:15px;border-bottom:1px solid var(--line);padding-bottom:14px;color:#65565a}.services{background:#eee2e3}.service-grid{display:block}.service-card,.service-card.featured{display:grid;grid-template-columns:55px 1fr 130px 230px;align-items:center;gap:25px;min-height:0;padding:32px 0;background:none;color:var(--ink);border:0;border-top:1px solid #c8adb4}.service-card h3{font-size:29px;margin:0}.service-card .detail{grid-column:2;font-size:13px;margin:0}.service-card .duration{color:#6e5660;margin:0}.card-bottom{border:0;padding:0;margin:0;gap:25px}.featured .detail{color:#6e5660}.featured .card-bottom{border:0}.service-card.featured .duration{grid-column:3;grid-row:1}.service-card.featured .card-bottom{grid-column:4;grid-row:1}.how{background:var(--cream)}.about-image{height:470px}.notice{background:#e9dddd}.notice p:last-child{color:#65565a}.contact{background:#6e3944;text-align:left;padding:90px 7vw}.contact h2 em{color:#edd4db}.contact-lead{margin:20px 0 45px}.contact-links{max-width:none}.contact-links small{color:#edd4db}.contact-links b{color:#fff}.contact .eyebrow{color:#edd4db}.faq details p,.how li p{color:#65565a}
@media(max-width:760px){.header{height:72px;padding:0 22px}.header nav{top:72px}.hero{padding:40px 22px 65px;gap:32px;min-height:0}.hero h1{font-size:55px;letter-spacing:-2.5px;margin-right:0}.hero-photo{height:440px;width:85%;margin-left:auto}.photo-caption{left:-35px;bottom:20px;font-size:20px;padding:18px}.section{padding:65px 22px}.gallery-heading{display:block}.gallery-heading>p:last-child{margin-top:24px}.gallery-grid{gap:25px;grid-template-columns:1fr}.gallery-grid .gallery-wide{grid-column:1}.gallery-grid figure:not(.gallery-wide) img{height:auto;max-height:440px}.service-card,.service-card.featured{grid-template-columns:30px 1fr;gap:15px;padding:25px 0}.service-card h3{font-size:25px}.service-card .duration,.service-card.featured .duration,.service-card .card-bottom,.service-card.featured .card-bottom{grid-column:2;grid-row:auto}.service-card .card-bottom{justify-content:space-between}.contact{padding:65px 22px}.intro,.audience{gap:25px}}

@media(max-width:760px){.hero h1{font-size:clamp(42px,14vw,55px)}}

/* Readable text, comfortable controls and bounded desktop content. */
body{font-size:16px;line-height:1.65}
a,button,summary{touch-action:manipulation}
nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.button{min-height:48px;font-size:14px}
.eyebrow,.section-label,.section-tag{font-size:12px;letter-spacing:.1em}
footer,.footer{font-size:12px}
summary{font-size:18px}
details p{font-size:16px!important;line-height:1.65}
@media(min-width:1600px){.hero,.section,.contact,.statement,.requests,.about,.boundaries,.faq{padding-left:max(6vw,calc((100vw - 1320px)/2));padding-right:max(6vw,calc((100vw - 1320px)/2))}}
@media(max-width:600px){.button{font-size:14px}.eyebrow,.section-label,.section-tag{font-size:11px}nav a{min-height:44px}summary{font-size:17px}h1,h2{overflow-wrap:normal}.lead{font-size:16px!important}}

.header{position:relative;z-index:5;gap:24px}.hero{grid-template-columns:1.1fr .9fr;gap:6vw;min-height:700px;padding-top:52px;padding-bottom:60px}.hero h1{font-size:clamp(52px,5.6vw,80px);line-height:1.12;letter-spacing:-3px;margin-right:0}.lead{font-size:18px;max-width:550px}.hero-photo{height:auto;width:100%;max-width:440px;justify-self:end;aspect-ratio:853/1280;background:transparent}.hero-photo img{object-fit:contain;width:100%;height:100%}.photo-caption{left:-25px;bottom:28px;padding:18px 22px;font-size:21px}.hero-facts{display:grid;gap:5px;color:#6e3944;font-size:15px;font-weight:600;margin:23px 0 0}.hero .actions{margin-top:26px}.section{padding-top:78px;padding-bottom:78px}.principle-grid p,.services-head>p,.how li p{font-size:16px}.gallery-heading{max-width:800px}.gallery-note{font-size:15px;color:#65565a;max-width:660px;margin:24px 0 0!important}.gallery-grid{gap:26px}.gallery-grid figure{background:#f0e9e6;padding:16px}.gallery-grid figure img{height:auto;aspect-ratio:auto;max-height:450px;width:100%;object-fit:contain}.service-card,.service-card.featured{grid-template-columns:40px 1fr 100px 285px;gap:24px}.service-card h3{font-size:27px}.service-card .duration,.service-card .detail{font-size:15px}.card-bottom{gap:18px}.card-bottom strong{white-space:nowrap}.card-bottom a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;font:600 14px Manrope,Arial,sans-serif;background:#6e3944;color:#fff}.notice p:last-child{font-size:14px}.contact-links small{font-size:12px}.contact-links strong{font-size:16px}.hero .button.text{min-height:48px}.how-cta{margin-top:0}.contact-lead{font-size:18px;max-width:720px}
@media(max-width:1050px){.header{height:76px;padding:0 24px}.menu{display:block;width:44px;height:44px;margin-left:auto}.header-contact{display:none}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:18px 24px;box-shadow:0 12px 24px #38282b18}.header nav.open{display:grid;gap:6px}.header nav a{font-size:16px}.hero{gap:34px}.hero h1{font-size:clamp(45px,5.4vw,65px)}.service-card,.service-card.featured{grid-template-columns:32px 1fr;gap:14px}.service-card .duration,.service-card.featured .duration,.service-card .card-bottom,.service-card.featured .card-bottom{grid-column:2;grid-row:auto}.service-card .card-bottom{justify-content:space-between}.gallery-grid figure{padding:10px}}
@media(max-width:760px){.hero{padding:32px 22px 52px;gap:34px;min-height:0}.hero h1{font-size:clamp(40px,12vw,59px);letter-spacing:-2px}.hero-photo{width:88%;height:auto;margin:0 0 0 auto;aspect-ratio:853/1280}.photo-caption{left:-22px;bottom:24px;font-size:19px;padding:15px}.hero .actions{display:grid;grid-template-columns:1fr;gap:6px}.hero-facts{font-size:14px}.section{padding:56px 22px}.gallery-grid figure:not(.gallery-wide) img{height:auto;max-height:none}.gallery-grid figure{padding:10px}.card-bottom a{padding:10px 14px}.contact{padding:56px 22px}.contact-links strong{font-size:16px}.how-cta{margin-top:24px}}
