@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{--ivory:#faf6ed;--burgundy:#511f2c;--ink:#352323;--gold:#a07840;--line:#d9ccbb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.75 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;max-width:100%}header{display:flex;align-items:center;justify-content:space-between;padding:26px 5%;border-bottom:1px solid var(--line);gap:25px}.wordmark{text-align:center;color:var(--burgundy);line-height:1.25;white-space:nowrap}.wordmark span{font:24px Georgia,serif;letter-spacing:1px}.wordmark small{display:block;font-size:10px;letter-spacing:3px;margin-top:8px}nav{display:flex;gap:32px;align-items:center;font-size:14px}.nav-cta{border-bottom:1px solid var(--gold);padding-bottom:6px}.nav-cta span{margin-left:22px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:730px}.hero-copy{padding:70px 7% 40px 10%}.eyebrow{font-size:12px;letter-spacing:2.2px;color:var(--gold);font-weight:600;margin:0 0 26px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.05;margin:0;color:var(--burgundy)}h1{font-size:clamp(58px,5.8vw,92px);letter-spacing:-2px}em{font-weight:400}h2{font-size:clamp(42px,4.2vw,66px);letter-spacing:-1px}.intro{margin:28px 0;font-size:16px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--burgundy);color:var(--ivory);padding:16px 25px;font-size:14px}.button:hover{background:#713446}.hero-foot{font-size:12px;margin-top:45px;color:#74635a}.hero-art{position:relative;overflow:hidden;background:#f6eddf}.hero-art>img:first-child{width:100%;height:100%;object-fit:cover}.hero-art .brand-logo{position:absolute;top:6%;left:27%;width:46%;mix-blend-mode:multiply}.art-caption{position:absolute;bottom:25px;width:100%;text-align:center;font-size:10px;letter-spacing:2px;color:var(--burgundy)}.invitation{text-align:center;max-width:780px;padding:95px 25px 55px;margin:auto}.invitation>p:last-child{max-width:570px;margin:25px auto 0;color:#756459}.offering-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:0 6% 70px;font-size:13px;color:var(--burgundy)}.offering-nav a:hover,.text-link:hover{color:var(--gold)}.offering{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:0 7% 90px;max-width:1600px;margin:auto}.offering.reverse figure{order:2}.offering figure{margin:0;position:relative}.offering figure img{width:100%;height:520px;object-fit:cover}.offering#performance figure img{object-position:center 35%}.offering figcaption{font:italic 18px 'Cormorant Garamond',Georgia,serif;margin-top:12px;color:#786450}.offering-copy .eyebrow{font-size:12px;letter-spacing:1.5px}.offering-copy>p:not(.eyebrow){max-width:490px;color:#6b5c54}.offering-copy .disciplines{font-size:13px;line-height:1.8;padding:12px 0}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 25px;font-size:14px}summary{cursor:pointer;padding:15px 0;list-style:none;color:var(--burgundy);display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details p{padding:0 0 15px;margin:0;color:#6b5c54}.text-link{font-size:14px;color:var(--burgundy);border-bottom:1px solid var(--gold);padding-bottom:5px}.film{background:#28191d;color:var(--ivory);padding:75px 7%}.film-heading{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;margin-bottom:35px}.film-heading h2{color:var(--ivory);grid-row:span 2}.film-heading>p:last-child{color:#c8b5a9;font-size:14px}.film-frame{position:relative;aspect-ratio:2.15;overflow:hidden}.film-frame>img{width:100%;height:100%;object-fit:cover}.film-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#160e16bb)}.film-label{position:absolute;bottom:30px;left:35px;z-index:1}.film-label span{font-size:11px;letter-spacing:3px}.film-label p{font:italic 32px 'Cormorant Garamond',Georgia,serif;margin:10px 0}.film-frame video{width:100%;height:100%;object-fit:contain;position:relative;z-index:2;background:#160e16}.approach{padding:90px 7%;text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;text-align:left;margin-top:55px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps span{font-size:12px;color:var(--gold);letter-spacing:1.5px}.steps h3{font-size:32px;margin:20px 0 15px}.steps p{font-size:14px;color:#756459}.inquire{background:var(--burgundy);text-align:center;padding:85px 25px;color:var(--ivory)}.inquire h2{color:var(--ivory)}.inquire .eyebrow{color:#d3b17a}.inquire>p:not(.eyebrow){font-size:14px;color:#dfccc6;margin:25px 0}.button.light{background:var(--ivory);color:var(--burgundy);margin:10px 0}.inquire .inquire-note{font-size:12px!important;line-height:1.8}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:12px;color:#756459}.skip{position:absolute;top:-80px;left:15px;padding:12px;background:white;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero{max-height:900px}.hero-copy{padding-left:15%}}@media(max-width:1000px){header{flex-wrap:wrap}nav{gap:22px}.hero{min-height:620px}.hero-copy{padding-top:45px}h1{font-size:65px}.hero-foot{font-size:10px}.offering{gap:6%;padding-left:5%;padding-right:5%}.offering figure img{height:430px}.offering-nav{flex-wrap:wrap;justify-content:center}.offering-copy .eyebrow{font-size:10px}}@media(max-width:650px){header{justify-content:center;padding:20px}nav{gap:18px;flex-wrap:wrap;justify-content:center;font-size:12px}.nav-cta{display:none}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 7% 25px}h1{font-size:64px}.hero-foot{margin-top:26px}.hero-art{height:390px}.hero-art>img:first-child{object-position:center 66%}.hero-art .brand-logo{width:32%;left:34%;top:0}.art-caption{bottom:14px;font-size:9px}.invitation{padding:65px 7% 40px}.offering-nav{margin-bottom:45px;gap:15px;font-size:12px}.offering{display:flex;flex-direction:column;gap:25px;padding:0 7% 65px;align-items:stretch}.offering.reverse figure{order:0}.offering figure img{height:360px}.offering-copy .eyebrow{font-size:11px;margin-bottom:18px}h2{font-size:46px}.film{padding:55px 7%}.film-heading{display:block}.film-heading h2{margin-bottom:20px}.film-frame{aspect-ratio:1.15}.film-label{left:20px;bottom:15px}.film-label span{font-size:9px;letter-spacing:2px}.film-label p{font-size:27px}.approach{padding:65px 7%}.steps{grid-template-columns:1fr;gap:20px;margin-top:35px}.inquire{padding:65px 7%}.button{gap:24px;max-width:100%}footer{flex-direction:column;text-align:center}.eyebrow{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.guide-link{display:inline-block;font-size:14px;border-bottom:1px solid #b89562;padding:5px 0;margin-top:14px}.inquire-note a{overflow-wrap:anywhere}

/* Centered hero shared by desktop and mobile. */
.hero{position:relative;display:flex;flex-direction:column;align-items:center;isolation:isolate;overflow:hidden;min-height:0;max-height:none;padding:40px 5% 270px;background:var(--ivory)}
.hero-logo{position:relative;z-index:2;display:block;width:230px;max-width:45%;height:auto;margin:0 auto 26px}
.hero-copy{position:relative;z-index:2;width:100%;max-width:1160px;padding:0;text-align:center}
.hero h1{font-size:clamp(34px,6.1vw,88px);line-height:1.08;letter-spacing:-1.5px;max-width:none;margin:0 auto}
.hero h1 span,.hero h1 em{display:block;white-space:nowrap}
.hero .eyebrow{margin:0 auto 24px;max-width:none}
.hero .intro{margin:25px auto;line-height:1.8}
.hero-foot{margin:27px auto 0;font-size:12px}
.hero-art{position:absolute;inset:auto 0 0;height:340px;z-index:0;background:transparent;pointer-events:none;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,#000 65%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 65%)}
.hero-art>img:first-child{height:100%;width:100%;object-fit:cover;object-position:center 70%}
.offering figure img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.film-frame{aspect-ratio:auto;max-width:660px;margin:0 auto;background:var(--ivory)}
.film-frame>img{width:100%;height:auto;max-height:720px;object-fit:contain}
.film-frame:after{display:none}
.film-label{position:relative;left:auto;bottom:auto;padding:24px;text-align:center;background:#28191d}
.film-frame video{aspect-ratio:16/9}
@media(max-width:650px){
 .hero{padding:28px 5% 185px}
 .hero-logo{width:185px;max-width:55%;margin:0 auto 25px}
 .hero-copy{width:100%;padding:0}
 .hero h1{font-size:clamp(26px,7.4vw,48px);letter-spacing:-.5px;line-height:1.17}
 .hero .eyebrow{font-size:10px;letter-spacing:1.1px;max-width:300px;margin-bottom:20px}
 .hero .intro{font-size:14px;margin:22px auto}
 .hero-foot{font-size:10px;line-height:1.8;margin-top:24px}
 .hero-art{height:235px}
 .offering figure img{height:auto;max-height:none}
 .film-frame>img{height:auto;max-height:none}
 .film-label{padding:20px 12px}
}

.portrait-worlds{padding-left:22px;margin:0 0 24px}.portrait-worlds li{padding-left:5px;margin:0 0 16px}.portrait-worlds li::marker{color:var(--gold)}.portrait-worlds strong{display:block;color:var(--burgundy);font-family:"Cormorant Garamond",Georgia,serif;font-size:23px;line-height:1.3}.portrait-worlds span{display:block;font-size:14px;line-height:1.6;color:#6b5c54}.offering details .portrait-list-heading{color:var(--burgundy);font-weight:600;padding-bottom:15px}

.occasion-links{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:30px;font-size:14px;color:var(--burgundy)}.occasion-links a{border-bottom:1px solid var(--gold)}.event-intro{padding-top:35px;padding-bottom:65px}#festivals figure{max-width:460px;justify-self:center}header nav{flex-wrap:wrap;justify-content:center;column-gap:24px;row-gap:12px}@media(max-width:1050px){header{justify-content:center}}

/* Separate artist story page: preserve each photograph's full composition. */
.about-intro{position:relative;text-align:center;padding:85px 7% 95px;overflow:hidden;background:linear-gradient(180deg,#faf6edf2,#faf6edea),url('assets/silk.png') center 65%/cover}
.about-intro h1{font-size:clamp(44px,6vw,82px);letter-spacing:-1px}.about-intro>p:last-child{max-width:590px;margin:25px auto 0}.about-shell{max-width:1250px;margin:auto;padding:70px 6%}.our-story{display:grid;grid-template-columns:.8fr 1fr;gap:8%;align-items:center}.about-page figure{margin:0}.about-page figure img{width:100%;height:auto;object-fit:contain}.about-page figcaption{font-size:10px;color:#786450;margin-top:9px}.bio-copy p{color:#6b5c54;font-size:15px}.bio-copy h2{font-size:48px}.bio-copy h3{font-size:38px;margin-bottom:25px}.bio-copy .bio-pullquote{font:italic 29px/1.3 'Cormorant Garamond',Georgia,serif;color:var(--burgundy);border-left:1px solid var(--gold);padding-left:24px;margin-top:30px}.artist-section{border-top:1px solid var(--line)}.artist-heading{margin-bottom:40px}.artist-heading .eyebrow{margin-bottom:15px}.artist-heading>p:last-child{font-size:13px;color:var(--gold)}.artist-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:start}.artist-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.artist-photos figure:nth-child(2){margin-top:80px}.shared-world{text-align:center;padding-top:60px;padding-bottom:85px}.shared-world figure{max-width:850px;margin:35px auto}.shared-world>p:not(.eyebrow){max-width:560px;margin:25px auto}.about-page [aria-current=page]{border-bottom:1px solid var(--gold)}
@media(max-width:800px){.our-story,.artist-layout{grid-template-columns:1fr;gap:35px}.story-photo{max-width:420px;margin:auto}.about-shell{padding:50px 7%}.artist-photos{max-width:600px}.artist-photos figure:nth-child(2){margin-top:35px}.about-intro{padding:55px 7%}.bio-copy h2{font-size:40px}.artist-heading{margin-bottom:25px}}

/* Antique-gold picture moulding; photographs remain uncropped. */
.gilded-frame{position:relative;padding:15px;background:linear-gradient(135deg,#6c471d 0%,#cfaa60 12%,#f2dca1 24%,#a37332 39%,#d9b96f 55%,#775022 73%,#e4c988 89%,#8e602c 100%);border:1px solid #79501f;box-shadow:0 12px 24px #35232324,0 2px 4px #35232338,inset 0 0 0 2px #e9cf8b,inset 0 0 0 4px #896127,inset 0 0 0 6px #d9b877,inset 0 0 0 8px #f3dfa2,inset 0 0 0 10px #92652e}
.about-page .gilded-frame>img{position:relative;box-shadow:0 0 0 1px #452d19,0 0 0 3px #e4c888,0 0 0 4px #714b23}
.frame-corner{position:absolute;width:39px;height:39px;pointer-events:none;filter:drop-shadow(1px 1px 0 #62401d)}.frame-corner svg{display:block;width:100%;height:100%;fill:none;stroke:#f4dda0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.frame-corner.tl{top:1px;left:1px}.frame-corner.tr{top:1px;right:1px;transform:rotate(90deg)}.frame-corner.br{bottom:1px;right:1px;transform:rotate(180deg)}.frame-corner.bl{bottom:1px;left:1px;transform:rotate(270deg)}
.about-page figcaption{margin-top:16px;line-height:1.5}.artist-photos{gap:24px}.shared-world .gilded-frame{padding:19px}
@media(max-width:500px){.artist-photos{grid-template-columns:1fr;gap:28px;max-width:290px;margin:auto}.artist-photos figure:nth-child(2){margin-top:0}.gilded-frame{padding:14px}.shared-world .gilded-frame{padding:14px}}
/* Sculpted Baroque gold frame, with independently sized corners. */
.about-page .gilded-frame{padding:0;border:32px solid transparent;border-image:url('assets/baroque-gold-frame.png') 18% / 1 / 0 stretch;background:none;box-shadow:none;filter:drop-shadow(0 5px 5px #35232330)}
.about-page .gilded-frame>img{box-shadow:none}
.about-page .frame-corner{display:none}
.about-page .shared-world .gilded-frame{padding:0;border-width:46px}
@media(max-width:500px){.about-page .gilded-frame,.about-page .shared-world .gilded-frame{border-width:30px}}
@media(min-width:801px) and (max-width:1100px){.artist-layout{grid-template-columns:1fr}.artist-photos{max-width:650px;margin:0 auto 40px;width:100%}.artist-layout .bio-copy{max-width:650px;margin:auto}}

.collaboration-story{border-top:1px solid var(--line)}.collaboration-heading{max-width:800px;margin-bottom:42px}.collaboration-columns{display:grid;grid-template-columns:1fr 1fr;gap:7%}.collaboration-story h3{font-size:32px;line-height:1.15}.collaboration-story p:not(.eyebrow){font-size:15px;color:#6b5c54}.team-practice{max-width:760px;margin:45px auto 0;padding:35px 0 0;border-top:1px solid var(--line);text-align:center}.team-practice h3{font-size:40px}.team-practice .eyebrow{margin-bottom:20px}@media(max-width:650px){.collaboration-columns{grid-template-columns:1fr;gap:20px}.collaboration-heading{margin-bottom:30px}.team-practice{text-align:left}.team-practice h3{font-size:34px}}
/* Slightly tighter composition for John's fire portrait. */
.about-page .gilded-frame:has(img[src="assets/john-fire-v2.jpg"]){overflow:hidden}
.about-page img[src="assets/john-fire-v2.jpg"]{transform:scale(1.10);transform-origin:50% 50%;clip-path:inset(4.55%)}
/* Give each artist portrait the same column width as the opening joint portrait. */
.about-page .artist-layout{display:grid;grid-template-columns:.8fr 1fr;gap:8%;align-items:start}
.about-page .artist-photos{display:grid;grid-template-columns:1fr;gap:32px;max-width:none;width:100%;margin:0}
.about-page .artist-photos figure:nth-child(2){margin-top:0}
.about-page .artist-layout .bio-copy{max-width:none;margin:0}
.about-page .collaboration-heading{max-width:none;width:100%}
.about-page .collaboration-heading h2{font-size:clamp(28px,3.35vw,42px);letter-spacing:-.7px;white-space:nowrap}
@media(max-width:800px){.about-page .artist-layout{grid-template-columns:1fr;gap:35px}.about-page .artist-photos{max-width:420px;margin:auto}.about-page .collaboration-heading h2{white-space:normal;font-size:clamp(34px,5vw,42px)}}
/* Centered artist galleries above readable biographies. */
.about-page .artist-heading{text-align:center}
.about-page .artist-layout{display:block}
.about-page .artist-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:34px;max-width:700px;width:100%;margin:0 auto 45px}
.about-page .artist-photos figure:nth-child(2){margin-top:0}
.about-page .artist-layout .bio-copy{max-width:700px;margin:0 auto}
.about-page .artist-layout .bio-copy h3{text-align:center;margin-bottom:28px}
@media(max-width:600px){.about-page .artist-photos{grid-template-columns:1fr;max-width:340px;gap:28px;margin-bottom:35px}.about-page .artist-layout .bio-copy h3{text-align:left}}

/* Let section headings wrap naturally; retain the approved two-line hero. */
.home-page h2{ text-wrap:balance; line-height:1.12; }
.home-page h2 em{display:inline}

.home-page .offering-nav{flex-wrap:wrap;justify-content:center;gap:16px 28px}.home-page #offerings{max-width:1000px}.home-page #offerings h2{font-size:clamp(34px,4.2vw,60px)}
