@font-face{font-family:Instrument;src:url('assets/fonts/instrument-serif.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/fonts/instrument-serif-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Shippori;src:url('assets/fonts/shippori-mincho.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f1ede4;--light:#fbf8f1;--ink:#333c2f;--muted:#625e53;--red:#8e4335;--sage:#dce0d1;--line:#c7c4b5;--dark:#333e33;--serif:Instrument,Georgia,serif;--jp:Shippori,"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--gutter:clamp(24px,5.45vw,96px);--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.8 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.dialog-open,body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
figure,h1,h2,p{margin:0}
button,input{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button{border:0}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:6px}
::selection{background:#dec4a9;color:#273025}
[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-180%);z-index:100;background:var(--ink);color:white;padding:12px 22px}
.skip-link:focus{transform:none}
.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;z-index:30}
.site-header{height:96px;display:flex;align-items:center;gap:30px;padding:0 var(--gutter);position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.site-header.is-scrolled{background:#f1ede4f2;border-color:#d4d0c3;backdrop-filter:blur(12px)}
.brand{width:180px;flex-shrink:0;display:block}
.brand img{width:100%;mix-blend-mode:multiply}
.primary-nav{display:flex;align-items:center;gap:27px;margin-left:auto;font-size:12px;letter-spacing:.025em}
.primary-nav>a{position:relative;display:flex;align-items:center;min-height:44px}
.primary-nav>a::after{content:"";height:1px;position:absolute;bottom:8px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.primary-nav>a[aria-current]::after,.primary-nav>a:hover::after,.primary-nav>a:focus-visible::after{transform:scaleX(1)}
.primary-nav>a[aria-current]{color:var(--red)}
.primary-nav .nav-contact{gap:14px;margin-left:4px}
.nav-contact svg{width:22px;height:22px}
.header-controls{display:flex;align-items:center;gap:12px}
.icon-button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:transparent;border-radius:50%;transition:background .25s,color .25s}
.icon-button svg{width:22px;height:22px}
.icon-button:hover{background:#dedacd}
.menu-toggle{display:none}
.hero{position:relative;padding:0 var(--gutter);max-width:1720px;margin:0 auto;isolation:isolate}
.hero-stage{display:grid;grid-template-columns:1fr 1.08fr;position:relative;align-items:center;min-height:610px;padding:40px 0 54px}
.hero-type{position:relative;z-index:2;align-self:start;padding-top:4px}
.eyebrow{display:flex;gap:14px;align-items:center;font-size:10px;letter-spacing:.18em;margin-bottom:28px;color:var(--red)}
.cross-stitch{display:inline-block;width:15px;height:15px;position:relative;flex-shrink:0}
.cross-stitch::before,.cross-stitch::after{content:"";position:absolute;left:1px;top:7px;width:13px;height:1px;background:currentColor;transform:rotate(45deg)}
.cross-stitch::after{transform:rotate(-45deg)}
.display-title{font-family:var(--serif);font-size:clamp(112px,12.55vw,200px);letter-spacing:-.035em;line-height:.8;font-weight:400}
.display-title>span{display:block;position:relative;width:max-content}
.display-title>span+span{margin-top:15px}
.display-title em{font-weight:400}
.title-thread{position:absolute;width:66%;height:auto;right:-2%;bottom:-23px;color:var(--red);stroke-width:1.15;transform:rotate(-4deg);z-index:-1}
.hero h1{font-family:var(--jp);font-size:17px;font-weight:400;line-height:2.05;letter-spacing:.055em;margin-top:51px;max-width:390px}
.hero h1>span{font-size:14px;letter-spacing:.025em}
.hero-paper{--rx:0deg;--ry:0deg;position:relative;width:calc(100% + 23px);margin:4px 0 0 -16px;transform:perspective(1100px) rotate(-5deg) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .6s var(--ease);z-index:1;will-change:transform}
.paper-face{position:relative;background:var(--light);padding:16px;box-shadow:8px 16px 35px #332a181a,1px 2px 3px #332a1810}
.paper-face img{width:100%;mix-blend-mode:multiply;clip-path:inset(2px)}
.paper-underlay{position:absolute;inset:0;background:#d5d9c9;transform:rotate(8deg);box-shadow:0 5px 15px #41372710}
.paper-stitch{position:absolute;bottom:-22px;right:12px;height:90px;width:50px;border-left:1px dashed #8e4335;transform:rotate(-34deg);z-index:3;pointer-events:none}
.hero-loose-thread{position:absolute;right:-2%;bottom:17px;width:36%;color:var(--red);opacity:.6;pointer-events:none;z-index:0}
.chapter-index{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:0}
.chapter-index a{display:flex;align-items:center;gap:25px;padding:21px 24px;font:32px/1 var(--serif);transition:background .3s,color .3s}
.chapter-index a+a{border-left:1px solid var(--line)}
.chapter-index a:first-child{padding-left:0}
.chapter-index a:last-child{padding-right:0}
.index-number{font:10px/1 var(--sans);letter-spacing:.04em;color:var(--muted)}
.chapter-index svg{width:21px;height:21px;margin-left:auto;transition:transform .35s var(--ease)}
.chapter-index a:hover{color:var(--red)}
.chapter-index a:hover svg{transform:translate(4px,4px)}
.introduction{position:relative;max-width:1720px;margin:auto;padding:132px var(--gutter) 142px;display:flex;justify-content:center;isolation:isolate}
.intro-copy{font-family:var(--jp);font-size:clamp(20px,2.1vw,32px);line-height:2.1;letter-spacing:.04em;text-align:center}
.intro-name{font-family:var(--serif);font-size:1.7em;font-style:italic;letter-spacing:0}
.underlined-word{position:relative;white-space:nowrap}
.underlined-word::after{content:"";position:absolute;left:0;right:0;bottom:-9px;border-bottom:1px solid var(--red);transform:rotate(-3deg)}
.intro-thread{position:absolute;left:5%;top:81px;width:135px;height:143px;color:var(--red);z-index:-1;opacity:.6}
.intro-cross{position:absolute;right:8%;bottom:80px;color:var(--red);transform:scale(1.7) rotate(12deg)}
.section-panel{padding:65px var(--gutter) 100px;position:relative;isolation:isolate;overflow:hidden}
.section-kicker{display:flex;align-items:center;gap:19px;font-size:11px;letter-spacing:.09em;margin-bottom:58px}
.kicker-line{height:1px;flex:1;background:currentColor;opacity:.3}
.section-kicker .cross-stitch{margin-left:6px}
.lesson-section{background:var(--sage)}
.lesson-layout{max-width:1450px;margin:auto;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(55px,7vw,115px)}
.lesson-visual{position:relative;padding:7px 0 30px}
.image-view{position:relative;display:block;width:100%;padding:0;background:transparent;text-align:left;overflow:hidden}
.image-view>img{width:100%;transition:transform .8s var(--ease)}
.lesson-photo{background:var(--light);padding:14px 14px 38px;transform:rotate(-2.5deg);box-shadow:8px 15px 28px #303c3022;z-index:1}
.lesson-photo>img{aspect-ratio:2;object-fit:cover;object-position:48% center}
.image-plus{width:46px;height:46px;position:absolute;right:29px;bottom:53px;display:grid;place-items:center;background:var(--light);color:var(--ink);border-radius:50%;transition:background .3s,transform .3s;z-index:3;box-shadow:0 2px 10px #1d21151a}
.image-plus svg{width:21px;height:21px}
.image-view:hover .image-plus{background:var(--ink);color:var(--light);transform:rotate(90deg)}
.fabric-tab{position:absolute;z-index:2;left:-19px;top:-8px;width:72px;height:37px;transform:rotate(-28deg);background-color:#bdc3af;background-image:repeating-linear-gradient(0deg,transparent,transparent 7px,#a4ac9655 7px,#a4ac9655 8px),repeating-linear-gradient(90deg,transparent,transparent 7px,#a4ac9655 7px,#a4ac9655 8px);opacity:.88;box-shadow:1px 2px 2px #4f593418}
.photo-index{display:block;position:relative;margin:23px 0 0 20px;font-size:10px;letter-spacing:.12em;color:var(--muted)}
h2{font-family:var(--serif);font-size:clamp(90px,9.8vw,152px);font-weight:400;letter-spacing:-.035em;line-height:1}
.title-dot{display:inline-block;width:10px;height:10px;border:1px solid currentColor;border-radius:50%;margin-left:12px;vertical-align:baseline}
.lesson-copy{position:relative;padding-bottom:20px;z-index:2}
.lesson-copy>p{font-size:15px;line-height:2.2;letter-spacing:.04em;max-width:390px;margin-top:31px}
.text-link{display:flex;align-items:center;justify-content:space-between;gap:32px;width:208px;font-size:12px;letter-spacing:.1em;padding:13px 0;border-bottom:1px solid currentColor;margin-top:31px}
.arrow-circle{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid currentColor;flex-shrink:0;transition:background .3s,color .3s,transform .3s}
.arrow-circle svg{width:20px;height:20px;transition:transform .3s}
.text-link:hover .arrow-circle{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:rotate(-35deg)}
.lesson-thread{position:absolute;bottom:-4px;right:6%;width:31%;color:var(--red);z-index:-1}
.gallery-section{padding-top:83px;padding-bottom:130px;background:var(--light)}
.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;max-width:1450px;margin:0 auto 60px}
.gallery-heading h2{font-size:clamp(105px,12.8vw,194px)}
.gallery-copy{padding-bottom:9px;width:300px}
.gallery-copy p{font-size:14px;letter-spacing:.045em}
.gallery-copy .text-link{margin-top:18px}
.gallery-mount{max-width:1260px;margin:0 auto;position:relative;padding:15px 6% 15px 2%}
.gallery-mat{padding:21px 21px 16px;background:#e9e3d6;transform:rotate(-1.4deg);position:relative;box-shadow:4px 9px 20px #332a1812;z-index:2}
.gallery-photo{display:block;width:100%;overflow:hidden}
.gallery-photo>img{width:100%;aspect-ratio:2;object-fit:cover}
.gallery-photo .image-plus{bottom:20px;right:20px}
.gallery-caption{display:flex;justify-content:space-between;align-items:center;padding:18px 3px 0;font-size:10px;letter-spacing:.08em}
.gallery-caption span:first-child{font-family:var(--serif);font-style:italic;font-size:21px;letter-spacing:0}
.gallery-stitched-frame{position:absolute;inset:4% 2% -3% 7%;border:1px dashed #9a6553;transform:rotate(2deg);z-index:0}
.blog-section{background:var(--dark);color:var(--paper);padding-top:65px;padding-bottom:100px}
.blog-section .section-kicker{color:#c7cdbb}
.blog-layout{max-width:1450px;margin:auto;display:grid;grid-template-columns:.76fr 1.25fr;gap:100px;align-items:center}
.blog-copy{position:relative;z-index:2}
.blog-copy h2{font-size:clamp(100px,11.8vw,180px)}
.blog-copy>p{max-width:290px;font-size:15px;line-height:2.2;letter-spacing:.045em;margin-top:29px}
.blog-copy .text-link{margin-top:25px}
.blog-copy .text-link:hover .arrow-circle{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.blog-visual{position:relative;padding:12px 6px 0 0}
.blog-photo{padding:12px 12px 34px;background:#e9e3d6;transform:rotate(3deg);box-shadow:0 16px 35px #16241633}
.blog-photo>img{aspect-ratio:1.5;object-fit:cover;object-position:66% center}
.blog-photo .image-plus{right:26px;bottom:48px}
.blog-visual .photo-index{color:#c9cdbc;margin:35px 0 0 5px}
.blog-thread{position:absolute;left:4%;bottom:-17px;width:30%;color:#d2b38b;opacity:.7;z-index:-1}
.atelier-note{padding:110px var(--gutter) 100px;display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;max-width:1720px;margin:auto}
.note-left>a{display:block;width:230px;margin-bottom:29px}
.note-left img{mix-blend-mode:multiply}
.note-left p{font-family:var(--jp);font-size:14px;line-height:2.35;letter-spacing:.035em;max-width:450px}
.contact-link{font-family:var(--serif);font-size:clamp(78px,9.7vw,150px);letter-spacing:-.025em;line-height:1.2;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;transition:color .3s}
.contact-link svg{width:clamp(44px,5.3vw,80px);height:auto;stroke-width:1.3;transition:transform .5s var(--ease)}
.contact-link:hover{color:var(--red)}
.contact-link:hover svg{transform:translate(6px,-6px)}
.site-footer{margin:0 var(--gutter);padding:27px 0 22px;border-top:1px solid var(--line)}
.footer-main,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-nav{display:flex;flex-wrap:wrap;gap:27px;font-size:11px;letter-spacing:.035em}
.footer-nav a{display:flex;align-items:center;min-height:44px}
.footer-nav a:hover{color:var(--red)}
.footer-bottom{margin-top:20px}
.footer-bottom small{font-size:10px;letter-spacing:.025em;color:var(--muted)}
.back-top{display:grid;place-items:center;border:1px solid var(--line);width:44px;height:44px;border-radius:50%;transition:background .3s}
.back-top:hover{background:#dedacd}
.back-top svg{width:20px;height:20px}
.search-dialog,.image-dialog{padding:0;background:var(--light);color:var(--ink);border:1px solid var(--line);box-shadow:0 20px 90px #1e261d30}
.search-dialog::backdrop,.image-dialog::backdrop{background:#263025b8;backdrop-filter:blur(8px)}
.search-dialog{width:min(680px,calc(100% - 40px));padding:80px 40px 50px}
.search-dialog>.dialog-close{position:absolute;right:14px;top:14px}
.search-form{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--ink)}
.search-form input{width:100%;min-width:0;background:transparent;border:0;border-radius:0;font:48px/1.4 var(--serif);padding:8px 0}
.search-form input:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.image-dialog{width:min(1120px,calc(100% - 48px));max-height:calc(100dvh - 48px)}
.image-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);font:31px/1 var(--serif)}
.image-dialog-stage{padding:20px;display:grid;place-items:center;background:var(--light)}
.image-dialog-stage img{width:100%;max-height:calc(100dvh - 260px);object-fit:contain}
.image-dialog-footer{display:flex;justify-content:center;align-items:center;gap:30px;padding:7px 20px 20px}
.image-counter{font-size:11px;letter-spacing:.12em}
.motion-ready .reveal{opacity:0;transform:translateY(25px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.draw-line path{transition:stroke-dashoffset 1.6s var(--ease)}
@media(min-width:1600px){.hero-stage{min-height:740px;padding-top:60px}.hero h1{margin-top:67px;font-size:20px}.hero h1>span{font-size:16px}}
@media(max-width:1150px){.site-header{gap:22px}.brand{width:157px}.primary-nav{gap:19px;font-size:11px}.hero-stage{min-height:555px}.hero h1{font-size:15px;margin-top:43px}.hero h1>span{font-size:13px}.display-title{font-size:12.5vw}.lesson-layout{gap:50px}.blog-layout{gap:65px}.lesson-copy>p,.blog-copy>p{font-size:14px}.atelier-note{gap:65px}.intro-thread{width:95px;left:2%}.introduction{padding-top:110px;padding-bottom:115px}}
@media(max-width:960px){.site-header{height:82px}.primary-nav{gap:14px}.brand{width:145px}.header-controls{margin-left:-8px}.site-header{gap:15px}.hero-stage{padding-top:29px;min-height:500px}.hero h1{font-size:14px}.hero-paper{width:calc(100% + 12px);margin-left:-8px}.paper-face{padding:9px}.hero-type{padding-top:0}.display-title{font-size:13vw}.eyebrow{margin-bottom:23px}.lesson-layout{gap:35px}.lesson-photo{padding:10px 10px 28px}.lesson-copy>p{font-size:13px}.blog-layout{gap:45px}.blog-photo{padding:10px 10px 28px}.section-panel{padding-top:45px;padding-bottom:72px}.section-kicker{margin-bottom:43px}.gallery-section{padding-bottom:90px}.gallery-heading{margin-bottom:42px}.gallery-copy{width:240px}.gallery-copy p{font-size:13px}.gallery-mount{padding-right:4%;padding-left:1%}.gallery-mat{padding:16px 16px 12px}.atelier-note{gap:45px;padding-top:80px;padding-bottom:75px}.note-left p{font-size:13px}.contact-link{font-size:10vw}.footer-nav{gap:19px}}
@media(max-width:800px){
 html{scroll-padding-top:98px}
 .site-header{height:80px;gap:20px}.brand{width:170px}.header-controls{margin-left:auto;gap:10px}
 .menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:44px;height:44px;background:transparent;border:1px solid #a5a799;border-radius:50%;position:relative;z-index:23}
 .menu-toggle span{height:1px;width:18px;background:var(--ink);transition:transform .3s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .primary-nav{position:absolute;top:80px;left:0;right:0;max-height:calc(100dvh - 80px);overflow-y:auto;background:var(--paper);padding:25px var(--gutter) 35px;display:grid;grid-template-columns:1fr 1fr;gap:3px 30px;border-bottom:1px solid var(--line);box-shadow:0 15px 30px #28322314}
 .js-ready .primary-nav{display:none}.js-ready .primary-nav.is-open{display:grid}
 .primary-nav>a{font:34px/1.4 var(--serif);padding:13px 0;border-bottom:1px solid var(--line)}
 .primary-nav>a::after{display:none}.primary-nav .nav-contact{grid-column:1/-1;justify-content:space-between;margin:10px 0 0}
 .hero-stage{grid-template-columns:1fr 1.06fr;min-height:460px;padding-top:28px;padding-bottom:38px}
 .display-title{font-size:12.6vw}.hero h1{font-size:14px;line-height:2.1;margin-top:35px}.hero h1>span{font-size:12px}.title-thread{bottom:-15px}.hero-paper{margin-top:20px}.paper-stitch{height:65px;bottom:-13px}.hero-loose-thread{bottom:4px}
 .chapter-index a{font-size:28px;padding:20px 17px;gap:14px}.chapter-index svg{width:18px;height:18px}
 .intro-copy{font-size:20px}.introduction{padding:90px 30px 100px}.intro-thread{left:1%;top:40px;width:72px}.intro-cross{right:5%;bottom:48px}
 .lesson-layout{grid-template-columns:1fr 1fr;gap:35px}.lesson-photo>img{aspect-ratio:2;object-position:44% center}h2{font-size:85px}.lesson-copy>p{font-size:13px;line-height:2.1;margin-top:20px}.text-link{width:185px;margin-top:22px}.arrow-circle{width:36px;height:36px}.image-plus{width:42px;height:42px;right:20px;bottom:38px}.lesson-thread{width:40%}
 .gallery-heading h2{font-size:110px}.gallery-copy{width:225px}.gallery-copy p{font-size:12px}.gallery-copy .text-link{margin-top:10px}.gallery-heading{gap:20px}.gallery-caption{padding-top:11px}.gallery-caption span:first-child{font-size:19px}
 .blog-layout{gap:40px;grid-template-columns:.85fr 1fr}.blog-copy h2{font-size:100px}.blog-copy>p{font-size:13px;line-height:2.1}.blog-photo>img{aspect-ratio:1.1;object-position:72% center}.blog-thread{width:42%}.blog-photo .image-plus{bottom:40px;right:20px}
 .atelier-note{grid-template-columns:1.1fr 1fr;gap:30px}.note-left>a{width:195px}.note-left p{font-size:12px}.footer-nav{gap:18px}.footer-bottom small{font-size:9px}
}
@media(max-width:600px){
 :root{--gutter:24px}
 .site-header{height:76px}.brand{width:164px}.primary-nav{top:76px;max-height:calc(100dvh - 76px)}
 .hero-stage{display:flex;flex-direction:column;min-height:0;padding:22px 0 42px;gap:28px;align-items:stretch}
 .hero-type{padding:0;display:contents}.eyebrow{order:0;margin-bottom:0;font-size:9px;gap:10px}
 .display-title{order:1;font-size:clamp(93px,24vw,144px);line-height:.83;margin-top:-7px;width:max-content}
 .display-title>span+span{margin-top:4px;margin-left:12%}.title-thread{bottom:-18px;width:58%;right:-1%}
 .hero-paper{order:2;width:91%;max-width:420px;align-self:center;margin:16px 0 0;transform:rotate(-4deg)}
 .paper-face{padding:8px}.paper-underlay{transform:rotate(7deg)}.paper-stitch{height:60px;right:4px;bottom:-18px}
 .hero h1{order:3;margin:8px 0 0 4px;font-size:16px;line-height:2.05;max-width:none}.hero h1>span{font-size:13px}
 .hero-loose-thread{display:none}
 .chapter-index a{font-size:26px;padding:17px 12px;gap:0;position:relative;flex-wrap:wrap}
 .chapter-index a:first-child{padding-left:0}.chapter-index a:last-child{padding-right:0}
 .index-number{width:100%;font-size:9px;margin-bottom:12px}.chapter-index svg{width:14px;height:14px}
 .introduction{padding:79px 24px 86px}.intro-copy{font-size:clamp(14px,3.7vw,21px);line-height:2.25;letter-spacing:.01em;position:relative;z-index:1}.intro-name{font-size:1.8em}.intro-thread{width:60px;top:17px;left:8px;opacity:.35}.intro-cross{width:12px;height:12px;bottom:31px;right:10%;transform:scale(1) rotate(12deg)}.underlined-word::after{bottom:-5px}
 .section-panel{padding:31px 24px 65px}.section-kicker{margin-bottom:35px;font-size:10px;gap:15px}
 .lesson-layout{display:flex;flex-direction:column;gap:26px;align-items:stretch}.lesson-visual{padding:4px 6px 0}.lesson-photo{padding:10px 10px 27px}.lesson-photo>img{aspect-ratio:2;object-position:center}.fabric-tab{left:-6px;top:-8px;width:57px;height:28px}.photo-index{margin:17px 0 0 0;font-size:9px}.lesson-copy{padding:0 3px}.lesson-copy h2{font-size:91px}.title-dot{width:8px;height:8px;margin-left:10px}.lesson-copy>p{font-size:14px;line-height:2.1;margin-top:17px;max-width:none}.text-link{font-size:12px;margin-top:22px;width:198px;padding:10px 0}.arrow-circle{width:39px;height:39px}.lesson-thread{width:58%;right:-9%;bottom:0;opacity:.6}
 .gallery-section{padding-top:37px;padding-bottom:68px}.gallery-heading{display:block;margin-bottom:31px}.gallery-heading h2{font-size:108px}.gallery-copy{width:auto;padding:0;margin-top:13px}.gallery-copy p{font-size:13px}.gallery-copy .text-link{margin-top:13px}.gallery-mount{padding:10px 2% 5px 0}.gallery-mat{padding:10px 10px 11px}.gallery-caption{padding-top:11px;font-size:8px}.gallery-caption span:first-child{font-size:19px}.gallery-photo>img{aspect-ratio:2;object-position:45% center}.gallery-photo .image-plus{width:39px;height:39px;bottom:12px;right:12px}.gallery-stitched-frame{inset:3% -1% -4% 4%}
 .blog-section{padding-top:31px;padding-bottom:65px}.blog-layout{display:flex;flex-direction:column;gap:30px;align-items:stretch}.blog-copy{order:1}.blog-copy h2{font-size:104px}.blog-copy>p{margin-top:14px;font-size:14px;max-width:300px;line-height:2.1}.blog-copy .text-link{margin-top:20px}.blog-visual{order:0;padding:5px 5px 0}.blog-photo>img{aspect-ratio:1.5;object-position:center}.blog-photo{transform:rotate(2deg)}.blog-visual .photo-index{margin-top:24px;font-size:9px}.blog-thread{width:58%;left:auto;right:-10%;bottom:-4px;opacity:.5}
 .atelier-note{padding:62px 27px 51px;display:flex;flex-direction:column;gap:43px;align-items:stretch}.note-left>a{width:209px;margin-bottom:22px}.note-left p{font-size:13px;line-height:2.25}.contact-link{font-size:94px;gap:20px;padding-bottom:12px}.contact-link svg{width:48px}
 .site-footer{padding-top:18px;padding-bottom:21px}.footer-main{align-items:flex-start;gap:15px}.footer-nav{gap:0 19px;max-width:270px;font-size:10px}.instagram-link{width:40px;height:40px;margin-right:-7px}.instagram-link svg{width:21px;height:21px}.footer-bottom{gap:12px;align-items:center;margin-top:20px}.footer-bottom small{font-size:8px;letter-spacing:0;line-height:1.8;max-width:235px}.back-top{width:40px;height:40px;flex-shrink:0}
 .search-dialog{padding:74px 24px 35px;width:calc(100% - 30px)}.search-form input{font-size:39px}.image-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.image-dialog-header{padding:9px 12px;font-size:28px}.image-dialog-stage{padding:10px}.image-dialog-stage img{max-height:calc(100dvh - 200px)}.image-dialog-footer{padding-bottom:10px}
}
@media(max-width:360px){:root{--gutter:20px}.site-header{gap:10px}.brand{width:143px}.header-controls{gap:5px}.hero-stage{gap:25px}.hero h1{font-size:14px}.display-title{font-size:25vw}.chapter-index a{font-size:24px;padding-left:10px;padding-right:10px}.intro-copy{font-size:13px}.lesson-copy h2{font-size:82px}.gallery-heading h2{font-size:96px}.contact-link{font-size:79px}.footer-nav{gap:0 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.hero-paper{will-change:auto}.draw-line path{stroke-dashoffset:0!important}}
@media print{.site-header{position:static}.reading-progress,.header-controls,.image-plus,.photo-loupe{display:none}.reveal{opacity:1!important;transform:none!important}.section-panel{break-inside:avoid}}

@media(max-width:800px){html:not(.js-ready) .site-header{height:auto;flex-wrap:wrap;padding-top:15px}html:not(.js-ready) .primary-nav{position:static;order:3;width:100%;box-shadow:none;padding:10px 0 20px;display:flex;flex-wrap:wrap;gap:8px 22px}html:not(.js-ready) .primary-nav>a{font:18px/1.4 var(--serif);border:0;padding:5px 0}html:not(.js-ready) .menu-toggle{display:none}}

/* Shared content-width standard for current and future pages. */
:root{--content-max:1440px;--content-inner-max:1284px;--content-gutter:min(var(--gutter),78px)}
