@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--bg:#f2f5f7;--ink:#334e60;--muted:#627887;--line:#d6e1e8;--gold:#8e7850;--blue:#a1c4d7;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP',sans-serif;--gutter:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{overflow-x:clip;margin:0;background:var(--bg);color:var(--ink);font:14px/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #527b98;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif)}[hidden]{display:none!important}.wrap{width:min(1280px,100% - var(--gutter)*2);margin-inline:auto}.section{padding-block:110px;scroll-margin-top:20px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.18em;color:var(--gold)}.site-header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;position:sticky;top:0;z-index:10;background:rgba(245,248,250,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(205,222,232,.6)}.brand img{width:190px;height:auto}.site-header nav{display:flex;align-items:center;gap:35px;font-family:Georgia,serif;font-size:13px;letter-spacing:.07em}.site-header nav a:hover{color:var(--gold)}.site-header .nav-contact{font:12px var(--sans);border:1px solid #acc5d4;border-radius:2px;padding:13px 20px}.nav-contact span{margin-left:22px}.site-header,main,.site-footer{position:relative}.site-header{position:sticky}.tiny-star{font-size:16px;margin-right:10px;color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 24px;font-size:12px;font-weight:500;letter-spacing:.05em;border:1px solid transparent;transition:background .2s,transform .2s;min-height:52px}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#496d83;transform:translateY(-2px)}.button span{font-size:17px;font-weight:400}.text-link{font-size:12px;letter-spacing:.05em;border-bottom:1px solid #a1bdcd;padding-block:8px}.text-link:hover{color:var(--gold)}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px;font-size:8px;letter-spacing:.17em;color:var(--muted)}.hero-bottom a span{padding-left:18px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:50px}.section-heading h2{font-size:32px;letter-spacing:.06em;margin-top:13px}.section-heading>p{font-size:12px;line-height:2;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-grid article{border-top:1px solid #b4ccd9;padding-top:24px}.service-number{display:flex;justify-content:space-between;font:13px Georgia,serif;color:var(--gold);margin-bottom:24px}.service-number span{font-size:28px;line-height:1;color:var(--blue)}.service-grid h3{font-size:18px;font-family:var(--serif);margin-bottom:16px;font-weight:500;letter-spacing:.035em}.service-grid p{font-size:12px;line-height:2.1;color:var(--muted)}.service-grid ul{margin:22px 0 0;padding:0;list-style:none;font-size:11px;color:#536f80;line-height:2.2}.service-grid li:before{content:'—';color:var(--gold);padding-right:10px}.works-section{background:rgba(225,236,243,.6);border-block:1px solid #dbe6ed}.works-filters{display:flex;gap:7px;margin-bottom:35px}.works-filters button{border:1px solid transparent;background:transparent;padding:8px 22px;color:var(--muted);font-size:11px;border-radius:2px}.works-filters button[aria-pressed=true]{background:#fff;border-color:#c6d9e5;color:var(--ink)}.works-filters button span{margin-left:10px;font-size:10px;color:var(--gold)}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}.work-image{position:relative;overflow:hidden;background:#e0e9ef;aspect-ratio:4/3}.work-image>img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.work-card:hover .work-image>img{transform:scale(1.035)}.work-view{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#151f1e99);color:white;display:flex;justify-content:space-between;padding:30px 20px 14px;font-size:10px;letter-spacing:.1em}.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:white;font-size:25px;width:48px;height:48px;border:1px solid #fff8;background:#26312c40;border-radius:50%;display:grid;place-content:center;backdrop-filter:blur(3px)}.work-meta{display:flex;justify-content:space-between;margin:17px 0 6px;font-size:9px;letter-spacing:.12em;color:var(--gold)}.work-card h3{font-size:15px;font-weight:500}.work-card>p{font-size:10px;color:var(--muted);margin-top:5px}.work-card>p span{float:right}.works-note{margin-top:42px;text-align:center;font-size:11px;color:var(--muted);line-height:2}.empty-message{padding:30px 0}.about-section{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:start}.about-identity{padding-top:7px}.identity-art{height:300px;position:relative;display:grid;place-items:center;margin:25px 0 30px;background:radial-gradient(ellipse,#deebf2 0,transparent 65%)}.identity-orbit{position:absolute;width:245px;height:245px;border:1px solid #b7c6cb;border-radius:50%;transform:rotate(-25deg) scaleX(.85)}.identity-orbit:after{content:'';position:absolute;inset:15px -28px;border:1px solid #c7bda8;border-radius:50%;transform:rotate(60deg)}.identity-star{position:absolute;left:70%;top:20%;font-size:45px;color:var(--gold)}.identity-art small{position:absolute;bottom:14px;font-size:8px;letter-spacing:.18em;color:var(--muted)}.creator-name{font-family:Georgia,serif;font-size:26px;letter-spacing:.03em}.creator-name span{display:block;font:12px var(--sans);margin-top:2px}.creator-role{font-size:11px;color:var(--muted);margin-top:7px}.about-copy h2{font-size:33px;line-height:1.8;letter-spacing:.06em;margin-bottom:30px}.about-copy p{font-size:13px;line-height:2.25;margin-bottom:20px;color:var(--muted)}.about-copy .about-lead{font-size:15px;color:var(--ink)}.about-facts{font-size:11px;margin-top:30px}.about-facts div{display:grid;grid-template-columns:90px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}.about-facts dt{color:var(--muted)}.about-facts dd{margin:0}.process-section{padding-top:40px}.process-grid{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process-grid li{border-top:1px solid var(--line);padding-top:22px}.process-grid li>span{font:italic 26px Georgia,serif;color:var(--gold)}.process-grid h3{font-size:14px;font-weight:500;margin:15px 0 10px}.process-grid p{font-size:12px;color:var(--muted);line-height:2}.contact-section{background:rgba(216,232,242,.65);border-top:1px solid #cfdfe9}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.contact-copy h2{font-size:39px;line-height:1.7;margin:24px 0;letter-spacing:.07em}.contact-copy>p:not(.eyebrow){font-size:13px;line-height:2.2;color:var(--muted)}.contact-form{display:grid;gap:22px}.contact-form label{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;font-size:12px;font-weight:500}.contact-form input,.contact-form textarea,.contact-form select{grid-column:1/-1;display:block;width:100%;padding:13px 14px;background:#f9fbfc;border:1px solid #bfd2df;border-radius:0;color:var(--ink);margin-top:9px;line-height:1.6;font-size:13px;min-width:0}.contact-form textarea{resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#758995;font-size:12px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.required,.optional{font-size:9px;color:var(--gold);font-weight:400}.optional{color:var(--muted)}.form-note{font-size:10px;line-height:1.9;color:var(--muted)}.contact-form .button{justify-self:start;min-width:245px}.site-footer{padding-block:44px;display:flex;align-items:center;gap:30px}.site-footer .brand img{width:150px}.site-footer p{font-size:10px;color:var(--muted)}.site-footer small{font-size:9px;color:var(--muted);margin-left:auto}.site-footer>a:last-child{font-size:10px}.work-detail{padding-top:45px}.back-link{font-size:12px;color:var(--muted)}.detail-heading{padding-block:70px 50px;max-width:900px}.detail-heading .eyebrow span{margin-left:20px}.detail-heading h1{font-size:clamp(28px,3.3vw,48px);line-height:1.6;margin:20px 0}.detail-heading>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:650px;white-space:pre-line}.detail-heading .detail-hint{margin-top:24px;font-size:11px!important}.detail-role{margin-top:15px}.detail-video{background:#e4edf3;padding:20px}.detail-video video{display:block;width:100%;max-height:78vh;background:#13191a}.video-error{padding:15px}.detail-images{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:36px}.image-expand{position:relative;border:0;background:#e4edf3;padding:0;display:block;width:100%;cursor:zoom-in}.image-expand img{width:100%;height:auto}.image-expand>span{position:absolute;right:12px;bottom:12px;background:#f8fafced;padding:8px 15px;font-size:11px;color:var(--ink)}.detail-images figcaption{font-size:10px;text-align:right;margin-top:12px;color:var(--muted)}.detail-images figcaption span{color:var(--gold)}.detail-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-block:40px;border-bottom:1px solid var(--line);margin-top:35px}.next-work{text-align:right}.next-work small{font-size:9px;letter-spacing:.14em;color:var(--gold);display:block}.next-work>span{font-size:14px}.detail-contact{text-align:center;padding:75px 0 100px}.detail-contact p{font-size:13px;margin-bottom:20px}.lightbox{border:0;padding:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;background:#f2f5f7;color:var(--ink)}.lightbox[open]{display:flex;flex-direction:column}.lightbox::backdrop{background:#243f50e6}.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 30px;border-bottom:1px solid var(--line);flex-shrink:0}.lightbox-top p{font-size:12px}.lightbox button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 18px;font-size:12px}.lightbox button:disabled{opacity:.35}.lightbox-image{overflow:auto;flex:1;min-height:0;padding:25px;overscroll-behavior:contain}.lightbox-image img{margin:auto;max-width:100%;width:auto;height:auto;min-height:0}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 30px;border-top:1px solid var(--line);flex-shrink:0}.lightbox-controls p{font-size:10px;color:var(--muted)}body:has(dialog[open]){overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:15px;z-index:100;background:white;padding:15px}.skip-link:focus{top:15px}@keyframes drift{0%{transform:translate(0,0);opacity:.15}50%{opacity:.5}100%{transform:translate(24px,-55px);opacity:.25}}

