/* Basic reset replaces the original Tailwind CDN preflight. */
*,*::before,*::after{box-sizing:border-box;border:0 solid currentColor}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}
body,h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-size:inherit;font-weight:inherit}
button,input{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}
button{background:transparent;text-transform:none}a{color:inherit;text-decoration:inherit}
img,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}
button,[role=button]{cursor:pointer}button:disabled{cursor:default}
[hidden]{display:none!important}

/* Layout and palette retained from Canva v17. */
:root{--paper:#fff7e8;--ink:#252b25;--orange:#ef7838;--green:#2c654d;--cream:#fffdf7;--line:#d9cdb9;--soft:#f8e4ae;--shadow:0 14px 26px rgba(64,47,27,.12)}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{width:100%;margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:18px;line-height:1.8;background-image:radial-gradient(rgba(120,93,52,.11) .7px,transparent .7px);background-size:13px 13px}
    body.viewer-open{overflow:hidden}
    img{max-width:100%;box-sizing:border-box}
    button,a{font:inherit}
    button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
    .site-shell{width:100%;overflow:hidden}.page-width{width:min(100% - 40px,1140px);margin:0 auto}
    .site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(44,101,77,.18);background:rgba(255,247,232,.92);backdrop-filter:blur(12px)}
    .header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{color:var(--ink);font-weight:900;text-decoration:none;white-space:nowrap}
    .nav{display:flex;gap:17px;overflow-x:auto;max-width:100%;padding:8px 0}.nav a{color:var(--green);text-decoration:none;white-space:nowrap;font-size:14px;font-weight:800}
    .section{padding:105px 0;border-top:1px dashed rgba(44,101,77,.3);position:relative}.hero{border-top:0;padding-top:78px}
    .hero-grid,.about-grid,.work-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:48px;align-items:center}
    .work-layout.reverse{grid-template-columns:minmax(360px,.9fr) minmax(0,1fr)}.work-layout.reverse .work-copy{order:2}.work-layout.reverse .gallery-block{order:1}
    .eyebrow{margin:0;color:var(--orange);font-size:14px;font-weight:900;letter-spacing:.14em}.heading{margin:13px 0 28px;font-weight:900;line-height:1.25;letter-spacing:-.05em;background:linear-gradient(transparent 67%,rgba(239,120,56,.35) 0)}
    h1.heading{font-size:64px}h2.heading{font-size:clamp(2rem,4vw,3.6rem)}.about-heading{background:none;font-size:clamp(2rem,4vw,3.6rem);line-height:1.2}.about-heading-line{display:block;width:max-content;max-width:100%;white-space:nowrap;background:linear-gradient(transparent 67%,rgba(239,120,56,.35) 0)}.lead{font-weight:700;color:var(--green);max-width:680px}
    .paper-tape{display:inline-block;padding:5px 14px;background:var(--soft);font-weight:800;font-size:14px;transform:rotate(-2deg)}
    .hero-collage{min-height:520px;position:relative}.collage-paper{position:absolute;background:var(--cream);border:1px solid var(--line);box-shadow:var(--shadow);padding:11px}.collage-paper img{width:100%;height:100%;object-fit:contain;display:block}
    .hero-work-one{width:45%;height:185px;right:1%;top:4%;transform:rotate(7deg)}.hero-work-two{width:40%;height:158px;right:0;bottom:6%;transform:rotate(-6deg)}
    .hero-person{position:absolute;width:63%;height:83%;bottom:0;left:7%;z-index:2}.hero-person img,.hero-cat img,.portrait-cutout img{width:100%;height:100%;object-fit:contain}.hero-cat{position:absolute;width:31%;left:0;top:2%;z-index:4;transform:rotate(-8deg)}
    .button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}.action,.gallery-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 17px;border:2px solid var(--green);background:var(--green);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.action.alt{background:transparent;color:var(--green)}
    .portrait-board{min-height:450px;position:relative;background:linear-gradient(140deg,#f8e4ae,#fffdf7);border:1px solid var(--line);box-shadow:var(--shadow);transform:rotate(2deg)}.portrait-cutout{height:500px;padding:15px 18px 0}.mini-cat{position:absolute;width:110px;right:-18px;bottom:-28px;transform:rotate(9deg)}
    .contents-list{border-top:2px solid var(--green)}.contents-link{min-height:70px;display:grid;grid-template-columns:60px minmax(0,1fr) 30px;align-items:center;gap:12px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font-weight:800;padding:10px 5px}.contents-number{color:var(--orange);font-size:14px}
    .work-detail{margin-top:25px}.work-detail:first-child{margin-top:0}.work-detail h3{margin:0 0 5px;color:var(--green);font-size:18px;font-weight:900}.work-detail p{margin:0}.note{font-size:14px;color:#546057}.gallery-block{min-width:0}
    main p{line-height:1.8}
    @media(max-width:760px){main p{font-size:16px;line-height:1.8}}
    .gallery-main{border:1px solid var(--line);background:var(--cream);box-shadow:var(--shadow);padding:15px;transform:rotate(-1.3deg);min-height:320px;display:flex;align-items:center;justify-content:center}.gallery-trigger,.thumb{border:0;background:transparent;padding:0;cursor:pointer}.gallery-trigger{width:100%}.gallery-main img{width:100%;height:330px;object-fit:contain;display:block}
    .gallery-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}.gallery-button{border-color:var(--orange);background:var(--orange);font-size:14px}.caption{font-size:14px;font-weight:700;color:var(--green);margin:0}.thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.thumb{width:76px;height:62px;border:2px solid transparent;background:var(--cream);padding:4px}.thumb:focus-visible,.thumb:hover{border-color:var(--orange)}.thumb img{width:100%;height:100%;object-fit:contain}
    .return-link{display:inline-flex;gap:8px;align-items:center;color:var(--green);font-size:14px;font-weight:800;text-decoration:none;margin-top:44px}.projection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}.next-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:32px 0}.next-item{border-top:4px solid var(--orange);padding:22px 15px 15px;background:rgba(255,253,247,.62)}.accent-cat{position:absolute;width:105px;right:7%;bottom:8%;transform:rotate(10deg)}
    .shoe-viewer-anchor{display:block;width:100%;height:0;margin:0;padding:0;border:0;overflow:hidden}
    .viewer-panel{max-height:0;overflow:hidden;margin:0 auto;transition:max-height .35s ease,margin-top .35s ease}.viewer-panel.is-open{max-height:900px;margin-top:30px}.viewer-inner{width:min(100%,1000px);margin:0 auto;border:1px solid var(--green);background:#20382c;padding:16px;box-shadow:var(--shadow);color:#fff}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.viewer-bottom{margin-top:12px}.viewer-count,.viewer-caption,.viewer-esc{font-size:14px}.viewer-caption{margin:0}.viewer-close,.viewer-nav{width:48px;height:48px;min-width:48px;border:1px solid rgba(255,255,255,.7);background:rgba(44,101,77,.82);color:#fff;display:grid;place-items:center;cursor:pointer}
    .viewer-stage{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;margin-top:12px;background:#16271e}.viewer-track{height:100%;display:flex;transform:translateX(0);transition:transform .35s ease}.viewer-slide{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.viewer-slide img{width:100%;height:100%;object-fit:contain;display:block}.viewer-nav{position:absolute;top:calc(50% - 24px);z-index:2}.viewer-prev{left:10px}.viewer-next{right:10px}
    .fade-gentle{animation:fadeGentle .4s ease-out both}@keyframes fadeGentle{from{opacity:.88;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}footer{padding:36px 0;border-top:1px dashed rgba(44,101,77,.3)}
    @media(max-width:760px){body{font-size:16px}.page-width{width:min(100% - 32px,1140px)}.header-inner{align-items:flex-start;flex-direction:column;gap:0;padding:10px 0}.nav{width:100%}.section{padding:76px 0}.hero{padding-top:55px}.hero-grid,.about-grid,.work-layout,.work-layout.reverse,.projection-grid,.next-list{grid-template-columns:1fr;gap:34px}.work-layout.reverse .work-copy,.work-layout.reverse .gallery-block{order:initial}h1.heading{font-size:36px}.about-heading{font-size:clamp(1.7rem,7.2vw,2.5rem);line-height:1.25;letter-spacing:-.04em}.hero-collage{min-height:435px}.portrait-board{min-height:360px}.portrait-cutout{height:390px}.gallery-main{min-height:260px}.gallery-main img{height:260px}.contents-link{grid-template-columns:43px minmax(0,1fr) 25px}.viewer-inner{padding:12px}.viewer-panel.is-open{max-height:760px}.accent-cat{display:none}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Local site behavior: retain the paper layout while adding native media. */
.site-shell{overflow:clip}
.section{scroll-margin-top:68px}
.icon{flex-shrink:0}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--green);color:white;padding:12px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.work-video{display:block;width:100%;height:auto;max-height:420px;background:#16271e;aspect-ratio:16/9;object-fit:contain}
.gallery-main:has(.work-video){min-height:0;transform:none!important}
.youtube-player{margin-top:28px;aspect-ratio:16/9;background:#16271e}
.youtube-player iframe{display:block;width:100%;height:100%;border:0}
dialog.viewer-panel{position:fixed;inset:0;margin:auto;width:min(1040px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;background:transparent;overflow:auto;overscroll-behavior:contain;transition:none;color:white}
dialog.viewer-panel::backdrop{background:rgba(16,27,21,.85);backdrop-filter:blur(5px)}
dialog.viewer-panel[open]{animation:viewer-in .18s ease-out}
dialog.viewer-panel .viewer-inner{width:100%;border:0}
dialog.viewer-panel .viewer-stage{height:min(58dvh,560px);aspect-ratio:auto;touch-action:pan-y pinch-zoom}
.viewer-bottom{align-items:flex-start}
.viewer-caption{min-width:0;overflow-wrap:anywhere}
.viewer-esc{white-space:nowrap;opacity:.75}
.viewer-slide[aria-hidden="true"]{visibility:hidden}
@keyframes viewer-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){
  .section{scroll-margin-top:104px}
  dialog.viewer-panel{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}
  dialog.viewer-panel .viewer-stage{height:min(56dvh,440px)}
  .viewer-nav{width:42px;min-width:42px;height:42px;top:calc(50% - 21px);background:rgba(44,101,77,.92)}
  .viewer-prev{left:4px}.viewer-next{right:4px}
  .viewer-esc{display:none}
  .viewer-bottom{min-height:48px}
  .gallery-tools{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){dialog.viewer-panel[open]{animation:none}}
