:root{--paper:#fff8ed;--ink:#153f50;--sage:#cce7e8;--clay:#ad4935;--sand:#f1d995;--line:#a6c7ce;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{max-width:100%;display:block}figure,p,h1,h2,h3,h4{margin:0}p+p{margin-top:22px}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.03;letter-spacing:-.045em}em{font-style:normal;color:var(--clay)}h1{font-size:clamp(48px,5.6vw,82px)}h2{font-size:clamp(45px,5.8vw,88px)}h3{font-size:clamp(34px,4vw,56px)}h4{font-size:30px}.wrap{width:min(1280px,88%);margin-inline:auto}.kicker{font-size:11px;font-weight:600;letter-spacing:.15em;line-height:1.6}.skip{position:fixed;top:-90px;left:20px;z-index:99;background:var(--ink);color:white;padding:15px}.skip:focus{top:10px}header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:15px 6%;background:#fff8eded;backdrop-filter:blur(16px);border-bottom:1px solid #a6c7ce50;gap:25px}.brand{display:flex;align-items:center;gap:12px;font:24px/1.2 var(--serif);letter-spacing:-.035em}.brand img{width:52px;height:52px;object-fit:cover;border-radius:50%}.brand small{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:.13em;margin-top:5px}header nav{display:flex;align-items:center;gap:24px;font-size:12px}.nav-cta{border:1px solid var(--ink);border-radius:30px;padding:9px 18px}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center;padding-block:65px 115px}.hero h1{margin-top:26px}.hero h1>span{display:block;font-size:.58em;color:var(--clay);margin-top:18px}.hero-description{font-size:18px;line-height:1.6;max-width:470px;margin-top:28px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);color:var(--paper);font-size:14px;padding:15px 23px;border-radius:30px;transition:background .25s,transform .25s}.button:hover{background:#216780;transform:translateY(-2px)}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:4px;display:inline-block}.text-link span{margin-left:15px}.registration{font-size:11px;margin-top:30px;max-width:350px}.hero-portrait{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:190px 190px 28px 28px;background:var(--sage)}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}.hero-portrait figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#26352ec4);padding:90px 28px 25px;color:white;font:23px/1.35 var(--serif)}.scroll-note{position:absolute;bottom:35px;font-size:9px;letter-spacing:.18em;display:flex;gap:35px}.scroll-note span{font-size:22px;line-height:1}.statement{padding-block:120px 150px;max-width:1000px}.statement h2{font-size:clamp(48px,7.8vw,115px);margin-top:30px}.statement-copy{max-width:480px;margin:45px 0 0 auto}.about{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;padding-block:70px 160px}.about-photo{border-radius:120px 18px 18px 18px;overflow:hidden}.about-photo img{width:100%;aspect-ratio:4/5.2;object-fit:cover;object-position:center 48%}.about-copy h2{margin:25px 0 32px;font-size:clamp(40px,4.7vw,66px)}.about-copy p:not(.kicker){font-size:16px}.values{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.values span{font-size:11px;border:1px solid var(--line);padding:7px 12px;border-radius:30px}.areas{background:var(--sage);border-radius:55px 55px 0 0;padding-top:95px}.section-intro h2{margin:23px 0 30px}.section-intro>p:not(.kicker){max-width:510px}.explore-hint{font-size:11px;letter-spacing:.04em;margin-top:25px}.area-scroll{padding-block:60px 100px}.area-stage{display:grid;grid-template-columns:.75fr 1.3fr;gap:9%;align-items:start}.area-aside{position:sticky;top:135px}.chapter-art{height:190px;position:relative;overflow:hidden;margin-block:28px}.chapter-art span{position:absolute;width:240px;height:120px;border:1px solid #24718799;border-radius:50%;top:40px;left:10%;transform:rotate(-25deg)}.chapter-art span:nth-child(2){transform:rotate(25deg);border-color:var(--clay)}.chapter-art span:nth-child(3){transform:rotate(80deg)}.chapter-controls{display:grid;gap:6px}.chapter-controls button{display:flex;gap:18px;background:transparent;border:0;border-bottom:1px solid #91bcc8;padding:12px 0;text-align:left;font-size:15px;cursor:pointer}.chapter-controls button span{font-size:10px;align-self:center}.chapter-controls button.active{color:#a23f2d}.chapter-progress{height:2px;background:#91bcc8;margin-top:30px}.chapter-progress>span{display:block;height:100%;background:var(--clay);width:0}.chapters{display:grid;gap:60px}.area-chapter{padding:25px 0}.chapter-top{display:flex;gap:25px;align-items:start;margin-bottom:32px}.chapter-number{font:60px/1 var(--serif);color:#21678066}.chapter-top h3{margin-top:14px}.area-cards{display:grid;gap:16px}.area-card{border:1px solid #91bcc899;border-radius:22px;background:#fff8edaa;padding:24px 27px}.area-card summary{display:grid;grid-template-columns:22px 1fr 20px;gap:15px;align-items:center;cursor:pointer;list-style:none}.area-card summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.area-number{font-size:10px}.expand{font:26px/1 Arial}.area-card p{font-size:16px;margin:25px 0 4px 37px}.area-card[open] .expand{transform:rotate(45deg)}.approach{padding-block:140px}.approach h2{margin:26px 0 50px}.approach-bottom{display:grid;grid-template-columns:1fr 1fr;gap:15%}.approach-bottom>p{max-width:500px}.approach-terms{display:grid;gap:16px}.approach-terms>span{font:36px/1.3 var(--serif);border-bottom:1px solid var(--line);padding-bottom:15px}.landscape{position:relative;height:650px;overflow:hidden}.landscape>img{width:100%;height:100%;object-fit:cover}.landscape:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#153f5088)}.landscape-caption{position:absolute;z-index:2;bottom:65px;left:6%;color:white;font:clamp(35px,5.5vw,72px)/1.06 var(--serif);letter-spacing:-.04em}.process{padding-block:140px 110px}.process-heading{margin-bottom:65px}.process-heading h2{margin-top:25px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{border-top:1px solid var(--line);padding-top:30px}.step-num{font:65px/1 var(--serif);color:var(--clay)}.steps h3{font-size:31px;margin:25px 0 20px}.steps p{font-size:16px}.studio{padding-block:70px 140px;display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}.studio-images{position:relative;padding:0 60px 80px 0}.studio-main{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px}.studio-detail{position:absolute;width:44%;bottom:0;right:0;aspect-ratio:3/4;object-fit:cover;border:8px solid var(--paper);border-radius:20px}.studio-copy h2{margin:25px 0 30px;font-size:clamp(42px,5vw,70px)}.studio-copy p{font-size:16px}.studio-copy .studio-address{font:26px/1.4 var(--serif);margin:30px 0}.information{padding-block:80px 130px}.information h2{margin:26px 0 50px}.practical{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.practical-card{border-radius:24px;background:var(--sand);padding:30px}.practical-card:nth-child(2){background:var(--sage)}.practical-card:nth-child(3){background:#f6c5aa}.big-number{font:68px/1 var(--serif);letter-spacing:-.06em;margin-top:35px}.big-number>span{display:block;font:14px/1.4 Arial;letter-spacing:0;margin-top:12px}.practical-note{max-width:650px;margin:30px 0 55px;font-size:15px}.faq{max-width:950px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:25px;cursor:pointer;list-style:none;padding:24px 0;font-size:18px}.faq summary span{font-size:25px}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{padding:0 40px 28px 0;font-size:16px}.contact{background:#f6c5aa;border-radius:55px 55px 0 0;padding-block:110px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact h2{font-size:clamp(43px,5vw,70px);margin:25px 0 30px}.contact h2 em{color:#983b2b}.contact p{max-width:460px;font-size:16px}.contact .button{margin-top:30px}.contact-links a{display:block;border-bottom:1px solid #b2664e77;padding:20px 0;font-size:19px;overflow-wrap:anywhere}.contact-links a>span{display:block;font-size:10px;letter-spacing:.16em;margin-bottom:8px}.contact-links a>b{font-weight:400;float:right}.contact-links>p{margin-top:30px}footer{padding-block:45px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px}footer p,footer>a{font-size:11px}footer nav{display:flex;flex-direction:column;gap:8px;font-size:13px}footer nav a{text-decoration:underline;text-underline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ad4935;outline-offset:5px}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform 1.05s cubic-bezier(.2,.7,.2,1),clip-path 1.1s;transition-delay:var(--delay,0ms)}.motion .reveal[data-effect=slide]{transform:translateX(40px)}.motion .reveal[data-effect=mask]{clip-path:inset(12% 0 0);transform:translateY(25px)}.motion .reveal[data-effect=portrait]{transform:translateY(45px) scale(.96)}.motion .reveal.visible{opacity:1;transform:none;clip-path:inset(0)}.motion .word-reveal .word{color:#153f5040;transition:color .25s}.motion .word-reveal .word.lit{color:var(--ink)}.motion .word-reveal em .word.lit{color:var(--clay)}
@media(min-width:901px) and (min-height:700px){.scroll-enhanced .area-scroll{height:450vh;padding:0;position:relative;margin-top:60px}.scroll-enhanced .area-stage{position:sticky;top:100px;height:calc(100vh - 115px);min-height:530px;align-items:center}.scroll-enhanced .area-aside{position:static}.scroll-enhanced .chapters{display:block;position:relative;height:500px}.scroll-enhanced .area-chapter{position:absolute;inset:0;visibility:hidden;opacity:0;transform:translateY(45px);transition:opacity .55s,transform .65s,visibility .55s}.scroll-enhanced .area-chapter.current{visibility:visible;opacity:1;transform:none}.scroll-enhanced .chapter-art{transform:rotate(calc(var(--story-progress,0) * 100deg));transition:transform .1s linear}}
@media(max-width:1100px){header nav{gap:13px;font-size:11px}.brand{font-size:21px}.hero{gap:5%}.hero-actions{gap:17px}.practical-card{padding:25px}.big-number{font-size:58px}}
@media(max-width:900px){.wrap{width:88%}header{padding:13px 6%}.menu-toggle{display:block;background:none;border:1px solid var(--line);border-radius:25px;padding:8px 13px;font-size:12px}.menu-toggle span{margin-left:10px}header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:25px 6%;flex-direction:column;align-items:stretch;font-size:15px;gap:20px}header nav.open{display:flex}.hero{padding-block:55px 90px}.hero-description{font-size:16px}.hero h1{font-size:54px}.area-stage{grid-template-columns:1fr}.area-aside{position:static}.area-aside>.kicker,.chapter-art,.chapter-progress{display:none}.chapter-controls{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:40px}.chapter-controls button{border:1px solid #91bcc8;border-radius:20px;padding:10px 14px;font-size:12px}.chapters{gap:35px}.area-chapter{scroll-margin-top:110px}.about{gap:6%}.about-copy h2{font-size:42px}.statement{padding-block:100px}.steps{gap:24px}.contact-grid{gap:7%}}
@media(max-width:650px){body{font-size:16px}html{scroll-padding-top:95px}.brand{font-size:20px}.brand img{width:40px;height:40px}.brand small{font-size:8px}.hero{grid-template-columns:1fr;gap:40px;padding-top:40px}.hero h1{font-size:55px;margin-top:18px}.hero-description{max-width:360px}.hero-portrait{width:100%;max-width:450px;margin:auto;aspect-ratio:4/4.7;border-radius:140px 140px 25px 25px}.hero-portrait figcaption{font-size:22px}.registration{font-size:10px}.statement h2{font-size:51px}.statement-copy{margin-top:30px;font-size:16px}.statement{padding-block:70px 85px}.about{grid-template-columns:1fr;padding-block:35px 90px;gap:40px}.about-photo{max-width:420px;border-radius:90px 15px 15px 15px}.about-copy h2{font-size:47px}.about-copy p:not(.kicker){font-size:16px}.areas{padding-top:65px;border-radius:35px 35px 0 0}.section-intro h2{font-size:49px}.area-scroll{padding-block:35px 65px}.chapter-top{gap:15px}.chapter-top h3{font-size:38px}.chapter-number{font-size:48px}.area-card{padding:22px 18px}.area-card summary{gap:10px;grid-template-columns:18px 1fr 20px}.area-card h4{font-size:28px}.area-card p{margin-left:28px;font-size:15px}.approach{padding-block:80px}.approach h2{font-size:56px}.approach-bottom{grid-template-columns:1fr;gap:35px}.approach-terms>span{font-size:30px}.landscape{height:460px}.landscape-caption{bottom:40px;font-size:41px}.process{padding-block:80px 55px}.process-heading{margin-bottom:35px}.steps{grid-template-columns:1fr;gap:35px}.steps h3{margin-top:18px}.step-num{font-size:49px}.studio{grid-template-columns:1fr;gap:40px;padding-block:30px 80px}.studio-images{max-width:420px;padding-right:45px;padding-bottom:50px}.studio-copy h2{font-size:48px}.information{padding-block:30px 80px}.information h2{font-size:49px;margin-bottom:35px}.practical{grid-template-columns:1fr;gap:12px}.practical-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px}.practical-card .kicker{max-width:140px}.big-number{font-size:48px;margin:0;white-space:nowrap}.big-number>span{font-size:12px;margin-top:7px}.faq summary{font-size:16px}.faq details p{font-size:15px}.contact{padding-block:70px;border-radius:35px 35px 0 0}.contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:47px}.contact-links a{font-size:17px}footer{align-items:flex-start;flex-direction:column;gap:24px}footer nav{flex-direction:row;flex-wrap:wrap;gap:22px}.motion .reveal[data-effect=slide]{transform:translateY(25px)}.motion .reveal.visible{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none;clip-path:none}.motion .word-reveal .word{color:var(--ink)}.motion .word-reveal em .word{color:var(--clay)}}
.legal-content{max-width:850px;padding-block:70px 100px}.legal-content h1{font-size:52px;margin:20px 0 35px}.legal-content h2{font-size:30px;letter-spacing:-.025em;margin:35px 0 15px}.legal-content p,.legal-content li{font-size:16px}.legal-content a{text-decoration:underline;overflow-wrap:anywhere}.legal-content table{font-size:13px;border-collapse:collapse;width:100%}.legal-content td,.legal-content th{padding:12px;border:1px solid var(--line);text-align:left}.cookie-table{overflow-x:auto}.legal-content caption{text-align:left;margin-bottom:12px}

