:root{--ink:#f4f0e8;--paper:#090909;--white:#f4f0e8;--orange:#ca794a;--muted:#b9b5ad;--line:#35312d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}img{display:block;width:100%;height:auto;object-fit:contain;filter:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3{font-family:Italiana,Georgia,serif;font-weight:400;line-height:1.13;overflow-wrap:break-word}h1{font-size:clamp(3rem,6vw,6rem);margin:0 0 24px}h2{font-size:clamp(2.5rem,4.5vw,4.5rem);margin:0 0 24px}h3{font-size:clamp(1.9rem,3vw,3rem);margin:0 0 16px}p{margin:0 0 22px;color:var(--muted)}.wrap{width:min(1240px,calc(100% - 48px));margin:auto}.nav{position:sticky;top:0;z-index:20;background:#090909;border-bottom:1px solid var(--line);min-height:90px;padding:18px 3vw;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.12em;font-size:14px;font-weight:600}.brand-mark{border:1px solid #ca794a;border-radius:50%;padding:10px;color:#e4a679}.nav nav{display:flex;gap:20px;align-items:center;font-size:14px}.nav-cta{border:1px solid #83786c;padding:10px 14px}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 14px}.hero{max-width:1536px;margin:auto;background:#090909}.hero>img{width:100%;height:auto;max-height:none}.hero-copy{padding:50px max(24px,5vw);max-width:1100px}.hero h1 em{color:#e3b391;font-style:normal}.intro{font-size:19px;max-width:780px}.eyebrow,.eyebrow.dark{color:#e3b391;font-size:14px;letter-spacing:.13em;text-transform:uppercase;font-weight:500}.hero-note{display:flex;gap:24px;padding:0 5vw 35px;color:var(--muted);font-size:14px}.actions,.entry{display:flex;gap:16px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;font-size:16px;text-align:center;border:1px solid #88735e}.button.primary{background:#9a5734;color:#fff;border-color:#b4744d}.button.ghost,.button.light{background:#121110;color:#f4f0e8}.button:hover,.nav a:hover{border-color:#e3b391;color:#ffe4cd}.entry{padding:0 0 60px}.entry .button{flex:1}.statement,.experience,.keepsakes,.contact,.complete-services{padding-top:70px;padding-bottom:70px}.statement{border-top:1px solid var(--line)}.statement>p:last-child{max-width:850px;font-size:19px}.section-head{margin-bottom:35px}.services{padding-bottom:65px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 24px}.service{display:block;background:#11100f;min-width:0}.service.wide{grid-column:1/-1}.service img{position:static;width:100%;height:auto;max-height:none}.service>div{padding:28px}.service span{color:#c59a77;font-size:14px}.service h3{margin-top:12px}.service p{margin-bottom:0}.feature,.split,.network{max-width:1536px;margin:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0e0d0c;display:grid;grid-template-columns:1.25fr .75fr;align-items:center}.feature-image,.feature>img,.split>img,.network>img{min-width:0}.feature-copy,.split>div,.network-copy{padding:clamp(28px,4vw,65px)}.feature ul{padding-left:20px;color:var(--muted)}.split{grid-template-columns:.75fr 1.25fr}.split.inverse{grid-template-columns:1.25fr .75fr}.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.steps article{border-top:1px solid var(--line);padding-top:24px}.steps span{color:#e3b391;font-size:14px}.steps h3{margin-top:18px}.gallery{padding-top:65px;background:#090909}.gallery-title{padding-bottom:20px}.mosaic,.keepsake-cards,.full-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1240px;margin:auto}.mosaic{padding:0 24px 60px}.mosaic figure,.full-gallery figure{margin:0;min-width:0;background:#11100f}.mosaic figcaption,.full-gallery figcaption{position:static;padding:18px 22px;font-size:16px;color:var(--ink)}.keepsake-cards{grid-template-columns:repeat(3,1fr)}.keepsake-cards article{background:#11100f;min-width:0}.keepsake-cards h3,.keepsake-cards p{padding:0 22px}.keepsake-cards h3{margin-top:24px;font-size:2rem}.service-family{margin-top:55px}.service-family>h3{padding-bottom:18px;border-bottom:1px solid var(--line)}.network{position:relative;grid-template-columns:.85fr 1.15fr}.network #partners{position:absolute;top:0}.contact{text-align:center}.contact h2{max-width:1000px;margin:0 auto 25px}.contact>p{max-width:700px;margin:0 auto 25px}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:40px 4vw;border-top:1px solid var(--line);background:#090909}footer p{margin:0}footer>div{display:flex;gap:20px;flex-wrap:wrap}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #e3b391;outline-offset:4px}section[id]{scroll-margin-top:100px}
@media(max-width:1000px){.nav nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px;background:#090909;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav nav.open{display:flex}.menu{display:block}.feature,.split,.split.inverse,.network{display:flex;flex-direction:column}.feature-image,.feature-copy,.split>div,.split>img,.network-copy,.network>img{width:100%}.split>img,.network>img{order:-1}.keepsake-cards{grid-template-columns:1fr 1fr}.keepsake-cards article:last-child{grid-column:1/-1}.hero-copy{padding:35px 24px}.hero-note{padding:0 24px 30px;flex-wrap:wrap}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.nav{min-height:76px;padding:14px 16px}.brand{font-size:12px}.service-grid,.mosaic,.keepsake-cards,.full-gallery,.steps{grid-template-columns:1fr}.service.wide,.keepsake-cards article:last-child{grid-column:auto}.hero-copy{padding:30px 16px}.intro{font-size:17px}.actions,.entry{flex-direction:column}.actions a,.entry a{width:100%}.statement,.experience,.keepsakes,.contact,.complete-services{padding-top:45px;padding-bottom:45px}.mosaic{padding:0 16px 40px}.service>div{padding:22px}footer{align-items:flex-start;flex-direction:column}.hero-note{padding-left:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand-logo{width:60px;height:60px;object-fit:contain;flex-shrink:0}

.brand-opening{background:#080808;display:grid;place-items:center}.brand-opening a{display:block;width:min(100%,1024px)}.brand-opening img{display:block;width:100%;height:auto;max-height:calc(100svh - 90px);object-fit:contain}.studio-arrival{max-width:1536px;margin:0 auto;background:#080808}.studio-arrival img{width:100%;height:auto;object-fit:contain}@media(max-width:600px){.brand-opening img{max-height:none}}

/* Widescreen opening, followed by the original studio explanation. */
.brand-opening{max-width:1536px;margin:auto;background:#e97408}.brand-opening a{width:100%;aspect-ratio:16/9;background:#e97408}.brand-opening img{width:100%;height:100%;max-height:none;object-fit:contain}.service-family{padding-top:25px;margin-top:40px}.service-family>p{max-width:900px}.full-gallery{align-items:start}.full-gallery figure img{height:auto;object-fit:contain}.full-gallery figure a{display:block}.full-gallery figure:only-child{grid-column:1/-1}

.souvenir-slide .full-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.souvenir-slide figcaption{padding:12px 16px;font-size:14px}@media(max-width:900px){.souvenir-slide .full-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.souvenir-slide .full-gallery{grid-template-columns:1fr}}

.compact-panel .full-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.compact-panel .full-gallery figure{background:#090909}.compact-panel .collection-description{padding:24px 0 0;max-width:1000px}.collection-description p{font-size:17px;line-height:1.7}.compact-panel{border-top:1px solid var(--line);padding-top:32px;margin-top:40px}.after-event{border-top:1px solid var(--line)}@media(max-width:600px){.compact-panel .full-gallery{gap:8px}.collection-description p{font-size:16px}}

.full-gallery a{cursor:zoom-in}.image-viewer{width:96vw;max-width:1600px;height:94dvh;max-height:94dvh;padding:0;border:1px solid #575047;background:#090909;color:#f4f0e8}.image-viewer::backdrop{background:#000e}.viewer-toolbar{display:flex;justify-content:flex-end;gap:12px;padding:12px;background:#121110}.viewer-toolbar button{padding:10px 18px;border:1px solid #8b7966;background:#161412;color:#fff;cursor:pointer}.viewer-scroll{height:calc(100% - 132px);overflow:auto;display:flex;align-items:center;justify-content:center}.viewer-scroll img{width:100%;height:100%;object-fit:contain}.viewer-caption{text-align:center;padding:12px;margin:0;font-size:14px}.original-size .viewer-scroll{display:block}.original-size .viewer-scroll img{width:auto;height:auto;max-width:none;max-height:none}.access-page{padding-top:55px;padding-bottom:65px;max-width:1000px}.access-card{padding:28px 0;border-top:1px solid var(--line);margin-top:28px}.access-card h2{font-size:clamp(2rem,4vw,3rem)}.access-card .button{margin:6px 6px 6px 0}body:has(.image-viewer[open]){overflow:hidden}

.language-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 4vw;border-bottom:1px solid var(--line);background:#11100f;font-size:14px}.language-bar select,.language-bar button{background:#161412;color:#f4f0e8;border:1px solid #746453;padding:10px;font:inherit;min-height:44px}.language-bar label{color:#e3b391}.language-bar small{color:var(--muted);font-size:13px}.global-intro{padding-top:48px;padding-bottom:35px}.global-intro p{max-width:940px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.matching-form label{display:flex;flex-direction:column;gap:8px;font-size:16px;margin-bottom:18px}.matching-form input,.matching-form select,.matching-form textarea{width:100%;padding:12px;background:#151412;border:1px solid #746453;color:#f4f0e8;font:inherit;border-radius:0}.matching-form textarea{resize:vertical}.matching-form .button{cursor:pointer}.request-note{font-size:14px}.request-output{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.request-output[hidden]{display:none}.request-status{margin-top:15px}.language-bar button{cursor:pointer}@media(max-width:600px){.field-grid{grid-template-columns:1fr}.language-bar{padding:12px 16px}.language-bar small{width:100%}.language-bar select{max-width:180px}}
