@font-face{font-family:Cormorant;src:url('assets/cormorant-garamond.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/cormorant-garamond-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{--ink:#302922;--paper:#f5f1e9;--canvas:#eae3d7;--mat:#faf7f0;--wine:#762b39;--muted:#75695d;--line:#c9bca9;--serif:Cormorant,Georgia,serif;--sans:Arial,Helvetica,sans-serif;--pad:clamp(24px,6vw,100px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:116px}
body{margin:0;font:14px/1.8 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
body.menu-open,body.viewer-open{overflow:hidden}
::selection{color:var(--paper);background:var(--wine)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;height:auto}
figure,h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}
em{font-weight:400}
h2{font-size:clamp(43px,4.7vw,72px);letter-spacing:-.04em}
p+p{margin-top:18px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:6px}
.skip-link{position:fixed;top:12px;left:20px;z-index:90;background:var(--paper);padding:12px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.15em;text-transform:uppercase}
.small-dot,.line-dot{display:inline-block;width:7px;height:7px;background:var(--wine);border-radius:50%;flex-shrink:0}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:44px;width:fit-content;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:9px 0;font-size:11px;letter-spacing:.03em}
.text-link span{font-size:22px;transition:transform .25s}
.text-link:hover span{transform:translate(3px,-3px)}
.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);height:116px;border-bottom:1px solid #ad9d872b;background:var(--canvas)}
.brand{width:102px;display:block}
.site-nav{display:flex;align-items:center;gap:36px;font-size:11px}
.site-nav>a{padding:10px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.site-nav>a:hover{border-bottom-color:var(--wine)}
.site-nav .nav-contact{border:1px solid #8e716b;padding:10px 18px;margin-left:25px;display:flex;align-items:center;gap:24px;color:var(--wine)}
.nav-contact span{font-size:19px}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:46% 54%;padding:40px var(--pad) 62px;min-height:715px;background:var(--canvas);position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23988b78' filter='url(%23n)' opacity='.25' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.hero-copy{position:relative;z-index:3;padding-top:35px;display:flex;flex-direction:column;align-items:flex-start}
.hero-copy>.eyebrow{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.11em;color:#645548}
.hero h1{font-size:clamp(72px,8.6vw,134px);line-height:.91;letter-spacing:-.055em;margin:45px -30px 0 0;position:relative;z-index:4}
.hero h1 em{color:var(--wine)}
.hero-description{font-size:13px;line-height:1.9;color:#6a5d50;margin:30px 0 20px}
.hero .text-link{gap:58px;color:var(--wine);border-bottom-color:#9c7376}
.hero-footnote{margin-top:auto;display:flex;align-items:end;justify-content:space-between;width:85%;gap:20px;padding-top:40px;font-size:9px;line-height:1.6;letter-spacing:.05em;color:#746552}
.hero-footnote a{display:flex;align-items:center;gap:16px;min-height:44px}
.hero-footnote a span{font-size:21px}
.hero-studio{position:relative;min-height:610px;z-index:2;padding:35px 0 0 35px}
.studio-label{position:absolute;top:1px;left:65px;right:0;display:flex;justify-content:space-between;font:italic 16px var(--serif);color:#736250}
.studio-label span{font:9px var(--sans);letter-spacing:.1em}
.hero-figure{position:relative;transform:rotate(3deg);width:92%;margin-left:auto;z-index:1}
.artwork-trigger{display:block;width:100%;text-align:left;background:none}
.print-mount{border:1px solid #c2b6a3;background:var(--mat);padding:17px 17px 0;box-shadow:0 1px 0 #fff inset,2px 2px 0 #b9ab95,4px 4px 0 #d6cbba,15px 24px 32px #57432c2d;transition:transform .45s,box-shadow .45s;position:relative}
.print-mount:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:0 1px 0 #fff inset,2px 2px 0 #b9ab95,4px 4px 0 #d6cbba,18px 34px 35px #57432c35}
.hero-image{display:block;position:relative;height:430px;overflow:hidden;border:1px solid #9b7956;box-shadow:0 0 0 3px #dfd2bf}
.hero-image img{position:absolute;bottom:0;width:100%;height:165%;object-fit:cover;object-position:center bottom}
.print-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;font-family:var(--serif);font-size:23px;font-style:italic;padding:8px 4px}
.print-view{font-family:var(--sans);font-style:normal;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.hero-figure>figcaption{font-size:9px;letter-spacing:.04em;margin:13px 4px 0;color:#75614d;text-align:right}
.signature-card{position:absolute;bottom:2px;left:9px;z-index:2;transform:rotate(-7deg);width:188px;min-height:163px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#f4eee2;padding:20px 30px 18px;border:1px solid #baac96;box-shadow:4px 7px 0 #c7bca754,8px 14px 22px #49372435}
.signature-card::before{content:'';position:absolute;inset:7px;border:1px solid #b8a58b66;pointer-events:none}
.signature-card{pointer-events:none}
.signature-card img{width:102px}
.signature-card>span{font:italic 13px var(--serif);text-align:center;line-height:1.2}
.handwritten{position:absolute;bottom:0;right:15px;color:var(--wine);font:italic 24px var(--serif);transform:rotate(-5deg)}
.chapter-line{border-top:1px solid #b4a38b7a;border-bottom:1px solid #b4a38b7a;display:flex;align-items:center;gap:27px;padding:16px var(--pad);font-size:10px;letter-spacing:.04em;background:#e2d6c3}
.chapter-line .line-dot{width:5px;height:5px}
.chapter-index{margin-left:auto;font-size:8px;letter-spacing:.13em;color:#75634e}
.section-padding{padding:90px var(--pad)}
.introduction{background:var(--paper);position:relative}
.section-label{color:var(--wine);margin-bottom:30px}
.intro-content{display:grid;grid-template-columns:1.4fr 1fr;gap:6vw;align-items:center}
.intro-content h2{font-size:clamp(43px,4.4vw,67px)}
.intro-content h2 em{color:var(--wine)}
.intro-body{font-size:13px;line-height:1.95;color:var(--muted);max-width:450px;border-left:1px solid var(--line);padding-left:35px}
.sessions{display:grid;grid-template-columns:1fr 1.4fr;gap:15px 7vw;align-items:start;padding-top:58px;padding-bottom:80px;border-top:1px solid #cdbfa9;background:#eee7db}
.section-heading{position:sticky;top:35px;padding-top:25px}
.section-heading .eyebrow{color:var(--wine);margin-bottom:28px}
.section-heading h2{font-size:clamp(48px,5vw,76px)}
.section-heading h2 em{color:var(--wine)}
.section-heading>p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:28px}
.session-list{position:relative;border-bottom:1px solid var(--line);padding-top:12px}
.session{border-top:1px solid var(--line);position:relative;padding:0 15px;transition:background .3s,box-shadow .3s}
.session[open]{background:var(--mat);box-shadow:4px 7px 12px #6b523111;z-index:1}
.session summary{display:grid;grid-template-columns:35px 1fr 20px;gap:12px;align-items:center;min-height:86px;padding:22px 0;cursor:pointer;list-style:none}
.session summary::-webkit-details-marker{display:none}
.session-number{font:italic 17px var(--serif);color:var(--wine)}
.session h3{font-size:clamp(30px,3vw,43px);letter-spacing:-.03em}
.session[open] h3{color:var(--wine)}
.session-aside{display:none}
.plus{width:15px;height:15px;position:relative}
.plus::before,.plus::after{content:'';position:absolute;top:7px;left:0;width:15px;height:1px;background:currentColor}
.plus::after{transform:rotate(90deg)}
.session[open] .plus::after{transform:rotate(0deg)}
.session-content{padding:0 14px 25px 47px}
.session-content>p{font-size:13px;line-height:1.9;color:var(--muted)}
.session-content .text-link{font-size:10px;margin-top:14px;gap:22px}
.session-note{grid-column:2;text-align:right;font:italic 22px var(--serif);color:var(--muted);margin-top:20px}
.approach{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:8vw;background:#302b25;color:var(--paper);padding:105px var(--pad);position:relative}
.approach-figure{transform:rotate(-2deg)}
.gallery-frame{position:relative;padding:5px;border:4px solid #67523e;background:#aa8b62;box-shadow:inset 0 0 0 1px #e3ca9c,0 0 0 1px #160f0b,9px 14px 0 #1c161233,16px 24px 30px #0005;transition:transform .4s}
.gallery-frame:hover{transform:translateY(-6px) rotate(1deg)}
.gallery-mat{display:block;background:#f1e9db;padding:clamp(18px,3vw,44px);box-shadow:0 0 0 1px #8c745b inset}
.gallery-mat img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #9f8a70;box-shadow:0 0 0 2px #ccbda5,0 3px 4px #442c2c38}
.frame-view{position:absolute;bottom:15px;left:0;right:0;text-align:center;font:9px var(--sans);letter-spacing:.1em;color:#6f5541;text-transform:uppercase}
.approach-figure figcaption{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#c5b59f;letter-spacing:.03em;margin-top:24px}
.approach-copy>.eyebrow{color:#d8bd97;margin-bottom:30px}
.approach-copy h2{font-size:clamp(47px,4.8vw,72px)}
.approach-copy h2 em{color:#d1b99a}
.approach-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#d0c4b4;margin-top:25px;max-width:410px}
.approach-steps{list-style:none;padding:0;margin:30px 0 0}
.approach-steps li{display:flex;gap:20px;padding:17px 0;border-top:1px solid #b9a58e36}
.approach-steps li>span{font:italic 16px var(--serif);color:#c0a580;padding-top:5px}
.approach-steps h3{font-size:25px}
.approach-steps p{font-size:12px;color:#c9baa7;margin-top:5px;line-height:1.7}
.portfolio{padding-top:80px;padding-bottom:95px;background:var(--paper)}
.portfolio-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px;color:var(--wine)}
.status-tag{font:italic 19px var(--serif)}
.portfolio-message{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;align-items:center}
.empty-print{border:1px solid #cabcaa;background:#faf7f0;outline:1px solid #cebea8;outline-offset:-18px;padding:70px 40px 55px;text-align:center;box-shadow:5px 8px 14px #5a3a1517;transform:rotate(-2deg);position:relative}
.print-corner{position:absolute;top:30px;left:31px;color:#7c6750;font:italic 13px var(--serif)}
.empty-print h2{font-size:clamp(45px,4.7vw,70px)}
.empty-print h2 em{color:var(--wine)}
.empty-print-note{display:block;font:italic 18px var(--serif);color:var(--muted);margin-top:30px}
.portfolio-copy h3{font-size:38px;letter-spacing:-.02em;margin-bottom:20px}
.portfolio-copy{font-size:13px;line-height:1.9;color:var(--muted)}
.portfolio-copy h3{color:var(--ink)}
.portfolio-note{font-size:11px;border-top:1px solid var(--line);padding-top:20px}
.portfolio-copy .text-link{margin-top:15px;color:var(--ink)}
.inquire{margin:0 var(--pad) 80px;padding:60px 30px;background:#e7ddcc;border:1px solid #c6b69e;text-align:center;position:relative;box-shadow:7px 8px 0 #e9e0d3}
.inquire::before{content:'';position:absolute;inset:12px;border:1px solid #b6a28770;pointer-events:none}
.inquire>.eyebrow{color:var(--wine);margin-bottom:27px}
.inquire h2{font-size:clamp(61px,7.2vw,110px);line-height:.92}
.inquire h2 em{color:var(--wine)}
.inquire>p:not(.eyebrow):not(.inquiry-note){font-size:13px;color:var(--muted);margin-top:25px}
.inquiry-status{display:flex;align-items:center;justify-content:center;gap:11px;font-size:11px;margin-top:25px}
.inquiry-note{font-size:10px;color:var(--muted);margin-top:5px}
.inquire .text-link{margin-top:12px}
.site-footer{background:#302b25;color:var(--paper);padding:45px var(--pad) 22px}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:25px;padding-bottom:35px}
.footer-brand{display:block;width:120px}
.footer-top>p{font:36px/.98 var(--serif);text-align:center;color:#dbc9ae}
.footer-location{font-size:11px;color:#d1c0a9;text-align:right;line-height:1.8}
.footer-location span{display:block;margin-top:10px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #b9a58e36;padding-top:20px;font-size:9px;color:#d1c0a9}
.footer-bottom a{display:flex;align-items:center;gap:20px}
.footer-bottom a span{font-size:19px}
/* The viewing room uses the native dialog for keyboard focus and Escape handling. */
.art-dialog{width:min(1200px,95vw);max-height:94vh;border:1px solid #7f6c52;padding:0;background:#302b25;color:var(--paper);box-shadow:0 20px 90px #0008}
.art-dialog::backdrop{background:#19140fe6;backdrop-filter:blur(7px)}
.viewer-toolbar{position:sticky;top:0;z-index:3;background:#302b25;padding:12px 27px;border-bottom:1px solid #ffffff24;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:9px;letter-spacing:.12em}
.viewer-close{background:transparent;border:0;color:var(--paper);font-size:11px;min-height:44px;display:flex;align-items:center;gap:18px}
.viewer-close span{font-size:27px;font-weight:300}
.viewer-layout{display:grid;grid-template-columns:1.5fr 1fr;min-height:580px}
.viewer-canvas{background:#221d18;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
.viewer-print{--art-ratio:.5628;border:1px solid #b9aa90;background:var(--mat);padding:15px;box-shadow:10px 16px 30px #0006;width:min(100%,calc(62vh * var(--art-ratio)));height:auto;max-height:none;display:grid;position:relative}
.viewer-window{position:relative;min-width:0;min-height:0;width:100%;aspect-ratio:var(--art-ratio);overflow:hidden;cursor:zoom-in;touch-action:pan-y;background:#e5d9c6}
.viewer-window.is-zoomed{cursor:grab;touch-action:none}
.viewer-window.is-dragging{cursor:grabbing}
.viewer-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;transform:translate3d(var(--pan-x,0px),var(--pan-y,0px),0) scale(var(--zoom,1));transform-origin:center;pointer-events:none;user-select:none}
.viewer-info{padding:60px 35px 35px;display:flex;flex-direction:column}
.viewer-info .eyebrow{color:#d1b68e;margin-bottom:25px}
.viewer-info h2{font-size:65px}
.viewer-info h2 em{color:#d8bea0}
#art-description{font-size:13px;color:#c9bcaa;margin-top:25px}
.viewer-controls{display:flex;gap:4px;border:1px solid #796956;width:fit-content;padding:4px;margin-top:30px}
.view-mode{background:transparent;border:0;color:#d3c4af;padding:10px 14px;font-size:10px;min-height:40px}
.view-mode.active{background:#e4d7c3;color:#302b25}
.viewer-disclaimer{font-size:10px;color:#b9a78d;margin-top:24px}
.next-artwork{color:var(--paper);border-color:#8b765c;margin-top:30px}
.viewer-status{font-size:10px;color:#c9b497;margin-top:12px;min-height:18px}
.art-dialog button:focus-visible{outline-color:#e9cfad}
@media(min-width:1101px){.signature-card{left:-55px;width:165px;min-height:145px;padding:18px 27px}.signature-card img{width:94px}.hero .print-caption{padding-left:28px}}
@media(min-width:1700px){body{max-width:1900px;margin:auto}.hero{min-height:850px}.hero-studio{min-height:700px}.hero-image{height:520px}.hero-copy{padding-top:60px}.hero h1{margin-top:65px}.signature-card{left:-20px;bottom:12px}.handwritten{bottom:12px}}
@media(max-width:1100px){.hero{grid-template-columns:46% 54%;padding-bottom:52px;min-height:655px}.hero h1{font-size:8.7vw;margin-top:45px}.hero-studio{min-height:550px;padding-left:15px}.hero-image{height:365px}.hero-figure{width:94%}.signature-card{width:155px;min-height:135px;padding:15px 23px;left:0;bottom:15px}.signature-card img{width:88px}.handwritten{font-size:20px;right:0;bottom:0}.print-caption{font-size:20px;min-height:52px}.print-view{font-size:7px}.hero-copy>.eyebrow{font-size:8px}.site-nav{gap:25px}.site-nav .nav-contact{margin-left:5px}.section-padding{padding-top:70px;padding-bottom:70px}.sessions{gap:15px 4vw}.session h3{font-size:32px}.approach{gap:6vw;padding-top:75px;padding-bottom:75px}.viewer-info h2{font-size:51px}.viewer-info{padding:35px 24px}.viewer-canvas{padding:25px}.viewer-layout{min-height:500px}.viewer-print{height:60vh}}
@media(max-width:760px){
  html{scroll-padding-top:24px}.site-header{height:92px;padding-top:14px;padding-bottom:14px}.brand{width:82px}
  .menu-toggle{border:0;background:none;display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0 8px 12px;position:relative;z-index:22;font-size:11px}
  .menu-icon{display:block;width:23px;height:15px;position:relative}.menu-icon i{position:absolute;left:0;top:3px;height:1px;width:23px;background:var(--ink);transition:transform .2s}.menu-icon i:last-child{top:11px}.menu-toggle[aria-expanded=true] .menu-icon i{top:7px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:rotate(-45deg)}
  .site-nav{display:none;position:absolute;top:92px;left:0;width:100%;padding:25px var(--pad) 35px;background:var(--paper);box-shadow:0 15px 25px #38210f26;flex-direction:column;align-items:stretch;gap:0;font:31px var(--serif)}
  .site-nav.is-open{display:flex}.site-nav>a{padding:16px 0;border-bottom:1px solid var(--line)}.site-nav .nav-contact{margin:20px 0 0;font:11px var(--sans);justify-content:space-between;padding:14px 16px}
  .hero{display:flex;flex-direction:column;padding:30px var(--pad) 40px;min-height:0;overflow:hidden}.hero-copy{padding:8px 0 0}.hero-copy>.eyebrow{font-size:8px;letter-spacing:.1em}.hero h1{font-size:clamp(68px,15vw,104px);margin-top:30px;line-height:.93}.hero-description{font-size:13px;line-height:1.85;margin:25px 0 12px}.hero-copy>.text-link{font-size:11px;gap:55px}.hero-footnote{display:none}
  .hero-studio{width:100%;min-height:0;height:540px;margin-top:36px;padding:32px 7px 0 18px}.studio-label{left:22px;right:9px;font-size:15px;top:0}.hero-figure{width:92%;transform:rotate(3deg)}.print-mount{padding:12px 12px 0;box-shadow:1px 2px 0 #b9ab95,3px 4px 0 #d6cbba,9px 15px 22px #57432c30}.hero-image{height:340px}.print-caption{min-height:49px;font-size:19px;padding:7px 0}.print-view{font-size:7px;max-width:60px;line-height:1.5;text-align:right}.hero-figure>figcaption{font-size:8px;margin-top:12px}.signature-card{width:140px;min-height:123px;bottom:12px;left:2px;padding:15px 20px;gap:6px}.signature-card img{width:80px}.signature-card>span{font-size:12px}.handwritten{font-size:21px;max-width:140px;text-align:center;line-height:1.1;right:0;bottom:21px}
  .chapter-line{gap:15px;padding-top:15px;padding-bottom:15px;font-size:9px;justify-content:center}.chapter-index{display:none}.chapter-line .line-dot{width:4px;height:4px}
  .section-padding{padding-top:58px;padding-bottom:58px}.section-label{font-size:9px;margin-bottom:23px}.intro-content{grid-template-columns:1fr;gap:27px}.intro-content h2{font-size:clamp(40px,8vw,59px)}.intro-body{font-size:14px;max-width:none;padding-left:20px;line-height:1.9}
  .sessions{display:block;padding-top:50px;padding-bottom:50px}.section-heading{position:static;padding-top:0;margin-bottom:30px}.section-heading h2{font-size:57px}.section-heading .eyebrow{font-size:9px;margin-bottom:22px}.section-heading>p{margin-top:20px;font-size:12px;line-height:1.8}.section-heading>p br{display:none}.section-heading>p br::after{content:' '}.session-list{padding-top:0}.session{padding:0 12px}.session summary{grid-template-columns:22px 1fr 15px;gap:10px;min-height:82px;padding:20px 0}.session h3{font-size:32px}.session-content{padding:0 0 24px 32px}.session-content>p{font-size:13px}.session-content .text-link{font-size:11px}.session-note{font-size:21px;margin-top:22px}
  .approach{grid-template-columns:1fr;gap:55px;padding:60px var(--pad)}.approach-figure{margin:0 9px}.gallery-mat{padding:25px}.frame-view{bottom:13px;font-size:8px}.approach-figure figcaption{margin-top:20px;font-size:8px}.approach-copy h2{font-size:56px}.approach-copy>.eyebrow{font-size:9px;margin-bottom:25px}.approach-copy>p:not(.eyebrow){font-size:14px}.approach-steps p{font-size:12px}.approach-steps h3{font-size:25px}
  .portfolio-label .eyebrow{font-size:9px}.portfolio-label{margin-bottom:35px;gap:15px}.status-tag{font-size:18px}.portfolio-message{grid-template-columns:1fr;gap:40px}.empty-print{margin:0 7px;padding:65px 25px 45px;outline-offset:-14px}.empty-print h2{font-size:57px}.empty-print-note{font-size:17px}.portfolio-copy{font-size:14px}.portfolio-copy h3{font-size:36px}.portfolio-note{font-size:12px}
  .inquire{margin:0 17px 50px;padding:50px 25px;box-shadow:5px 6px 0 #e9e0d3}.inquire h2{font-size:clamp(55px,12.5vw,80px)}.inquire>.eyebrow{font-size:9px;margin-bottom:25px}.inquire>p:not(.eyebrow):not(.inquiry-note){font-size:12px;max-width:240px;margin-left:auto;margin-right:auto}.inquiry-status{font-size:10px;gap:9px}.inquiry-note{font-size:10px;max-width:230px;margin-left:auto;margin-right:auto;line-height:1.7}
  .site-footer{padding-top:35px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{width:102px}.footer-top>p{font-size:32px;text-align:right}.footer-location{grid-column:1/-1;text-align:left;display:flex;justify-content:space-between;gap:20px;font-size:11px}.footer-location span{margin-top:0}.footer-bottom{font-size:8px;gap:15px}.footer-bottom a{gap:8px}
  .art-dialog{width:94vw;max-height:94dvh}.viewer-toolbar{padding:7px 16px;font-size:8px;letter-spacing:.05em}.viewer-layout{grid-template-columns:1fr;min-height:0}.viewer-canvas{padding:25px 20px;min-height:320px}.viewer-print{height:48vh;padding:12px;max-height:470px}.viewer-info{padding:25px}.viewer-info .eyebrow{font-size:9px;margin-bottom:14px}.viewer-info h2{font-size:47px}.viewer-info h2 br{display:none}.viewer-info h2 br::after{content:' '}.viewer-info #art-description{margin-top:16px;font-size:13px}.viewer-controls{margin-top:20px}.viewer-disclaimer{margin-top:18px}.next-artwork{margin-top:18px}.viewer-print.is-detail .viewer-image{left:12px;bottom:12px;width:calc(100% - 24px)}
}
@media(max-width:380px){.hero h1{font-size:clamp(58px,17vw,65px)}.hero-studio{height:480px;padding-left:10px;padding-right:3px}.hero-image{height:290px}.signature-card{width:125px;min-height:110px;left:0;bottom:8px}.signature-card img{width:73px}.handwritten{font-size:18px;max-width:115px;bottom:16px}.print-caption{font-size:17px}.hero-figure>figcaption{font-size:7px}.session h3{font-size:28px}.inquire h2{font-size:54px}.footer-bottom{flex-wrap:wrap}.chapter-line{gap:12px;font-size:8px}}
@media(min-width:761px) and (max-width:1100px){.signature-card{bottom:155px}}
@media(max-width:760px){.signature-card{bottom:-8px;width:125px;min-height:110px}.signature-card img{width:73px}.hero-figure>figcaption{margin-left:100px}.handwritten{bottom:13px}.viewer-print.is-detail::after{box-shadow:inset 0 0 0 12px var(--mat)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Gallery experience: restrained motion, paper controls and a persistent reading position. */
html{scrollbar-gutter:stable;scroll-padding-top:136px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:50;pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;background:var(--wine);transform:scaleX(0);transform-origin:left}
.site-header{position:sticky;top:0;transition:background .3s,box-shadow .3s}
.site-header.is-scrolled{background:#f3eee5f2;backdrop-filter:blur(15px);box-shadow:0 4px 22px #47331d0c}
.site-nav>a[aria-current=location]:not(.nav-contact){color:var(--wine);border-bottom-color:var(--wine)}
.hero-studio{min-height:665px}
.hero-sidenote{font:italic 23px var(--serif);color:var(--wine);margin:22px 0 0 100px;transform:rotate(-4deg)}
.hero-figure{isolation:isolate}
.hero-figure::before{content:'';position:absolute;inset:10px -7px 35px 13px;transform:rotate(-5deg);z-index:-1;background:#e5d9c5;border:1px solid #bda98e;box-shadow:9px 14px 20px #5d42241c}
.hero .print-mount{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px));transition:transform .3s ease,box-shadow .3s}
.hero .print-mount:hover{--lift:-6px}
.hero-image{background:#2e241c}
.hero .print-mount[data-artwork=signature] .hero-image img{height:100%;object-fit:contain;object-position:center}
.signature-card{bottom:40px}
.print-selector{display:flex;justify-content:flex-end;gap:22px;margin:23px 0 0 auto;width:92%;position:relative;z-index:3}
.print-selector button{border:0;border-bottom:1px solid #b5a28b;background:none;padding:8px 0;min-height:44px;font-size:10px;letter-spacing:.025em;color:#776450;transition:color .2s,border-color .2s}
.print-selector button span{font:italic 16px var(--serif);margin-right:8px}
.print-selector button[aria-pressed=true]{color:var(--wine);border-bottom:2px solid var(--wine)}
.print-selector button:hover{color:var(--wine)}
.hero-figure figcaption{font-size:10px}
.print-view{font-size:9px;letter-spacing:.04em}
.hero-footnote{font-size:10px}
.intro-body,.session-content>p,.approach-copy>p:not(.eyebrow),.portfolio-copy{font-size:14px}
.section-heading{top:145px}
.session-content{animation:session-open .3s ease-out}
.session-list summary:hover h3{color:var(--wine)}
.frame-view{font-size:10px}
.approach-figure figcaption{font-size:10px}
.gallery-frame{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px))}
.gallery-frame:hover{--lift:-5px;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift))}
.reveal-pending{opacity:0;transform:translateY(18px)}
.reveal-visible{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.25,1)}
.viewer-toolbar-actions{display:flex;align-items:center;gap:10px}
.viewer-prev,.viewer-next{min-width:44px;min-height:44px;background:none;border:1px solid #74614b;color:#e9d8be;font-size:22px}
.viewer-toolbar-actions button:hover{background:#f4eee51a}
.viewer-close{margin-left:12px;gap:14px;padding:0 8px}
.viewer-close .close-label{font-size:11px}
.viewer-brand{white-space:nowrap}
.viewer-info{padding-top:42px;padding-bottom:22px}
.viewer-info h2{font-size:60px}
.viewer-controls{margin-top:22px}
.view-mode{min-height:44px;font-size:11px}
.zoom-control{margin-top:20px;max-width:310px}
.zoom-control label{display:flex;justify-content:space-between;font-size:10px;color:#c6b59e;letter-spacing:.04em}
.zoom-control output{font-variant-numeric:tabular-nums;color:#e0cfb7}
.zoom-controls{display:flex;align-items:center;gap:10px;margin-top:8px}
.zoom-controls button{height:44px;min-width:36px;background:none;border:1px solid #796956;color:#e7d4b7;font-size:19px}
.zoom-controls button:disabled{opacity:.3;cursor:default}
.zoom-controls input{width:100%;min-width:0;height:34px;accent-color:#d7bea0;cursor:pointer}
.zoom-controls input:focus-visible{outline:2px solid #d7bea0;outline-offset:4px}
.viewer-thumbnails{display:flex;gap:12px;margin-top:24px}
.viewer-thumbnails button{position:relative;border:1px solid #77624b;background:#302820;padding:4px;width:64px;height:76px;opacity:.6;transition:opacity .2s,border-color .2s}
.viewer-thumbnails button[aria-pressed=true]{opacity:1;border-color:#ead2ae;box-shadow:0 0 0 1px #ead2ae}
.viewer-thumbnails button:hover{opacity:1}
.viewer-thumbnails img{width:100%;height:100%;object-fit:cover}
.viewer-thumbnails span{position:absolute;bottom:4px;right:4px;background:#211b16df;color:#f5e4cc;padding:1px 4px;font-size:9px}
.viewer-gesture-hint{font-size:10px;color:#bda98e;margin-top:20px;min-height:18px;text-align:center}
.viewer-disclaimer{font-size:11px;line-height:1.7;margin-top:20px}
.viewer-status{font-size:10px;margin-top:8px}
.viewer-window:focus-visible{outline:2px solid #d7bea0;outline-offset:5px}
.no-script-note{padding:22px var(--pad);font-size:13px}.no-script-note a{text-decoration:underline}
@keyframes session-open{from{opacity:.2;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero-studio{min-height:740px}.signature-card{bottom:55px}}
@media(min-width:761px) and (max-width:1100px){.hero-studio{min-height:595px}.signature-card{bottom:180px}.hero-sidenote{font-size:21px;margin-left:50px}.print-selector{gap:17px}.print-selector button{font-size:9px}.print-view{font-size:8px}.hero-figure figcaption{font-size:9px}}
@media(max-width:1100px){.viewer-info h2{font-size:48px}.viewer-print{height:auto;max-height:none;width:min(100%,calc(58vh * var(--art-ratio)))}.viewer-info{padding-top:30px}}
@media(max-width:760px){
  html{scroll-padding-top:112px}.site-header.is-scrolled{background:#f3eee5f5}.hero-studio{height:auto;min-height:610px}.hero-sidenote{font-size:22px;margin:22px 0 0 90px}.hero-copy>.eyebrow{font-size:9px}.hero-description{font-size:14px}
  .hero-figure::before{inset:10px -5px 32px 9px}.signature-card{bottom:9px}.hero-figure>figcaption{margin-left:15px;font-size:9px;min-height:25px}.print-selector{width:calc(100% - 135px);margin:22px 0 0 auto;flex-direction:column;align-items:stretch;gap:3px}.print-selector button{font-size:10px;padding:5px 0;white-space:nowrap;text-align:left}.print-selector button span{font-size:15px;margin-right:7px}.print-view{font-size:8px}
  .section-heading{position:static}.frame-view{font-size:9px}.approach-figure figcaption{font-size:9px}.session-content .text-link{min-height:46px}.session summary{min-height:86px}.intro-body,.session-content>p,.approach-copy>p:not(.eyebrow),.portfolio-copy{font-size:14px;line-height:1.9}
  .art-dialog{max-height:94dvh}.viewer-toolbar{padding:8px 12px;gap:8px}.viewer-brand{font-size:9px;letter-spacing:.05em}.viewer-brand>span{display:none}.viewer-toolbar-actions{gap:6px}.viewer-close{margin-left:0;padding:0 6px;min-width:40px;justify-content:center}.viewer-close .close-label{display:none}.viewer-prev,.viewer-next{border:0;min-width:38px}
  .viewer-canvas{padding:25px 22px 17px;min-height:0}.viewer-print{width:min(100%,calc(46vh * var(--art-ratio)));height:auto;max-height:none;padding:12px}.viewer-gesture-hint{font-size:9px;margin-top:14px}.viewer-info{padding:25px}.viewer-info h2{font-size:47px}.viewer-info #art-description{font-size:14px}.viewer-info .eyebrow{margin-bottom:17px}.viewer-controls{margin-top:20px}.viewer-disclaimer{margin-top:19px}.viewer-thumbnails{margin-top:20px}.viewer-info h2 br{display:none}
}
@media(max-width:380px){.hero-studio{min-height:560px}.hero h1{font-size:clamp(55px,16.8vw,65px)}.hero-copy>.eyebrow{font-size:8px}.hero-sidenote{margin-left:60px;font-size:20px}.signature-card{bottom:8px}.print-selector{width:calc(100% - 125px);gap:1px}.print-selector button{font-size:9px}.hero-figure>figcaption{font-size:8px}.inquiry-status{font-size:10px}.viewer-info h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.hero .print-mount,.gallery-frame,.gallery-frame:hover{transform:none}.session-content{animation:none}.reveal-visible{transition:none}}
@media print{.menu-toggle,.art-dialog,.print-view,.frame-view,.reading-progress,.print-selector{display:none}.site-header{position:static}.hero,.sessions,.approach,.site-footer{background:white;color:black}.hero-studio,.approach-figure,.empty-print{transform:none}.hero-figure,.signature-card{transform:none}.print-mount,.gallery-frame{box-shadow:none}.section-padding,.approach{padding:30px}.site-nav{display:none}.reveal-pending{opacity:1;transform:none}}