/* Full portrait framing and clear interactive feedback. */
.hero h1{line-height:1.14;padding:.08em .04em .12em 0;overflow:visible}
.hero h1>span{line-height:1.3;padding-bottom:.08em}
.hero h1.reveal,.hero h1.reveal.visible{clip-path:none}
.hero-portrait{aspect-ratio:auto;border-radius:100px 100px 24px 24px}
.hero-portrait img{width:100%;height:auto;object-fit:contain;object-position:center}
.about-photo{border-radius:60px 20px 20px 20px}
.about-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.studio-main,.studio-detail{height:auto;aspect-ratio:auto;object-fit:contain}
.practical-card:nth-child(3){background:#f6c5aa}
.chapter-art span{border-width:2px}
a,button,summary{-webkit-tap-highlight-color:#21678033}
.button,.nav-cta,.menu-toggle{transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.button:hover,.button:focus-visible{background:#216780;box-shadow:0 8px 22px #153f5026}
.button:active,.nav-cta:active,.menu-toggle:active{transform:scale(.97)}
.nav-cta:hover,.nav-cta:focus-visible,.menu-toggle:hover{background:var(--ink);color:var(--paper)}
header nav>a:not(.nav-cta){position:relative;padding-block:6px}
header nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--clay);transform:scaleX(0);transform-origin:left;transition:transform .25s}
header nav>a:hover:after,header nav>a:focus-visible:after,header nav>a[aria-current]:after{transform:scaleX(1)}
.text-link{transition:color .25s,border-color .25s}
.text-link:hover,.text-link:focus-visible,footer nav a:hover,footer>a:last-child:hover{color:var(--clay)}
.text-link span,.button span,.contact-links b,.scroll-note span{display:inline-block;transition:transform .25s}
.text-link:hover span,.button:hover span,.contact-links a:hover b{transform:translate(3px,-3px)}
.scroll-note:hover span{transform:translateY(5px)}
.chapter-controls button{transition:background .25s,color .25s,padding .25s,border-color .25s;border-radius:10px}
.chapter-controls button:hover,.chapter-controls button:focus-visible{background:#ffffff80;padding-left:12px;color:var(--clay)}
.chapter-controls button.active{background:#fff8ed;color:var(--clay);padding-left:12px;border-color:var(--clay)}
.chapter-controls button:active{background:#f6c5aa}
.area-card{transition:background .25s,border-color .25s,box-shadow .25s}
.area-card:hover,.area-card:focus-within{background:#fff8ed;border-color:#216780;box-shadow:0 5px 16px #153f5010}
.area-card[open]{background:#fff8ed;border-color:var(--clay)}
.expand,.faq summary span{transition:transform .25s;color:var(--clay)}
.faq summary{transition:color .25s,background .25s,padding .25s;border-radius:10px}
.faq summary:hover,.faq summary:focus-visible{color:var(--clay);background:#cce7e84d;padding-left:12px;padding-right:12px}
.faq details[open] summary{color:var(--clay)}
.contact-links a{transition:color .25s,padding .25s,background .25s}
.contact-links a:hover,.contact-links a:focus-visible{color:#983b2b;padding-left:12px;background:#fff8ed55}
.brand{transition:opacity .25s}.brand:hover{opacity:.75}
@media(max-width:650px){.hero-portrait{aspect-ratio:auto;border-radius:80px 80px 24px 24px}.hero-portrait figcaption{padding:65px 24px 24px}.about-photo{border-radius:45px 18px 18px 18px}}

.values{display:grid;grid-template-columns:1fr;gap:10px}
.insight{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff8ed;transition:background .25s,border-color .25s,box-shadow .25s}
.insight summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;font-size:17px;line-height:1.4;transition:color .25s,background .25s}
.insight summary::-webkit-details-marker{display:none}
.insight:hover,.insight:focus-within{border-color:#216780;box-shadow:0 5px 18px #153f5014}
.insight summary:hover{background:#cce7e844}
.insight[open]{background:#eef7f6;border-color:#216780}
.insight[open] summary{color:#ad4935}
.insight .insight-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);padding:0;font:24px/1 Arial,sans-serif;color:var(--clay);transition:transform .35s,background .25s,border-color .25s}
.insight[open] .insight-icon{transform:rotate(45deg);background:#fff8ed;border-color:var(--clay)}
.insight-body{padding:0 20px 20px}
.insight-body p,.about-copy .insight-body p:not(.kicker){font:15px/1.7 Arial,Helvetica,sans-serif;margin:0}
.approach-terms{gap:14px;align-content:start}
.approach-terms .insight summary{font:clamp(25px,2.5vw,36px)/1.25 var(--serif);letter-spacing:-.035em;padding:20px}
.approach-terms .insight-body p{font-size:16px}
@media(max-width:650px){.approach-terms .insight summary{font-size:28px}.insight summary{padding:16px}.insight-body{padding:0 16px 18px}}

/* Portrait and detail, followed by an open gallery. */
.studio-images .photo-open{display:block;position:relative}
.studio-images .studio-main{width:100%;border-radius:24px;overflow:hidden}
.studio-images .studio-detail{position:absolute;width:38%;bottom:0;right:0;border:8px solid var(--paper);border-radius:20px;overflow:hidden}
.studio-images .photo-open img{width:100%;height:auto;object-fit:contain}
.photo-open{display:block;position:relative;overflow:hidden;border-radius:18px;cursor:zoom-in;background:var(--sage)}
.photo-open img{width:100%;height:auto;transition:filter .3s}
.photo-open:hover img{filter:brightness(.92)}
.photo-zoom{position:absolute;right:14px;bottom:14px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff8edf0;color:var(--ink);font-size:20px;transition:transform .25s,background .25s}
.photo-open:hover .photo-zoom{transform:translate(2px,-2px);background:white}
.studio-gallery{padding-block:0 100px}
.gallery-heading{max-width:700px;margin-bottom:45px}
.gallery-heading h2{font-size:clamp(42px,4.5vw,66px);margin:22px 0}
.gallery-heading>p:not(.kicker){font-size:16px}
.gallery-heading .gallery-hint{font-size:12px;margin-top:14px;color:#396272}
.gallery-grid{columns:3;column-gap:24px}
.gallery-card{break-inside:avoid;margin-bottom:28px;display:inline-block;width:100%}
.gallery-card figcaption{font-size:12px;padding:12px 2px 0;line-height:1.5}
.photo-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px 4%;border:0;color:#fff8ed;background:#102a35f7;overflow:auto}
.photo-dialog::backdrop{background:#102a35dd;backdrop-filter:blur(8px)}
.photo-dialog[open]{display:flex;flex-direction:column;animation:photo-dialog-in .25s ease-out}
.photo-modal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0}
.photo-count{font-size:13px;letter-spacing:.08em}
.photo-dialog button{cursor:pointer;border:1px solid #ffffff66;background:transparent;color:inherit;border-radius:30px;transition:background .2s,transform .2s}
.photo-dialog button:hover{background:#ffffff22}.photo-dialog button:active{transform:scale(.95)}
.photo-close{padding:10px 18px;font-size:14px}
.photo-view{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:22px;align-items:center;flex:1;min-height:0;padding-block:20px}
.photo-view figure{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;height:100%;gap:16px}
.photo-full{width:100%;height:calc(100% - 45px);min-height:0;object-fit:contain}
.photo-caption{text-align:center;font-size:14px;line-height:1.5}
.photo-prev,.photo-next{width:48px;height:48px;font:36px/1 Arial}
body.photo-is-open{overflow:hidden}
@keyframes photo-dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){.gallery-grid{columns:2}}
@media(max-width:650px){.studio-gallery{padding-bottom:65px}.gallery-grid{column-gap:14px}.gallery-card{margin-bottom:20px}.gallery-heading{margin-bottom:30px}.photo-dialog{padding:16px}.photo-view{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px}.photo-prev,.photo-next{width:32px;height:40px;font-size:29px}.photo-caption{font-size:12px}.gallery-card figcaption{font-size:11px}.photo-zoom{width:28px;height:28px;right:9px;bottom:9px}.studio-images .studio-detail{width:38%}}

.studio-images{padding:0;max-width:500px}
.studio-images .studio-main{width:100%}
.photo-open{cursor:pointer}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gallery-display{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:22px;align-items:center}
.gallery-main{height:620px;background:#e8f0ef;border-radius:24px;display:flex;align-items:center;justify-content:center}
.gallery-main img{height:100%;width:100%;object-fit:contain}
.gallery-main:hover img{filter:none}
.gallery-prev,.gallery-next{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;font:34px/1 Arial;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.gallery-prev:hover,.gallery-next:hover{background:var(--ink);color:var(--paper)}
.gallery-prev:active,.gallery-next:active{transform:scale(.94)}
.gallery-thumbnails{display:flex;gap:12px;overflow-x:auto;padding:16px 4px 6px;max-width:calc(100% - 140px);margin:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.gallery-thumb{flex:0 0 88px;width:88px;height:74px;padding:3px;background:transparent;border:2px solid transparent;border-radius:12px;cursor:pointer;opacity:.62;transition:opacity .25s,border-color .25s,transform .25s}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:7px}
.gallery-thumb:hover{opacity:1;transform:translateY(-2px)}
.gallery-thumb[aria-pressed=true]{opacity:1;border-color:var(--clay)}
.photo-full{height:100%}
@media(max-width:900px){.gallery-main{height:510px}}
@media(max-width:650px){.gallery-display{grid-template-columns:30px minmax(0,1fr) 30px;gap:7px}.gallery-main{height:410px;border-radius:16px}.gallery-prev,.gallery-next{width:30px;height:38px;font-size:28px}.gallery-thumbnails{max-width:calc(100% - 74px);gap:8px;padding-top:12px}.gallery-thumb{flex-basis:62px;width:62px;height:58px}.studio-images{padding:0}}

/* Full panorama and clear contact choices */
.hero-portrait{overflow:visible;aspect-ratio:auto;background:transparent;border-radius:0}
.hero-portrait img{height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:190px 190px 28px 28px}
.hero-portrait figcaption{position:static;background:transparent;color:var(--ink);padding:24px 9px 0;font:23px/1.4 var(--serif);max-width:480px}
.landscape{height:auto;overflow:hidden}
.landscape>img{width:100%;height:auto;object-fit:contain;transform:none!important}
.landscape:after{display:none}
.landscape-caption{position:static;background:var(--sage);color:var(--ink);padding:45px 6%;font-size:clamp(30px,4vw,54px);text-align:center}
.contact .button{max-width:100%}
.contact-more{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;border-top:1px solid #99725e66;margin-top:65px;padding-top:55px}
.contact-more h3{font-size:35px;line-height:1.15;margin:18px 0 22px}
.contact-more p:not(.kicker){font-size:16px;max-width:490px}
.button-outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.button-outline:hover{color:var(--paper)}
.contact-location h3>span{font:18px/1.7 Arial,sans-serif;letter-spacing:0}
.contact-map{margin-top:45px;border-radius:24px;overflow:hidden;min-height:340px;background:var(--paper)}
.map-placeholder{min-height:340px;display:flex;justify-content:center;align-items:center;gap:35px;padding:40px 6%}
.map-pin{font:70px/1 var(--serif);color:var(--clay)}
.map-placeholder h3{font-size:34px;margin-bottom:16px}
.map-placeholder p{font-size:14px;max-width:560px}
.map-placeholder p a{text-decoration:underline}
.map-load{cursor:pointer;margin-top:22px!important}
.contact-map iframe{display:block;width:100%;height:450px;border:0;background:var(--paper)}
@media(max-width:650px){.hero-portrait img{aspect-ratio:4/4.7;border-radius:140px 140px 25px 25px}.hero-portrait figcaption{font-size:22px;padding-top:20px}.hero-actions .button{max-width:100%;font-size:13px;gap:14px}.landscape-caption{padding:30px 6%;font-size:30px}.contact-more{grid-template-columns:1fr;gap:35px;margin-top:40px;padding-top:35px}.contact-more h3{font-size:30px}.contact .button{font-size:13px;gap:13px}.contact-map{margin-top:30px;min-height:330px}.map-placeholder{min-height:330px;padding:28px;gap:15px}.map-pin{display:none}.map-placeholder h3{font-size:28px}.contact-map iframe{height:350px}}

/* Captions integrated into full, uncropped photographs */
.hero-portrait{position:relative;width:min(100%,420px);margin-left:auto;overflow:hidden;border-radius:150px 150px 24px 24px;aspect-ratio:auto}
.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0}
.hero-portrait figcaption{position:absolute;left:0;right:0;bottom:0;max-width:none;padding:65px 25px 25px;background:linear-gradient(transparent,#253b36e8);color:var(--paper);font:25px/1.35 var(--serif)}

.landscape{position:relative;height:auto;overflow:hidden}
.landscape-caption{position:absolute;left:auto;right:6%;bottom:30px;z-index:2;width:min(620px,88%);padding:20px 28px;background:#f4f0e8ed;color:var(--ink);border-radius:18px;text-align:left;font-size:34px;line-height:1.2;letter-spacing:-.035em}

@media(max-width:650px){.hero-portrait{width:100%;max-width:420px;margin:auto;border-radius:120px 120px 20px 20px}.hero-portrait img{height:auto;aspect-ratio:auto;border-radius:0}.hero-portrait figcaption{padding:60px 22px 22px;font-size:24px}.landscape-caption{right:6%;bottom:10px;width:88%;padding:10px 15px;border-radius:12px;font-size:23px}}

/* Captions follow the site's progressive blue and terracotta typography */
.hero-portrait{overflow:visible;aspect-ratio:auto;border-radius:0;background:transparent}
.hero-portrait img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:100px 100px 24px 24px}
.hero-portrait figcaption{position:static;left:auto;right:auto;bottom:auto;width:100%;max-width:none;padding:28px 0 0;background:transparent;color:var(--ink);font:30px/1.25 var(--serif);letter-spacing:-.035em}
.hero-portrait figcaption em{display:inline-block;margin-top:5px;color:var(--clay)}
.landscape{height:auto;overflow:visible;background:transparent;padding-bottom:45px}
.landscape>img{display:block;width:100%;height:auto;object-fit:contain;transform:none!important}
.landscape-caption{position:static;left:auto;right:auto;bottom:auto;z-index:auto;width:min(1280px,88%);margin:40px auto 0;padding:0;background:transparent;border-radius:0;text-align:left;color:var(--ink);font:clamp(33px,4.5vw,63px)/1.12 var(--serif);letter-spacing:-.04em}
.landscape-caption em{display:inline-block;color:var(--clay);margin-top:10px}
.about-photo img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
@media(max-width:650px){.hero-portrait img{border-radius:80px 80px 20px 20px}.hero-portrait figcaption{position:static;padding:24px 0 0;font-size:29px}.landscape{padding-bottom:30px}.landscape-caption{width:88%;margin-top:28px;padding:0;font-size:34px}.landscape-caption em{margin-top:7px}}

/* Keep mobile area navigation and headings within the section. */
@media(max-width:900px){
 .area-stage,.area-aside,.chapters,.area-chapter,.chapter-top>div{min-width:0}
 .chapter-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 .chapter-controls button{min-width:0;max-width:100%;gap:8px;line-height:1.4;overflow-wrap:anywhere;padding:12px 10px}
 .chapter-controls button span,.chapter-number{flex-shrink:0}
 .chapter-top h3{overflow-wrap:anywhere;font-size:clamp(29px,8vw,38px)}
 .motion .area-chapter .chapter-top,.motion .area-chapter .area-card{opacity:0;transform:translateY(24px) scale(.98);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
 .motion .area-chapter .area-card:nth-child(2){transition-delay:.1s}
 .motion .area-chapter .mobile-entered{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){.motion .area-chapter .chapter-top,.motion .area-chapter .area-card{opacity:1;transform:none}}