@media(max-width:1000px){.site-header nav{gap:24px}.service-grid{gap:24px}.service-grid h3{font-size:16px}.works-grid{gap:35px 20px}.about-section{gap:7%}.contact-grid{gap:7%}.site-footer{gap:20px}.site-footer p{display:none}}
@media(max-width:700px){:root{--gutter:24px}html{scroll-padding-top:100px}.site-header{height:auto;min-height:90px;flex-wrap:wrap;gap:12px;padding-block:15px 12px}.brand img{width:155px}.site-header nav{gap:20px;width:100%;font-size:12px;justify-content:space-between}.site-header .nav-contact{font-size:10px;padding:7px 12px}.nav-contact span{margin-left:10px}.hero-bottom{margin-top:0;font-size:7px;gap:12px}.hero-bottom>span{max-width:180px}.hero-bottom a{white-space:nowrap;align-self:center;letter-spacing:.08em}.hero-bottom a span{padding-left:5px}.section{padding-block:70px}.section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:32px}.section-heading h2{font-size:28px}.section-heading>p{font-size:12px}.service-grid{grid-template-columns:1fr;gap:30px}.service-number{margin-bottom:16px}.service-grid h3{font-size:20px}.service-grid p{font-size:13px}.service-grid ul{font-size:12px;margin-top:15px}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.work-card h3{font-size:12px;line-height:1.8}.work-meta{font-size:7px;letter-spacing:.04em;margin-top:12px}.work-view{font-size:9px;padding:25px 10px 10px}.work-card>p{font-size:9px}.work-image{aspect-ratio:1}.play-badge{width:36px;height:36px;font-size:20px}.works-filters{margin-bottom:25px}.works-filters button{padding:7px 17px}.works-note{font-size:10px;text-align:left}.about-section{grid-template-columns:1fr;gap:35px}.identity-art{height:230px;margin-block:10px 20px}.identity-orbit{width:190px;height:190px}.identity-star{left:65%;font-size:37px}.about-copy h2{font-size:29px;margin-bottom:22px}.about-copy p{font-size:13px}.about-copy .about-lead{font-size:14px}.desktop-break{display:none}.process-section{padding-top:10px}.process-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.process-grid h3{font-size:13px}.process-grid p{font-size:11px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-copy{position:relative}.contact-copy h2{font-size:32px}.contact-form{gap:22px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.form-pair{grid-template-columns:1fr;gap:22px}.contact-form .button{width:100%;min-width:0}.site-footer{padding-block:30px;flex-wrap:wrap;gap:20px}.site-footer .brand{width:100%}.site-footer small{margin:0}.site-footer>a:last-child{margin-left:auto}.work-detail{padding-top:30px}.detail-heading{padding-block:40px 30px}.detail-heading h1{font-size:28px}.detail-images{grid-template-columns:1fr;gap:28px}.detail-video{padding:7px}.detail-bottom{margin-top:20px;align-items:flex-start}.next-work{max-width:55%}.next-work>span{font-size:12px}.detail-contact{padding-block:50px 65px}.detail-contact p{font-size:12px}.lightbox-top{padding:14px 16px}.lightbox-top p{font-size:11px}.lightbox-top button{white-space:nowrap}.lightbox-image{padding:15px;display:flex;align-items:center}.lightbox-controls{padding:12px 16px}.lightbox-controls p{display:none}.lightbox button{font-size:11px}.eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-image>img,.button{transition:none}}

.lightbox-image.is-zoomed{display:block}.lightbox-image.is-zoomed img{max-width:none;min-width:100%;margin:0}.lightbox-controls .zoom-button{white-space:nowrap}

/* The original logo uses #a1c4d7 / #c9cfd7. Keep its SVG and colors unfiltered. */
.cms-text{white-space:pre-line;overflow-wrap:anywhere}
.hero{display:block;padding-block:28px 36px;text-align:center}
.hero-art{position:relative;max-width:1180px;margin:0 auto;animation:hero-arrive 1.8s cubic-bezier(.2,.65,.25,1) both}
.hero-portrait{position:relative;animation:hero-float 9s ease-in-out 1.8s infinite}
.hero-portrait img{width:100%;height:auto;max-height:660px;object-fit:contain;filter:drop-shadow(0 20px 30px #527b9810)}
.art-star{position:absolute;right:6%;top:20%;color:var(--gold);font-size:50px;line-height:1;animation:drift 16s ease-in-out infinite alternate}
.hero-copy{max-width:960px;margin:25px auto 0;animation:hero-copy-arrive 1.3s ease-out .35s both}
.hero h1{font-size:clamp(28px,3.6vw,48px);line-height:1.8;letter-spacing:.065em;margin:17px 0 19px}
.hero h1 span{display:inline-block}
.hero-description{font-size:14px;line-height:2.1;letter-spacing:.06em}
.hero-small{font-size:12px;line-height:2;color:var(--muted);margin-top:10px}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:29px}
.hero-bottom{margin-top:50px;text-align:left}
@keyframes hero-arrive{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-copy-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:700px){
 .hero{padding-block:24px;text-align:center}
 .hero-art{width:calc(100% + 32px);margin-left:-16px}
 .hero-copy{margin-top:23px}
 .hero h1{font-size:clamp(25px,6.4vw,36px);line-height:1.8;letter-spacing:.025em;margin:16px 0}
 .hero h1 span:first-child{display:block}
 .hero-description{font-size:12px;max-width:290px;margin-inline:auto}
 .hero-small{font-size:11px;max-width:290px;margin-inline:auto}
 .hero-actions{gap:20px;margin-top:25px}
 .hero-actions .button{padding:13px 18px;gap:18px}
 .art-star{font-size:30px;right:4%}
 .hero-bottom{margin-top:35px}
}
@media(prefers-reduced-motion:reduce){.hero-art,.hero-portrait,.hero-copy,.art-star{animation:none}}

/* Sparse layers of blue and gold light: independent slow drift and soft shimmer. */
.stardust{position:fixed;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.stardust-particle{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);color:#b79960;animation:stardust-float var(--duration) ease-in-out var(--delay) infinite alternate}
.stardust-particle.is-blue{color:#83b7d5}
.stardust-particle::after{content:'';position:absolute;inset:0;border-radius:50%;background:currentColor;box-shadow:0 0 5px 1px currentColor;opacity:.3;animation:stardust-shimmer var(--twinkle-duration) ease-in-out var(--twinkle-delay) infinite}
.stardust-particle.is-sparkle::after{border-radius:0;clip-path:polygon(50% 0,60% 38%,100% 50%,60% 62%,50% 100%,40% 62%,0 50%,40% 38%);box-shadow:none}
@keyframes stardust-float{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(calc(var(--travel-x)*-.3),calc(var(--travel-y)*.5),0)}100%{transform:translate3d(var(--travel-x),var(--travel-y),0)}}
@keyframes stardust-shimmer{0%,100%{opacity:.15;transform:scale(.65)}45%{opacity:.68;transform:scale(1.12)}70%{opacity:.28;transform:scale(.9)}}
.service-number .service-icon{width:32px;height:32px;color:#7ba6bd}
.identity-monogram{width:145px;height:174px;overflow:hidden;position:relative}
.social-cards{margin-top:35px;display:grid;gap:16px;max-width:390px}
.social-card{border:1px solid #bed2de;background:#f6fafbc9;padding:24px;position:relative}
.social-card-heading{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.social-card-heading svg{width:25px;height:25px;flex:none;color:#648fa6}
.social-card-heading>span{font-size:14px;letter-spacing:.04em}
.social-card-heading small{margin-left:auto;font-size:8px;letter-spacing:.12em;color:var(--muted)}
.social-card h3{font:19px/1.8 var(--serif);margin-bottom:8px}
.social-card p{font-size:12px;line-height:2;color:var(--muted)}
.social-link{display:inline-block;font-size:12px;padding-block:9px 5px;border-bottom:1px solid #91b6ca;margin-top:10px;transition:color .2s,border-color .2s;overflow-wrap:anywhere}
.social-link:hover{color:#3c7794;border-color:#3c7794}
.social-card .social-pending{font-size:10px;margin-top:13px}
.footer-socials{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;color:var(--muted)}
.footer-socials a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){.stardust-particle:nth-child(n+53){display:none}.identity-monogram{width:115px;height:138px}.social-cards{max-width:none;margin-top:28px}.social-card{padding:22px}.footer-socials{width:100%}}
@media(prefers-reduced-motion:reduce){.stardust-particle,.stardust-particle::after{animation:none}.stardust-particle::after{opacity:.35}.social-link{transition:none}}
