*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#f5f3ec;color:#183d38;font-family:"Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #d9914f;outline-offset:5px}.skip{position:fixed;top:-80px;z-index:10;background:white;padding:15px}.skip:focus{top:10px}header{position:fixed;inset:0 0 auto;z-index:5;height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#f5f3ecf5;border-bottom:1px solid #183d3818}.brand{font-family:Georgia,serif;font-size:24px;letter-spacing:.13em}.brand span{display:block;font:9px Arial,sans-serif;letter-spacing:.28em;margin-top:7px}nav{display:flex;gap:36px;font:12px Arial;letter-spacing:.14em}main{padding-top:90px}.hero{min-height:680px;height:calc(100svh - 90px);max-height:1050px;position:relative;isolation:isolate;color:#fff;overflow:hidden;background:#0b777c}.scene{position:absolute;inset:0;z-index:-2}.scene svg{width:100%;height:100%;display:block;transition:filter 1.5s,transform 6s}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#002c3b65,transparent 75%),linear-gradient(0deg,#002c3b90,transparent 35%)}.hero-copy{position:absolute;left:9%;top:20%}.eyebrow{font:10px Arial,sans-serif;letter-spacing:.22em}.hero h1{font-family:"Yu Mincho",serif;font-weight:400;font-size:clamp(48px,5.5vw,90px);line-height:1.5;letter-spacing:.13em;margin:30px 0 20px}.sub{font-size:13px;letter-spacing:.18em}.line-link{display:flex;justify-content:space-between;gap:80px;width:230px;border-bottom:1px solid #ffffff80;padding:25px 0 14px;font-size:12px;margin-top:28px}.scene-controls{position:absolute;bottom:72px;left:9%;right:6%;display:flex;justify-content:space-between;align-items:center;gap:24px}.steps{display:flex;gap:24px}.scene-controls button{color:#fff;background:none;border:0;border-bottom:1px solid #ffffff45;padding:13px 0;font-size:10px;letter-spacing:.05em}.steps button{opacity:.65}.steps button[aria-pressed=true]{opacity:1;border-color:white}.steps span{margin-left:10px}.placeholder{position:absolute;right:5%;top:20px;font-size:10px;letter-spacing:.1em;background:#003c4c60;padding:8px 12px}.scroll{position:absolute;bottom:25px;left:9%;font:9px Arial;letter-spacing:.2em}.works{padding:100px 9% 110px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading h2{font-family:"Yu Mincho",serif;font-weight:400;font-size:36px;letter-spacing:.1em;margin:25px 0 0}.section-heading>p{font-size:12px;line-height:2;letter-spacing:.1em}.review-note{font-size:11px;line-height:2;color:#526c64}.series-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px;margin-top:34px}.series{display:block;text-align:left;border:0;padding:0;color:inherit;background:none}.art-space{height:310px;display:flex;position:relative;align-items:center;justify-content:center;overflow:hidden;background:#d5e5df}.art-space:before,.art-space:after{content:"";position:absolute;width:100%;height:1px;background:#46685a25;transform:rotate(32deg)}.art-space:after{transform:rotate(-32deg)}.art-space em{font-style:normal;font-size:11px;letter-spacing:.12em;background:#f5f3ecdf;padding:12px;z-index:1}.drop .art-space{background:#bed9d9}.paint .art-space{background:#aabfbd}.botanical .art-space{background:#d7d7bd}.series-label{position:relative;display:block;padding:20px 0;border-bottom:1px solid #183d3835}.series-label small{font:9px Arial;letter-spacing:.17em;display:block;margin-bottom:10px}.series-label strong{font-size:15px;font-weight:400}.series-label b{position:absolute;right:4px;top:32px;font-weight:400}.series:hover .art-space{filter:brightness(.97)}.about{border-top:1px solid #183d3825;margin:0 9%;padding:100px 0 120px;display:grid;grid-template-columns:1fr 2fr;gap:30px}.about h2{font-family:"Yu Mincho",serif;font-size:clamp(25px,3vw,43px);font-weight:400;line-height:1.9;letter-spacing:.06em;margin:0 0 30px}.about-brand{font:10px Arial;letter-spacing:.17em;margin-bottom:40px}footer{padding:40px 5%;background:#173e37;color:#f5f3ec;display:flex;align-items:center;justify-content:space-between;gap:24px}footer p,footer>a:last-child{font-size:9px;letter-spacing:.08em}dialog{border:0;background:#f5f3ec;color:#183d38;padding:65px 40px 40px;max-width:540px;width:90%;line-height:2}dialog::backdrop{background:#082f38aa}.close{position:absolute;right:20px;top:15px;background:none;border:0;color:inherit}dialog h2{font-size:24px}dialog p{font-size:13px}.scene[data-scene="1"] svg{filter:brightness(.7) saturate(1.15);transform:scale(1.15)}.scene[data-scene="1"] .shore,.scene[data-scene="1"] .foam{opacity:0}.scene[data-scene="1"] .rays{opacity:.13}.scene[data-scene="2"] svg{transform:scale(1.4) translateX(-12%);filter:saturate(.7) brightness(1.1)}.scene[data-scene="3"] svg{filter:saturate(.6);transform:scale(1.05)}.scene[data-scene="3"] .leaves{opacity:1}.scene[data-scene="3"] .shore,.scene[data-scene="3"] .foam{opacity:0}
@media(max-width:700px){header{height:76px;padding:0 6%}.brand{font-size:19px}.brand span{font-size:8px}nav{gap:20px;font-size:10px}main{padding-top:76px}html{scroll-padding-top:76px}.hero{height:calc(100svh - 76px);min-height:640px;max-height:900px}.hero-copy{left:8%;top:18%}.hero h1{font-size:52px}.hero .eyebrow{font-size:8px}.placeholder{top:10px;right:6%;font-size:8px}.scene-controls{left:8%;right:8%;bottom:65px;display:block}.steps{gap:12px;justify-content:space-between}.steps button{font-size:10px;text-align:left}.steps span{display:block;margin:9px 0 0;font-size:9px}.scene-controls #motion{margin-top:10px;padding:8px 0}.scroll{left:8%;bottom:22px}.works{padding:65px 7%}.section-heading{display:block}.section-heading h2{font-size:29px}.section-heading>p{margin-top:22px}.series-grid{grid-template-columns:1fr;gap:28px}.art-space{height:260px}.about{display:block;margin:0 7%;padding:55px 0 70px}.about>.eyebrow{margin-bottom:28px}.about h2{font-size:26px}footer{align-items:start;flex-direction:column;padding:32px 7%}dialog{padding:60px 24px 30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene svg{transition:none}}

#nature-video{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;z-index:-1}.scene.has-media+#nature-video{display:block}.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#002c3b70,transparent 90%),linear-gradient(0deg,#002c3b85,transparent 40%)}.media-credit{position:absolute;bottom:24px;right:5%;font:10px Arial;letter-spacing:.03em;color:white;background:#002c3b9c;padding:8px 10px;border-radius:2px}.media-credit[hidden]{display:none}.play-controls{display:flex;gap:22px}.scene.has-media svg{transition:none}.scene.has-media:after{display:none}#nature-video{z-index:-2}.scene.has-media{visibility:hidden}.hero-copy{z-index:1}.scene-controls{z-index:1}
@media(max-width:700px){.hero{min-height:700px}.scene-controls{bottom:110px}.play-controls{margin-top:14px}.media-credit{left:8%;right:auto;bottom:53px;font-size:9px}.scroll{bottom:25px}.hero:after{background:linear-gradient(90deg,#002c3b85,transparent),linear-gradient(0deg,#002c3b90,transparent 48%)}}

#play-scene:disabled{opacity:.6;cursor:default}.scene.has-media+#nature-video{display:block}

#nature-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 68%;z-index:-2;display:none}.hero[data-media="photo"] #nature-photo{display:block}.hero[data-media="photo"] #nature-video{display:none}.hero[data-current="1"] #nature-photo{object-position:50% 82%}@media(max-width:700px){.hero[data-current="1"] #nature-photo{object-position:50% 70%}.hero[data-current="0"] #nature-photo{object-position:45% center}}

/* The photo element sits between .scene and the video: use explicit media state. */
.hero[data-media="video"] #nature-video{display:block}.hero[data-media="video"] #nature-photo{display:none}#nature-photo{will-change:transform}#play-scene:disabled{display:none}@media(prefers-reduced-motion:reduce){#nature-photo{will-change:auto}}

/* V006: iPhone-size layout. Desktop composition and media stay intact. */
@media(max-width:700px){
 header{height:76px;gap:12px;padding-inline:6%}nav{gap:10px}nav a{min-height:44px;display:flex;align-items:center;padding-inline:5px}
 .hero{height:calc(100svh - 76px);min-height:620px;max-height:1000px}
 .hero-copy{top:14%;left:8%;right:8%}.hero h1{font-size:clamp(40px,11.7vw,49px);line-height:1.5;margin:22px 0 16px}.hero .sub{font-size:12px;line-height:1.9;margin:12px 0}.hero .line-link{min-height:44px;padding:13px 0;margin-top:18px;width:min(230px,100%)}
 .placeholder{top:8px;left:8%;right:auto;max-width:84%;margin:0;font-size:9px;line-height:1.6;padding:6px 9px}
 .scene-controls{left:8%;right:8%;bottom:100px;display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.steps button{min-width:0;min-height:52px;padding:8px 1px;text-align:left;font-size:11px;opacity:.85}.steps span{font-size:9px;line-height:1.6;margin-top:5px;white-space:nowrap}
 .play-controls{margin:0;gap:12px;min-height:44px;flex-wrap:wrap}.scene-controls .play-controls button,.scene-controls #motion{min-height:44px;margin:0;padding:10px 12px;border:1px solid #ffffff85;background:#003c4c45;font-size:11px;line-height:1.6}
 .media-credit{left:8%;right:auto;bottom:48px;max-width:84%;font-size:10px;line-height:1.5;min-height:36px;display:flex;align-items:center;padding:8px 10px}.scroll{bottom:17px;font-size:10px;line-height:1.5;padding-block:4px}
 .works{padding:52px 8% 64px}.section-heading{margin-bottom:22px}.section-heading h2{font-size:28px;line-height:1.7}.section-heading>p{font-size:13px}.review-note{font-size:12px;line-height:1.9}.series-grid{margin-top:26px;gap:30px}.art-space{height:auto;aspect-ratio:4/3}.series-label{padding-block:18px}.series-label strong{font-size:15px;line-height:1.7}.series-label small{font-size:10px}.about{margin-inline:8%}
}
@media(max-width:360px){.brand{font-size:17px}.brand span{font-size:7px;letter-spacing:.23em}nav{gap:6px}.steps span{font-size:8px}.hero h1{font-size:40px}}

/* V007: series entrances. All four series have equal weight. */
.works{padding-top:88px;padding-bottom:100px}.section-heading{gap:32px}.section-heading>p{flex-shrink:0}.works>.review-note{max-width:620px;margin:0 0 36px}.series-grid{gap:48px 32px;margin-top:0}.series{min-width:0}.art-space{height:auto;aspect-ratio:16/11}.art-space:before,.art-space:after{display:none}.crop-mark{position:absolute;inset:24px;border:1px solid #183d3830}.crop-mark:before,.crop-mark:after{content:'';position:absolute;background:#183d3840}.crop-mark:before{width:28px;height:1px;left:-7px;top:-1px}.crop-mark:after{width:1px;height:28px;left:-1px;top:-7px}.art-space em{max-width:90%;padding:15px 12px;background:transparent;text-align:center;font-size:12px;line-height:1.9;letter-spacing:.05em}.art-space em small{display:block;font-size:10px;letter-spacing:.03em;color:#47645b;margin-top:6px}.series-label{padding:22px 50px 22px 0;min-height:132px}.series-label small{font-size:10px;letter-spacing:.14em}.series-label strong{font-size:17px;line-height:1.6}.series-label b{top:41px;right:6px;font-size:22px}.series-cta{display:block;font-size:10px;letter-spacing:.06em;color:#526c64;margin-top:12px}.series:hover .series-cta{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.works{padding:52px 8% 64px}.section-heading{margin-bottom:20px}.works>.review-note{margin-bottom:28px;font-size:11px}.series-grid{grid-template-columns:minmax(0,1fr);gap:34px}.art-space{aspect-ratio:4/3}.crop-mark{inset:18px}.art-space em{font-size:11px}.art-space em small{font-size:9px}.series-label{padding-top:18px;padding-bottom:18px;min-height:125px}.series-label strong{font-size:16px}.series-label b{top:37px}.series-cta{font-size:11px}}

.art-space .work-crop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.art-space{isolation:isolate}

.series{text-decoration:none}

.new-badge{display:inline-block;vertical-align:middle;font:9px/1.4 Arial,sans-serif;letter-spacing:.12em;color:#47674f;border:1px solid #96aa91;padding:3px 6px;margin:8px 0 0 10px;background:#f5f3ec}.new-badge:empty{display:none}

.about-text{max-width:37em;margin-bottom:36px}.about-text p{font-size:14px;line-height:2.3;letter-spacing:.035em;margin:0 0 25px}.about-text p:last-child{margin-bottom:0}.about-brand{margin-bottom:0}
@media(max-width:700px){.about-text p{font-size:13px;line-height:2.2;letter-spacing:.015em;margin-bottom:23px}.about h2{font-size:clamp(23px,6.6vw,29px)}}
