/* MATTEYOSHI — editorial portfolio / responsive / no external assets or font subscriptions */
:root{--paper:#f2efe8;--paper-dark:#e7e2d9;--ink:#20201e;--black:#171816;--muted:#706e67;--line:#d9d4ca;--accent:#a74f3d;--white:#fffdfa;--font-sans:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;--font-serif:"Iowan Old Style","Palatino Linotype","Hiragino Mincho ProN","Yu Mincho",Georgia,serif;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--font-sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{cursor:pointer}[hidden]{display:none!important}::selection{background:#b06f5b;color:white}.container{width:min(calc(100% - 112px),1320px);margin-inline:auto}.skip-link{position:absolute;top:-100px;left:24px;z-index:999;background:var(--black);color:white;padding:10px 20px}.skip-link:focus{top:12px}.eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.5}.eyebrow.tiny{font-size:.62rem;letter-spacing:.13em}.heading-serif{font-family:var(--font-serif);font-size:clamp(2.4rem,4.4vw,5rem);line-height:1.07;letter-spacing:-.064em;font-weight:400;margin:0}.dot{color:var(--accent)}.section{padding-block:122px}.section-head{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-bottom:35px;gap:25px}.section-head p{color:var(--muted);font-size:.85rem;margin:0}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:.76rem;font-weight:700;letter-spacing:.055em;padding-bottom:8px;border-bottom:1px solid var(--ink);transition:color .2s,border-color .2s}.text-link:hover{color:var(--accent);border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:space-between;min-width:220px;gap:22px;padding:17px 22px;font-size:.76rem;font-weight:700;letter-spacing:.035em;border:1px solid transparent;transition:transform .3s var(--ease),background .3s,color .3s}.btn:hover{transform:translateY(-3px)}.btn--dark{background:var(--black);color:var(--white)}.btn--dark:hover{background:var(--accent)}.btn--light{background:var(--paper);color:var(--black)}.btn--light:hover{background:var(--white)}
/* HEADER */
.site-header{height:92px;position:relative;z-index:100;background:var(--paper);border-bottom:1px solid var(--line)}.header-wrap{width:min(calc(100% - 112px),1320px);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;min-width:212px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);width:37px;height:37px;border-radius:50%;font-family:var(--font-serif);font-size:1.7rem;font-style:italic;line-height:1}.brand-mark span{color:#c67960;margin-left:-2px}.brand-text{font-family:var(--font-serif);font-weight:700;letter-spacing:-.06em;font-size:1.26rem;line-height:1}.brand-jp{display:block;font:500 .57rem/1.5 var(--font-sans);letter-spacing:.17em;color:var(--muted);margin-top:2px}.nav-links{display:flex;align-items:center;gap:clamp(14px,2vw,40px)}.nav-links a{font-size:.72rem;font-weight:600;letter-spacing:.025em;white-space:nowrap;position:relative;padding-block:12px}.nav-links a::after{content:"";position:absolute;bottom:5px;left:0;right:100%;border-bottom:1px solid var(--accent);transition:right .25s}.nav-links a:hover::after,.nav-links a[aria-current=page]::after{right:0}.header-right{display:flex;align-items:center;gap:22px}.lang-switch{display:flex;align-items:center;gap:3px;border:1px solid var(--line);padding:4px}.lang-switch a{padding:7px 9px;font-size:.64rem;font-weight:750;color:var(--muted);min-width:32px;text-align:center;line-height:1.2}.lang-switch a:hover{color:var(--ink)}.lang-switch a[aria-current=true]{background:var(--black);color:var(--white)}.menu-toggle{display:none;background:none;border:0;width:40px;height:40px;padding:10px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{display:block;width:20px;height:1.5px;background:var(--ink);transition:transform .2s}
/* HERO */
.hero{position:relative;padding:0 0 48px;overflow:hidden}.hero-container{min-height:695px;display:grid;grid-template-columns:50% 50%;align-items:stretch}.hero-content{padding:clamp(85px,9vw,155px) 36px 24px 0;display:flex;flex-direction:column;align-items:flex-start}.hero-over{display:flex;align-items:center;gap:12px;white-space:nowrap}.accent-bullet{display:inline-block;width:7px;height:7px;flex:0 0 7px;background:var(--accent);border-radius:50%}.hero h1{font-family:var(--font-serif);font-weight:400;font-size:clamp(4.2rem,7.1vw,8.1rem);line-height:.98;letter-spacing:-.075em;white-space:nowrap;margin:44px 0 26px}.hero h1 em{font-weight:400;color:var(--accent)}.hero-copy{font-size:clamp(.92rem,1.17vw,1.04rem);color:#63615b;line-height:1.85;max-width:410px;margin:0}.hero-cta{display:flex;align-items:center;gap:32px;margin-top:45px}.hero-bottom{display:flex;align-items:center;gap:18px;margin-top:auto;padding-top:55px;width:100%;font-size:.65rem;font-weight:700;letter-spacing:.09em;color:var(--muted);text-transform:uppercase}.hairline{height:1px;background:var(--line);flex:1}.hero-visual{position:relative;padding:34px 42px 34px 0;min-height:680px}.hero-image{width:100%;height:100%;min-height:610px;position:relative;overflow:hidden;background:#4d625f}.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center center;transition:transform 1.1s var(--ease)}.hero-image:hover img{transform:scale(1.05)}.hero-image::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.43),transparent);pointer-events:none}.hero-image-label{position:absolute;z-index:1;color:white;bottom:24px;left:26px;right:26px;display:flex;justify-content:space-between;gap:10px;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.hero-vertical{position:absolute;right:9px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:.58rem;letter-spacing:.23em;font-weight:700}.scroll-hint{position:absolute;bottom:9px;left:calc((100% - min(calc(100% - 112px),1320px))/2);display:flex;align-items:center;gap:13px;font-size:.59rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.scroll-line{width:42px;height:1px;background:var(--accent)}
/* SELECTED WORKS */
.section-featured{padding-top:125px;padding-bottom:120px}.featured-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}.featured-grid{display:grid;grid-template-columns:repeat(12,1fr);align-items:start;gap:35px 25px}.work-card{display:block;min-width:0}.featured-grid .work-card.feature-1{grid-column:span 7}.featured-grid .work-card.feature-2{grid-column:span 5;margin-top:115px}.featured-grid .work-card.feature-3{grid-column:span 5;margin-top:-45px}.featured-grid .work-card.feature-4{grid-column:span 7;margin-top:42px}.work-card__image{background:var(--paper-dark);overflow:hidden;position:relative}.work-card__image::before{content:"";position:absolute;inset:0;border:1px solid rgba(0,0,0,.05);z-index:1;pointer-events:none}.work-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s}.work-card:hover img{transform:scale(1.035);filter:contrast(1.02)}.featured-grid .feature-1 .work-card__image{aspect-ratio:1.23}.featured-grid .feature-2 .work-card__image{aspect-ratio:.79}.featured-grid .feature-3 .work-card__image{aspect-ratio:.95}.featured-grid .feature-4 .work-card__image{aspect-ratio:1.2}.work-card__meta{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 0 0}.work-card__meta h3{font:400 clamp(1.2rem,1.7vw,1.65rem)/1.25 var(--font-serif);letter-spacing:-.045em;margin:7px 0 0}.card-arrow{border:1px solid var(--line);width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;font-size:1.05rem;transition:background .25s,color .25s,border-color .25s}.work-card:hover .card-arrow{background:var(--ink);color:white;border-color:var(--ink)}
/* STORIES */
.two-stories{padding:0;background:#e7e2d9}.story{display:grid;grid-template-columns:1fr 1fr;min-height:570px}.story:nth-child(2){direction:rtl}.story>*{direction:ltr}.story-graphic{height:570px;position:relative;overflow:hidden;background:#282727}.story-graphic img{width:100%;height:100%;object-fit:cover;filter:grayscale(.24);transition:transform .9s var(--ease)}.story-graphic:hover img{transform:scale(1.04)}.story-graphic-number{position:absolute;left:34px;top:28px;z-index:2;color:white;font-size:.65rem;letter-spacing:.16em;font-weight:700;text-shadow:0 1px 6px #111}.story-content{padding:clamp(55px,7vw,120px) clamp(45px,7vw,130px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.story-content .eyebrow{color:var(--accent)}.story-content h2{margin:30px 0 20px;max-width:440px}.story-content p{color:#5a5955;line-height:1.9;font-size:.95rem;max-width:410px;margin:0 0 28px}
/* ASTRAL PROMO */
.astral-banner{background:#202320;color:#f5f0e8;overflow:hidden}.astral-banner-inner{min-height:590px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative}.astral-banner-content{padding:95px 0;z-index:2}.astral-banner-content .eyebrow{color:#bca99e}.astral-kicker{font-size:.78rem;color:#b5a49d;margin:70px 0 0}.astral-banner h2{font-family:var(--font-serif);font-size:clamp(6rem,12vw,12rem);line-height:.94;letter-spacing:-.095em;font-weight:400;margin:0 0 30px}.astral-sup{font:400 1.7rem/1 var(--font-sans);vertical-align:top;letter-spacing:0;margin-left:8px;color:#b87960}.astral-banner-statement{font:400 clamp(1.25rem,2.2vw,2.3rem)/1.3 var(--font-serif);max-width:440px;margin:0 0 40px;letter-spacing:-.03em}.astral-orbit-wrap{position:relative;width:min(100%,660px);aspect-ratio:1;display:grid;place-items:center;opacity:.88}.astral-orbit{border-radius:50%;border:1px solid rgba(220,187,150,.34);display:grid;place-items:center;position:relative}.astral-orbit.outer{width:95%;height:95%;box-shadow:0 0 0 35px rgba(255,255,255,.014),0 0 0 95px rgba(255,255,255,.008)}.astral-orbit.outer::after{content:"";position:absolute;border:1px dashed rgba(220,187,150,.3);border-radius:50%;inset:8%}.astral-orbit.middle{width:74%;height:74%;border-style:dashed;transform:rotate(-18deg)}.astral-orbit.inner{width:56%;height:56%;background:radial-gradient(circle at 40% 43%,#a16f4b 0%,#51483a 33%,#222925 69%);box-shadow:0 0 68px 8px rgba(169,100,61,.20);border-color:rgba(255,255,255,.15);transform:rotate(18deg)}.astral-orbit.inner span{font-family:var(--font-serif);font-size:5rem;color:#c7b29b}.orbit-small{position:absolute;font-size:2.5rem;right:10%;top:14%;color:#d4a78e}
/* CONTACT BAND & FOOTER */
.contact-band{background:var(--paper);padding:95px 0}.contact-band-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.contact-band h2{margin:24px 0 0}.site-footer{background:var(--black);color:var(--paper);padding:67px 0 25px}.footer-top{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:100px}.footer-wordmark{font-family:var(--font-serif);font-size:clamp(3.3rem,6vw,6rem);font-weight:400;letter-spacing:-.09em;line-height:1}.footer-wordmark span{color:#c57960}.footer-top p{font-size:.86rem;color:#a7a6a2;margin:12px 0 0}.footer-mail{font-size:clamp(.94rem,1.5vw,1.18rem);border-bottom:1px solid #555952;padding-bottom:10px}.footer-mail span{margin-left:20px}.footer-bottom{border-top:1px solid #40423e;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.64rem;letter-spacing:.025em;color:#a9aaa5}.footer-bottom>div{display:flex;gap:30px}.footer-bottom a:hover{color:#fff}
/* INTRO / PORTFOLIO */
.page-intro{padding-top:110px;padding-bottom:75px}.page-intro .section-head{border:0;padding:0;margin:0 0 28px}.page-heading{font:400 clamp(3.6rem,8vw,9rem)/.99 var(--font-serif);letter-spacing:-.077em;margin:0;max-width:1130px}.page-subtitle{font-size:clamp(.95rem,1.4vw,1.17rem);max-width:580px;color:var(--muted);line-height:1.85;margin:35px 0 0}.portfolio-area{padding-top:18px;padding-bottom:150px}.work-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 0;margin-bottom:42px}.filter-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-button{background:transparent;border:1px solid transparent;color:#6d6963;padding:10px 17px;font-size:.72rem;font-weight:700;transition:background .2s,color .2s}.filter-button:hover{color:var(--accent)}.filter-button[aria-pressed=true]{background:var(--black);color:#fff}.work-count{white-space:nowrap;color:var(--muted);font-size:.69rem;letter-spacing:.1em;text-transform:uppercase}.work-count b{color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:25px;row-gap:55px}.portfolio-grid .work-card__image{aspect-ratio:.88}.portfolio-grid .work-card:nth-child(5n+2) .work-card__image{aspect-ratio:.75}.portfolio-grid .work-card:nth-child(5n+3) .work-card__image{aspect-ratio:1.15}.portfolio-grid .work-card:nth-child(5n+4) .work-card__image{aspect-ratio:.98}.portfolio-grid .work-card:nth-child(5n+5) .work-card__image{aspect-ratio:1.05}.empty-state{padding:60px;color:var(--muted)}
/* ARTWORK DETAIL */
.work-detail{padding:48px 0 120px}.back-link{font-size:.72rem;font-weight:700;letter-spacing:.04em;display:inline-block;border-bottom:1px solid var(--ink);padding:0 0 8px;margin-bottom:42px}.back-link:hover{color:var(--accent)}.detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.65fr);gap:7%;align-items:start}.detail-image-wrap{background:#e6e1d9;min-height:300px}.detail-image-button{display:block;background:transparent;border:0;padding:0;width:100%;position:relative}.detail-image-button img{width:100%;height:auto;max-height:85vh;object-fit:contain}.zoom-hint{position:absolute;bottom:15px;right:15px;padding:8px 12px;color:var(--ink);background:#f2efe8d9;font-size:.65rem;font-weight:700}.detail-sidebar{position:sticky;top:25px;padding:20px 0}.detail-sidebar h1{margin:22px 0 35px;font-size:clamp(2.5rem,4vw,4.6rem);overflow-wrap:anywhere}.detail-rule{height:1px;background:var(--line);margin-bottom:34px}.detail-sidebar>p{color:#68645e;font-size:1rem;line-height:1.85;max-width:375px}.detail-year{font-size:.8rem;color:var(--muted);display:block;margin-top:10px}.detail-page-index{color:#9a958d;font-size:.62rem;font-weight:700;letter-spacing:.13em;margin-top:90px}.detail-pager{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);margin-top:60px;padding-top:30px}.detail-pager a{display:flex;flex-direction:column;gap:12px}.detail-pager a:last-child{text-align:right}.detail-pager span{font-size:.67rem;font-weight:700;color:var(--accent);letter-spacing:.08em}.detail-pager strong{font:400 1.45rem/1.25 var(--font-serif)}.lightbox{position:fixed;z-index:9000;inset:0;background:rgba(13,14,13,.97);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px;gap:18px;color:#eee}.lightbox img{max-width:min(95vw,1500px);max-height:83vh;object-fit:contain}.lightbox>span{font-size:.7rem;letter-spacing:.12em}.lightbox-close{position:absolute;top:16px;right:26px;color:white;border:0;background:transparent;font-size:2.5rem}
/* ASTRAL */
.astral-main{background:#1d211f;color:#efe7d7;overflow:hidden}.astral-main-layout{min-height:690px;display:grid;grid-template-columns:55% 45%;align-items:center}.astral-main-copy{padding:120px 0;position:relative;z-index:2}.accent-white{color:#c2ab98}.astral-main-index{color:#a78c7c;font-size:.65rem;letter-spacing:.25em;font-weight:700;margin:65px 0 20px}.astral-main-copy h1{font:400 clamp(8rem,18vw,20rem)/.78 var(--font-serif);letter-spacing:-.14em;margin:0;white-space:nowrap;position:relative}.astral-main-copy h1>span:first-child{color:#cfb59b}.astral-main-copy h1 .asterisk{font:400 2.6rem/1 var(--font-sans);vertical-align:top;letter-spacing:0;margin-left:20px;color:#bb8269}.astral-main-lead{font:400 clamp(1.55rem,3vw,3rem)/1.25 var(--font-serif);margin:42px 0 35px;letter-spacing:-.03em}.astral-mini-separator{height:1px;background:#63645d;width:105px}.astral-credits{display:flex;align-items:center;gap:45px;font-size:.63rem;letter-spacing:.13em;color:#b9aaa0;margin-top:34px;text-transform:uppercase}.astral-main-art{width:130%;aspect-ratio:1;position:relative;margin-left:-17%;display:grid;place-items:center}.astral-disc{position:relative;width:80%;aspect-ratio:1;border-radius:50%;border:1px solid #6d5d4e;display:grid;place-items:center;background:radial-gradient(circle,#8a7560 0%,#453f35 20%,#262d29 48%,#1d211f 72%);box-shadow:0 0 0 45px #ffffff05,0 0 0 105px #ffffff03}.disc-ring{position:absolute;border:1px solid #ad947055;border-radius:50%}.ring-one{inset:8%}.ring-two{inset:19%;border-style:dashed;transform:rotate(25deg)}.ring-three{inset:29%}.disc-star{color:#d9be9e;font:400 9rem/1 var(--font-serif);text-shadow:0 0 40px #d59e7a55}.disc-coordinate{position:absolute;font-size:.62rem;color:#bb9f8b;letter-spacing:.22em;font-weight:700}.disc-coordinate.top{top:12%;right:9%}.disc-coordinate.bottom{bottom:10%;left:10%}.rune{position:absolute;color:#bc8864}.r1{top:22%;left:9%;font-size:2rem}.r2{bottom:23%;right:13%;font-size:4rem}.astral-disclaimer{border-top:1px solid #504a44;padding:17px 0 30px;font-size:.7rem;color:#ada59c;display:flex;gap:12px;align-items:center;line-height:1.8}.astral-disclaimer span{color:#be9273;font-size:1.1rem}.astral-story{padding:145px 0}.astral-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.astral-story h2{margin-top:25px}.astral-story-grid>p{font:400 clamp(1.2rem,1.8vw,1.7rem)/1.75 var(--font-serif);letter-spacing:-.01em;margin:34px 0 0;color:#55524e}.roles-section{background:#e6e1d7;padding:98px 0 130px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.role{position:relative;border-top:1px solid #aaa69d;padding-top:20px}.role-number{font-size:.68rem;color:var(--accent);font-weight:700}.role-line-icon{font:400 4rem/1 var(--font-serif);margin:25px 0 45px}.role h3{font:400 clamp(1.9rem,3vw,3rem)/1.1 var(--font-serif);letter-spacing:-.05em;margin:0 0 18px}.role p{max-width:400px;color:#656159;font-size:.95rem;line-height:1.85}.astral-team{padding:115px 0}.team-rows>div{display:flex;align-items:center;justify-content:space-between;padding:23px 0;border-bottom:1px solid var(--line);gap:30px}.team-rows>div>span{font-size:.8rem;color:var(--muted)}.team-rows strong{font:400 clamp(1.15rem,1.6vw,1.65rem)/1.3 var(--font-serif);text-align:right}.team-rows small{display:block;color:var(--muted);font:.68rem/1.8 var(--font-sans)}.astral-teaser{text-align:center;background:#d7d0c2;padding:100px 0 130px}.astral-teaser .container{max-width:770px}.teaser-outline{font:400 4.5rem/1 var(--font-serif);color:#9d6a56;margin:0 0 20px}.astral-teaser h2{margin:22px 0 15px}.astral-teaser p{color:#676259;font-size:.94rem;line-height:1.75}.astral-teaser .btn{margin-top:30px}
/* ABOUT */
.about-hero{padding:100px 0 135px}.about-grid{display:grid;grid-template-columns:44% 1fr;gap:9%;align-items:center}.about-photo{position:relative;max-height:820px;overflow:hidden;background:#252525}.about-photo img{width:100%;height:740px;max-height:calc(90vh - 80px);object-fit:cover;object-position:center 35%;filter:grayscale(1) contrast(1.06)}.portrait-index{position:absolute;bottom:18px;left:20px;color:white;font-size:.64rem;font-weight:700;letter-spacing:.14em}.about-copy .page-heading{font-size:clamp(3.2rem,5.4vw,6.5rem);margin:35px 0 25px}.about-handwritten{font:italic 400 clamp(1.35rem,2vw,2rem)/1.45 var(--font-serif);color:var(--accent);margin:0 0 34px}.about-bio{color:#5d5b55;line-height:1.95;font-size:1rem;max-width:520px;margin:0}.about-caption{display:block;margin-top:55px;border-top:1px solid var(--line);padding-top:18px;font-size:.7rem;font-weight:700;letter-spacing:.04em;color:var(--muted)}.about-practice{background:#e9e5dd;padding:105px 0 120px}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.practice-item{border-top:1px solid #b9b4ab;padding-top:20px}.practice-item>span{color:var(--accent);font-size:.69rem;font-weight:700;letter-spacing:.1em}.practice-item h2{font-size:clamp(1.7rem,2.6vw,2.7rem);margin:40px 0 18px}.practice-item p{font-size:.87rem;line-height:1.85;color:#625d56;max-width:340px}.journey-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:12%}.journey .heading-serif{margin-top:22px}.journey-list>div{display:grid;grid-template-columns:50px 1fr;gap:25px;border-top:1px solid var(--line);padding:23px 0}.journey-no{color:var(--accent);font-size:.72rem;font-weight:700}.journey-list h3{font:400 clamp(1.25rem,2vw,1.85rem)/1.3 var(--font-serif);margin:0 0 8px}.journey-list p{color:var(--muted);font-size:.86rem;margin:0}.about-contact{background:#202320;color:var(--paper);padding:110px 0}.about-contact .container{display:flex;justify-content:space-between;align-items:center;gap:20px}.about-contact .btn{background:var(--paper);color:var(--ink)}.about-contact .btn:hover{background:white}
/* CONTACT */
.contact-main{min-height:650px;padding:110px 0 130px}.contact-main-grid{display:grid;grid-template-columns:1fr .75fr;gap:9%;align-items:start}.contact-main .page-heading{font-size:clamp(3.8rem,7vw,8rem);margin:35px 0}.contact-intro{font-size:clamp(1rem,1.4vw,1.19rem);color:var(--muted);max-width:530px;line-height:1.85}.contact-availability{margin-top:75px;display:flex;align-items:center;gap:10px;font-size:.68rem;letter-spacing:.04em;font-weight:700;text-transform:uppercase}.contact-info{padding-top:85px}.contact-cell{border-top:1px solid var(--line);padding:24px 0 42px}.contact-cell a{font:400 clamp(1.3rem,2.1vw,2.5rem)/1.2 var(--font-serif);letter-spacing:-.045em;display:flex;justify-content:space-between;gap:10px;margin:28px 0 10px;overflow-wrap:anywhere}.contact-cell a span{font-family:var(--font-sans);font-size:1rem}.contact-cell a:hover{color:var(--accent)}.contact-cell p{font-size:.75rem;color:var(--muted);margin:0}.contact-visual{background:#dddad3;padding:60px 0;color:#9c9b96;overflow:hidden}.contact-visual .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-visual span{font-size:clamp(1.7rem,4.4vw,4.9rem);letter-spacing:-.065em;font-family:var(--font-serif);line-height:1}.contact-icon{font-size:clamp(5rem,9vw,10rem);line-height:1;color:#a95945}.not-found{min-height:80vh;display:flex;flex-direction:column;align-items:start;justify-content:center;padding:5vw;gap:35px}
/* JAPANESE TYPOGRAPHIC ADJUSTMENTS */
.lang-ja .hero h1,.lang-ja .page-heading,.lang-ja .heading-serif{letter-spacing:-.055em}.lang-ja .hero h1{font-size:clamp(3.5rem,5.4vw,6.5rem);line-height:1.22}.lang-ja .astral-banner-statement{line-height:1.55}.lang-ja .work-card__meta h3{line-height:1.5}.lang-ja .nav-links a{font-weight:600}
/* RESPONSIVE */
@media(max-width:1160px){.container,.header-wrap{width:min(calc(100% - 72px),1320px)}.header-wrap{gap:17px}.brand{min-width:160px}.nav-links{gap:17px}.hero h1{font-size:clamp(3.7rem,6.4vw,6rem)}.hero-over{white-space:normal}.hero-content{padding-top:100px}.hero-cta{gap:16px}.hero-cta .btn{min-width:190px}.hero-visual{padding-right:25px}.hero-vertical{right:0}.scroll-hint{left:36px}.story-content{padding:70px 55px}.astral-main-copy h1{font-size:clamp(8rem,17vw,17rem)}}
@media(max-width:900px){.site-header{height:76px}.container,.header-wrap{width:calc(100% - 48px)}.brand{min-width:0}.menu-toggle{display:flex}.nav-links{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);border-bottom:1px solid var(--line);padding:24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #00000012}.site-header.is-open .nav-links{display:flex}.nav-links a{font-size:1rem;padding:13px 4px;border-bottom:1px solid var(--line)}.nav-links a::after{display:none}.site-header.is-open .menu-toggle span:first-child{transform:translateY(3.75px) rotate(45deg)}.site-header.is-open .menu-toggle span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.hero-container{grid-template-columns:1fr 1fr;min-height:590px}.hero-content{padding:95px 15px 40px 0}.hero-visual{min-height:560px;padding-top:22px;padding-bottom:22px}.hero-image{min-height:520px}.hero h1{font-size:clamp(3.5rem,6.7vw,6rem);margin-top:32px}.hero-copy{font-size:.88rem}.hero-cta{align-items:flex-start;flex-direction:column;margin-top:25px;gap:22px}.hero-bottom{padding-top:35px;font-size:.54rem}.section{padding-block:90px}.story{min-height:440px}.story-graphic{height:460px}.story-content{padding:55px 35px}.astral-main-layout{min-height:520px}.astral-main-copy{padding:80px 0}.astral-main-copy h1{font-size:clamp(6.5rem,15.5vw,13rem)}.astral-main-index{margin-top:40px}.about-grid{gap:6%}.about-photo img{height:600px}.astral-banner-inner{min-height:530px}.portfolio-grid{gap:35px 17px}.footer-top{padding-bottom:65px}.detail-layout{gap:5%}}
@media(max-width:680px){.site-header{height:70px}.header-wrap,.container{width:calc(100% - 36px)}.brand-mark{width:33px;height:33px;font-size:1.45rem}.brand-text{font-size:1.04rem}.brand{gap:8px}.header-right{gap:11px}.lang-switch{padding:3px;gap:1px}.lang-switch a{min-width:28px;padding:6px 6px;font-size:.63rem}.nav-links{top:70px}.hero{padding-bottom:48px}.hero-container{display:flex;flex-direction:column-reverse;min-height:0}.hero-visual{padding:20px 0 0;height:440px;min-height:0}.hero-image{min-height:0;height:100%;aspect-ratio:1.05}.hero-image img{object-position:center 70%}.hero-vertical{display:none}.hero-image-label{bottom:17px;left:17px;right:17px}.hero-content{padding:45px 0 55px;min-height:420px}.hero h1{font-size:clamp(4.2rem,14vw,7rem);line-height:1;letter-spacing:-.085em;margin:25px 0}.lang-ja .hero h1{font-size:clamp(3.1rem,9vw,5.2rem)}.hero-copy{font-size:.92rem}.hero-cta{flex-direction:row;align-items:center;gap:20px;margin-top:28px}.hero-cta .btn{min-width:0;padding:16px;flex:0 0 auto}.hero-cta .text-link{font-size:.7rem}.hero-bottom{padding-top:40px;margin-top:auto}.scroll-hint{left:18px;bottom:15px}.section{padding-block:75px}.section-head{align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:25px}.featured-header{align-items:flex-start;flex-direction:column;gap:20px}.featured-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.featured-grid .work-card.feature-1,.featured-grid .work-card.feature-2,.featured-grid .work-card.feature-3,.featured-grid .work-card.feature-4{grid-column:span 1;margin:0}.featured-grid .work-card.feature-1{grid-column:span 2}.featured-grid .feature-1 .work-card__image{aspect-ratio:1.2}.featured-grid .feature-2 .work-card__image,.featured-grid .feature-3 .work-card__image,.featured-grid .feature-4 .work-card__image{aspect-ratio:.8}.featured-grid .feature-4{grid-column:span 2!important}.featured-grid .feature-4 .work-card__image{aspect-ratio:1.25}.work-card__meta{padding-top:13px}.work-card__meta h3{font-size:1.12rem}.card-arrow{height:30px;width:30px;flex-basis:30px}.two-stories{padding:0}.story,.story:nth-child(2){display:flex;flex-direction:column;direction:ltr}.story-graphic{height:365px}.story-content{padding:55px 25px 65px}.story-content h2{margin:20px 0 14px}.astral-banner-inner{display:flex;flex-direction:column;align-items:stretch;min-height:0}.astral-banner-content{padding:70px 0 25px}.astral-kicker{margin:40px 0 10px}.astral-banner h2{font-size:clamp(5.8rem,20vw,9rem)}.astral-banner-statement{font-size:1.7rem}.astral-orbit-wrap{width:96%;margin:-10px auto -50px}.contact-band{padding:70px 0}.contact-band-inner{align-items:flex-start;flex-direction:column;gap:28px}.site-footer{padding:60px 0 25px}.footer-top{align-items:flex-start;flex-direction:column;padding-bottom:60px;gap:35px}.footer-wordmark{font-size:3.9rem}.footer-bottom{align-items:flex-start;flex-direction:column;gap:18px}.page-intro{padding:65px 0 45px}.page-heading{font-size:clamp(3.4rem,12vw,5.8rem)}.page-subtitle{margin-top:25px}.portfolio-area{padding-top:0;padding-bottom:90px}.work-tools{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 0;margin-bottom:30px}.filter-controls{gap:2px}.filter-button{padding:8px 10px;font-size:.7rem}.work-count{align-self:flex-end;font-size:.63rem}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 15px}.portfolio-grid .work-card__image,.portfolio-grid .work-card:nth-child(n) .work-card__image{aspect-ratio:.82}.portfolio-grid .work-card__meta h3{font-size:1.1rem}.work-detail{padding:25px 0 85px}.back-link{margin-bottom:25px}.detail-layout{grid-template-columns:1fr;gap:20px}.detail-sidebar{position:static;padding:10px 0 0}.detail-sidebar h1{font-size:2.7rem;margin:12px 0 25px}.detail-page-index{margin-top:30px}.detail-pager{gap:15px;margin-top:36px}.detail-pager strong{font-size:1.12rem}.astral-main-layout{display:flex;flex-direction:column;align-items:stretch;min-height:0}.astral-main-copy{padding:65px 0 0}.astral-main-index{margin:42px 0 12px}.astral-main-copy h1{font-size:clamp(6rem,20vw,9rem)}.astral-main-copy h1 .asterisk{font-size:1.5rem;margin-left:12px}.astral-main-lead{font-size:1.5rem;margin:25px 0}.astral-credits{gap:20px;flex-wrap:wrap}.astral-main-art{width:120%;margin:0 -10% -100px}.astral-disc{box-shadow:0 0 0 35px #ffffff05}.disc-star{font-size:5rem}.astral-disclaimer{position:relative;z-index:1;background:#1d211f;font-size:.67rem}.astral-story-grid{grid-template-columns:1fr;gap:12px}.astral-story-grid>p{margin:0;font-size:1.3rem}.roles-section{padding:65px 0 85px}.role-grid{grid-template-columns:1fr;gap:45px}.role-line-icon{margin:16px 0 20px}.role h3{font-size:2.4rem}.astral-team{padding:75px 0}.team-rows>div{align-items:flex-start;flex-direction:column;gap:6px}.team-rows strong{text-align:left;font-size:1.4rem}.astral-teaser{padding:80px 0}.about-hero{padding:25px 0 85px}.about-grid{display:flex;flex-direction:column;gap:52px}.about-photo{width:100%;max-height:none}.about-photo img{height:450px;max-height:none;object-position:center 31%}.about-copy .page-heading{font-size:clamp(3.4rem,10vw,6rem);margin:20px 0}.about-practice{padding:75px 0}.practice-grid{grid-template-columns:1fr;gap:24px;margin-top:30px}.practice-item h2{margin:20px 0 9px;font-size:2.35rem}.practice-item p{margin:0}.journey-grid{grid-template-columns:1fr;gap:35px}.about-contact .container{flex-direction:column;align-items:flex-start}.contact-main{min-height:0;padding:80px 0 85px}.contact-main-grid{grid-template-columns:1fr;gap:20px}.contact-main .page-heading{font-size:clamp(3.5rem,11vw,5.5rem);margin:26px 0}.contact-availability{margin-top:37px}.contact-info{padding-top:25px}.contact-cell a{font-size:1.65rem}.contact-visual{padding:45px 0}.contact-visual span{font-size:2rem}.contact-icon{font-size:5rem}}
@media(max-width:390px){.brand-jp{display:none}.brand-text{font-size:1rem}.header-right{gap:5px}.lang-switch a{min-width:25px;padding:6px 5px}.hero h1{font-size:3.9rem}.hero-cta{align-items:flex-start;flex-direction:column}.hero-visual{height:360px}.footer-wordmark{font-size:3.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* CREATIVE PROCESS */
.work-process{padding:110px 0;background:#e8e3da}.work-process .heading-serif{margin:20px 0 40px;max-width:900px}.process-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.process-grid figure{margin:0;grid-column:span 2;min-width:0}.process-grid figure:nth-child(4),.process-grid figure:nth-child(5){grid-column:span 3}.process-grid figure img{aspect-ratio:1.42;width:100%;height:auto;object-fit:cover;background:#d4cdc0}.process-grid figcaption{color:#79756d;font-size:.63rem;letter-spacing:.12em;font-weight:700;padding-top:10px}@media(max-width:680px){.work-process{padding:75px 0}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.process-grid figure,.process-grid figure:nth-child(4),.process-grid figure:nth-child(5){grid-column:span 1}.process-grid figure:first-child{grid-column:span 2}}

/* MATTEYOSHI · Visual Journal V2: photography, clear portfolio, artist identity */
:root{--copper:#ab5440;--deep:#182321;--paper-warm:#e9e4dc}
.brand-jp{font-size:.68rem;letter-spacing:.13em;color:var(--accent);font-weight:650}
.footer-kanji{font-family:var(--font-sans);font-size:clamp(1rem,2vw,1.5rem);letter-spacing:.08em;color:#b6ac9c;vertical-align:middle;white-space:nowrap}
.footer-intro{max-width:380px;font-size:.82rem;opacity:.65;margin-top:14px}
.site-footer .footer-top{padding-bottom:55px}
.footer-social{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;padding:28px 0;margin-bottom:28px}
.footer-social>.eyebrow{flex:0 0 auto;color:#d9c7b7}
.social-links,.contact-social-links{display:flex;gap:16px 21px;flex-wrap:wrap;align-items:center}
.social-links a,.contact-social-links a{display:inline-flex;gap:6px;align-items:baseline;font-size:.8rem;color:#ede9e1;transition:color .25s}
.social-links a:hover,.contact-social-links a:hover{color:#d5a18f}
.social-links a span,.contact-social-links a span{color:#be8571}
.contact-social{background:var(--black);padding:60px 0 75px;color:white}
.contact-social .eyebrow{display:block;color:#c9b8a7;margin-bottom:25px}
.contact-social-links{gap:12px}
.contact-social-links a{font-family:var(--font-serif);font-size:clamp(1.55rem,3vw,2.7rem);border:1px solid #ffffff34;padding:12px 20px}
.contact-social-links a:hover{background:#ffffff10}
.nav-links{gap:clamp(9px,1.35vw,24px)}
/* A brief but informative self-introduction on the front page */
.about-brief{background:#ddd7cd;padding:68px 0}
.about-brief-grid{display:grid;grid-template-columns:1fr 2fr;gap:35px;align-items:start}
.about-brief .eyebrow{margin-top:8px}
.about-brief h2{font-size:clamp(2rem,3.7vw,4.3rem);margin:0 0 22px;line-height:1.14;max-width:900px}
.about-brief p{color:#686258;margin-bottom:15px;max-width:720px;line-height:1.7}
/* Three-photo editorial vignette */
.photo-feature-section{background:#ebe7df;padding:125px 0;overflow:hidden}
.photo-feature-grid{display:grid;grid-template-columns:.9fr 1.35fr;gap:min(8vw,110px);align-items:center}
.photo-feature-copy{padding:25px 0 45px}
.photo-feature-copy .eyebrow{color:#985e4d}
.photo-feature-copy h2{font-size:clamp(3.2rem,5vw,6rem);line-height:1.05;margin:26px 0;max-width:620px}
.photo-feature-copy p{max-width:530px;color:#625f58;line-height:1.85;font-size:1rem;margin-bottom:38px}
.film-badge{display:flex;align-items:center;gap:14px;margin-top:75px;font-size:.67rem;letter-spacing:.18em;font-weight:800;color:#8e6b61}
.film-badge span{font-size:2rem;line-height:1;color:#ac5b45}
.photo-feature-images{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:325px 265px;gap:14px;min-width:0}
.photo-frame{display:block;position:relative;overflow:hidden;background:#ccc6bb}
.photo-frame:first-child{grid-row:span 2}
.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;filter:grayscale(.12)}
.photo-frame:hover img{transform:scale(1.055)}
.photo-frame span{position:absolute;inset:auto 0 0;padding:26px 15px 12px;font-size:.57rem;letter-spacing:.08em;color:white;background:linear-gradient(transparent,#101010a6);text-transform:uppercase}
/* Independent photography gallery */
.photography-hero{background:#e6e0d7;padding:85px 0 100px}
.photography-hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(35px,6vw,100px);align-items:center}
.photography-hero-copy{padding:20px 0}
.photography-hero-copy .page-heading{font-size:clamp(3.5rem,6vw,7rem);line-height:1.04;max-width:700px;margin:27px 0 24px}
.photography-hero-copy .page-subtitle{font-size:1.06rem;max-width:590px}
.photo-statement{color:#686158;font-size:.91rem;line-height:1.9;max-width:570px;margin:25px 0}
.photography-hero-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}
.photography-hero-nav a{display:inline-flex;padding:12px 16px;border:1px solid #a5a096;font-size:.72rem;font-weight:700;transition:.2s}
.photography-hero-nav a:hover{background:#2d2d2a;color:white;border-color:#2d2d2a}
.photography-hero-image{position:relative;height:min(68vw,660px);max-height:690px;overflow:hidden;background:#bbb4ab}
.photography-hero-image img{height:100%;width:100%;object-fit:cover}
.photography-hero-image>.eyebrow{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);color:white;padding:40px 20px 18px}
.photography-archive{padding:115px 0;background:var(--paper)}
.photo-title{display:grid;grid-template-columns:.45fr 1fr;gap:22px 45px;margin-bottom:54px;align-items:start}
.photo-title .eyebrow{grid-column:1}
.photo-title h2{grid-column:2;grid-row:1;margin:0;font-size:clamp(2.8rem,4vw,4.8rem)}
.photo-title p{grid-column:2;margin:0;color:#6a655f}
.photo-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px 18px;align-items:start}
.photo-gallery-item{grid-column:span 4;min-width:0}
.photo-gallery-item:nth-child(5n+1){grid-column:span 7}
.photo-gallery-item:nth-child(5n+2){grid-column:span 5;margin-top:60px}
.photo-gallery-item:nth-child(5n+3){grid-column:span 4}
.photo-gallery-item:nth-child(5n+4){grid-column:span 4}
.photo-gallery-item:nth-child(5n){grid-column:span 4}
.photo-gallery-item .work-card__image{aspect-ratio:4/3}
.photo-gallery-item:nth-child(5n+2) .work-card__image{aspect-ratio:3/4}
.photo-gallery-item:nth-child(5n+1) .work-card__image{aspect-ratio:5/4}
.photo-gallery-item:nth-child(5n+3) .work-card__image{aspect-ratio:1/1}
.photo-gallery-item .work-card__image img{object-fit:cover}
/* Actual film photos will appear here after being uploaded */
.analog-section{padding:115px 0;background:#25312e;color:#f1ede4}
.analog-section .eyebrow{color:#c3bdb1}
.analog-title-row{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:22px}
.analog-title-row h2{font-size:clamp(3.9rem,6vw,7rem);line-height:1.08;margin:0;color:#f6f0e3}
.analog-title-row .dot{color:#c78268}
.film-icon{font-size:5rem;opacity:.45}
.analog-lead{font:italic 1.2rem var(--font-serif);color:#d8cfbd;margin-bottom:48px}
.analog-coming{border-top:1px solid #ffffff46;border-bottom:1px solid #ffffff46;min-height:330px;display:grid;grid-template-columns:.5fr 2fr .65fr;align-items:center;gap:22px;position:relative}
.analog-cross{font-size:7rem;font-weight:200;color:#aa7968;align-self:start;margin-top:43px}
.analog-coming h3{font:normal clamp(2.5rem,4.4vw,5rem) var(--font-serif);margin:14px 0 16px}
.analog-coming p{color:#d7d3c9;max-width:490px;line-height:1.7}
.analog-outline{font-family:var(--font-serif);font-size:clamp(10rem,17vw,19rem);font-style:italic;line-height:1;color:#ffffff14;text-align:right}
.analog-section .work-card,.analog-section .work-card__meta,.analog-section .work-card__meta span{color:#f7eee0}
.photo-contact{background:#e6e0d7;padding:90px 0;text-align:center}
.photo-contact h2{margin:25px 0 30px}
/* Clear category-first portfolio */
.portfolio-intro{padding-bottom:24px}
.portfolio-area{padding-top:42px}
.portfolio-gateways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0 100px}
.portfolio-gateway{display:flex;flex-direction:column;min-width:0;background:#dfd9cf;transition:transform .35s ease,box-shadow .35s ease}
.portfolio-gateway:hover{transform:translateY(-6px);box-shadow:0 15px 35px #2926221d}
.portfolio-gateway-media{height:260px;overflow:hidden;background:#aaa296}
.portfolio-gateway img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.portfolio-gateway:hover img{transform:scale(1.05)}
.portfolio-gateway-copy{padding:24px;flex:1}
.portfolio-gateway-copy .eyebrow{color:#85665d}
.portfolio-gateway-copy h2{display:flex;justify-content:space-between;align-items:center;gap:10px;font:normal clamp(1.85rem,2.45vw,3.3rem) var(--font-serif);margin:12px 0 9px}
.portfolio-gateway-copy h2 span{font:normal 1.25rem var(--font-sans);color:#a15540}
.portfolio-gateway-copy p{font-size:.83rem;color:#625e58;line-height:1.6}
.portfolio-collection{padding:85px 0 95px;border-top:1px solid var(--line);scroll-margin-top:25px}
.portfolio-collection-heading{display:grid;grid-template-columns:.48fr 1.2fr;gap:13px 35px;margin-bottom:38px}
.portfolio-collection-heading>.eyebrow{grid-column:1;align-self:start;padding-top:12px}
.portfolio-collection-heading h2{grid-column:2;grid-row:1;font-size:clamp(3rem,5vw,6rem);margin:0}
.portfolio-collection-heading p{grid-column:2;grid-row:2;margin:0;color:#767068}
.portfolio-collection .portfolio-grid{row-gap:35px}
.portfolio-collection>.text-link{display:inline-block;margin-top:35px}
/* Bio photograph and captions */
.about-copy .about-bio{max-width:670px;line-height:1.83}
.about-photography{background:#d8d3c9;padding:95px 0}
.about-photography-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center}
.about-photography h2{margin:25px 0;font-size:clamp(2.9rem,4.5vw,5rem)}
.about-photography p{line-height:1.85;color:#625f57;margin:0 0 32px;max-width:620px}
.about-photography-cover{height:490px;overflow:hidden;background:#aea49a}
.about-photography-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.about-photography-cover:hover img{transform:scale(1.04)}
.photo-detail-data{margin-top:25px;border-top:1px solid #0002;padding-top:23px;display:flex;gap:10px;flex-wrap:wrap}
.photo-detail-data .eyebrow{flex-basis:100%}
.photo-detail-data span:not(.eyebrow){font-size:.75rem;border:1px solid #0002;padding:6px 10px}
@media(max-width:1100px){.photo-feature-section{padding:80px 0}.photo-feature-grid{gap:40px}.photo-feature-images{grid-template-rows:250px 220px}.portfolio-gateway-media{height:215px}.portfolio-gateway-copy{padding:18px}}
@media(max-width:900px){.photo-feature-grid,.photography-hero-grid{grid-template-columns:1fr}.photo-feature-images{min-height:490px;grid-template-rows:250px 220px}.photography-hero{padding:40px 0 70px}.photography-hero-image{height:530px}.about-photography-inner{grid-template-columns:1fr;gap:30px}.about-photography-cover{height:430px}.footer-social{align-items:flex-start;flex-direction:column}.portfolio-gateways{gap:10px}.portfolio-gateway-media{height:185px}.portfolio-gateway-copy h2{font-size:1.7rem}}
@media(max-width:680px){.about-brief{padding:45px 0}.about-brief-grid{grid-template-columns:1fr;gap:10px}.about-brief h2{font-size:2.15rem}.photo-feature-section{padding:60px 0}.photo-feature-copy{padding:0}.photo-feature-copy h2{font-size:3.3rem}.film-badge{margin-top:35px}.photo-feature-images{grid-template-rows:215px 175px;gap:8px;min-height:0}.photo-frame span{font-size:.48rem;padding:20px 8px 8px}.photography-hero-copy .page-heading{font-size:3.8rem}.photography-hero-image{height:420px}.photography-archive{padding:65px 0}.photo-title,.portfolio-collection-heading{grid-template-columns:1fr;gap:10px}.photo-title .eyebrow,.photo-title h2,.photo-title p,.portfolio-collection-heading>.eyebrow,.portfolio-collection-heading h2,.portfolio-collection-heading p{grid-column:1;grid-row:auto}.photo-title h2{font-size:3rem}.photo-gallery-grid{gap:30px 12px}.photo-gallery-item,.photo-gallery-item:nth-child(n){grid-column:span 6;margin-top:0}.photo-gallery-item:nth-child(3n+1){grid-column:span 12}.photo-gallery-item:nth-child(3n+1) .work-card__image{aspect-ratio:4/3}.photo-gallery-item:nth-child(3n+2) .work-card__image,.photo-gallery-item:nth-child(3n+3) .work-card__image{aspect-ratio:3/4}.analog-section{padding:70px 0}.analog-title-row h2{font-size:3.5rem}.analog-coming{grid-template-columns:1fr;gap:5px;padding:35px 0}.analog-cross{font-size:3rem;margin:0}.analog-outline{position:absolute;right:0;bottom:0;font-size:10rem}.analog-coming>div:nth-child(2){position:relative;z-index:1}.analog-coming p{font-size:.85rem}.portfolio-gateways{grid-template-columns:1fr;gap:16px;margin-bottom:45px}.portfolio-gateway{display:grid;grid-template-columns:36% 64%;align-items:stretch;min-height:170px}.portfolio-gateway-media{height:100%;min-height:170px}.portfolio-gateway-copy{padding:18px}.portfolio-gateway-copy h2{font-size:2.15rem}.portfolio-gateway-copy p{font-size:.78rem}.portfolio-collection{padding:55px 0}.portfolio-collection-heading h2{font-size:3.15rem}.portfolio-collection .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 13px}.portfolio-collection .portfolio-grid .work-card__image{aspect-ratio:3/4}.about-photography{padding:65px 0}.about-photography-cover{height:330px}.contact-social{padding:55px 0}.contact-social-links a{font-size:1.5rem}.footer-social{padding:25px 0}}
@media(max-width:410px){.portfolio-gateway-copy h2{font-size:1.75rem}.photo-gallery-item:nth-child(n) .work-card__meta b{font-size:.86rem}.footer-kanji{display:inline-block}}

/* ──────────────────────────────────────────────────────────────────
   V3 — Editorial reading experience, accessible native SVG ornamentation.
   Every decorative glyph is an SVG or a CSS line, never an emoji font.
   ────────────────────────────────────────────────────────────────── */
.site-icon{display:inline-block;vertical-align:-.19em;width:1.05em;height:1.05em;flex:0 0 auto;stroke:currentColor;fill:none}
.btn .site-icon,.text-link .site-icon{width:1rem;height:1rem}
.card-arrow .site-icon{width:17px;height:17px}
.lang-ja .eyebrow{text-transform:none;letter-spacing:.09em}
.hero-subcopy{margin:17px 0 0;max-width:420px;color:#8c8177;font:italic 1.06rem/1.75 var(--font-serif)}
.hero-content{padding-top:clamp(65px,7vw,125px)}
.hero-cta{margin-top:34px}
.hero h1{margin-top:37px;margin-bottom:26px}
.v3-vision{padding:105px 0 118px;background:#e4ddd2;scroll-margin-top:28px}
.v3-vision-grid{display:grid;grid-template-columns:.32fr 1fr;gap:65px;align-items:start}
.v3-vision-grid>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:40px}
.v3-vision-seal{font-family:var(--font-serif);font-size:clamp(4.2rem,8vw,8.4rem);font-weight:400;line-height:1.1;letter-spacing:-.085em;writing-mode:vertical-rl;color:#ad735f;opacity:.5}
.v3-vision h2{font-size:clamp(3.35rem,6.4vw,7rem);margin:0 0 40px;max-width:870px}
.v3-vision p{max-width:780px;color:#69635c;font-size:1rem;line-height:1.93;margin:0 0 19px}
.v3-vision p.v3-lead{font-family:var(--font-serif);font-size:clamp(1.4rem,2.25vw,2.3rem);line-height:1.54;color:#292824}
.v3-discipline-links{display:flex;flex-wrap:wrap;gap:11px 30px;border-top:1px solid #c9c2b8;margin-top:42px;padding-top:22px}
.v3-discipline-links a{display:inline-flex;align-items:center;gap:14px;font-size:.73rem;font-weight:700;letter-spacing:.03em}
.v3-discipline-links a:hover{color:var(--accent)}
.v3-about-section{padding:118px 0 124px;background:#f4f1eb;scroll-margin-top:12px}
.v3-about-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:50px}
.v3-small-index{font-size:.67rem;letter-spacing:.12em;color:var(--muted);font-weight:700}
.v3-about-layout{display:grid;grid-template-columns:.84fr 1.16fr;gap:clamp(42px,8vw,125px);align-items:start}
.v3-about-image{position:relative;background:#d5cfc7;min-width:0;max-width:530px}
.v3-about-image img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.8)}
.v3-about-image>span{position:absolute;bottom:20px;left:20px;color:#fff;font-size:.61rem;font-weight:750;letter-spacing:.14em;text-shadow:0 1px 8px #000a}
.v3-about-copy h2{font-size:clamp(3rem,5vw,6rem);margin:0 0 34px}
.v3-about-copy>p{font-size:.95rem;line-height:1.87;color:#655f58;margin:0 0 18px;max-width:690px}
.v3-about-copy>p.v3-about-highlight{color:#282725;font-family:var(--font-serif);font-size:clamp(1.3rem,1.9vw,1.9rem);line-height:1.5;margin-bottom:26px}
.v3-about-meta{display:grid;gap:12px;border-top:1px solid #d6cfc6;border-bottom:1px solid #d6cfc6;padding:25px 0;margin:34px 0}
.v3-about-meta span{font-size:.68rem;letter-spacing:.08em;font-weight:750;color:#836b60}
.v3-process-section{padding:114px 0 118px;background:#dfd9cf;scroll-margin-top:22px}
.v3-process-header{display:grid;grid-template-columns:.34fr 1fr;gap:60px;margin-bottom:42px}
.v3-process-header h2{margin:0 0 21px;font-size:clamp(3rem,4.9vw,5.8rem)}
.v3-process-header p{max-width:680px;font-size:.98rem;line-height:1.85;color:#5f5952}
.v3-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.v3-process-grid figure{margin:0;min-width:0}
.v3-process-grid figure img{aspect-ratio:5/4;width:100%;object-fit:cover;background:#aaa297;filter:saturate(.8)}
.v3-process-grid figcaption{margin-top:14px;font-size:.65rem;font-weight:700;letter-spacing:.11em;color:#77685f}
.v3-photo-extra{font-size:.88rem!important;line-height:1.9!important;margin-top:-5px!important;max-width:535px;color:#706760!important}
.v3-film-divider{display:inline-block;width:16px;height:1px;background:#b78168;align-self:center;flex:0 0 16px}
.film-badge .v3-film-divider{font-size:inherit}
.v3-astral-intro{color:#d5c9bd;font-size:.86rem;line-height:1.8;max-width:480px;margin:-6px 0 28px}
.v3-end-statement{max-width:540px;color:#615c55;margin-top:18px;font:italic 1.06rem/1.55 var(--font-serif)}
#featured,#disciplines,#photo-story,#astral-feature,#contact-feature{scroll-margin-top:16px}
.scroll-progress{position:fixed;right:17px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:14px;align-items:center;pointer-events:none;color:#896b5d;mix-blend-mode:multiply}
.progress-caption{writing-mode:vertical-rl;font-size:.57rem;line-height:1;letter-spacing:.24em;font-weight:800}
.progress-track{height:136px;width:2px;background:#9d8d7b55;position:relative;border-radius:10px;overflow:visible}
.progress-fill{position:absolute;inset:0 0 auto;height:100%;background:#a65340;transform:scaleY(0);transform-origin:top;transition:transform .1s linear}
.progress-dot{position:absolute;left:-3px;top:0;width:8px;height:8px;border-radius:50%;background:#a65340;transform:translateY(0);box-shadow:0 0 0 3px var(--paper)}
.progress-percentage{font-size:.58rem;letter-spacing:.04em;font-weight:800;font-variant-numeric:tabular-nums}
.astral-sup .site-icon,.disc-star .site-icon,.rune .site-icon,.orbit-small .site-icon,.astral-orbit .site-icon{height:1em;width:1em}
.film-icon .site-icon{width:1em;height:1em;stroke-width:1}
.analog-cross .site-icon{height:1em;width:1em;stroke-width:.75}
.asterisk .site-icon{height:1em;width:1em;stroke-width:1}
.role-line-icon .site-icon{height:1em;width:1em;stroke-width:1.2}
.contact-icon .site-icon,.teaser-outline .site-icon{height:1em;width:1em;stroke-width:.9}
.astral-disclaimer .site-icon{width:1.1em;height:1.1em}
.zoom-hint .site-icon{margin-right:8px}
.detail-pager .site-icon{width:1em;height:1em}
.detail-pager a:first-child .site-icon{transform:rotate(180deg)}
@media(max-width:1160px){
 .scroll-progress{right:8px}
 .v3-about-layout{gap:50px}
 .v3-about-copy h2{font-size:clamp(2.7rem,5vw,4.8rem)}
}
@media(max-width:900px){
 .v3-vision{padding:85px 0}
 .v3-vision-grid{grid-template-columns:1fr;gap:22px}
 .v3-vision-grid>div:first-child{gap:0}
 .v3-vision-seal{display:none}
 .v3-vision h2{margin:0 0 24px}
 .v3-about-layout{gap:32px;grid-template-columns:.84fr 1.16fr}
 .v3-about-section{padding:85px 0}
 .v3-process-section{padding:80px 0}
 .v3-process-header{grid-template-columns:1fr;gap:15px}
 .scroll-progress{right:7px}
}
@media(max-width:680px){
 .hero-subcopy{font-size:.96rem;margin-top:12px}
 .hero-content{padding-top:58px}
 .v3-vision{padding:65px 0 73px}
 .v3-vision h2{font-size:clamp(2.7rem,11vw,4.5rem)}
 .v3-vision p.v3-lead{font-size:1.46rem}
 .v3-vision p{font-size:.92rem}
 .v3-discipline-links{gap:15px;flex-direction:column}
 .v3-about-section{padding:70px 0}
 .v3-about-heading{align-items:flex-start;gap:10px}
 .v3-about-layout{grid-template-columns:1fr;gap:38px}
 .v3-about-image{max-width:100%}
 .v3-about-image img{aspect-ratio:4/3;object-position:50% 34%}
 .v3-about-copy h2{font-size:clamp(2.8rem,11vw,4.5rem);margin-bottom:24px}
 .v3-about-copy>p{font-size:.94rem}
 .v3-about-meta{margin:28px 0}
 .v3-process-header h2{font-size:clamp(2.7rem,11vw,4.4rem)}
 .v3-process-grid{gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .v3-process-grid figure:first-child{grid-column:span 2}
 .v3-process-grid figure:first-child img{aspect-ratio:1.6}
 .v3-process-grid figure:not(:first-child) img{aspect-ratio:3/4}
 .v3-process-grid figcaption{font-size:.55rem}
 .scroll-progress{right:4px;gap:5px;top:auto;bottom:26%;transform:none}
 .scroll-progress .progress-caption{display:none}
 .progress-track{height:85px;width:2px}
 .progress-percentage{font-size:.5rem}
 .progress-dot{width:6px;height:6px;left:-2px}
 .v3-astral-intro{font-size:.84rem}
}
@media(prefers-reduced-motion:reduce){.progress-fill{transition:none}}
/* The Japanese artist signature stays visible even on the smallest phones. */
@media(max-width:390px){
 .brand-jp{display:block;font-size:.51rem;letter-spacing:.085em}
 .brand-text{font-size:.92rem}
 .brand-mark{width:29px;height:29px;font-size:1.32rem;flex:0 0 29px}
 .brand{gap:6px}
 .header-right{gap:2px}
 .menu-toggle{width:34px;height:36px;padding:6px}
 .lang-switch a{min-width:24px;padding:6px 4px}
}

/* MATTEYOSHI V4 — unified portfolio rhythm and artist-provided imagery */
/* One consistent card footprint per grid, regardless of the source's orientation. */
.portfolio-collection .portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:43px 22px;align-items:start}
.portfolio-collection .portfolio-grid .work-card{min-width:0;margin:0}
.portfolio-collection .portfolio-grid .work-card__image,
.portfolio-collection .portfolio-grid .work-card:nth-child(n) .work-card__image{aspect-ratio:4/5!important;height:auto}
.portfolio-collection .portfolio-grid .work-card__image img{width:100%;height:100%;object-fit:cover;object-position:center}
/* Photography index mirrors these uniform frames; no staggered masonry */
.photo-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 21px;align-items:start}
.photo-gallery-item,.photo-gallery-item:nth-child(n){grid-column:auto;min-width:0;margin:0}
.photo-gallery-item .work-card__image,.photo-gallery-item:nth-child(n) .work-card__image{aspect-ratio:4/5!important}
.photo-gallery-item .work-card__image img{width:100%;height:100%;object-fit:cover}
/* The actual Astral manga page, framed like an artist's editorial spread */
.astral-home-image{position:absolute;inset:8% 23% 5% 20%;z-index:2;transform:rotate(5deg);background:#eeeae2;border:9px solid #e9e3d8;box-shadow:0 25px 75px #0008;overflow:hidden}
.astral-home-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.astral-main-art{position:relative;isolation:isolate}
.astral-hero-page{position:absolute;z-index:4;inset:8% 15% 8% 16%;transform:rotate(3deg);border:9px solid #efece4;background:#fafafa;box-shadow:0 25px 80px #0006;overflow:hidden}
.astral-hero-page img{width:100%;height:100%;object-fit:cover;object-position:center}
.astral-hero-page span{position:absolute;bottom:0;right:0;background:#efece4;color:#282927;padding:8px 12px;font-size:.55rem;letter-spacing:.13em;font-weight:700}
.astral-artwork-section{background:#ebe7df;padding-top:72px;padding-bottom:110px}
.astral-artwork-header{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #c8c1b7;padding-top:22px;margin-bottom:40px}
.astral-excerpt-id{color:#867e73;font-size:.65rem;font-weight:600;letter-spacing:.13em}
.astral-artwork-figure{margin:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(200px,.65fr);gap:clamp(25px,7vw,115px);align-items:end}
.astral-artwork-figure>a{display:block;background:#fdfdfd;border:1px solid #cfc8be;padding:clamp(8px,1.5vw,23px);max-width:760px;transition:transform .3s}
.astral-artwork-figure>a:hover{transform:translateY(-5px)}
.astral-artwork-figure img{width:100%;height:auto;object-fit:contain}
.astral-artwork-figure figcaption{display:grid;gap:24px;max-width:390px;color:#6d645a;font-size:.9rem;line-height:1.85;padding-bottom:14px}
.astral-artwork-figure figcaption>a{display:inline-flex;align-items:center;gap:12px;color:#934e3e;font-size:.75rem;font-weight:700;border-bottom:1px solid #c49a86;padding-bottom:10px;width:max-content}
/* The film photographs must retain their dark, natural exposure and grain. No exposure/filter corrections. */
.analog-section .work-card__image img{filter:none}
@media(max-width:900px){
 .portfolio-collection .portfolio-grid,.photo-gallery-grid{gap:32px 14px}
 .astral-home-image{inset:10% 20% 6% 23%}
}
@media(max-width:680px){
 .portfolio-collection .portfolio-grid,.photo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 12px}
 .portfolio-collection .portfolio-grid .work-card__image,.portfolio-collection .portfolio-grid .work-card:nth-child(n) .work-card__image,
 .photo-gallery-item .work-card__image,.photo-gallery-item:nth-child(n) .work-card__image{aspect-ratio:4/5!important}
 .photo-gallery-item,.photo-gallery-item:nth-child(n){grid-column:auto!important;margin:0!important}
 .astral-home-image{inset:5% 28% 8% 20%;transform:rotate(4deg);border-width:6px}
 .astral-main-art{width:100%;margin:0;min-height:520px}
 .astral-hero-page{inset:5% 17% 12% 18%;transform:rotate(2deg);border-width:6px}
 .astral-artwork-section{padding:56px 0 74px}
 .astral-artwork-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:24px}
 .astral-artwork-figure{grid-template-columns:1fr;gap:22px}
 .astral-artwork-figure figcaption{max-width:100%}
}
@media(max-width:370px){.portfolio-collection .portfolio-grid,.photo-gallery-grid{gap:22px 9px}}
@media(max-width:370px){.analog-title-row .film-icon{display:none}}


/* V4.1 — ASTRAL hero correction: no headline/artwork collision.
   Editorial two-column composition on desktop, clean vertical stack on tablet/mobile. */
.astral-main-layout{
  display:grid;
  grid-template-columns:minmax(0, .96fr) minmax(0, 1.04fr);
  align-items:center;
  gap:clamp(35px,5vw,90px);
  min-height:680px;
}
.astral-main-copy{
  padding:88px 0 84px;
  min-width:0;
  position:relative;
  z-index:3;
}
.astral-main-copy h1{
  font-size:clamp(5.2rem,8.2vw,8.5rem);
  line-height:.95;
  letter-spacing:-.065em;
  max-width:100%;
  white-space:nowrap;
  margin:0;
}
.astral-main-copy h1 .asterisk{
  display:inline-flex;
  vertical-align:top;
  font-size:clamp(.9rem,1.5vw,1.4rem);
  margin-left:8px;
}
.astral-main-index{margin:56px 0 24px}
.astral-main-lead{font-size:clamp(1.7rem,2.65vw,2.6rem);margin:40px 0 26px}
.astral-credits{gap:22px;flex-wrap:wrap;line-height:1.5}
.astral-main-art{
  width:100%;
  min-width:0;
  min-height:0;
  height:clamp(520px,45vw,690px);
  aspect-ratio:auto;
  margin:0;
  position:relative;
  isolation:isolate;
}
.astral-hero-page{
  position:absolute;
  z-index:4;
  inset:7% 14% 8%;
  transform:rotate(1.6deg);
  border:clamp(5px,.7vw,9px) solid #efece4;
  background:#fafafa;
  box-shadow:0 25px 80px #0006;
  overflow:hidden;
}
.astral-hero-page img{
  width:100%;height:100%;object-fit:cover;object-position:center;
}
.astral-disc{width:89%;max-width:580px}
.astral-main .disc-coordinate{z-index:1}
@media(max-width:980px){
 .astral-main-layout{
   display:flex;
   flex-direction:column;
   align-items:stretch;
   gap:0;
   min-height:0;
 }
 .astral-main-copy{padding:76px 0 18px}
 .astral-main-copy h1{font-size:clamp(5.6rem,12vw,9.4rem)}
 .astral-main-index{margin:38px 0 17px}
 .astral-main-lead{margin:26px 0 24px}
 .astral-main-art{align-self:center;width:min(100%,640px);height:clamp(460px,70vw,650px);margin:0 auto}
 .astral-hero-page{inset:7% 17% 10%}
}
@media(max-width:680px){
 .astral-main-copy{padding:60px 0 14px}
 .astral-main-copy h1{font-size:clamp(5.0rem,16vw,7.25rem);letter-spacing:-.065em}
 .astral-main-copy h1 .asterisk{font-size:1rem;margin-left:5px}
 .astral-main-index{margin:32px 0 16px}
 .astral-main-lead{font-size:clamp(1.35rem,5vw,1.7rem);line-height:1.35;margin:24px 0}
 .astral-credits{gap:11px 23px;margin-top:23px;font-size:.58rem}
 .astral-main-art{width:100%;height:clamp(375px,120vw,525px);min-height:0;margin:0 auto}
 .astral-hero-page{inset:7% 17% 10%;transform:rotate(1.3deg);border-width:6px}
 .astral-disc{width:95%;box-shadow:0 0 0 28px #ffffff05}
 .astral-main .disc-coordinate{font-size:.49rem;letter-spacing:.08em}
}
@media(max-width:360px){
 .astral-main-copy h1{font-size:4.65rem;letter-spacing:-.065em}
 .astral-main-art{height:385px}
 .astral-hero-page{inset:7% 14% 10%}
}

/* V4.2 — collection ASTRAL automatiquement alimentee par Pages CMS. */
.astral-added-works { margin-top:clamp(54px,7vw,98px);padding-top:32px;border-top:1px solid #b6afa3; }
.astral-added-head { margin-bottom:31px;max-width:780px; }
.astral-added-head h3 { margin:19px 0 10px;font-size:clamp(2.25rem,5vw,4rem);line-height:1.1; }
.astral-added-head p { margin:0;color:#656159;line-height:1.7;font-size:.95rem; }
.astral-added-works .portfolio-grid .work-card__image,
.astral-added-works .portfolio-grid .work-card:nth-child(n) .work-card__image{aspect-ratio:4/5!important}
.astral-added-works .portfolio-grid .work-card__image img{object-fit:cover;object-position:center}
.detail-project-link { display:inline-flex;align-items:center;gap:12px;margin:16px 0 12px;padding:12px 0;border-bottom:1px solid currentColor;color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-decoration:none; }
.detail-project-link .site-icon{width:17px;height:17px}
@media(max-width:680px){.astral-added-works .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.astral-added-head{margin-bottom:26px}}
@media(max-width:370px){.astral-added-works .portfolio-grid{gap:25px 10px}}


/* MATTEYOSHI — PATREON JOURNAL · quiet editorial invitation (CMS-editable) */
.patreon-interlude{position:relative;overflow:hidden;background:#eeeae1;color:#2e302b;padding:clamp(72px,8vw,125px) 0;border-top:1px solid #d7d1c7;border-bottom:1px solid #d7d1c7}
.patreon-interlude__inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,6vw,100px);align-items:center}
.patreon-interlude__copy{position:relative;z-index:2;max-width:670px}
.patreon-interlude__copy>.eyebrow{font-size:.65rem;letter-spacing:.17em;color:#936e58}
.patreon-interlude__copy h2{font-size:clamp(2.9rem,5.7vw,5.6rem);letter-spacing:-.042em;line-height:1.06;margin:26px 0 22px;max-width:620px}
.patreon-interlude__copy p{font-size:clamp(.94rem,1.2vw,1.04rem);line-height:1.95;color:#605c54;max-width:540px;margin:0 0 32px}
.patreon-interlude__link{display:inline-flex;align-items:center;gap:24px;color:#345247;font-size:.86rem;font-weight:750;letter-spacing:.025em;text-decoration:none;border-bottom:1px solid #9eab9d;padding:13px 0 14px;transition:color .2s,border-color .2s,gap .2s}
.patreon-interlude__link .site-icon{width:21px;height:21px;transition:transform .2s}
.patreon-interlude__link:hover,.patreon-interlude__link:focus-visible{color:#9b634c;border-color:currentColor;gap:30px}
.patreon-interlude__link:focus-visible{outline:2px solid #9b634c;outline-offset:6px}
.patreon-interlude__footnote{display:block;margin-top:57px;letter-spacing:.14em;font-size:.57rem;color:#877f73;font-weight:650}
.patreon-interlude__visual{position:relative;height:480px;min-width:0;isolation:isolate}
.patreon-interlude__visual:before{content:'';position:absolute;width:385px;height:385px;border:1px solid #c3bbad;border-radius:50%;left:13%;top:8%;opacity:.8;pointer-events:none}
.patreon-interlude__film{position:absolute;z-index:2;width:55%;height:83%;left:31%;top:7%;padding:9px;background:#e9e3d8;box-shadow:0 25px 60px #272b231d;transform:rotate(5deg)}
.patreon-interlude__snapshot{position:absolute;z-index:3;width:56%;height:40%;left:3%;bottom:3%;padding:7px 7px 26px;background:#e9e3d8;box-shadow:0 20px 55px #272b2327;transform:rotate(-7deg)}
.patreon-interlude__film img,.patreon-interlude__snapshot img{display:block;width:100%;height:100%;object-fit:cover}
.patreon-interlude__number{position:absolute;z-index:1;right:0;bottom:0;font-family:Georgia,serif;font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.07em;color:#c6bfb1;line-height:1;user-select:none}
@media(max-width:940px){.patreon-interlude__inner{grid-template-columns:1fr .72fr;gap:24px}.patreon-interlude__visual{height:355px}.patreon-interlude__visual:before{width:245px;height:245px;left:6%}.patreon-interlude__copy h2{font-size:clamp(2.7rem,5.5vw,4.1rem)}}
@media(max-width:700px){.patreon-interlude{padding:68px 0 72px}.patreon-interlude__inner{grid-template-columns:minmax(0,1fr);gap:18px}.patreon-interlude__copy h2{font-size:clamp(2.65rem,9vw,4.3rem);margin:22px 0 17px}.patreon-interlude__copy p{font-size:.95rem;line-height:1.85;margin-bottom:20px}.patreon-interlude__visual{height:280px;max-width:460px;width:100%;margin:12px auto 0}.patreon-interlude__film{width:39%;height:92%;left:48%;top:0}.patreon-interlude__snapshot{width:49%;height:53%;left:7%;bottom:3%}.patreon-interlude__visual:before{left:23%;top:4%;width:245px;height:245px}.patreon-interlude__number{right:3%;font-size:4.5rem}.patreon-interlude__footnote{margin-top:30px}}
@media(max-width:380px){.patreon-interlude__visual{height:235px}.patreon-interlude__visual:before{width:200px;height:200px}.patreon-interlude__film{padding:6px}.patreon-interlude__snapshot{padding:5px 5px 17px}.patreon-interlude__number{font-size:3.5rem}}
@media(prefers-reduced-motion:reduce){.patreon-interlude__link,.patreon-interlude__link .site-icon{transition:none}}
