
:root{--ivory:#f8f4ec;--paper:#fffdf8;--ink:#211d18;--muted:#756d61;--gold:#989052;--gold2:#b4a871;--copper:#ad6941;--line:#e5ddce;--shadow:0 16px 50px rgba(77,55,30,.08);--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;--sans:"Helvetica Neue","Yu Gothic",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#55563d}body{margin:0;overflow-x:clip;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{transition:color .25s,background .25s,opacity .25s,transform .25s,border-color .25s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(173,105,65,.35);outline-offset:3px}img{max-width:100%}
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,247,240,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(210,198,180,.55)}.header-inner{max-width:1450px;margin:auto;min-height:96px;padding:12px 35px;display:flex;align-items:center;gap:35px}.logo{width:120px;display:flex;flex-direction:column;line-height:1;color:#111}.logo>span{position:relative;font:62px/.72 Georgia,serif;letter-spacing:-20px}.logo>span span{font-size:52px}.logo i{font:20px/1 serif;color:#c3914b;position:absolute;left:64px;top:14px}.logo small{font:14px/1 var(--sans);letter-spacing:-.03em;margin-top:10px}.logo--compact{width:100px}.logo--compact>span{font-size:50px}.logo--compact>span span{font-size:43px}.logo--compact i{left:55px}.logo--compact small{font-size:12px}.site-header nav{display:flex;align-items:center;justify-content:space-between;flex:1;gap:20px}.nav-links{display:flex;align-items:center;justify-content:center;gap:clamp(15px,2vw,34px);flex:1}.nav-links a{font:700 12px/1 var(--serif);white-space:nowrap;padding:13px 0;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--copper);transform:scaleX(0);transform-origin:left}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1);transition:.3s}.social-links{display:flex;gap:18px;font-weight:700}.social-links a:hover{color:var(--copper);transform:translateY(-2px)}.menu-button{display:none;background:none;border:0}
.hero{max-width:1450px;min-height:680px;margin:auto;padding:55px 42px 40px;display:grid;grid-template-columns:42% 58%;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:3;padding:65px 0 0 35px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:700}.hero h1{font:500 clamp(37px,4.2vw,67px)/1.42 var(--serif);letter-spacing:.08em;margin:25px 0 18px}.hero h1 em{color:#898348;font-style:normal}.hero-lead{font:600 18px/1.9 var(--serif);letter-spacing:.08em}.hero-text{margin:22px 0;font-family:var(--serif);font-weight:600}.brand-watermark{position:absolute;left:31%;top:105px;font:180px/.9 Georgia,serif;color:rgba(163,147,107,.09)}.leaf{position:absolute;color:#a6a16d;font-size:100px;transform:rotate(-30deg);opacity:.5;left:-15px;bottom:55px}.hero-cta{display:flex;flex-direction:column;width:330px;gap:7px}.hero-cta a,.button{display:flex;align-items:center;justify-content:center;gap:22px;min-height:49px;padding:10px 24px;border-radius:99px;background:linear-gradient(90deg,#91894e,#a19a5e);color:#fff;font-weight:600;box-shadow:0 6px 18px rgba(110,94,45,.12)}.hero-cta a span,.button b{margin-left:auto}.hero-cta a:hover,.button:hover{transform:translateY(-2px);filter:brightness(1.06)}.hero-gallery{position:relative;min-height:560px}.main-photo,.sub-photo,.feature-image,.round-art,.cafe-photo,.card-image,.person-image,.profile-photo,.detail-visual,.wide-image,.artist-card>div,.artist-hero>div,.store-card>div,.media-grid article>div,.message>div:first-child,.gallery>div,.mini-members span{background-position:center;background-size:cover;background-repeat:no-repeat}.image-talent,.person-0{background-image:url('../images/hero-talent.webp')}.image-music,.stage-one{background-image:url('../images/music-artist.webp')}.image-cafe,.store-alt{background-image:url('../images/concept-cafe.webp')}.studio{background-image:linear-gradient(135deg,rgba(32,22,15,.1),rgba(32,22,15,.55)),url('../images/music-artist.webp')}.person-1{background-image:linear-gradient(rgba(255,250,240,.05),rgba(131,89,51,.14)),url('../images/hero-talent.webp');background-position:62% center!important}.person-2{background-image:linear-gradient(rgba(255,255,255,.1),rgba(137,126,76,.16)),url('../images/hero-talent.webp');background-position:38% center!important}.main-photo{position:absolute;left:3%;top:0;width:55%;height:83%;border-radius:48% 48% 10px 10px;box-shadow:var(--shadow)}.sub-photo:nth-of-type(2){position:absolute;right:0;top:10px;width:37%;height:36%;border:8px solid var(--ivory);transform:rotate(1deg)}.sub-photo:nth-of-type(3){position:absolute;right:2%;top:37%;width:39%;height:38%;border:8px solid var(--ivory);transform:rotate(4deg)}.message-card{position:absolute;left:0;bottom:30px;z-index:2;padding:18px 40px;width:230px;background:#8d4f33;color:white;font:italic 25px/1.25 cursive;transform:rotate(7deg);box-shadow:var(--shadow)}.seal{position:absolute;right:3%;bottom:3px;width:145px;height:145px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:#8b8958;color:#fff;font:italic 22px/1.2 cursive;transform:rotate(-8deg)}
.home-main,.page-main{max-width:1450px;margin:auto;padding:0 32px 55px}.panel{background:rgba(255,253,248,.7);border:1px solid rgba(226,217,202,.72);box-shadow:var(--shadow);border-radius:17px;margin:18px 0;padding:34px 42px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.section-heading>div{display:flex;align-items:center;gap:22px}.section-heading h2{font:500 clamp(34px,3.2vw,55px)/1 var(--serif);letter-spacing:.03em;margin:0}.section-heading span{background:var(--gold);color:white;font:700 11px/1 var(--serif);letter-spacing:.08em;padding:7px 12px}.section-heading>a{font:600 12px/1 var(--serif);letter-spacing:.05em}.section-heading>a b{font-size:22px;margin-left:10px}.news-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.news-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 5px 18px rgba(50,40,25,.04)}.news-card:hover{transform:translateY(-5px);box-shadow:0 16px 28px rgba(50,40,25,.1)}.card-image{height:175px}.news-card .news-meta,.news-card h3{margin-left:16px;margin-right:16px}.news-meta{display:flex;align-items:center;gap:12px;margin-top:15px}.news-meta time{font:600 12px var(--serif)}.news-meta span{padding:4px 9px;border-radius:99px;background:var(--gold);color:#fff;font:700 9px/1 var(--sans)}.news-card h3{font:600 14px/1.8 var(--serif);margin-top:10px;margin-bottom:18px;min-height:50px}.talent-grid,.person-list{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.person-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.person-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.person-image{height:245px;background-position:center 22%!important}.person-card>div:nth-child(2){padding:13px 20px}.person-card h3{font:500 24px/1.2 var(--serif);margin:0}.person-card small{font-size:9px;color:var(--muted);letter-spacing:.15em}.person-card p{margin:5px 0 0;font-size:12px}.person-card>span{position:absolute;right:18px;bottom:20px;width:35px;height:35px;border-radius:50%;background:var(--gold);color:white;text-align:center;line-height:35px}.center{text-align:center;margin-top:24px}.button{display:inline-flex;min-width:250px}.button.copper,.copper{background:linear-gradient(90deg,#a55e37,#bd774c)}.split-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feature{min-height:295px;position:relative;overflow:hidden}.feature>div:nth-of-type(2){position:relative;z-index:2;font:600 18px/1.7 var(--serif)}.feature .button{min-width:220px;margin-top:15px}.round-art{position:absolute;right:35px;bottom:-15px;width:245px;height:245px;border-radius:50%}.feature-image{position:absolute;right:0;top:0;width:49%;height:100%;border-radius:0 15px 15px 0}.about-feature>div:nth-of-type(2){max-width:50%}.cafe-banner{position:relative;min-height:280px;overflow:hidden;padding-right:42%}.cafe-logo{font:italic 20px/1.2 cursive;color:#a55e37;text-align:center;width:250px}.cafe-logo strong{font-size:42px}.cafe-logo small{display:block;font:12px var(--serif);letter-spacing:.25em}.cafe-banner>p{margin-left:270px;margin-top:-60px}.cafe-banner>.button{margin-left:270px}.cafe-photo{position:absolute;right:25px;top:45px;width:32%;height:190px;border-radius:12px}
footer{border-top:1px solid var(--line);background:#fbf8f1}.footer-inner{max-width:1400px;margin:auto;padding:45px 35px;display:grid;grid-template-columns:180px 1fr 100px;align-items:center}.footer-center{text-align:center;font-size:10px}.footer-center nav{display:flex;justify-content:center;gap:34px;margin-bottom:20px;font-weight:700}.footer-social{display:flex;justify-content:center;gap:25px;margin-bottom:12px;font-size:12px}.to-top{margin-left:auto;width:70px;height:70px;border:1px solid #c8b28d;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.to-top small{font-size:9px}
.page-main{min-height:70vh;padding-top:0}.page-hero{min-height:285px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 50% 30%,rgba(206,187,151,.22),transparent 48%);margin-bottom:35px}.page-hero>p:first-child{font-size:9px;letter-spacing:.3em;color:var(--gold)}.page-hero h1{font:500 clamp(48px,6vw,82px)/1 var(--serif);letter-spacing:.08em;margin:13px}.page-hero>span{font:600 12px var(--serif);background:var(--gold);color:white;padding:5px 14px}.page-intro{max-width:650px;margin-top:25px;color:var(--muted);font-family:var(--serif)}.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:20px 0 35px}.filters button{background:transparent;border:1px solid #d3c8b8;border-radius:99px;padding:9px 18px;font-size:10px;letter-spacing:.08em}.filters button.active,.filters button:hover{background:var(--gold);color:white;border-color:var(--gold)}.archive-grid{grid-template-columns:repeat(4,1fr)}.archive-grid .news-card:first-child{grid-column:span 2}.archive-grid .news-card:first-child .card-image{height:300px}.pagination{display:flex;justify-content:center;gap:7px;margin:45px}.pagination button{width:38px;height:38px;border:1px solid var(--line);background:white;border-radius:50%}.pagination button.active{background:var(--gold);color:white}.back{display:inline-block;margin:30px 0;font-size:11px;letter-spacing:.1em}.detail{max-width:1120px}.article-head{max-width:850px;margin:40px auto}.article-head h1{font:500 clamp(30px,4vw,48px)/1.45 var(--serif)}.detail-visual,.wide-image{height:530px;border-radius:16px}.detail article{max-width:760px;margin:55px auto;font-family:var(--serif);font-size:16px;line-height:2.2}.detail article h2{font-size:26px;margin-top:45px}.text-link{color:var(--copper);text-decoration:underline;text-underline-offset:5px}.related{border-top:1px solid var(--line);padding-top:45px}.related>h2{font:40px var(--serif)}.related .news-grid{grid-template-columns:repeat(3,1fr)}.person-list{grid-template-columns:repeat(3,1fr);margin-bottom:70px}.profile{max-width:1200px}.profile-top,.artist-hero{display:grid;grid-template-columns:47% 1fr;gap:80px;align-items:center;margin:25px 0 90px}.profile-photo,.artist-hero>div:first-child{height:650px;border-radius:45% 45% 10px 10px}.profile-top h1,.artist-hero h1{font:500 55px/1 var(--serif);margin:10px 0}.profile-top h2,.artist-hero h2{font-size:12px;letter-spacing:.25em;color:var(--muted)}.tag{display:inline-block;background:var(--gold);color:white;padding:5px 12px;font-size:11px;margin:18px 0}.profile-top p,.artist-hero p{font-family:var(--serif)}.profile-facts dl{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);margin-top:25px}.profile-facts dt,.profile-facts dd{padding:8px 0;border-bottom:1px solid var(--line);margin:0;font-size:12px}.profile-social{margin:25px 0;font-weight:700;letter-spacing:.15em}.profile-section>h2{font:45px var(--serif)}.profile-section>p{max-width:750px;font-family:var(--serif)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:35px 0}.gallery>div{height:270px;border-radius:12px}.artist-list{display:grid;gap:25px}.artist-card{display:grid;grid-template-columns:48% 1fr;background:var(--paper);border:1px solid var(--line);border-radius:15px;overflow:hidden}.artist-card>div{height:390px}.artist-card section{padding:55px}.artist-card h2{font:50px var(--serif);margin:8px 0}.artist-card section>span{color:var(--copper);font-size:11px;font-weight:700}.releases{margin-bottom:60px}.releases article{display:grid;grid-template-columns:220px 1fr;gap:35px;padding:28px 0;border-top:1px solid var(--line)}.jacket{aspect-ratio:1;background:linear-gradient(135deg,#2e211b,#ae744b);display:flex;align-items:center;justify-content:center;color:white;font:italic 20px var(--serif)}.jacket-1{background:linear-gradient(135deg,#d5caa9,#75713f)}.releases h3{font:30px var(--serif)}.stream-links{display:flex;gap:20px;color:var(--copper);font-size:12px}.store-list{display:grid;gap:30px}.store-card{display:grid;grid-template-columns:52% 1fr;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.store-card>div{min-height:440px}.store-card>section{padding:50px}.store-card h2{font:36px var(--serif)}.store-card dl{display:grid;grid-template-columns:90px 1fr;font-size:12px}.store-card dd{margin:0}.store-card .text-link{margin-left:20px}.cafe-detail .page-hero{margin-top:-50px}.two-col{display:grid;grid-template-columns:1fr 420px;gap:70px;margin:55px 0}.two-col article{margin:0}.mini-members{display:flex;gap:15px}.mini-members span{display:block;width:110px;height:110px;border-radius:50%}.info-table{display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line)}.info-table dt,.info-table dd{padding:10px;border-bottom:1px solid var(--line);margin:0;font-size:12px}.map{height:260px;background:#ddd4c5;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#766b5c;letter-spacing:.2em;margin-bottom:55px}.social-band{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:70px}.social-band a{background:#28231e;color:white;padding:25px;font:22px var(--serif)}.social-band a span{display:block;font:9px var(--sans);color:#b9ad9c}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.media-grid article{background:#fff;border:1px solid var(--line);padding-bottom:18px}.media-grid article>div{height:220px}.media-grid h3,.media-grid small,.media-grid p{margin-left:15px;margin-right:15px}.media-grid small{color:var(--copper)}.statement{max-width:880px;margin:50px auto 90px;text-align:center}.statement span{font-size:10px;color:var(--gold);letter-spacing:.2em}.statement h2{font:500 37px/1.7 var(--serif)}.statement p{font-family:var(--serif)}.business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.business-grid article{background:white;border:1px solid var(--line);padding:30px}.business-grid b{color:var(--gold)}.business-grid h3{font:20px var(--serif)}.message{display:grid;grid-template-columns:44% 1fr;gap:60px;margin:80px 0}.message>div:first-child{height:470px}.message>div:last-child{padding:55px 0}.message h2{font:32px/1.7 var(--serif)}.dummy-note{background:#eee7da;padding:10px;font-size:11px}.company{max-width:900px;margin:auto}.company dl{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line)}.company dt,.company dd{padding:16px;border-bottom:1px solid var(--line);margin:0}.recruit-list{max-width:1000px;margin:auto;display:grid;gap:20px}.recruit-list article{background:white;border:1px solid var(--line);padding:35px;border-radius:14px}.status{background:#888;color:white;padding:5px 10px;border-radius:99px;font-size:10px}.status.open{background:var(--copper)}.recruit-list small{margin-left:12px}.recruit-list h2{font:27px var(--serif)}.recruit-list dl{display:grid;grid-template-columns:120px 1fr;font-size:13px}.form-panel{max-width:1000px;margin:65px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:45px;box-shadow:var(--shadow)}.form-panel label{display:flex;flex-direction:column;margin-bottom:20px;font-weight:600;font-size:13px}.form-panel label span{color:var(--copper);font-size:10px;margin-left:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.form-panel input,.form-panel select,.form-panel textarea,.admin-shell input,.admin-shell select,.admin-shell textarea{width:100%;margin-top:6px;background:#faf8f3;border:1px solid #dcd3c6;border-radius:6px;padding:12px}.form-panel .check{display:block}.check input{width:auto!important;margin-right:8px}.form-actions{display:flex;justify-content:center;gap:15px;margin-top:30px}.form-actions button{border:1px solid var(--line);padding:11px 25px;border-radius:99px}.steps{display:flex;justify-content:center;gap:5px;margin-bottom:35px}.steps span{background:#eee8dc;padding:7px 20px;font-size:11px}.steps span.active{background:var(--gold);color:white}.form-error{padding:12px 15px;background:#fff0ed;color:#a43e2f;border:1px solid #efb8ad;border-radius:6px;margin:15px 0}.confirm-box{background:#f8f5ee;padding:25px}.confirm-box p{border-bottom:1px solid var(--line);padding:12px}.confirm-box b{display:inline-block;width:180px}.complete{text-align:center;padding:80px}.complete>span{display:inline-flex;width:70px;height:70px;border-radius:50%;background:var(--gold);color:white;align-items:center;justify-content:center;font-size:32px}.legal article{max-width:850px;margin:auto;background:#fff;padding:50px}.legal h2{font:24px var(--serif);margin-top:40px}.not-found{min-height:70vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.not-found>div{font:160px/1 var(--serif);color:#d6c9b5}.not-found h1{font:40px var(--serif)}
.login-page{min-height:100vh;display:grid;grid-template-columns:45% 55%;background:#fff}.login-art{background:linear-gradient(rgba(35,27,20,.2),rgba(35,27,20,.65)),url('../images/concept-cafe.webp') center/cover;display:flex;justify-content:space-between;flex-direction:column;padding:55px;color:white}.login-art .logo{filter:brightness(0) invert(1)}.login-art h1{font:60px/1.2 var(--serif);margin:10px 0}.login-page>section{display:flex;align-items:center;justify-content:center}.login-page>section>div{width:min(470px,80%)}.login-page h2{font:36px var(--serif)}.login-page form{margin:35px 0}.login-page label{display:block;margin:18px 0;font-size:12px;font-weight:700}.login-page input{width:100%;padding:14px;border:1px solid var(--line);margin-top:7px}.admin-primary{background:#9d5f3e!important;color:#fff;border:0!important;border-radius:6px;padding:12px 18px;font-weight:700}.login-page button{width:100%}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#f3f1ec;color:#322d27}.admin-shell>aside{position:sticky;top:0;height:100vh;background:#28241f;color:#fff;padding:25px 18px;overflow:auto}.admin-shell>aside .logo{filter:brightness(0) invert(1);margin:0 auto 30px}.admin-shell>aside nav{display:flex;flex-direction:column;gap:3px}.admin-shell>aside nav a{padding:10px 13px;border-radius:5px;font-size:12px;color:#ccc}.admin-shell>aside nav a span{float:right}.admin-shell>aside nav a.active,.admin-shell>aside nav a:hover{background:#9d5f3e;color:white}.admin-logout{display:block;margin:25px 12px;color:#aaa;font-size:11px}.admin-shell>main{padding:0 38px 60px;overflow:auto}.admin-shell>main>header{display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid #ddd6ca;margin-bottom:30px}.admin-shell>main>header h1{margin:2px 0;font-size:25px}.admin-shell>main>header small{font-size:9px;color:#8e8377;letter-spacing:.15em}.admin-user{display:flex;align-items:center;gap:10px}.admin-user>span{width:38px;height:38px;border-radius:50%;background:#9d5f3e;color:white;display:flex;align-items:center;justify-content:center}.admin-user p,.admin-user small{display:block;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stats article{background:white;border:1px solid #ddd6cb;padding:22px;border-radius:8px}.stats strong{font-size:37px;display:block}.stats span{font-size:9px;color:#9d5f3e}.admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:20px}.admin-grid>section,.admin-table,.admin-editor{background:#fff;border:1px solid #ddd6cb;border-radius:8px;padding:22px}.admin-title{display:flex;align-items:center;justify-content:space-between}.admin-title h2,.admin-editor h2{font-size:16px}.admin-title a{font-size:10px;color:#9d5f3e}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:13px 9px;border-bottom:1px solid #eee8df;font-size:11px}td small{display:block;color:#999}.unread,.published{background:#e7f1e8;color:#357243;padding:3px 7px;border-radius:99px;font-size:9px}.quick{display:grid;gap:8px}.quick a{border:1px solid #ddd6cb;padding:11px;font-size:11px;border-radius:5px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.admin-toolbar>div{display:flex;gap:7px}.admin-toolbar input,.admin-toolbar select{width:auto;margin:0;padding:9px}.admin-toolbar button{border:1px solid #ccc;background:#fff;border-radius:5px}.admin-table{padding:0;overflow:auto}.admin-table th{background:#eae6df}.admin-table code{font-size:10px}.admin-table button{background:none;border:0;color:#735947;font-size:10px;margin-right:5px}.admin-table .danger{color:#b54137}.drag{border:1px solid #ddd!important}.admin-editor{margin-top:20px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.editor-grid label{font-size:11px;font-weight:700}.editor-grid .wide{grid-column:1/-1}.upload{border:1px dashed #c9b8a7;padding:20px}.upload span{font-weight:400;color:#888}.editor-actions{text-align:right;margin-top:20px}.editor-actions button{padding:10px 15px;margin-left:7px;border:1px solid #ccc;background:white;border-radius:5px}.toast{position:fixed;right:25px;bottom:25px;background:#2e5a38;color:white;padding:13px 22px;border-radius:7px;box-shadow:var(--shadow)}
@media(max-width:1150px){.header-inner{min-height:76px}.menu-button{display:flex;margin-left:auto;flex-direction:column;gap:4px;align-items:center}.menu-button span{width:25px;height:2px;background:#332a22}.menu-button b{font-size:8px}.site-header nav{position:fixed;top:76px;right:0;width:min(420px,90vw);height:calc(100vh - 76px);padding:35px;background:#f8f4ec;display:none;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-links a{padding:15px;border-bottom:1px solid var(--line);font-size:14px}.social-links{padding:20px}.hero{grid-template-columns:45% 55%}.hero-copy{padding-left:0}.news-grid{grid-template-columns:repeat(3,1fr)}.news-card:nth-child(n+4){display:none}.archive-grid .news-card:nth-child(n+4){display:block}.split-sections{grid-template-columns:1fr}.footer-center nav{flex-wrap:wrap}.cafe-banner>p,.cafe-banner>.button{margin-left:0}.cafe-logo{text-align:left}.business-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:14px}.header-inner{padding:10px 18px}.hero{display:block;padding:25px 20px 35px}.hero-copy{padding:5px 0}.hero h1{font-size:36px;margin-top:12px}.hero-gallery{min-height:430px;margin-top:30px}.main-photo{left:0;width:70%;height:88%}.sub-photo:nth-of-type(2){width:40%;height:34%}.sub-photo:nth-of-type(3){width:43%;height:34%;top:35%}.message-card{width:170px;padding:12px 20px;font-size:18px}.seal{width:95px;height:95px;font-size:15px}.hero-cta{width:100%}.home-main,.page-main{padding-left:13px;padding-right:13px}.panel{padding:25px 18px}.section-heading{align-items:flex-end}.section-heading>div{gap:10px}.section-heading h2{font-size:32px}.news-grid,.archive-grid,.talent-grid,.person-list,.media-grid{grid-template-columns:1fr}.news-card:nth-child(n){display:block}.archive-grid .news-card:first-child{grid-column:auto}.archive-grid .news-card:first-child .card-image{height:210px}.card-image{height:210px}.talent-grid{gap:15px}.split-sections{display:block}.feature{min-height:330px}.feature-image{width:45%;opacity:.75}.round-art{width:190px;height:190px}.cafe-banner{padding-right:18px;padding-bottom:250px}.cafe-photo{left:18px;right:18px;bottom:22px;top:auto;width:auto;height:210px}.footer-inner{grid-template-columns:1fr;text-align:center;gap:30px}.footer-inner>.logo{margin:auto}.footer-center nav{gap:15px}.to-top{margin:auto}.page-hero{min-height:240px}.page-hero h1{font-size:40px}.detail-visual,.wide-image{height:280px}.related .news-grid{grid-template-columns:1fr}.profile-top,.artist-hero,.artist-card,.store-card,.message{grid-template-columns:1fr;gap:30px}.profile-photo,.artist-hero>div:first-child{height:450px}.profile-top h1,.artist-hero h1{font-size:40px}.gallery{grid-template-columns:1fr}.artist-card section,.store-card>section{padding:28px}.artist-card>div,.store-card>div{height:300px;min-height:0}.releases article{grid-template-columns:110px 1fr}.two-col{grid-template-columns:1fr;gap:20px}.social-band,.business-grid{grid-template-columns:1fr 1fr}.form-panel{padding:25px 18px}.form-grid{grid-template-columns:1fr}.confirm-box b{width:auto;display:block}.company dl{grid-template-columns:100px 1fr}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-page>section{min-height:100vh}.admin-shell{grid-template-columns:1fr}.admin-shell>aside{height:auto;position:relative}.admin-shell>aside nav{display:grid;grid-template-columns:1fr 1fr}.admin-shell>main{padding:0 12px 40px}.admin-shell>main>header{align-items:flex-start}.admin-user p{display:none}.stats{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-toolbar{align-items:stretch;gap:10px;flex-direction:column}.admin-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.admin-toolbar input{grid-column:1/-1;width:100%}.editor-grid{grid-template-columns:1fr}.editor-grid .wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* WordPress CMS content */
.detail article p,.profile-section>p{white-space:pre-line}
.media-grid article{padding-bottom:0}
.media-grid article>a{display:grid;grid-template-rows:220px auto minmax(3em,auto) auto;align-content:start;height:100%;text-align:center}
.media-grid article>a>div{height:220px;background-position:center;background-size:cover;background-repeat:no-repeat}
.media-grid article>a>small{display:block;margin:16px 20px 0;line-height:1.4}
.media-grid article>a>h3{display:flex;align-items:center;justify-content:center;min-height:3em;margin:10px 20px 0;line-height:1.5;text-align:center}
.media-grid article>a>p{margin:14px 20px 22px;line-height:1.4;text-align:center}
/* MEDIA detail: one left guide, restrained image width, centred CTA. */
.media-detail{
  width:min(840px,calc(100% - 64px));
  max-width:840px;
  padding-right:0;
  padding-left:0;
}
.media-detail-column{
  width:100%;
}
.media-detail .back{
  margin:36px 0 52px;
}
.media-detail .article-head{
  width:100%;
  max-width:none;
  margin:0 0 30px;
}
.media-detail .article-head time{
  display:inline-block;
  margin-right:12px;
  font:600 12px var(--serif);
}
.media-detail-category{
  display:inline-block;
  padding:4px 10px;
  border-radius:99px;
  background:var(--gold);
  color:#fff;
  font:700 9px/1 var(--sans);
}
.media-detail .article-head h1{
  margin:22px 0 0;
  font:500 clamp(36px,4vw,52px)/1.38 var(--serif);
  letter-spacing:.025em;
  overflow-wrap:anywhere;
}
.media-detail-image{
  display:block;
  width:min(620px,100%);
  height:auto;
  margin:0;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(65,48,29,.08);
}
.media-detail article{
  width:min(620px,100%);
  max-width:none;
  margin:34px 0 0;
}
.media-detail-actions{
  display:flex;
  width:100%;
  justify-content:center;
  margin:48px 0 42px;
}
.media-detail .media-external{
  display:flex;
  width:min(280px,100%);
  margin:0;
}
.content-page-loading,
.media-detail-loading{
  display:grid;
  place-items:center;
  min-height:68vh;
}
.content-page-loading>div,
.media-detail-loading>div{
  width:42px;
  height:42px;
  border:1px solid rgba(145,137,78,.28);
  border-top-color:var(--gold);
  border-radius:50%;
  animation:content-page-spin .8s linear infinite;
}
@keyframes content-page-spin{to{transform:rotate(360deg)}}
.media-page,
.music-page{
  animation:content-page-reveal .18s ease-out both;
}
@keyframes content-page-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:760px){
  .media-detail{
    width:100%;
    padding-right:20px;
    padding-left:20px;
  }
  .media-detail .back{
    margin:24px 0 38px;
  }
  .media-detail .article-head{
    margin-bottom:24px;
  }
  .media-detail .article-head h1{
    margin-top:17px;
    font-size:clamp(30px,9vw,40px);
    line-height:1.38;
  }
  .media-detail-image{
    width:100%;
    border-radius:7px;
  }
  .media-detail article{
    width:100%;
    margin-top:28px;
    font-size:15px;
    line-height:2;
  }
  .media-detail-actions{
    margin:42px 0 34px;
  }
  .media-detail .media-external{
    width:min(280px,100%);
  }
}

/* NEWS detail uses the same editorial guide as MEDIA detail. */
.news-detail{
  width:min(840px,calc(100% - 64px));
  max-width:840px;
  padding-right:0;
  padding-left:0;
}
.news-detail-column{
  width:100%;
}
.news-detail .back{
  margin:36px 0 52px;
}
.news-detail .article-head{
  width:100%;
  max-width:none;
  margin:0 0 30px;
}
.news-detail .news-meta{
  margin:0;
}
.news-detail .article-head h1{
  margin:22px 0 0;
  font:500 clamp(36px,4vw,52px)/1.38 var(--serif);
  letter-spacing:.025em;
  overflow-wrap:anywhere;
}
.news-detail-image{
  display:block;
  width:min(620px,100%);
  height:auto;
  margin:0;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(65,48,29,.08);
}
.news-detail article{
  width:min(620px,100%);
  max-width:none;
  margin:34px 0 0;
}
.news-detail .related{
  margin-top:70px;
}
@media(max-width:760px){
  .news-detail{
    width:100%;
    padding-right:20px;
    padding-left:20px;
  }
  .news-detail .back{
    margin:24px 0 38px;
  }
  .news-detail .article-head{
    margin-bottom:24px;
  }
  .news-detail .article-head h1{
    margin-top:17px;
    font-size:clamp(30px,9vw,40px);
    line-height:1.38;
  }
  .news-detail-image{
    width:100%;
    border-radius:7px;
  }
  .news-detail article{
    width:100%;
    margin-top:28px;
    font-size:15px;
    line-height:2;
  }
  .news-detail .related{
    margin-top:52px;
  }
}

/* Main visual: the supplied artwork is the visual source of truth. */
.hero{display:block;position:relative;max-width:1920px;min-height:0;margin:0 auto;padding:0;overflow:hidden;background:#faf6ef}
.hero-visual{position:relative;width:100%;aspect-ratio:8/5;overflow:hidden}
.hero-visual img{display:block;width:100%;height:100%;object-fit:contain}
.hero .hero-cta{position:absolute;z-index:4;left:7.8%;bottom:6.2%;display:flex;width:clamp(270px,18vw,345px);flex-direction:column;gap:8px}
.hero .hero-cta a{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:46px;padding:10px 18px 10px 24px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#938c4f;color:#fff;font-size:clamp(12px,.85vw,15px);font-weight:600;letter-spacing:.02em;line-height:1.35;box-shadow:0 8px 22px rgba(75,62,29,.16)}
.hero .hero-cta a b{display:grid;width:27px;height:27px;margin-left:14px;place-items:center;border-radius:50%;background:rgba(255,255,255,.14);font-size:15px;font-weight:400}
.hero .hero-cta a:hover{transform:translateX(4px);background:#837d43;box-shadow:0 11px 26px rgba(75,62,29,.23)}

@media(max-width:760px){.hero{padding:0 0 18px;background:#faf6ef}.hero-visual{aspect-ratio:8/5}.hero .hero-cta{position:relative;left:auto;bottom:auto;width:auto;margin:-1px 18px 0;gap:7px}.hero .hero-cta a{min-height:48px;padding:10px 17px 10px 21px;font-size:13px;box-shadow:none}.hero .hero-cta a:hover{transform:none}}

/* Supplied brand assets */
.logo{display:block;width:104px;height:72px;overflow:hidden;flex:0 0 auto}
.logo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%}
.logo--compact{width:90px;height:62px}
.site-header .logo img,footer .logo img{mix-blend-mode:multiply}
.admin-shell>aside .logo,.login-art .logo{overflow:hidden;border-radius:5px;background:#f8f4ec;filter:none}
.admin-shell>aside .logo img,.login-art .logo img{filter:none;mix-blend-mode:normal}
.cafe-logo{display:flex;width:280px;height:105px;align-items:center;justify-content:center}
.cafe-logo img{display:block;width:100%;height:100%;object-fit:contain}
.store-brand-logo{display:block;width:min(285px,100%);height:115px;margin:0 0 8px;object-fit:contain;object-position:left center}
.cafe-detail-logo{display:block;width:min(390px,72vw);height:170px;margin:10px auto -55px;object-fit:contain;position:relative;z-index:2}

@media(max-width:760px){.logo{width:86px;height:58px}.logo--compact{width:78px;height:52px}.cafe-logo{width:230px;height:90px}.store-brand-logo{height:95px}.cafe-detail-logo{height:125px;margin-bottom:-35px}}

/* TOP refresh: editorial hero, restrained botanical accents, clean components */
body{background:#f6f1e7;background-image:radial-gradient(circle at 12% 8%,rgba(193,177,133,.14),transparent 26%),radial-gradient(circle at 88% 20%,rgba(164,167,114,.09),transparent 28%)}
.site-header{background:rgba(249,246,238,.9);border-bottom-color:rgba(116,108,78,.14);box-shadow:0 4px 24px rgba(59,50,33,.025)}
.header-inner{max-width:1540px}
.hero{display:block;position:relative;max-width:1600px;margin:0 auto;padding:28px clamp(24px,4vw,68px) 74px;overflow:hidden;background:linear-gradient(180deg,#f9f5ec 0%,#f4eee2 100%)}
.hero:after{content:"";position:absolute;left:8%;right:8%;bottom:38px;height:1px;background:linear-gradient(90deg,transparent,rgba(113,107,72,.28),transparent)}
.hero-visual{position:relative;z-index:2;width:100%;aspect-ratio:8/5;overflow:hidden;border:1px solid rgba(118,106,76,.16);border-radius:30px;background:#faf6ef;box-shadow:0 28px 70px rgba(79,66,39,.12),0 3px 10px rgba(79,66,39,.05)}
.hero-visual:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 8px rgba(255,253,247,.3);pointer-events:none}
.hero-visual img{display:block;width:100%;height:100%;object-fit:cover}
.botanical{position:absolute;z-index:3;display:block;pointer-events:none;user-select:none;opacity:.72;filter:saturate(.8) sepia(.08)}
.botanical-left{left:-20px;top:2px;width:clamp(150px,16vw,250px);transform:rotate(-7deg)}
.botanical-right{right:-4px;top:11%;width:clamp(85px,9vw,145px)}
.hero .hero-cta{position:absolute;z-index:5;left:clamp(65px,9.3vw,150px);bottom:105px;display:flex;width:clamp(265px,19vw,330px);flex-direction:column;gap:8px}
.hero .hero-cta a{min-height:48px;padding:10px 14px 10px 24px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(112,111,61,.94);backdrop-filter:blur(8px);box-shadow:0 9px 24px rgba(72,64,35,.17);font-family:var(--serif);letter-spacing:.04em}
.hero .hero-cta a:nth-child(1){background:rgba(93,95,52,.95)}
.hero .hero-cta a:hover{transform:translateX(4px);background:#5f6137}
.home-main{position:relative;z-index:4;max-width:1480px;margin:-40px auto 72px;padding:28px 58px 70px;border:1px solid rgba(123,112,80,.16);border-radius:30px;background:rgba(255,253,248,.9);box-shadow:0 22px 70px rgba(74,61,36,.07);backdrop-filter:blur(12px)}
.home-main .panel{position:relative;margin:0;padding:54px 0 58px;border:0;border-bottom:1px solid rgba(125,113,79,.16);border-radius:0;background:transparent;box-shadow:none}
.home-main .panel:last-child{border-bottom:0;padding-bottom:0}
.home-main .section-heading{margin-bottom:30px}
.home-main .section-heading>div{position:relative;gap:16px}
.home-main .section-heading>div:after{content:none;display:none}
.home-main .section-heading h2{font-size:clamp(31px,3vw,48px);font-weight:500;letter-spacing:.07em;color:#373426}
.home-main .section-heading span{padding:0;background:transparent;color:#77714f;font-size:10px;letter-spacing:.14em}
.home-main .section-heading>a{display:flex;align-items:center;min-height:40px;padding:7px 17px 7px 20px;border:1px solid rgba(101,96,63,.38);border-radius:999px;background:rgba(255,255,255,.55)}
.home-main .section-heading>a:hover{background:#6f7044;color:#fff;border-color:#6f7044}
.home-main .news-grid{gap:16px}
.home-main .news-card{border:1px solid rgba(126,113,82,.17);border-radius:14px;background:rgba(255,255,255,.65);box-shadow:none}
.home-main .news-card:hover{transform:translateY(-4px);border-color:rgba(111,112,68,.35);box-shadow:0 14px 32px rgba(74,62,38,.08)}
.home-main .card-image{height:150px}
.home-main .news-card h3{font-weight:500;line-height:1.75}
.home-main .talent-grid{gap:26px}
.home-main .person-card{border-color:rgba(126,113,82,.18);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:none}
.home-main .person-card:hover{box-shadow:0 16px 38px rgba(74,62,38,.09)}
.home-main .person-image{height:260px}
.home-main .person-card>span{background:#73774e}
.home-main .button{min-height:45px;background:#6f7044;box-shadow:none;font-family:var(--serif);letter-spacing:.04em}
.home-main .button.copper{background:#6f7044}
.home-main .split-sections{grid-template-columns:1fr 1fr;gap:22px;border-bottom:1px solid rgba(125,113,79,.16)}
.home-main .split-sections .panel{min-height:285px;border:1px solid rgba(126,113,82,.16);border-radius:18px;margin:52px 0;padding:30px;overflow:hidden}
.home-main .split-sections .panel:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,253,247,.98) 0%,rgba(255,253,247,.86) 48%,rgba(255,253,247,.12) 76%);z-index:1;pointer-events:none}
.home-main .split-sections .section-heading,.home-main .split-sections>section>div:nth-of-type(2){position:relative;z-index:2}
.home-main .split-sections .section-heading>div:after{display:none}
.home-main .round-art{right:0;bottom:0;width:48%;height:100%;border-radius:0;opacity:.95}
.home-main .feature-image{width:52%}
.home-main .cafe-banner{min-height:300px;padding:52px 41% 35px 0;border-bottom:0}
.home-main .cafe-banner:after{content:none;display:none}
.home-main .cafe-logo{width:300px;height:115px;justify-content:flex-start}
.home-main .cafe-banner>p,.home-main .cafe-banner>.button{margin-left:315px}
.home-main .cafe-banner>p{margin-top:-75px;max-width:410px;font-family:var(--serif);font-size:13px}
.home-main .cafe-photo{right:0;top:63px;width:34%;height:210px;border-radius:17px;box-shadow:0 12px 30px rgba(63,48,29,.1)}
footer{
  background:#55563d;
  color:#fff;
  border-top:0;
  padding-bottom:env(safe-area-inset-bottom,0);
}
footer .logo{background:#f8f4ec;border-radius:5px}
footer .logo img{mix-blend-mode:normal}
footer .to-top{border-color:rgba(255,255,255,.45)}

@media(max-width:1150px){.hero{padding-left:24px;padding-right:24px}.hero .hero-cta{left:7%;bottom:93px}.botanical-left{width:160px}.botanical-right{width:92px}.home-main{margin-left:22px;margin-right:22px;padding-left:36px;padding-right:36px}.home-main .news-grid{grid-template-columns:repeat(3,1fr)}.home-main .news-card:nth-child(n+4){display:none}.home-main .cafe-banner>p,.home-main .cafe-banner>.button{margin-left:0}.home-main .cafe-logo{justify-content:flex-start}}
@media(max-width:760px){.hero{padding:14px 10px 32px}.hero-visual{border-radius:18px}.botanical-left{left:-25px;top:-8px;width:105px}.botanical-right{right:-12px;top:17%;width:64px;opacity:.55}.hero .hero-cta{position:relative;left:auto;bottom:auto;width:auto;margin:12px 10px 0;gap:7px}.hero .hero-cta a{min-height:47px;box-shadow:none}.hero:after{bottom:14px}.home-main{margin:-6px 10px 40px;padding:9px 18px 38px;border-radius:21px}.home-main .panel{padding:38px 0 42px}.home-main .section-heading{align-items:flex-end;margin-bottom:22px}.home-main .section-heading>div{gap:8px}.home-main .section-heading>div:after{width:38px;height:22px}.home-main .section-heading h2{font-size:31px}.home-main .section-heading>a{min-height:35px;padding:5px 12px;font-size:10px}.home-main .news-grid,.home-main .talent-grid{grid-template-columns:1fr}.home-main .news-card:nth-child(n){display:block}.home-main .card-image{height:210px}.home-main .talent-grid{gap:16px}.home-main .split-sections{display:block;padding:28px 0}.home-main .split-sections .panel{min-height:260px;margin:12px 0;padding:25px}.home-main .cafe-banner{padding:42px 0 255px}.home-main .cafe-banner>p{margin-top:0}.home-main .cafe-photo{left:0;right:0;bottom:25px;top:auto;width:100%;height:205px}.home-main .cafe-banner:after{right:5%;bottom:224px}.home-main .cafe-logo{width:250px;height:95px}}

/* Code-composed main visual using the existing copy */
.hero{padding:30px clamp(25px,4.5vw,74px) 90px;min-height:760px}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(410px,42%) minmax(0,58%);max-width:1450px;min-height:690px;margin:0 auto;border:1px solid rgba(121,110,77,.15);border-radius:30px;background:rgba(252,249,241,.8);box-shadow:0 28px 72px rgba(72,59,35,.09);overflow:hidden}
.hero-inner:before{content:"FC";position:absolute;left:30%;top:24%;color:rgba(129,120,88,.055);font:190px/.9 Georgia,serif;letter-spacing:-.12em}
.hero-copy{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:58px 24px 56px clamp(42px,5vw,78px)}
.hero-script{margin:0 0 21px;color:#a56c46;font:italic clamp(20px,2vw,31px)/1.2 cursive;transform:rotate(-4deg);transform-origin:left;letter-spacing:.04em}
.hero-copy h1{margin:0 0 22px;font:500 clamp(39px,4.05vw,65px)/1.42 var(--serif);letter-spacing:.06em;white-space:nowrap}
.hero-copy h1 em{color:#79794c;font-style:normal}
.hero-copy .hero-lead{margin:0 0 16px;font:600 clamp(15px,1.25vw,19px)/1.9 var(--serif);letter-spacing:.08em}
.hero-copy .hero-text{margin:0 0 25px;color:#484237;font:500 clamp(12px,.95vw,15px)/1.95 var(--serif);letter-spacing:.02em}
.hero-copy .hero-cta{position:static;display:flex;width:min(330px,100%);flex-direction:column;gap:7px;margin:0}
.hero-copy .hero-cta a{min-height:47px;padding:9px 13px 9px 22px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:#707146;color:#fff;box-shadow:0 8px 20px rgba(68,61,33,.13);font:600 13px/1.3 var(--serif);letter-spacing:.04em}
.hero-copy .hero-cta a:first-child{background:#5e6038}
.hero-copy .hero-cta a:hover{transform:translateX(4px);background:#55582f}
.hero-collage{position:relative;min-height:690px}
.hero-collage img{display:block;width:100%;height:100%;object-fit:cover}
.hero-portrait{position:absolute;z-index:2;left:10%;top:4%;width:57%;height:76%;overflow:hidden;border-radius:48% 48% 16px 16px;box-shadow:0 18px 46px rgba(50,39,24,.16)}
.hero-portrait img{object-position:center 25%}
.hero-music{position:absolute;z-index:3;right:3%;top:8%;width:35%;height:32%;overflow:hidden;border:8px solid #f9f5ec;transform:rotate(1.6deg);box-shadow:0 13px 32px rgba(55,42,25,.14)}
.hero-creator{position:absolute;z-index:3;right:2%;top:39%;width:37%;height:38%;overflow:hidden;border:8px solid #f9f5ec;transform:rotate(3deg);box-shadow:0 13px 32px rgba(55,42,25,.14)}
.hero-cafe{position:absolute;z-index:4;left:25%;bottom:3%;width:35%;height:22%;overflow:hidden;border:9px solid #fffdf7;transform:rotate(-4deg);box-shadow:0 13px 30px rgba(55,42,25,.15)}
.hero-note{position:absolute;z-index:5;left:2%;bottom:12%;width:230px;padding:19px 30px;background:#8d5135;color:#fff;font:italic 25px/1.2 cursive;transform:rotate(6deg);box-shadow:0 13px 28px rgba(61,38,25,.2)}
.hero-seal{position:absolute;z-index:5;right:2%;bottom:3%;display:flex;width:140px;height:140px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:#73764b;color:#fff;text-align:center;font:italic 22px/1.18 cursive;transform:rotate(-6deg);box-shadow:0 13px 28px rgba(66,61,31,.2)}
.botanical-left{z-index:4;left:-12px;top:5%;width:clamp(135px,13vw,210px);opacity:.62}
.botanical-right{z-index:4;right:-8px;top:5%;width:clamp(80px,8vw,130px);opacity:.7}

@media(max-width:1150px){.hero{padding-left:22px;padding-right:22px}.hero-inner{grid-template-columns:42% 58%;min-height:630px}.hero-copy{padding-left:38px;padding-right:14px}.hero-copy h1{font-size:41px}.hero-collage{min-height:630px}.hero-note{width:190px;font-size:20px}.hero-seal{width:112px;height:112px;font-size:18px}}
@media(max-width:760px){.hero{padding:15px 10px 44px;min-height:0}.hero-inner{display:block;min-height:0;border-radius:20px}.hero-copy{padding:35px 24px 28px}.hero-script{font-size:20px}.hero-copy h1{font-size:34px;white-space:normal}.hero-copy .hero-lead{font-size:15px}.hero-copy .hero-text br{display:none}.hero-copy .hero-cta{width:100%}.hero-collage{min-height:505px}.hero-portrait{left:4%;top:3%;width:67%;height:70%}.hero-music{right:1%;top:6%;width:34%;height:28%;border-width:5px}.hero-creator{right:0;top:33%;width:37%;height:34%;border-width:5px}.hero-cafe{left:23%;bottom:2%;width:40%;height:21%;border-width:6px}.hero-note{left:2%;bottom:13%;width:150px;padding:12px 16px;font-size:16px}.hero-seal{right:1%;bottom:2%;width:90px;height:90px;font-size:14px}.botanical-left{width:90px;top:1%}.botanical-right{width:58px;top:49%}}

/* Final image-based PC hero with coded CTA controls */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hero.hero-image-version{display:block;max-width:1600px;min-height:0;margin:0 auto;padding:24px clamp(22px,4vw,64px) 76px;background:transparent;overflow:visible}
.hero.hero-image-version:after{content:none}
.hero-image-version .hero-visual{position:relative;z-index:auto;width:100%;aspect-ratio:8/5;overflow:hidden;border:1px solid rgba(119,107,74,.15);border-radius:28px;background:#faf6ef;box-shadow:0 28px 72px rgba(72,59,35,.1)}
.hero-image-version .hero-visual>picture{position:relative;z-index:1;display:block;width:100%;height:100%}
.hero-image-version .hero-visual img{display:block;width:100%;height:100%;object-fit:cover}
.hero-image-version .hero-cta{position:absolute;z-index:4;left:calc(5.35% + 20px);bottom:calc(5.8% + 55px);display:flex;width:clamp(285px,22.5vw,360px);flex-direction:column;gap:8px;margin:0}
.hero-image-version .hero-cta a{position:relative;display:grid;grid-template-columns:1fr;place-items:center;min-height:48px;padding:9px 47px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(103,105,60,.95);color:#fff;box-shadow:0 8px 22px rgba(66,58,31,.16);font:600 clamp(13px,1vw,16px)/1.3 var(--serif);letter-spacing:.04em;text-align:center}
.hero-image-version .hero-cta a span{display:block;margin:0;padding:0;text-align:center}
.hero-image-version .hero-cta a b{position:absolute;right:11px;display:grid;width:28px;height:28px;margin:0;place-items:center;border-radius:50%;background:rgba(255,255,255,.14);font-size:14px;font-weight:400}
.hero-image-version .hero-cta a:first-child{background:rgba(83,87,44,.96)}
.hero-image-version .hero-cta a:hover{transform:translateX(4px);background:#55582f}

/* ============================================================
   Main visual light layers v2
   ============================================================ */
.hero.hero-image-version{
  position:relative;
  overflow:visible;
  --lt-y:0%;
  --lt-fall:47%;
  --lt-w:4.6%;
  --lt-warm:255,246,221;
  --lt-shade:96,78,52;
  --lt-power:1.2;
  --lt-contrast:.5;
  --lt-rainbow:.56;
  --lt-cycle:13s;
}

/* Disable the former pseudo-element light. */
.hero.hero-image-version::before,
.hero.hero-image-version::after,
.hero-image-version .hero-visual::before{content:none}

.hero-image-version .hero-visual{position:relative;z-index:auto}
.hero-image-version .hero-visual>picture{position:relative;z-index:1}
.hero-image-version .hero-visual::after{z-index:3}
.hero-image-version .hero-cta{position:absolute;z-index:4}

.fc-lt{
  position:absolute;
  top:0;
  bottom:0;
  left:calc(50% - 50vw);
  width:100vw;
  z-index:2;
  display:block;
  pointer-events:none;
  opacity:0;
}
.fc-lt>i{position:absolute;inset:0;display:block}

.fc-lt--shade{
  /* Keep the dramatic shadow inside the artwork on desktop.
     Letting it cover the hero's outer padding tinted the page background and
     created a visible seam before NEWS. */
  top:24px;
  right:clamp(22px,4vw,64px);
  bottom:76px;
  left:clamp(22px,4vw,64px);
  width:auto;
  border-radius:28px;
  mix-blend-mode:multiply;
  background:
    radial-gradient(125% 135% at 3% -4%,
      rgba(var(--lt-shade),0) 0%,
      rgba(var(--lt-shade),0) 28%,
      rgba(var(--lt-shade),.07) 50%,
      rgba(var(--lt-shade),.17) 76%,
      rgba(var(--lt-shade),.27) 100%),
    linear-gradient(to bottom,
      rgba(var(--lt-shade),0) 52%,
      rgba(var(--lt-shade),.13) 100%);
  --lt-to:var(--lt-contrast);
  animation:
    fc-lt-in 2.6s cubic-bezier(.22,.7,.28,1) forwards,
    fc-shade-am calc(var(--lt-cycle) * 1.6) ease-in-out 2.6s infinite;
}

.fc-lt--haze{
  mix-blend-mode:screen;
  filter:blur(64px);
  transform-origin:left center;
  will-change:transform,opacity;
  --lt-to:calc(.52 * var(--lt-power));
  animation:
    fc-lt-in 2.6s cubic-bezier(.22,.7,.28,1) .15s forwards,
    fc-haze-am calc(var(--lt-cycle) * 1.45) ease-in-out 2.75s infinite;
}
.fc-lt--haze>i{
  clip-path:polygon(
    0 calc(var(--lt-y) - 7%),
    100% calc(var(--lt-y) + var(--lt-fall) - 9%),
    100% calc(var(--lt-y) + var(--lt-fall) + var(--lt-w) * 4.2),
    0 calc(var(--lt-y) + var(--lt-w) * 2.4));
  background:linear-gradient(90deg,
    rgba(var(--lt-warm),.50) 0%,
    rgba(var(--lt-warm),.34) 38%,
    rgba(var(--lt-warm),.14) 74%,
    rgba(var(--lt-warm),0) 100%);
}

.fc-lt--shaft{
  mix-blend-mode:screen;
  filter:blur(30px);
  transform-origin:left center;
  will-change:transform,opacity;
  --lt-to:calc(.72 * var(--lt-power));
  animation:
    fc-lt-in 2.6s cubic-bezier(.22,.7,.28,1) .3s forwards,
    fc-shaft-am var(--lt-cycle) ease-in-out 2.9s infinite;
}
.fc-lt--shaft>i{
  clip-path:polygon(
    0 var(--lt-y),
    100% calc(var(--lt-y) + var(--lt-fall)),
    100% calc(var(--lt-y) + var(--lt-fall) + var(--lt-w) * 2.7),
    0 calc(var(--lt-y) + var(--lt-w)));
  background:
    radial-gradient(46% 70% at 0% 22%,rgba(var(--lt-warm),.55),transparent 70%),
    linear-gradient(90deg,
      rgba(var(--lt-warm),.62) 0%,
      rgba(var(--lt-warm),.46) 40%,
      rgba(var(--lt-warm),.20) 76%,
      rgba(var(--lt-warm),0) 100%);
}
.fc-lt--shaft>i::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,
    transparent 12%,
    rgba(255,124,132,.17) 24%,
    rgba(255,198,112,.15) 34%,
    rgba(255,244,154,.12) 44%,
    rgba(146,232,182,.11) 55%,
    rgba(126,194,255,.16) 66%,
    rgba(190,148,255,.16) 77%,
    transparent 89%);
  background-size:100% 145%;
  background-position:50% 42%;
  mix-blend-mode:screen;
  opacity:var(--lt-rainbow);
  animation:fc-rainbow-shift 16s ease-in-out infinite;
}

.fc-lt--core{
  mix-blend-mode:screen;
  filter:blur(8px);
  transform-origin:left center;
  will-change:transform,opacity;
  --lt-to:calc(.66 * var(--lt-power));
  animation:
    fc-lt-in 2.6s cubic-bezier(.22,.7,.28,1) .45s forwards,
    fc-core-am calc(var(--lt-cycle) * .82) ease-in-out 3.05s infinite;
}
.fc-lt--core>i{
  clip-path:polygon(
    0 calc(var(--lt-y) + var(--lt-w) * .30),
    100% calc(var(--lt-y) + var(--lt-fall) + var(--lt-w) * 1.10),
    100% calc(var(--lt-y) + var(--lt-fall) + var(--lt-w) * 1.75),
    0 calc(var(--lt-y) + var(--lt-w) * .62));
  background:linear-gradient(90deg,
    rgba(255,253,244,.85) 0%,
    rgba(var(--lt-warm),.55) 46%,
    rgba(var(--lt-warm),.16) 82%,
    rgba(var(--lt-warm),0) 100%);
}

.fc-lt--dapple{
  mix-blend-mode:screen;
  filter:blur(16px);
  --lt-to:calc(.46 * var(--lt-power));
  animation:
    fc-lt-in 2.6s cubic-bezier(.22,.7,.28,1) .6s forwards,
    fc-dapple-am 9s ease-in-out 3.2s infinite;
}
.fc-lt--dapple>i{
  clip-path:polygon(
    0 calc(var(--lt-y) - 3%),
    100% calc(var(--lt-y) + var(--lt-fall) - 4%),
    100% calc(var(--lt-y) + var(--lt-fall) + var(--lt-w) * 3.4),
    0 calc(var(--lt-y) + var(--lt-w) * 1.8));
  background-image:
    radial-gradient(58px 30px at 18% 42%,rgba(var(--lt-warm),.58),transparent 72%),
    radial-gradient(38px 22px at 63% 28%,rgba(var(--lt-warm),.44),transparent 72%),
    radial-gradient(24px 15px at 86% 66%,rgba(var(--lt-warm),.38),transparent 72%);
  background-size:330px 160px,250px 128px,176px 96px;
  animation:fc-dapple-mv 34s linear infinite;
}

.fc-lt--dust{
  mix-blend-mode:screen;
  --lt-to:calc(.55 * var(--lt-power));
  animation:fc-lt-in 2.6s cubic-bezier(.22,.7,.28,1) .75s forwards;
}
.fc-lt--dust>i{
  clip-path:polygon(
    0 calc(var(--lt-y) - 2%),
    100% calc(var(--lt-y) + var(--lt-fall) - 2%),
    100% calc(var(--lt-y) + var(--lt-fall) + var(--lt-w) * 3),
    0 calc(var(--lt-y) + var(--lt-w) * 1.5));
  background-image:
    radial-gradient(circle at 22% 38%,rgba(255,255,255,.95) 0 1.2px,transparent 2px),
    radial-gradient(circle at 64% 58%,rgba(var(--lt-warm),.8) 0 1px,transparent 1.7px),
    radial-gradient(circle at 43% 80%,rgba(255,255,255,.65) 0 .9px,transparent 1.5px);
  background-size:215px 130px,305px 205px,165px 112px;
  animation:fc-dust-mv 46s linear infinite;
}

.fc-lt--bloom{
  top:8%;
  bottom:auto;
  left:50%;
  width:30vw;
  height:46%;
  background:radial-gradient(closest-side,rgba(var(--lt-warm),.55),rgba(var(--lt-warm),0) 100%);
  mix-blend-mode:screen;
  filter:blur(26px);
  --lt-to:calc(.5 * var(--lt-power));
  animation:
    fc-lt-in 2.6s cubic-bezier(.22,.7,.28,1) .55s forwards,
    fc-bloom-am var(--lt-cycle) ease-in-out 3.15s infinite;
}

@keyframes fc-lt-in{from{opacity:0}to{opacity:var(--lt-to)}}
@keyframes fc-shade-am{0%,100%{opacity:var(--lt-to)}50%{opacity:calc(var(--lt-to) * .86)}}
@keyframes fc-haze-am{0%,100%{opacity:var(--lt-to);transform:translate3d(0,0,0) scaleY(1)}50%{opacity:calc(var(--lt-to) * .74);transform:translate3d(1.2%,.9%,0) scaleY(1.06)}}
@keyframes fc-shaft-am{0%,100%{opacity:var(--lt-to);transform:translate3d(0,0,0) scaleY(1)}50%{opacity:calc(var(--lt-to) * .78);transform:translate3d(-1%,.7%,0) scaleY(1.045)}}
@keyframes fc-core-am{0%,100%{opacity:var(--lt-to);transform:translate3d(0,0,0)}50%{opacity:calc(var(--lt-to) * .62);transform:translate3d(.8%,-.5%,0)}}
@keyframes fc-dapple-am{0%{opacity:var(--lt-to)}17%{opacity:calc(var(--lt-to) * .55)}31%{opacity:calc(var(--lt-to) * .92)}46%{opacity:calc(var(--lt-to) * .38)}62%{opacity:calc(var(--lt-to) * .84)}79%{opacity:calc(var(--lt-to) * .5)}100%{opacity:var(--lt-to)}}
@keyframes fc-dapple-mv{to{background-position:330px -70px,-250px 95px,176px -55px}}
@keyframes fc-dust-mv{to{background-position:215px -125px,-305px 175px,165px -100px}}
@keyframes fc-bloom-am{0%,100%{opacity:var(--lt-to);transform:scale(1)}50%{opacity:calc(var(--lt-to) * .68);transform:scale(1.07)}}
@keyframes fc-rainbow-shift{0%,100%{background-position:50% 42%;opacity:calc(var(--lt-rainbow) * .72)}50%{background-position:50% 58%;opacity:var(--lt-rainbow)}}

@media(prefers-reduced-motion:reduce){
  .fc-lt{animation:fc-lt-in .6s ease-out forwards!important;transform:none!important}
  .fc-lt>i{animation:none!important}
  .fc-lt--shaft>i::after{animation:none!important}
}

@media(max-width:760px){
  .hero.hero-image-version{
    padding:12px 10px 28px;
    --lt-y:2%;
    --lt-fall:40%;
    --lt-w:7%;
    --lt-contrast:.5;
    --lt-rainbow:.42;
  }
  .hero-image-version .hero-visual{aspect-ratio:auto;border-radius:17px;overflow:hidden;background:transparent;box-shadow:none}
  .hero-image-version .hero-visual>picture{height:auto}
  .hero-image-version .hero-visual img{height:auto;aspect-ratio:2/3;border:1px solid rgba(119,107,74,.15);border-radius:17px;object-fit:cover;box-shadow:0 12px 32px rgba(72,59,35,.08)}
  .hero-image-version .hero-cta{position:relative;left:auto;bottom:auto;width:min(310px,calc(100% - 40px));margin:14px auto 0;gap:7px}
  .hero-image-version .hero-cta a{min-height:48px;font-size:14px;box-shadow:none}
  .fc-lt{display:none}
}

/* Section-by-section backgrounds from NEWS onward */
.home-main{max-width:1480px;margin:-38px auto 72px;padding:0 28px 64px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.home-main>.panel{margin:14px 0;padding:42px 38px 46px;border:1px solid rgba(126,113,82,.16);border-radius:22px;background:rgba(252,249,242,.94);box-shadow:0 12px 38px rgba(73,60,36,.055);overflow:hidden}
.home-main>.news-panel{background:linear-gradient(135deg,rgba(252,250,245,.97),rgba(248,244,235,.94))}
.home-main>.talent-panel{background:linear-gradient(135deg,rgba(248,245,238,.97),rgba(244,240,231,.94))}
.home-main>.cafe-banner{margin-top:14px;padding:44px 41% 38px 38px!important;border-bottom:1px solid rgba(126,113,82,.16)!important;background:linear-gradient(110deg,rgba(251,247,238,.98),rgba(245,237,224,.94))}
.home-main .split-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0;border:0;padding:0}
.home-main .split-sections .panel{min-height:290px;margin:0;padding:32px 34px;border:1px solid rgba(126,113,82,.16);border-radius:22px;background:rgba(250,247,240,.95);box-shadow:0 12px 38px rgba(73,60,36,.055)}
.home-main .split-sections .music-feature{background:linear-gradient(120deg,rgba(248,245,237,.98),rgba(238,235,222,.93))}
.home-main .split-sections .about-feature{background:linear-gradient(120deg,rgba(250,247,240,.98),rgba(242,235,222,.94))}
.home-main>.panel:hover,.home-main .split-sections .panel:hover{border-color:rgba(111,108,68,.26)}

@media(max-width:1150px){.home-main{margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}.home-main>.cafe-banner{padding-right:38%!important}.home-main>.cafe-banner>p,.home-main>.cafe-banner>.button{margin-left:0}}
@media(max-width:760px){.home-main{margin:0 auto 38px;padding:0 10px 30px}.home-main>.panel{margin:10px 0;padding:32px 18px 35px;border-radius:18px}.home-main .split-sections{display:block;margin:10px 0}.home-main .split-sections .panel{min-height:265px;margin:10px 0;padding:26px 20px;border-radius:18px}.home-main>.cafe-banner{padding:34px 18px 250px!important}.home-main>.cafe-banner>p{margin-top:0}.home-main>.cafe-banner .cafe-photo{left:18px;right:18px;width:auto;bottom:20px}}

/* Keep every shared CTA label optically centered; the arrow is independent. */
.button{position:relative;display:inline-grid;place-items:center;gap:0;padding:10px 54px;text-align:center}
.button>span{grid-area:1/1;display:block;text-align:center}
.button>b{position:absolute;right:19px;margin:0!important;line-height:1;font-weight:400}
@media(max-width:760px){.button{padding-right:48px;padding-left:48px}.button>b{right:17px}}

/* ForCreation component library */
.component-library{max-width:1320px;padding-bottom:100px}.component-library .page-hero{margin-bottom:28px}.component-section{margin:18px 0;padding:38px;border:1px solid rgba(126,113,82,.18);border-radius:22px;background:rgba(255,253,248,.92);box-shadow:0 12px 38px rgba(73,60,36,.055)}
.component-label{display:flex;align-items:flex-start;gap:17px;margin-bottom:31px;padding-bottom:20px;border-bottom:1px solid rgba(126,113,82,.16)}.component-label>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#6f7044;color:#fff;font:600 11px var(--serif)}.component-label h2{margin:0;color:#373426;font:500 30px/1.1 var(--serif);letter-spacing:.07em}.component-label p{margin:5px 0 0;color:var(--muted);font-size:11px}
.token-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.color-token{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.color-token>span{display:block;height:84px;border-bottom:1px solid var(--line)}.color-token>div{display:flex;align-items:center;justify-content:space-between;padding:11px 12px}.color-token b{font:600 11px var(--serif)}.color-token code{color:var(--muted);font-size:9px}.token-ivory{background:#f8f4ec}.token-paper{background:#fffdf8}.token-ink{background:#211d18}.token-olive{background:#6f7044}.token-gold{background:#989052}.token-copper{background:#ad6941}
.type-specimens{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.type-specimens article{padding:25px 27px;border:1px solid var(--line);border-radius:14px;background:#fff}.type-specimens small{color:#77714f;font-size:9px;letter-spacing:.1em}.type-specimens h3{margin:14px 0 5px;font-size:25px}.type-specimens article:first-child h3,.type-specimens article:first-child p{font-family:var(--serif)}.type-specimens p{margin:0;color:var(--muted);font-size:12px}
.component-stage{padding:28px;border:1px dashed rgba(111,112,68,.35);border-radius:15px;background:rgba(248,244,236,.62)}.heading-stage .section-heading{margin-bottom:34px}.library-heading-sample{text-align:center;padding:34px 15px;border-top:1px solid var(--line)}.library-heading-sample p{margin:0;color:var(--gold);font-size:9px;letter-spacing:.3em}.library-heading-sample h2{margin:9px 0;font:500 50px/1 var(--serif);letter-spacing:.08em}.library-heading-sample span{display:inline-block;padding:5px 14px;background:var(--gold);color:#fff;font:600 11px var(--serif)}
.action-stage{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.library-outline-button{position:relative;display:inline-grid;min-width:200px;min-height:48px;padding:10px 48px;place-items:center;border:1px solid rgba(101,96,63,.38);border-radius:99px;background:#fff;color:#4f4c36;font:600 11px var(--serif);letter-spacing:.06em}.library-outline-button b{position:absolute;right:18px;font-size:17px}.component-section>.filters{margin-bottom:0}
.library-card-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.library-card-grid .card-image,.library-card-grid .person-image{height:230px}.library-info-card{padding:31px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#f8f5ed,#eee8d9)}.library-info-card>span{color:var(--gold);font-size:9px;letter-spacing:.15em}.library-info-card h3{margin:21px 0 14px;font:500 25px/1.65 var(--serif)}.library-info-card p{color:var(--muted);font-size:12px}.library-info-card a{display:inline-block;margin-top:19px;color:#77714f;font:600 10px var(--serif);letter-spacing:.1em}
.meta-stage{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.meta-stage .news-meta{margin:0}.meta-stage .status,.meta-stage .tag{margin:0}.library-form{max-width:900px}.library-form>label{display:block;margin-top:20px}.library-form label>span{margin-left:8px;padding:2px 6px;border-radius:3px;background:#a55e37;color:#fff;font-size:8px}.library-form input,.library-form select,.library-form textarea{width:100%;margin-top:7px}.library-form .check{display:flex;align-items:center;gap:8px}.library-form .check input{width:auto;margin:0}.library-form .form-actions{margin-top:24px}
@media(max-width:1000px){.token-grid{grid-template-columns:repeat(3,1fr)}.library-card-grid{grid-template-columns:1fr 1fr}.library-info-card{grid-column:1/-1}}
@media(max-width:760px){.component-library{padding-bottom:55px}.component-section{padding:25px 17px;border-radius:18px}.component-label h2{font-size:24px}.token-grid{grid-template-columns:repeat(2,1fr)}.color-token>span{height:65px}.color-token>div{display:block}.color-token code{display:block}.type-specimens,.library-card-grid{grid-template-columns:1fr}.library-info-card{grid-column:auto}.component-stage{padding:18px}.action-stage{align-items:stretch;flex-direction:column}.action-stage .button,.library-outline-button{width:100%}.library-heading-sample h2{font-size:35px}}

/* Continuous-curvature corners: superellipse rather than quarter-circle joins. */
:root{--continuous-panel-radius:30px;--continuous-card-radius:20px;--continuous-control-radius:12px}
.hero-image-version .hero-visual,
.hero-image-version .hero-visual>img,
.home-main>.panel,
.home-main .split-sections .panel,
.component-section{border-radius:var(--continuous-panel-radius)}
.news-card,
.person-card,
.artist-card,
.store-card,
.recruit-list article,
.form-panel,
.detail-visual,
.wide-image,
.cafe-photo,
.gallery>div,
.feature-image,
.component-stage,
.color-token,
.type-specimens article,
.library-info-card{border-radius:var(--continuous-card-radius)}
.form-panel input,
.form-panel select,
.form-panel textarea,
.form-error{border-radius:var(--continuous-control-radius)}
@supports (corner-shape:squircle){
  .hero-image-version .hero-visual,
  .hero-image-version .hero-visual>img,
  .home-main>.panel,
  .home-main .split-sections .panel,
  .component-section,
  .news-card,
  .person-card,
  .artist-card,
  .store-card,
  .recruit-list article,
  .form-panel,
  .detail-visual,
  .wide-image,
  .cafe-photo,
  .gallery>div,
  .feature-image,
  .component-stage,
  .color-token,
  .type-specimens article,
  .library-info-card,
  .form-panel input,
  .form-panel select,
  .form-panel textarea,
  .form-error{corner-shape:squircle}
  .hero-image-version .hero-visual:after{corner-shape:inherit}
}
@media(max-width:760px){
  :root{--continuous-panel-radius:24px;--continuous-card-radius:18px;--continuous-control-radius:11px}
}

/* Layered shadows: a short contact shadow plus a broad ambient shadow. */
:root{
  --shadow-panel-layered:0 3px 7px rgba(66,53,32,.045),0 22px 58px rgba(66,53,32,.075);
  --shadow-card-layered:0 2px 5px rgba(54,43,27,.075),0 14px 34px rgba(73,58,35,.075);
  --shadow-card-hover-layered:0 5px 10px rgba(54,43,27,.085),0 22px 48px rgba(73,58,35,.12);
  --shadow-media-layered:0 3px 7px rgba(46,36,23,.08),0 18px 42px rgba(63,48,29,.1)
}
.hero-image-version .hero-visual{box-shadow:0 4px 10px rgba(61,48,29,.055),0 30px 76px rgba(72,59,35,.105)}
.home-main>.panel,
.home-main .split-sections .panel,
.component-section{box-shadow:var(--shadow-panel-layered)}
.news-card,
.person-card,
.artist-card,
.store-card,
.recruit-list article,
.form-panel,
.color-token,
.type-specimens article,
.library-info-card{box-shadow:var(--shadow-card-layered)}
.cafe-photo,
.detail-visual,
.wide-image,
.gallery>div{box-shadow:var(--shadow-media-layered)}
.news-card:hover,
.person-card:hover,
.artist-card:hover,
.store-card:hover,
.library-info-card:hover{box-shadow:var(--shadow-card-hover-layered)}
@media(max-width:760px){
  :root{
    --shadow-panel-layered:0 2px 5px rgba(66,53,32,.04),0 14px 38px rgba(66,53,32,.065);
    --shadow-card-layered:0 2px 4px rgba(54,43,27,.065),0 10px 25px rgba(73,58,35,.07)
  }
}

/* Apply the shared corner and depth system across every public-facing page. */
.panel{border-radius:var(--continuous-panel-radius)}
.media-grid article,
.business-grid article,
.social-band a,
.map,
.confirm-box,
.steps span{border-radius:var(--continuous-card-radius)}
.media-grid article,
.business-grid article,
.social-band a{overflow:hidden;box-shadow:var(--shadow-card-layered);transition:transform .25s,box-shadow .25s}
.map{overflow:hidden;box-shadow:var(--shadow-media-layered)}
.media-grid article:hover,
.business-grid article:hover,
.social-band a:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover-layered)}
.confirm-box,
.steps span{box-shadow:0 2px 4px rgba(54,43,27,.05),0 9px 24px rgba(73,58,35,.055)}
@supports (corner-shape:squircle){
  .panel,
  .media-grid article,
  .business-grid article,
  .social-band a,
  .map,
  .confirm-box,
  .steps span{corner-shape:squircle}
}

/* ABOUT media meets the copy area with a straight inner edge. */
.home-main .about-feature .feature-image{
  border-top-left-radius:0;
  border-bottom-left-radius:0;
}

/* CONCEPT CAFE: clean editorial split layout */
.home-main>.cafe-banner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(520px,46%);
  grid-template-rows:129px 95px auto;
  column-gap:clamp(48px,4vw,70px);
  min-height:394px;
  padding:34px 38px 34px 70px!important;
  overflow:hidden;
  background:#fff;
}
.home-main .split-sections .music-feature,
.home-main .split-sections .about-feature{
  background:#fff;
}
.home-main>.cafe-banner .section-heading{
  grid-column:1;
  grid-row:1;
  align-self:start;
  margin:26px 0 0;
}
.home-main>.cafe-banner .section-heading>div{gap:20px}
.home-main>.cafe-banner .section-heading h2{font-size:54px;line-height:1}
.home-main>.cafe-banner>p{
  grid-column:1;
  grid-row:2;
  align-self:start;
  max-width:620px;
  margin:0!important;
  color:var(--ink);
  font:600 20px/1.95 var(--serif);
  letter-spacing:.055em;
  transform:translateY(-15px);
}
.home-main>.cafe-banner>.button{
  grid-column:1;
  grid-row:3;
  justify-self:start;
  align-self:start;
  min-width:294px;
  min-height:68px;
  margin:0!important;
  font-size:17px;
}
.home-main>.cafe-banner>.cafe-photo{
  position:relative;
  inset:auto;
  grid-column:2;
  grid-row:1/4;
  width:100%;
  height:100%;
  min-height:292px;
  overflow:hidden;
  border-radius:var(--continuous-card-radius);
  background-position:center;
  box-shadow:var(--shadow-media-layered);
}
.home-main>.cafe-banner .cafe-logo{
  position:absolute;
  z-index:2;
  left:24px;
  top:24px;
  display:grid;
  width:185px;
  height:auto;
  min-height:96px;
  padding:8px 10px;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.48);
  border-radius:16px;
  background:rgba(255,253,248,.64);
  box-shadow:0 8px 22px rgba(47,35,20,.14);
  backdrop-filter:blur(7px);
}
.home-main>.cafe-banner .cafe-logo img{
  width:112%;
  max-width:none;
  height:auto;
  max-height:none;
  object-fit:contain;
  transform:none;
}
@media(max-width:1150px){
  .home-main>.cafe-banner{
    grid-template-columns:minmax(0,1fr) minmax(390px,44%);
    grid-template-rows:112px 88px auto;
    column-gap:34px;
    min-height:360px;
    padding:30px 30px 30px 44px!important;
  }
  .home-main>.cafe-banner .section-heading{margin-top:20px}
  .home-main>.cafe-banner .section-heading h2{font-size:44px}
  .home-main>.cafe-banner>p{font-size:16px}
  .home-main>.cafe-banner>.button{min-width:250px;min-height:54px;font-size:15px}
}
@media(max-width:760px){
  .home-main>.cafe-banner{
    display:block;
    min-height:0;
    padding:30px 18px 20px!important;
  }
  .home-main>.cafe-banner .section-heading{margin-bottom:24px}
  .home-main>.cafe-banner>p{font-size:15px;line-height:1.9}
  .home-main>.cafe-banner>.button{margin-top:22px!important}
  .home-main>.cafe-banner>.cafe-photo{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    height:230px;
    min-height:0;
    margin-top:26px;
  }
  .home-main>.cafe-banner .cafe-logo{
    left:16px;
    top:16px;
    width:145px;
    min-height:72px;
    padding:6px;
    border-radius:12px;
  }
  .home-main>.cafe-banner .cafe-logo img{width:108%}
}

/* Give the TOP sections a calmer, more natural vertical rhythm. */
.home-main>.panel,
.home-main>.split-sections{
  margin-top:0;
  margin-bottom:0;
}
.home-main>:first-child{margin-top:14px}
.home-main>:not(:first-child){margin-top:29px}
@media(max-width:760px){
  .home-main>:first-child{margin-top:10px}
  .home-main>:not(:first-child){margin-top:22px}
}

/* Align the MUSIC and ABOUT US CTA baselines on the two-column layout. */
.home-main .split-sections .feature>div:nth-of-type(2)>p{
  min-height:3.4em;
}

/* NEWS category colors: corporate/recruitment in olive, shop/store in brown. */
.news-meta span.badge-olive{
  background:#6d7044;
}
.news-meta span.badge-brown{
  background:#8c5236;
}
.home-main>.cafe-banner>.button{
  background:#9b5f3d;
}
.home-main .news-panel .news-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.home-news-desktop{
  display:block;
}
.home-news-mobile{
  display:none;
}
.home-news-stage--desktop{
  width:100%;
  overflow:hidden;
}
.home-news-slider--desktop{
  display:flex;
  width:100%;
  gap:18px;
  will-change:transform;
}
.home-news-slider--desktop.is-animated{
  transition:transform .34s cubic-bezier(.22,.72,.24,1);
}
.home-main .home-news-slider--desktop .news-card{
  display:block!important;
  flex:0 0 calc((100% - 54px)/4);
  width:calc((100% - 54px)/4);
  min-width:0;
}
.home-news-controls--desktop{
  display:grid;
  grid-template-columns:62px 1fr 62px;
  align-items:center;
  gap:20px;
  width:258px;
  margin:25px auto 0;
}
.home-news-controls--desktop button{
  display:grid;
  width:58px;
  height:40px;
  place-items:center;
  border:1px solid #9e9166;
  border-radius:999px;
  background:transparent;
  color:#7c704d;
  font-size:20px;
  line-height:1;
}
.home-news-controls--desktop button:last-child{
  justify-self:end;
}
.home-news-controls--desktop button:active{
  transform:scale(.96);
  background:rgba(255,255,255,.52);
}
.home-news-controls--desktop p{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  margin:0;
  color:#3f3a30;
  font:500 13px/1 var(--serif);
  letter-spacing:.08em;
}
.home-news-controls--desktop p i{
  color:#8d846e;
  font-style:normal;
}
.image-guild-store{
  background-image:url('../images/guild-labyrinth-store.jpg');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.news-image-guild{
  background-image:url('../images/guild-labyrinth-store.jpg');
}
.news-image-recruit{
  background-image:url('../images/news-talent-recruitment.webp');
}
.news-image-company{
  background-image:url('../images/news-company-established.webp');
}
.news-image-audition{
  background-image:url('../images/news-audition-information.webp');
}
.store-card .store-type{
  display:inline-block;
  margin-left:.35em;
  font-size:.55em;
  font-weight:500;
}
.store-card .store-phone{
  color:#9b5f3d;
  font-weight:700;
  letter-spacing:.04em;
}
.music-page .artist-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.music-page .artist-card{
  grid-template-columns:44% minmax(0,1fr);
}
.music-page .artist-card>div{
  height:300px;
}
.music-page .artist-card section{
  padding:30px 28px;
}
.music-page .artist-card h2{
  margin:5px 0;
  font-size:36px;
}
.music-page .artist-card section p{
  font-size:13px;
  line-height:1.75;
}
.cafe-list-page .store-list{
  grid-template-columns:minmax(0,1080px);
  justify-content:center;
  gap:28px;
}
.cafe-list-page .store-card{
  grid-template-columns:53% minmax(0,1fr);
  align-items:stretch;
}
.cafe-list-page .store-card-photo{
  display:block;
  width:100%;
  height:100%;
  min-height:380px;
  object-fit:cover;
  object-position:center;
}
.cafe-list-page .store-card>section{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:32px 38px;
}
.cafe-list-page .store-brand-logo{
  width:min(200px,100%);
  height:72px;
  margin:0 auto 6px;
}
.cafe-list-page .store-card h2{
  margin:0 0 18px;
  font-size:34px;
  line-height:1.12;
}
.cafe-list-page .store-card .store-type{
  display:block;
  margin:3px 0 0;
  font-size:15px;
  line-height:1.25;
}
.cafe-list-page .store-card dl{
  grid-template-columns:86px minmax(0,1fr);
  gap:8px 14px;
  margin:0 0 24px;
  font-size:15px;
  line-height:1.7;
}
.cafe-list-page .store-card dt{font-weight:700}
.cafe-list-page .store-card dd{font-size:15px}
.cafe-list-page .store-card .store-phone{font-size:18px}
.cafe-list-page .store-card .button{
  align-self:center;
  min-width:240px;
  min-height:52px;
}
.recruit-guidance{
  max-width:1000px;
  margin:0 auto 45px;
  padding:48px;
  border:1px solid var(--line);
  border-radius:var(--continuous-panel-radius);
  background:#fff;
  box-shadow:var(--shadow-card-layered);
}
.recruit-intro{
  margin:0;
  font:600 clamp(18px,2vw,24px)/2 var(--serif);
}
.recruit-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  margin:34px 0 44px;
  padding:22px 25px;
  border-left:4px solid #6f7044;
  background:#f5f3ea;
}
.recruit-notice p{margin:0}
.recruit-notice a{
  flex:none;
  color:#6f7044;
  font-weight:700;
}
.recruit-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
}
.recruit-columns h2{
  margin:0 0 24px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
  font:500 28px var(--serif);
}
.recruit-flow{
  display:grid;
  gap:20px;
  margin:0;
  padding:0;
  list-style:none;
}
.recruit-flow li{
  position:relative;
  display:grid;
  grid-template-columns:46px 1fr;
  align-items:center;
  gap:15px;
}
.recruit-flow li:not(:last-child):after{
  content:"↓";
  position:absolute;
  left:17px;
  bottom:-22px;
  color:#989052;
}
.recruit-flow b{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:50%;
  background:#6f7044;
  color:#fff;
  font-size:11px;
}
.recruit-flow span{font-weight:700}
.recruit-flow small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
  font-weight:400;
}
.recruit-eligibility{
  display:grid;
  gap:15px;
  margin:0 0 22px;
  padding:0;
  list-style:none;
}
.recruit-eligibility li{
  position:relative;
  padding-left:22px;
}
.recruit-eligibility li:before{
  content:"";
  position:absolute;
  left:0;
  top:.75em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#989052;
}
.recruit-privacy{
  margin-top:38px;
  padding-top:24px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
}
.recruit-privacy p{margin:6px 0}
.application-panel{scroll-margin-top:110px}
.form-grid .wide-field{grid-column:1/-1}
.upload-grid input[type="file"]{padding:9px;background:#f7f4ed}
.contact-page .form-panel{max-width:820px}
.store-map{
  position:relative;
  width:min(1056px,100%);
  height:clamp(300px,42vw,460px);
  margin:55px auto;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#ddd4c5;
  box-shadow:var(--shadow);
}
.store-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.store-map>a{
  position:absolute;
  right:16px;
  bottom:16px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:999px;
  background:rgba(34,29,24,.86);
  color:#fff;
  font-size:12px;
  font-weight:700;
  box-shadow:0 6px 18px rgba(34,29,24,.18);
  backdrop-filter:blur(8px);
}
.filters button{
  min-height:42px;
  padding:10px 22px;
  font-size:13px;
  font-weight:600;
  line-height:1;
}
.detail-visual{
  width:min(100%,620px);
  height:310px;
  margin-left:auto;
  margin-right:auto;
}
.page-main .page-hero h1{
  font-size:clamp(32px,3.9vw,50px);
  letter-spacing:.07em;
}
.cafe-detail .info-table{
  grid-template-columns:110px minmax(0,1fr);
}
@media(min-width:761px){
  .cafe-detail .info-table{
    width:min(720px,100%);
    margin-right:auto;
    margin-left:auto;
    grid-template-columns:280px minmax(0,440px);
    justify-content:start;
  }
  .cafe-detail .info-table dt{
    padding-right:24px;
    text-align:right;
  }
  .cafe-detail .info-table dd{
    padding-left:24px;
  }
  .profile-facts dt,
  .profile-facts dd{
    padding-top:10px;
    padding-bottom:10px;
    font-size:14px;
    line-height:1.6;
  }
}
.cafe-detail .cafe-info-layout{
  display:block;
  width:min(820px,100%);
  margin:55px auto;
}
.cafe-detail .info-table dt,
.cafe-detail .info-table dd{
  padding:14px 12px;
  font-size:15px;
  line-height:1.65;
}
.cafe-detail .info-table dt{
  font-weight:700;
}
@media(min-width:761px){
  .cafe-detail .info-table dt{
    padding-left:63px;
    text-align:left;
  }
  .cafe-detail .info-table dd{
    padding-left:32px;
  }
}
.cafe-detail .info-table .external-link{
  color:#9b5f3d;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:rgba(155,95,61,.32);
  text-underline-offset:4px;
}
.cafe-detail .cafe-social-icons{
  display:flex;
  align-items:center;
  gap:18px;
}
.cafe-detail .cafe-social-icons a{
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  color:var(--ink);
}
.cafe-detail .cafe-social-icons svg{
  display:block;
  width:21px;
  height:21px;
}
.about-story{
  width:fit-content;
  max-width:100%;
  margin:0 auto 105px;
  padding:32px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.about-story small{
  color:#989052;
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
}
.about-story h2{
  margin:18px 0 24px;
  font:500 clamp(24px,2.4vw,34px)/1.85 var(--serif);
  letter-spacing:.035em;
}
.about-story-line{display:block}
.about-story p{
  margin:0;
  font:500 15px/1.9 var(--serif);
}
.about-overview{
  max-width:1000px;
  margin:0 auto 105px;
}
.about-overview .section-heading,
.about-company .section-heading{
  justify-content:center;
  margin-bottom:54px;
}
.about-overview .section-heading>div,
.about-company .section-heading>div{
  display:block;
}
.about-overview .section-heading h2,
.about-company .section-heading h2{
  color:#989052;
  font:600 21px/1.4 var(--serif);
  letter-spacing:.08em;
}
.about-overview ol{
  margin:0;
  padding:0;
  border-top:1px solid var(--line);
  list-style:none;
}
.about-overview li{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:0;
  padding:22px 18px;
  border-bottom:1px solid var(--line);
  background:transparent;
}
.about-overview li b{
  color:#989052;
  font:500 16px var(--serif);
  letter-spacing:.08em;
}
.about-overview li span{
  font:500 14px/1.8 var(--serif);
}
.about-company{
  max-width:1000px;
  margin-bottom:100px;
}
.about-company dl{
  grid-template-columns:250px minmax(0,1fr);
  column-gap:0;
  border-top:0;
  background:transparent;
}
.about-company dt{
  color:#989052;
  font:500 17px/1.7 var(--serif);
}
.about-company dt,
.about-company dd{
  padding:24px 0;
  border-top:1px solid rgba(125,113,79,.45);
  border-bottom:0;
}
.about-company dd{
  padding-left:48px;
  font-size:15px;
}
@media(min-width:761px){
  .about-overview li{
    grid-template-columns:72px minmax(0,650px);
    justify-content:center;
  }
  .about-company dl{
    grid-template-columns:72px minmax(0,650px);
    justify-content:center;
    background:
      linear-gradient(rgba(125,113,79,.45),rgba(125,113,79,.45)) top/100% 1px no-repeat,
      linear-gradient(rgba(125,113,79,.45),rgba(125,113,79,.45)) center/100% 1px no-repeat,
      linear-gradient(rgba(125,113,79,.45),rgba(125,113,79,.45)) bottom/100% 1px no-repeat;
  }
  .about-company dt,
  .about-company dd{
    border-top:0;
  }
  .about-company dd{
    padding-left:60px;
  }
}

/* NEWS archive: calm, readable editorial list without thumbnails. */
.news-list-page .page-hero h1{
  font-size:clamp(32px,3.9vw,50px);
}
.news-list-page .filters{
  margin-bottom:48px;
}
.news-list-rows{
  display:grid;
  max-width:1120px;
  margin:0 auto 80px;
  gap:20px;
}
.news-list-row{
  display:flex;
  min-height:132px;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:27px 34px;
  border:1px solid rgba(128,115,90,.1);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 32px rgba(71,58,37,.055);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.news-list-row:hover{
  transform:translateY(-3px);
  border-color:rgba(128,115,90,.2);
  box-shadow:0 18px 40px rgba(71,58,37,.095);
}
.news-list-row>div{
  min-width:0;
}
.news-list-row .news-meta{
  margin:0 0 10px;
}
.news-list-row .news-meta time{
  color:#969188;
  font:500 13px/1.2 var(--sans);
  letter-spacing:.04em;
}
.news-list-row .news-meta span{
  padding:5px 10px;
}
.news-list-row h2{
  margin:0;
  font:500 clamp(17px,1.6vw,22px)/1.6 var(--serif);
  letter-spacing:.025em;
}
.news-list-row--compact h2{
  font-size:clamp(16px,1.45vw,20px);
}
.news-list-row>b{
  display:grid;
  width:38px;
  height:38px;
  flex:0 0 auto;
  place-items:center;
  border:1px solid rgba(128,115,90,.2);
  border-radius:50%;
  color:#8c7b52;
  font:400 18px/1 var(--sans);
  transition:transform .25s ease,background .25s ease,color .25s ease;
}
.news-list-row:hover>b{
  transform:translateX(3px);
  background:#8c7b52;
  color:#fff;
}
@media(max-width:900px){
  .music-page .artist-list,
  .cafe-list-page .store-list{
    grid-template-columns:1fr;
  }
  .cafe-list-page .store-card{
    grid-template-columns:1fr;
  }
  .cafe-list-page .store-card-photo{
    height:auto;
    min-height:0;
    aspect-ratio:800/534;
  }
  .recruit-columns{
    grid-template-columns:1fr;
    gap:38px;
  }
}
@media(max-width:760px){
  .home-main{
    margin-right:18px;
    margin-left:18px;
  }
  .page-main .page-hero h1{
    font-size:30px;
  }
  .filters button{
    min-height:40px;
    padding:10px 18px;
    font-size:12px;
  }
  .detail-visual{
    height:220px;
  }
  .home-main .split-sections .feature>div:nth-of-type(2)>p{
    min-height:0;
  }
  .home-main .news-panel{
    position:relative;
    left:50%;
    width:100vw;
    margin-left:-50vw;
    overflow:hidden;
    padding:38px 0 42px;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .home-main .news-panel .section-heading{
    padding:0 24px;
    margin-bottom:20px;
  }
  .home-news-desktop{
    display:none!important;
  }
  .home-news-mobile{
    display:block;
  }
  .home-news-stage{
    width:100%;
    overflow:hidden;
  }
  .home-news-slider{
    display:flex;
    gap:14px;
    padding-left:15vw;
    width:max-content;
    will-change:transform;
  }
  .home-news-slider.is-animated{
    transition:transform .3s cubic-bezier(.22,.72,.24,1);
  }
  .home-news-slider .news-card{
    flex:0 0 70vw;
    width:70vw;
    border-radius:8px;
  }
  .home-news-slider .card-image{
    height:auto;
    aspect-ratio:16/10;
  }
  .home-news-slider .news-meta{
    margin-top:12px;
  }
  .home-news-slider .news-card h3{
    min-height:44px;
    margin-bottom:14px;
    line-height:1.6;
  }
  .home-news-controls{
    display:grid;
    grid-template-columns:62px 1fr 62px;
    align-items:center;
    gap:20px;
    padding:25px 18px 0;
  }
  .home-news-controls button{
    display:grid;
    width:58px;
    height:40px;
    place-items:center;
    border:1px solid #9e9166;
    border-radius:999px;
    background:transparent;
    color:#7c704d;
    font-size:20px;
    line-height:1;
  }
  .home-news-controls button:last-child{
    justify-self:end;
  }
  .home-news-controls button:active{
    transform:scale(.96);
    background:rgba(255,255,255,.52);
  }
  .home-news-controls p{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    margin:0;
    color:#3f3a30;
    font:500 13px/1 var(--serif);
    letter-spacing:.08em;
  }
  .home-news-controls p i{
    color:#8d846e;
    font-style:normal;
  }
  .music-page .artist-card{
    grid-template-columns:1fr;
  }
  .music-page .artist-card>div{
    height:220px;
  }
  .music-page .artist-card section{
    padding:24px 22px;
  }
  .music-page .artist-card h2{
    font-size:30px;
  }
  .cafe-list-page .store-card{
    grid-template-columns:1fr;
  }
  .cafe-list-page .store-card>section{
    padding:24px 22px;
  }
  .cafe-list-page .store-card h2{
    font-size:27px;
  }
  .recruit-guidance{
    margin-bottom:52px;
    padding:30px 20px 32px;
  }
  .recruit-notice{
    align-items:flex-start;
    flex-direction:column;
    gap:18px;
    margin:30px 0 38px;
    padding:21px 22px;
    font-size:13px;
    line-height:1.9;
  }
  .recruit-intro{
    font-size:15px;
    line-height:2;
    letter-spacing:.015em;
    line-break:strict;
    overflow-wrap:normal;
    text-wrap:pretty;
  }
  .about-story{
    width:100%;
    padding:22px 0 0;
    margin-bottom:70px;
  }
  .about-story h2{
    margin-top:16px;
    margin-bottom:24px;
    font-size:clamp(18px,5.8vw,22px);
    line-height:1.78;
    letter-spacing:.02em;
    line-break:strict;
    overflow-wrap:normal;
  }
  .about-story-line{white-space:nowrap}
  .about-story p{
    max-width:32em;
    font-size:14px;
    line-height:2;
    letter-spacing:.01em;
    line-break:strict;
    overflow-wrap:normal;
    text-wrap:pretty;
  }
  .about-overview li{
    grid-template-columns:42px minmax(0,1fr);
    gap:10px;
    padding:17px 4px;
  }
  .about-overview,
  .about-company{
    margin-bottom:72px;
  }
  .about-overview .section-heading,
  .about-company .section-heading{
    margin-bottom:35px;
  }
  .about-company dl{
    grid-template-columns:100px minmax(0,1fr);
    column-gap:0;
  }
  .about-company dt,
  .about-company dd{
    padding:18px 0;
  }
  .about-company dd{
    padding-left:18px;
  }
  .news-list-page .filters{
    margin-bottom:32px;
  }
  .news-list-page .page-hero h1{
    font-size:30px;
  }
  .news-list-rows{
    gap:14px;
    margin-bottom:55px;
  }
  .news-list-row{
    min-height:112px;
    padding:21px 20px;
    border-radius:14px;
  }
  .news-list-row h2{
    font-size:16px;
  }
  .news-list-row--compact h2{
    font-size:15px;
  }
  .news-list-row>b{
    width:34px;
    height:34px;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-news-slider.is-animated{
    transition-duration:.001ms;
  }
}

/* Shared neutral base sampled from the supplied reference. */
body{
  background-color:#faf6f0;
  background-image:none;
}

/* Desktop header: keep the navigation as the sole right-aligned action group. */
@media(min-width:1151px){
  .site-header nav{
    justify-content:flex-end;
  }
  .site-header .nav-links{
    flex:0 1 auto;
    justify-content:flex-end;
    margin-left:auto;
  }
  .site-header .social-links{
    display:none;
  }
  .footer-social a{
    display:inline-grid;
    min-width:28px;
    min-height:28px;
    place-items:center;
    font-size:19px;
    line-height:1;
  }
  .footer-social-label{
    display:none;
  }
}

@media(max-width:1150px){
  .footer-social-icon{
    display:inline-grid;
    min-width:28px;
    min-height:28px;
    place-items:center;
    font-size:19px;
    line-height:1;
  }
  .footer-social-label{
    display:none;
  }
}

.footer-social-icon svg{
  display:block;
  width:20px;
  height:20px;
}
.social-links svg{
  display:block;
  width:18px;
  height:18px;
}
.profile-social{
  display:flex;
  align-items:center;
  gap:18px;
  letter-spacing:0;
}
.profile-social a{
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
}
.profile-social svg{
  display:block;
  width:18px;
  height:18px;
}
.cms-rich-text > :first-child{
  margin-top:0;
}
.cms-rich-text > :last-child{
  margin-bottom:0;
}
.cms-rich-text img{
  display:block;
  max-width:100%;
  height:auto;
  margin:2rem auto;
  border-radius:12px;
}
.cms-rich-text a{
  color:var(--copper);
  text-decoration:underline;
  text-underline-offset:4px;
}

/* Mobile hero: the supplied artwork already contains its own background. */
@media(max-width:760px){
  body{
    background-color:#faf6f0;
    background-image:none;
  }
  .hero.hero-image-version{
    padding:0 0 33px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .hero-image-version .hero-visual{
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .hero-image-version .hero-visual::after{
    content:none;
  }
  .hero-image-version .hero-visual>picture{
    position:relative;
    display:block;
    isolation:isolate;
  }
  .hero-image-version .hero-visual>picture::after{
    content:"";
    position:absolute;
    z-index:2;
    top:auto;
    right:0;
    bottom:-1px;
    left:0;
    height:72px;
    border-radius:0;
    background:linear-gradient(
      to bottom,
      rgba(250,246,240,0) 0%,
      rgba(250,246,240,.12) 24%,
      rgba(250,246,240,.68) 68%,
      #faf6f0 100%
    );
    pointer-events:none;
  }
  .hero-image-version .hero-visual img{
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .hero.hero-image-version>.fc-lt{
    display:none!important;
  }
  .home-main .news-panel .section-heading{
    position:relative;
    justify-content:center;
  }
  .home-main .news-panel .section-heading>a{
    position:absolute;
    right:24px;
    min-height:28px;
    padding:3px 9px;
    font-size:8px;
    letter-spacing:.04em;
  }
  .home-main .news-panel .section-heading>a b{
    display:none;
  }
  .home-main>.talent-panel{
    padding:40px 0 34px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  .home-main .talent-panel .section-heading{
    justify-content:center;
    padding:0 18px;
  }
  .home-main .talent-panel .talent-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 12px;
    padding:0 10px;
  }
  .home-main .talent-panel .person-card{
    min-width:0;
    border-radius:10px;
    box-shadow:0 7px 20px rgba(73,60,36,.055);
  }
  .home-main .talent-panel .person-image{
    height:auto;
    aspect-ratio:1/1;
    background-position:center 20%!important;
  }
  .home-main .talent-panel .person-card>div:nth-child(2){
    padding:11px 6px 13px;
    text-align:center;
  }
  .home-main .talent-panel .person-card h3{
    overflow:hidden;
    font-size:16px;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .home-main .talent-panel .person-card small,
  .home-main .talent-panel .person-card p,
  .home-main .talent-panel .person-card>span{
    display:none;
  }
  .home-main .talent-panel .center{
    margin:26px auto 0;
    padding:0 18px;
  }
  .home-main .talent-panel .center .button{
    width:min(280px,100%);
    min-width:0;
  }
}

/* Mobile TOP feature banners: one consistent editorial layout. */
@media(max-width:760px){
  .home-main>.cafe-banner,
  .home-main .split-sections .feature{
    position:relative;
    isolation:isolate;
    display:block;
    min-height:230px;
    margin:0;
    padding:24px 20px!important;
    overflow:hidden;
    border:1px solid #d5c9b8;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(73,60,36,.06);
  }
  .home-main .split-sections{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin:14px 0 0;
    padding:0;
  }
  .home-main>.cafe-banner::before,
  .home-main .split-sections .feature::before{
    content:"";
    position:absolute;
    z-index:1;
    inset:1px;
    border-radius:15px;
    background:linear-gradient(90deg,
      rgba(250,246,240,.98) 0%,
      rgba(250,246,240,.94) 43%,
      rgba(250,246,240,.58) 67%,
      rgba(250,246,240,.08) 100%);
    pointer-events:none;
  }
  .home-main>.cafe-banner .section-heading,
  .home-main .split-sections .feature .section-heading{
    position:relative;
    z-index:3;
    display:block;
    margin:0 0 15px;
  }
  .home-main .split-sections .music-feature .section-heading,
  .home-main .split-sections .about-feature .section-heading,
  .home-main .split-sections .music-feature>div:nth-of-type(2),
  .home-main .split-sections .about-feature>div:nth-of-type(2){
    transform:translateY(20px);
  }
  .home-main>.cafe-banner .section-heading>div,
  .home-main .split-sections .feature .section-heading>div{
    display:inline-flex;
    padding:0;
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
  }
  .home-main>.cafe-banner .section-heading h2,
  .home-main .split-sections .feature .section-heading h2{
    max-width:none;
    font-size:28px;
    line-height:1.08;
    letter-spacing:.055em;
    white-space:normal;
  }
  .home-main>.cafe-banner>p,
  .home-main .split-sections .feature>div:nth-of-type(2)>p{
    position:relative;
    z-index:3;
    max-width:62%;
    min-height:0;
    margin:0!important;
    color:var(--ink);
    font:600 14px/1.75 var(--serif);
    letter-spacing:.025em;
    transform:none;
  }
  .home-main>.cafe-banner>.button,
  .home-main .split-sections .feature .button{
    position:relative;
    z-index:3;
    width:178px;
    min-width:0;
    min-height:42px;
    margin:17px 0 0!important;
    padding:8px 42px 8px 18px;
    font-size:13px;
    box-shadow:none;
  }
  .home-main>.cafe-banner>.cafe-photo,
  .home-main .split-sections .feature .round-art,
  .home-main .split-sections .feature .feature-image{
    position:absolute;
    z-index:0;
    inset:1px!important;
    width:calc(100% - 2px);
    height:calc(100% - 2px);
    min-height:0;
    margin:0;
    border:0;
    border-radius:15px;
    background-size:cover;
    box-shadow:none;
    opacity:1;
  }
  .home-main>.cafe-banner>.cafe-photo{
    background-position:center;
  }
  .home-main .split-sections .music-feature .round-art{
    background-position:68% center;
  }
  .home-main .split-sections .about-feature .feature-image{
    background-position:72% center;
  }
  .home-main>.cafe-banner .cafe-logo{
    z-index:4;
    top:auto;
    right:12px;
    bottom:12px;
    left:auto;
    width:82px;
    min-height:42px;
    padding:4px;
    border-radius:8px;
    background:rgba(250,246,240,.72);
    box-shadow:0 4px 12px rgba(47,35,20,.1);
  }
  .home-main>.cafe-banner .cafe-logo img{
    width:108%;
  }
}

/* Use the same comfortable mobile page gutter as the TOP page. */
@media(max-width:760px){
  .page-main{
    width:auto;
    margin-right:18px;
    margin-left:18px;
    padding-right:0;
    padding-left:0;
  }
  .about-page{
    padding-right:clamp(12px,4vw,18px);
    padding-left:clamp(12px,4vw,18px);
  }
  .recruit-page .page-hero h1{
    line-height:1.18;
    letter-spacing:.055em;
  }
  .recruit-title-second{
    display:block;
    margin:2px 0 0;
  }
  .recruit-page .page-intro{
    width:min(100%,29em);
    margin-top:24px;
    font-size:13px;
    line-height:2;
    letter-spacing:.035em;
    line-break:strict;
    overflow-wrap:normal;
    text-wrap:balance;
  }
  .footer-center nav{
    display:none;
  }
  .home-main>.talent-panel{
    margin-top:7px;
  }
  .home-main>.cafe-banner{
    margin-top:65px;
  }
  .hero-image-version .hero-cta{
    transform:translateY(-30px);
  }
  footer .footer-inner{
    grid-template-columns:minmax(0,1fr) 70px;
    grid-template-areas:
      "logo logo"
      "social social"
      "legal top";
    gap:18px 20px;
    padding:32px 28px 24px;
    text-align:left;
  }
  .footer-inner>.logo{
    grid-area:logo;
    margin:0 auto;
  }
  .footer-center{
    display:contents;
  }
  .footer-center nav{
    display:none;
  }
  .footer-social{
    grid-area:social;
    justify-content:center;
    margin:0;
  }
  .footer-legal{
    grid-area:legal;
    align-self:center;
    justify-self:start;
    text-align:left;
  }
  .footer-legal a{
    display:block;
  }
  .footer-legal p{
    margin:2px 0 0;
  }
  .to-top{
    grid-area:top;
    width:64px;
    height:64px;
    margin:0;
    justify-self:end;
    align-self:center;
  }
}

.nav-scrim{
  display:none;
}

/* Mobile / tablet navigation: animated drawer with a clear page scrim. */
@media(max-width:1150px){
  body.menu-open{
    overflow:hidden;
  }
  .site-header .logo,
  .site-header .menu-button{
    position:relative;
    z-index:3;
  }
  .site-header .menu-button{
    width:44px;
    min-height:44px;
    padding:5px;
    justify-content:center;
    border-radius:50%;
  }
  .site-header .menu-button span{
    transform-origin:center;
    transition:transform .3s ease,opacity .2s ease;
  }
  .site-header.menu-is-open .menu-button span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }
  .site-header.menu-is-open .menu-button span:nth-child(2){
    opacity:0;
  }
  .site-header.menu-is-open .menu-button span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }
  .nav-scrim{
    position:fixed;
    z-index:1;
    inset:76px 0 0;
    display:block;
    padding:0;
    border:0;
    background:rgba(31,28,23,.52);
    opacity:0;
    visibility:hidden;
    cursor:pointer;
    transition:opacity .32s ease,visibility 0s linear .32s;
  }
  .site-header.menu-is-open .nav-scrim{
    opacity:1;
    visibility:visible;
    transition:opacity .32s ease,visibility 0s;
  }
  .site-header nav{
    z-index:2;
    display:flex;
    width:min(420px,84vw);
    overflow-y:auto;
    visibility:hidden;
    transform:translate3d(104%,0,0);
    box-shadow:-18px 0 42px rgba(31,28,23,.14);
    transition:transform .38s cubic-bezier(.22,.72,.25,1),visibility 0s linear .38s;
    will-change:transform;
  }
  .site-header nav.open{
    display:flex;
    visibility:visible;
    transform:translate3d(0,0,0);
    transition:transform .38s cubic-bezier(.22,.72,.25,1),visibility 0s;
  }
  .site-header nav .nav-links a{
    opacity:0;
    transform:translateX(18px);
    transition:opacity .26s ease,transform .32s ease,color .25s,background .25s;
  }
  .site-header nav.open .nav-links a{
    opacity:1;
    transform:translateX(0);
  }
  .site-header nav.open .nav-links a:nth-child(1){transition-delay:.08s}
  .site-header nav.open .nav-links a:nth-child(2){transition-delay:.105s}
  .site-header nav.open .nav-links a:nth-child(3){transition-delay:.13s}
  .site-header nav.open .nav-links a:nth-child(4){transition-delay:.155s}
  .site-header nav.open .nav-links a:nth-child(5){transition-delay:.18s}
  .site-header nav.open .nav-links a:nth-child(6){transition-delay:.205s}
  .site-header nav.open .nav-links a:nth-child(7){transition-delay:.23s}
  .site-header nav.open .nav-links a:nth-child(8){transition-delay:.255s}
  .site-header nav.open .nav-links a:nth-child(9){transition-delay:.28s}
}

/*
 * iOSはレイアウト外の画面下端をbodyの色で描画する。
 * bodyをフッター色にし、公開ページ本体だけをベージュの面で覆う。
 */
body{
  background-color:#55563d;
  background-image:none;
}
#top{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  background:#faf6f0;
}
#top>.page-main{
  width:100%;
}
#top>footer{
  margin-top:auto;
}

/* Keep the flex-based sticky footer from widening mobile page canvases.
 * Desktop pages retain their full max-width; mobile pages use the same
 * 18px side gutter as the TOP page. */
@media(max-width:760px){
  #top>.page-main{
    width:calc(100% - 36px);
    max-width:calc(100% - 36px);
    margin-right:18px;
    margin-left:18px;
  }
  .cafe-list-page .store-card,
  .cafe-list-page .store-card>section,
  .cafe-detail .cafe-info-layout,
  .cafe-detail .info-table{
    min-width:0;
    max-width:100%;
  }
  .cafe-list-page .store-brand-logo{
    transform:translateX(30px);
  }
}

@media(min-width:761px){
  .cafe-list-page .store-brand-logo{
    transform:translateX(30px);
  }
}

/* Calm multi-page transition.
 * The app body intentionally uses the dark footer colour on iOS, so this
 * warm layer prevents that colour from flashing before React is painted. */
html{
  background:#faf6f0;
}
#fc-page-transition{
  position:fixed;
  inset:0;
  z-index:2147483000;
  background:#faf6f0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.fc-js #fc-page-transition{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .34s cubic-bezier(.22,.61,.36,1),visibility 0s;
  will-change:opacity;
}
.fc-js body.fc-page-ready #fc-page-transition{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .34s cubic-bezier(.22,.61,.36,1),visibility 0s linear .34s;
}
.fc-js body.fc-page-leaving #fc-page-transition{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .22s cubic-bezier(.4,0,.2,1),visibility 0s;
}
@media(prefers-reduced-motion:reduce){
  .fc-js #fc-page-transition,
  .fc-js body.fc-page-ready #fc-page-transition,
  .fc-js body.fc-page-leaving #fc-page-transition{
    transition-duration:.01ms;
  }
}

/* RELATED NEWS card content guide.
 * Keep date/category/title on one consistent invisible inset line, while the
 * image remains full bleed within the card. */
.news-detail .related .news-card{
  --related-card-gutter:16px;
}
.news-detail .related .news-card .news-meta{
  margin:0;
  padding:14px var(--related-card-gutter) 0;
  gap:10px;
}
.news-detail .related .news-card .news-meta time,
.news-detail .related .news-card .news-meta span{
  flex:0 0 auto;
}
.news-detail .related .news-card h3{
  min-height:0;
  margin:0;
  padding:11px var(--related-card-gutter) 22px;
  font-weight:500;
  line-height:1.7;
}
@media(max-width:760px){
  .news-detail .related .news-card{
    --related-card-gutter:15px;
  }
  .news-detail .related .news-card .news-meta{
    padding-top:13px;
  }
  .news-detail .related .news-card h3{
    padding-top:10px;
    padding-bottom:20px;
  }
}

/* Keep native iOS button colouring aligned with the ForCreation palette. */
.site-header .menu-button,
.site-header .menu-button b,
.filters button{
  color:#28231e;
  -webkit-text-fill-color:#28231e;
}
.filters button.active,
.filters button:hover{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
