/*
Theme Name: 歌楽里 AGENCY EDITION
Theme URI: https://snack-karakuri.com/
Author: Karakuri
Description: スナック歌楽里専用。1979年から積み重なった店の時間を、最高峰のホスピタリティ／エディトリアル表現で再設計したGeneratePress正式子テーマ。
Version: 2026.10.8
Template: generatepress
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: karakuri-agency
*/
:root{
  --ka-ink:#11100e;
  --ka-ink-2:#1a1714;
  --ka-paper:#f1eadc;
  --ka-paper-2:#e5d6be;
  --ka-cream:#fbf5e9;
  --ka-red:#812d2b;
  --ka-red-deep:#5f1e1d;
  --ka-gold:#ad8b55;
  --ka-gold-soft:#d5bd92;
  --ka-text:#f6efe4;
  --ka-muted:#b9aa96;
  --ka-line:rgba(255,255,255,.14);
  --ka-dark-line:#c9baa2;
  --ka-serif:"Yu Mincho","Hiragino Mincho ProN","YuMincho",serif;
  --ka-sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  --ka-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --ka-ease:cubic-bezier(.22,.61,.36,1);
  --ka-shadow:0 30px 90px rgba(22,12,7,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body.ka-site{margin:0;background:var(--ka-ink);color:var(--ka-text);font-family:var(--ka-sans);font-size:17px;line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.ka-site.ka-menu-open{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
::selection{background:var(--ka-red);color:#fff}
.ka-shell{width:min(1180px,calc(100% - 52px));margin-inline:auto}
.ka-main{overflow:hidden}

/* header */
.ka-progress{position:fixed;z-index:10002;top:0;left:0;right:0;height:2px;background:transparent}.ka-progress i{display:block;width:0;height:100%;background:var(--ka-gold)}
.ka-header{position:fixed;z-index:10000;top:0;left:0;right:0;transition:.35s var(--ka-ease);border-bottom:1px solid transparent}.admin-bar .ka-header{top:32px}.ka-header.is-scrolled{background:rgba(17,16,14,.94);backdrop-filter:blur(16px);border-bottom-color:rgba(255,255,255,.1)}
.ka-header__inner{width:min(1360px,calc(100% - 40px));height:90px;margin:auto;display:flex;align-items:center;gap:28px}
.ka-brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:max-content}.ka-brand__mark{width:46px;height:46px;border:1px solid rgba(213,189,146,.7);display:grid;place-items:center;font-family:var(--ka-serif);font-size:24px;color:var(--ka-gold-soft)}.ka-brand__text{display:flex;flex-direction:column;line-height:1}.ka-brand__text strong{font-family:var(--ka-serif);font-size:23px;letter-spacing:.14em;color:#fff}.ka-brand__text small{font:700 9px/1 var(--ka-mono);letter-spacing:.13em;color:#a89a87;margin-top:8px}
.ka-nav{margin-left:auto;display:flex;align-items:center;gap:22px}.ka-nav a{text-decoration:none;color:#e9dfd0;font-size:12px;font-weight:800;letter-spacing:.08em;position:relative}.ka-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--ka-gold);transition:.25s}.ka-nav a:hover:after{width:100%}
.ka-header__actions{display:flex;align-items:center;gap:16px}.ka-header__tel{display:flex;flex-direction:column;text-decoration:none;border-left:1px solid rgba(255,255,255,.16);padding-left:17px;line-height:1}.ka-header__tel small{font:700 8px/1 var(--ka-mono);letter-spacing:.14em;color:#a99b89}.ka-header__tel b{font-size:14px;color:#fff;margin-top:7px}.ka-header__map{text-decoration:none;padding:13px 15px;border:1px solid rgba(213,189,146,.38);font:800 10px/1 var(--ka-mono);letter-spacing:.1em;color:#dfc79e}.ka-menu-toggle{display:none;width:48px;height:48px;border:0;background:transparent;padding:10px;cursor:pointer}.ka-menu-toggle span{display:block;height:1px;background:#fff;margin:9px 0;transition:.25s}

/* hero */
.ka-hero{position:relative;min-height:100svh;background:#0d0c0a;color:#fff;display:flex;align-items:stretch;overflow:hidden}.ka-hero__media{position:absolute;inset:0}.ka-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.72) contrast(1.06) brightness(.68)}.ka-hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,11,9,.96) 0%,rgba(13,11,9,.83) 36%,rgba(13,11,9,.38) 69%,rgba(13,11,9,.24) 100%),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.55))}.ka-hero__grain{position:absolute;inset:0;opacity:.15;background-image:radial-gradient(rgba(255,255,255,.45) .55px,transparent .55px);background-size:4px 4px;mix-blend-mode:soft-light}
.ka-hero__inner{position:relative;z-index:2;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:60px;padding:150px 0 105px}.ka-hero__copy{max-width:850px}.ka-kicker{margin:0 0 22px;font:800 11px/1 var(--ka-mono);letter-spacing:.22em;color:var(--ka-gold-soft)}.ka-hero h1{margin:0;font-family:var(--ka-serif);font-size:clamp(72px,9vw,138px);font-weight:700;line-height:.88;letter-spacing:.08em}.ka-hero h1 span{display:block}.ka-hero h1 small{display:block;font:700 10px/1 var(--ka-mono);letter-spacing:.24em;color:#b8a791;margin-top:22px}.ka-hero__statement{font-family:var(--ka-serif);font-size:clamp(24px,2.6vw,36px);line-height:1.55;letter-spacing:.015em;margin:42px 0 0;color:#f6ede0}.ka-hero__meta{display:flex;flex-wrap:wrap;gap:0;margin-top:28px;color:#c5b8a6}.ka-hero__meta span{font:700 11px/1.4 var(--ka-mono);letter-spacing:.08em;padding:0 18px;border-left:1px solid rgba(255,255,255,.22)}.ka-hero__meta span:first-child{padding-left:0;border-left:0}.ka-hero__actions{display:flex;align-items:center;gap:28px;margin-top:34px}.ka-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:64px;padding:0 24px;text-decoration:none;border:1px solid transparent;transition:.25s var(--ka-ease)}.ka-button span{font-size:11px;font-weight:900;letter-spacing:.08em}.ka-button b{font-size:14px}.ka-button--primary{background:var(--ka-red);color:#fff}.ka-button--primary:hover{background:#9a3835;transform:translateY(-2px)}.ka-button--outline{border-color:#8f7b60;color:#44352a}.ka-button--outline:hover{background:#fff}.ka-text-link{display:inline-flex;gap:12px;align-items:center;text-decoration:none;font:800 11px/1 var(--ka-mono);letter-spacing:.1em;color:#eadfce}.ka-text-link i{font-style:normal;transition:.2s}.ka-text-link:hover i{transform:translate(4px,-4px)}
.ka-hero__year{align-self:center;border-left:1px solid rgba(255,255,255,.18);padding-left:34px;display:grid;grid-template-columns:auto auto;align-items:end}.ka-hero__year b,.ka-hero__year strong{font:700 clamp(58px,6.4vw,100px)/.78 Georgia,serif;letter-spacing:-.08em}.ka-hero__year b{color:rgba(255,255,255,.15)}.ka-hero__year strong{color:var(--ka-gold-soft)}.ka-hero__year span{grid-column:1/-1;font:700 8px/1.5 var(--ka-mono);letter-spacing:.14em;color:#a89b8a;margin-top:18px}.ka-hero__scroll{position:absolute;z-index:3;left:26px;bottom:30px;display:flex;align-items:center;gap:10px;transform:rotate(-90deg);transform-origin:left bottom;font:700 8px/1 var(--ka-mono);letter-spacing:.18em;color:#988b79}.ka-hero__scroll i{width:46px;height:1px;background:#988b79}

/* intro */
.ka-intro{background:var(--ka-paper);color:#211a15;padding:130px 0}.ka-intro__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:100px;align-items:center}.ka-eyebrow{font:800 10px/1 var(--ka-mono);letter-spacing:.2em;color:var(--ka-red);margin:0 0 18px}.ka-eyebrow--light{color:var(--ka-gold-soft)}.ka-intro h2,.ka-section-head h2,.ka-food h2,.ka-karaoke h2,.ka-access h2,.ka-final h2{font-family:var(--ka-serif);font-weight:700;letter-spacing:-.025em}.ka-intro h2{font-size:clamp(42px,5vw,68px);line-height:1.27;margin:0 0 30px}.ka-intro h2 em{font-style:normal;color:var(--ka-red)}.ka-intro__copy>p:not(.ka-eyebrow){color:#65584c;margin:0 0 18px}.ka-intro__lead{font-size:20px!important;color:#372b23!important;line-height:1.9!important}.ka-reservation{margin-top:34px;padding:24px 0 0;border-top:1px solid #bdad94}.ka-reservation small{display:block;font:800 9px/1 var(--ka-mono);letter-spacing:.14em;color:#8b7655}.ka-reservation strong{display:block;font-family:var(--ka-serif);font-size:28px;margin:12px 0 4px;color:#5f1e1d}.ka-reservation p{margin:0;color:#786b5d;font-size:14px}
.ka-intro__photo{margin:0;position:relative}.ka-intro__photo img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:sepia(.08) contrast(1.03);box-shadow:var(--ka-shadow)}.ka-intro__photo:before{content:"1979";position:absolute;z-index:2;right:-38px;top:-56px;font:700 100px/.8 Georgia,serif;color:rgba(129,45,43,.14);letter-spacing:-.08em}.ka-intro__photo figcaption{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #baa98f}.ka-intro__photo figcaption span{font:700 8px/1.4 var(--ka-mono);letter-spacing:.12em;color:#8d7d69}.ka-intro__photo figcaption b{font-family:var(--ka-serif);font-size:14px}

/* manifesto */
.ka-manifesto{background:var(--ka-ink);padding:130px 0 0;position:relative}.ka-manifesto__inner{position:relative;padding-bottom:95px}.ka-manifesto h2{font-family:var(--ka-serif);font-size:clamp(54px,7.2vw,105px);line-height:1.05;letter-spacing:-.045em;margin:0;max-width:1000px}.ka-manifesto__lead{font-family:var(--ka-serif);font-size:clamp(18px,2vw,27px);line-height:1.85;color:#c6b8a5;margin:42px 0 0;max-width:720px}.ka-manifesto__line{position:absolute;right:0;top:0;width:1px;height:100%;background:linear-gradient(transparent,var(--ka-gold),transparent);opacity:.45}.ka-manifesto__gallery{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:3px}.ka-manifesto__gallery figure{margin:0;overflow:hidden;background:#222}.ka-manifesto__gallery img{width:100%;height:480px;object-fit:cover;filter:grayscale(.2) sepia(.08) brightness(.82);transition:.6s}.ka-manifesto__gallery figure:hover img{transform:scale(1.02);filter:grayscale(0) sepia(.02) brightness(.92)}

/* section heads + experience */
.ka-experience{background:var(--ka-cream);color:#201812;padding:125px 0}.ka-section-head{display:grid;grid-template-columns:210px 1fr;gap:50px;align-items:start;margin-bottom:65px}.ka-section-head>div{display:flex;align-items:flex-start;gap:16px}.ka-section-head>div>span{font:700 36px/.9 Georgia,serif;color:#b7a58c}.ka-section-head .ka-eyebrow{margin-top:7px}.ka-section-head h2{font-size:clamp(42px,5vw,68px);line-height:1.25;margin:0}.ka-section-head--dark h2{color:#fff}.ka-experience__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cbbba3;border-left:1px solid #cbbba3}.ka-experience__card{padding:34px 28px 36px;border-right:1px solid #cbbba3;border-bottom:1px solid #cbbba3;min-height:280px}.ka-experience__card>span{font:800 9px/1 var(--ka-mono);letter-spacing:.12em;color:#9a8061}.ka-experience__card h3{font-family:var(--ka-serif);font-size:28px;margin:36px 0 16px}.ka-experience__card p{font-size:14px;color:#6c6053;margin:0;line-height:1.9}

/* food */
.ka-food{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;background:#15110e}.ka-food__media{position:absolute;inset:0}.ka-food__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.58)}.ka-food__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,12,10,.94) 0%,rgba(15,12,10,.84) 45%,rgba(15,12,10,.20) 78%,rgba(15,12,10,.08))}.ka-food__inner{position:relative;z-index:2}.ka-food__copy{max-width:650px}.ka-food h2{font-size:clamp(44px,5.7vw,78px);line-height:1.2;margin:0 0 28px}.ka-food h2 em{font-style:normal;color:#dfc08e}.ka-food__copy>p:not(.ka-eyebrow){color:#d1c5b5;font-size:16px;margin:0 0 17px;max-width:620px}

/* price */
.ka-price{background:var(--ka-red-deep);padding:120px 0 130px}.ka-price .ka-eyebrow{color:#e0c499}.ka-price__board{border-top:1px solid rgba(255,255,255,.35)}.ka-price__row{display:grid;grid-template-columns:1fr auto 250px;gap:35px;align-items:center;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.26)}.ka-price__row>span{font-family:var(--ka-serif);font-size:20px}.ka-price__row strong{font:700 46px/.9 Georgia,serif;letter-spacing:-.04em;color:#fff}.ka-price__row strong small{font:700 14px/1 var(--ka-sans);letter-spacing:0;margin-left:5px}.ka-price__row em{font-style:normal;color:#d9bfb0;font-size:13px}.ka-price__note{color:#ceb3a4;font-size:12px;margin:22px 0 0}

/* karaoke */
.ka-karaoke{background:#e8deca;color:#211a15;padding:120px 0}.ka-karaoke__media{width:min(1320px,calc(100% - 40px));height:620px;margin:0 auto;overflow:hidden}.ka-karaoke__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.03)}.ka-karaoke__inner{margin-top:-130px;position:relative}.ka-karaoke__copy{width:min(650px,90%);margin-left:auto;background:var(--ka-ink);color:#fff;padding:54px 58px;box-shadow:var(--ka-shadow)}.ka-karaoke h2{font-size:clamp(40px,4.8vw,64px);line-height:1.25;margin:0 0 24px}.ka-karaoke__copy>p:not(.ka-eyebrow){color:#c7b9a6;margin:0;font-size:15px}

/* gallery */
.ka-gallery{background:var(--ka-ink);padding:120px 0 4px}.ka-gallery .ka-section-head{color:#fff}.ka-gallery .ka-section-head>div>span{color:#665f55}.ka-gallery .ka-eyebrow{color:var(--ka-gold-soft)}.ka-gallery__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:330px 310px;gap:4px}.ka-gallery__grid figure{margin:0;overflow:hidden;background:#191614}.ka-gallery__grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) brightness(.86);transition:.6s var(--ka-ease)}.ka-gallery__grid figure:hover img{transform:scale(1.025);filter:saturate(.9) brightness(.96)}.ka-gallery__a{grid-column:span 5;grid-row:span 2}.ka-gallery__b{grid-column:span 3}.ka-gallery__c{grid-column:span 4}.ka-gallery__d{grid-column:span 2}.ka-gallery__d img{object-position:center 25%}.ka-gallery__e{grid-column:span 5}

/* access */
.ka-access{background:var(--ka-paper);color:#211a15;padding:130px 0}.ka-access__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}.ka-access h2{font-size:clamp(46px,5.5vw,72px);line-height:1.18;margin:0 0 20px}.ka-access__lead{font-family:var(--ka-serif);font-size:20px;color:#6f5d4d;margin:0 0 34px}.ka-access dl{margin:0;border-top:1px solid #c6b79f}.ka-access dl>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid #c6b79f}.ka-access dt{font:800 9px/1.6 var(--ka-mono);letter-spacing:.12em;color:#90795c}.ka-access dd{margin:0;font-size:14px}.ka-access dd a{text-decoration:none}.ka-access__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.ka-access__note{font-size:11px;color:#807363;margin:16px 0 0}.ka-access__photo{position:relative;display:block;text-decoration:none}.ka-access__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--ka-shadow)}.ka-access__photo span{position:absolute;left:20px;right:20px;bottom:20px;background:rgba(17,16,14,.90);color:#fff;padding:16px 18px;display:flex;justify-content:space-between;font:800 9px/1 var(--ka-mono);letter-spacing:.11em}.ka-access__photo i{font-style:normal}

/* final */
.ka-final{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:#111}.ka-final__media{position:absolute;inset:0}.ka-final__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.65) brightness(.45)}.ka-final__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,8,.9),rgba(12,10,8,.48) 70%,rgba(12,10,8,.28))}.ka-final__inner{position:relative;z-index:2}.ka-final h2{font-size:clamp(58px,8vw,112px);line-height:1.06;margin:0 0 30px;letter-spacing:-.04em}.ka-final__inner>p:not(.ka-eyebrow){font-family:var(--ka-serif);font-size:22px;line-height:1.9;color:#d4c7b5;margin:0 0 32px}

/* footer */
.ka-footer{background:#090806;color:#fff;padding:78px 0 26px;border-top:1px solid #28231d}.ka-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,.7fr);gap:50px}.ka-footer__brand{display:flex;align-items:center;gap:14px}.ka-footer__brand>span{width:52px;height:52px;display:grid;place-items:center;border:1px solid #66573f;font-family:var(--ka-serif);font-size:27px;color:#d6bc8e}.ka-footer__brand strong{display:block;font-family:var(--ka-serif);font-size:28px;letter-spacing:.12em}.ka-footer__brand small,.ka-footer__info small{font:700 8px/1.4 var(--ka-mono);letter-spacing:.12em;color:#807666}.ka-footer__info p{font-size:12px;color:#b7ac9b;margin:10px 0 0;line-height:1.8}.ka-footer__info a{text-decoration:none;color:#fff}.ka-footer__bottom{margin-top:60px;padding-top:20px;border-top:1px solid #27231d;display:flex;justify-content:space-between;align-items:center;color:#675f54}.ka-footer__bottom p{margin:0;font:700 8px/1 var(--ka-mono);letter-spacing:.08em}.ka-to-top{border:0;background:transparent;color:#8d8273;font:700 8px/1 var(--ka-mono);letter-spacing:.1em;cursor:pointer}.ka-mobile-cta{display:none}

/* GeneratePress reset */
.ka-site .site-content,.ka-site .content-area,.ka-site .site-main{margin:0!important;padding:0!important;max-width:none!important;width:auto!important}.ka-site .container.grid-container{max-width:none!important}.ka-site #page{max-width:none!important}.ka-site .entry-content{margin:0}.ka-site .inside-article{padding:0!important}.ka-site .site-header,.ka-site .site-footer{display:none!important}

/* reveal is enhancement only */
.ka-reveal{opacity:1;transform:none}
.js .ka-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ka-ease),transform .8s var(--ka-ease)}.js .ka-reveal.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .ka-nav{display:none}.ka-menu-toggle{display:block}.ka-header__tel{margin-left:auto}.ka-nav.is-open{display:grid;position:fixed;z-index:9999;top:90px;left:0;right:0;bottom:0;background:rgba(17,16,14,.985);padding:40px 26px;align-content:start;gap:0}.admin-bar .ka-nav.is-open{top:122px}.ka-nav.is-open a{padding:16px 0;border-bottom:1px solid #2e2923;font-size:15px}.ka-nav.is-open a:after{display:none}.ka-hero__inner{grid-template-columns:1fr 210px}.ka-experience__grid{grid-template-columns:repeat(2,1fr)}.ka-price__row{grid-template-columns:1fr auto 180px}.ka-footer__grid{grid-template-columns:1fr 1fr}.ka-footer__brand{grid-column:1/-1}
}

@media(max-width:820px){
  .admin-bar .ka-header{top:46px}.ka-header__inner{height:80px;width:calc(100% - 28px)}.ka-nav.is-open{top:80px}.admin-bar .ka-nav.is-open{top:126px}.ka-header__map{display:none}.ka-brand__text small{display:none}
  .ka-shell{width:calc(100% - 36px)}
  .ka-hero__inner{grid-template-columns:1fr;min-height:100svh;padding:140px 0 90px}.ka-hero__year{display:none}.ka-hero__veil{background:linear-gradient(180deg,rgba(13,11,9,.48),rgba(13,11,9,.88) 72%,rgba(13,11,9,.96))}.ka-hero__copy{align-self:end}.ka-hero h1{font-size:clamp(68px,18vw,104px)}.ka-hero__statement{font-size:25px}.ka-hero__scroll{display:none}
  .ka-intro{padding:95px 0}.ka-intro__grid{grid-template-columns:1fr;gap:55px}.ka-intro__photo{order:-1}.ka-intro__photo:before{right:0;top:-35px;font-size:70px}
  .ka-manifesto{padding-top:95px}.ka-manifesto__gallery{grid-template-columns:1fr 1fr}.ka-manifesto__gallery figure:first-child{grid-column:1/-1}.ka-manifesto__gallery img{height:360px}
  .ka-section-head{grid-template-columns:1fr;gap:18px}.ka-section-head>div{align-items:center}.ka-section-head>div>span{font-size:26px}.ka-experience{padding:95px 0}
  .ka-food{min-height:700px}.ka-food__media:after{background:linear-gradient(180deg,rgba(15,12,10,.35),rgba(15,12,10,.93) 72%)}.ka-food__inner{align-self:end;padding-bottom:70px}.ka-food__copy{max-width:100%}
  .ka-price{padding:90px 0}.ka-price__row{grid-template-columns:1fr auto}.ka-price__row em{grid-column:1/-1}.ka-karaoke{padding:90px 0}.ka-karaoke__media{height:470px;width:calc(100% - 20px)}.ka-karaoke__inner{margin-top:-80px}.ka-karaoke__copy{padding:42px 38px;width:calc(100% - 20px)}
  .ka-gallery{padding-top:95px}.ka-gallery__grid{grid-template-columns:repeat(2,1fr);grid-template-rows:290px 220px 220px}.ka-gallery__a{grid-column:1/-1;grid-row:auto}.ka-gallery__b,.ka-gallery__c,.ka-gallery__d,.ka-gallery__e{grid-column:auto;grid-row:auto}
  .ka-access{padding:95px 0}.ka-access__grid{grid-template-columns:1fr;gap:50px}.ka-access__photo{order:-1}.ka-access__photo img{aspect-ratio:16/10}.ka-final{min-height:620px}.ka-footer{padding-bottom:120px}.ka-mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:9998;left:0;right:0;bottom:0;background:#090806;border-top:1px solid #332e27;padding-bottom:env(safe-area-inset-bottom)}.ka-mobile-cta a{min-height:68px;padding:9px 18px;display:flex;flex-direction:column;justify-content:center;text-decoration:none}.ka-mobile-cta a+a{background:var(--ka-red)}.ka-mobile-cta small{font:700 8px/1 var(--ka-mono);letter-spacing:.12em;color:#a79c8c;margin-bottom:7px}.ka-mobile-cta a+a small{color:#dfbdb4}.ka-mobile-cta b{font-size:14px;color:#fff}
}

@media(max-width:560px){
  body.ka-site{font-size:16px}.ka-header__inner{height:74px;width:calc(100% - 24px)}.ka-brand__mark{width:40px;height:40px;font-size:21px}.ka-brand__text strong{font-size:20px}.ka-header__tel{display:none}.ka-menu-toggle{margin-left:auto}.ka-nav.is-open{top:74px}.admin-bar .ka-nav.is-open{top:120px}
  .ka-hero__inner{padding:118px 0 88px}.ka-hero h1{font-size:62px;letter-spacing:.06em}.ka-hero h1 small{font-size:8px;margin-top:15px}.ka-kicker{font-size:9px;margin-bottom:17px}.ka-hero__statement{font-size:20px;line-height:1.65;margin-top:28px}.ka-hero__meta{display:grid;gap:8px;margin-top:22px}.ka-hero__meta span{padding:0;border:0;font-size:9px}.ka-hero__actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:28px}.ka-button{width:100%;min-height:58px;padding:0 18px}.ka-text-link{font-size:10px}
  .ka-intro{padding:78px 0}.ka-intro h2{font-size:38px}.ka-intro__lead{font-size:17px!important}.ka-intro__copy>p:not(.ka-eyebrow){font-size:15px}.ka-reservation strong{font-size:24px}.ka-intro__photo figcaption{display:grid}.ka-intro__photo figcaption b{font-size:13px}
  .ka-manifesto{padding-top:78px}.ka-manifesto__inner{padding-bottom:62px}.ka-manifesto h2{font-size:48px}.ka-manifesto__lead{font-size:17px;margin-top:26px}.ka-manifesto__line{display:none}.ka-manifesto__gallery{grid-template-columns:1fr}.ka-manifesto__gallery figure:first-child{grid-column:auto}.ka-manifesto__gallery img{height:290px}
  .ka-experience{padding:78px 0}.ka-section-head{margin-bottom:38px}.ka-section-head h2{font-size:38px}.ka-experience__grid{grid-template-columns:1fr}.ka-experience__card{min-height:auto;padding:28px 24px}.ka-experience__card h3{margin:22px 0 10px;font-size:25px}
  .ka-food{min-height:680px}.ka-food h2{font-size:39px}.ka-food__copy>p:not(.ka-eyebrow){font-size:14px}
  .ka-price{padding:78px 0 90px}.ka-price__row{padding:23px 0;gap:15px}.ka-price__row>span{font-size:16px}.ka-price__row strong{font-size:34px}.ka-price__row em{font-size:11px}.ka-price__note{font-size:10px}
  .ka-karaoke{padding:78px 0}.ka-karaoke__media{height:330px}.ka-karaoke__inner{margin-top:-40px}.ka-karaoke__copy{padding:30px 24px;width:calc(100% - 12px)}.ka-karaoke h2{font-size:35px}.ka-karaoke__copy>p:not(.ka-eyebrow){font-size:14px}
  .ka-gallery{padding-top:78px}.ka-gallery__grid{grid-template-columns:1fr;grid-template-rows:none}.ka-gallery__grid figure{height:260px}.ka-gallery__a{grid-column:auto}.ka-gallery__d{height:360px!important}.ka-gallery__e{height:300px!important}
  .ka-access{padding:78px 0}.ka-access h2{font-size:41px}.ka-access__lead{font-size:17px}.ka-access dl>div{grid-template-columns:82px 1fr;gap:12px}.ka-access__actions{grid-template-columns:1fr}.ka-access__photo img{aspect-ratio:4/3}.ka-final{min-height:560px}.ka-final h2{font-size:56px}.ka-final__inner>p:not(.ka-eyebrow){font-size:17px}.ka-footer__grid{grid-template-columns:1fr;gap:34px}.ka-footer__brand{grid-column:auto}.ka-footer__bottom{display:grid;gap:16px}
}


/* =========================================================
   v2026.10.1 — MOBILE TYPOGRAPHY ART DIRECTION
   Deliberate Japanese line breaks for smartphone presentation.
========================================================= */
.ka-mobile-only-br{display:none}

@media(max-width:560px){
  /* ABOUT: 板橋駅のそばに、 / 第二の故郷がある。 */
  .ka-intro h2{
    font-size:32px!important;
    line-height:1.28!important;
    letter-spacing:-.04em!important;
    white-space:nowrap;
  }

  /* MANIFESTO: 新しく作った / “昭和風”ではない。 */
  .ka-manifesto h2{
    font-size:35px!important;
    line-height:1.15!important;
    letter-spacing:-.045em!important;
    white-space:nowrap;
  }

  /* EXPERIENCE: 飲む。食べる。歌う。 / そして、つい長居する。 */
  .ka-experience .ka-section-head h2{
    font-size:30px!important;
    line-height:1.28!important;
    letter-spacing:-.04em!important;
    white-space:nowrap;
  }

  /* FOOD: deliberately use three balanced lines on mobile. */
  .ka-food h2{
    font-size:31px!important;
    line-height:1.24!important;
    letter-spacing:-.045em!important;
  }
  .ka-food h2 em{white-space:nowrap}
  .ka-mobile-only-br{display:block}

  /* PRICE: 安心して飲める、 / 明朗会計。 */
  .ka-price .ka-section-head h2{
    font-size:31px!important;
    line-height:1.22!important;
    letter-spacing:-.04em!important;
    white-space:nowrap;
  }

  /* KARAOKE: スナックで歌うと、 / なぜかクセになる。 */
  .ka-karaoke h2{
    font-size:29px!important;
    line-height:1.27!important;
    letter-spacing:-.04em!important;
    white-space:nowrap;
  }

  /* GALLERY: 飾らない。 / それが、歌楽里らしい。 */
  .ka-gallery .ka-section-head h2{
    font-size:30px!important;
    line-height:1.27!important;
    letter-spacing:-.045em!important;
    white-space:nowrap;
  }

  /* ACCESS: 板橋駅東口、 / 徒歩1分。 */
  .ka-access h2{
    font-size:34px!important;
    line-height:1.22!important;
    letter-spacing:-.045em!important;
    white-space:nowrap;
  }

  /* Slightly tighten section head rhythm after reducing type size. */
  .ka-section-head{gap:14px}
  .ka-section-head h2{margin-top:2px}
}

@media(max-width:390px){
  .ka-intro h2{font-size:30px!important}
  .ka-manifesto h2{font-size:33px!important}
  .ka-experience .ka-section-head h2{font-size:28px!important}
  .ka-food h2{font-size:29px!important}
  .ka-price .ka-section-head h2{font-size:29px!important}
  .ka-karaoke h2{font-size:27px!important}
  .ka-gallery .ka-section-head h2{font-size:28px!important}
  .ka-access h2{font-size:32px!important}
}


/* =========================================================
   v2026.10.3 CLEAN PHOTO / GALLERY
   - Access exterior photo: no text overlay.
   - Gallery: remove duplicated counter_people image and rebalance 4-photo grid.
========================================================= */
.ka-access__photo span{display:none!important;}
.ka-gallery__d{grid-column:span 4;}
.ka-gallery__e{grid-column:span 7;}

@media(max-width:820px){
  .ka-gallery__grid{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;gap:3px!important;}
  .ka-gallery__grid figure{grid-column:auto!important;grid-row:auto!important;min-height:260px;}
  .ka-gallery__a{grid-column:1/-1!important;min-height:360px!important;}
}

@media(max-width:560px){
  .ka-gallery__grid{grid-template-columns:1fr!important;}
  .ka-gallery__grid figure,.ka-gallery__a{grid-column:1!important;min-height:280px!important;}
}


/* =========================================================
   v2026.10.3 — KARAKURI PHOTO ARCHIVE
   The gallery under 「飾らない。それが、歌楽里らしい。」 is now
   a growing 「歌楽里写真館」 designed to accept more photographs.
========================================================= */
.ka-gallery__archive-head{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:56px;
  align-items:end;
  margin:48px 0 34px;
  padding-top:30px;
  border-top:1px solid #37322c;
  color:#fff;
}
.ka-gallery__archive-head small{
  display:block;
  margin-bottom:10px;
  font:800 9px/1 var(--ka-mono);
  letter-spacing:.16em;
  color:var(--ka-gold-soft);
}
.ka-gallery__archive-head h3{
  margin:0;
  font-family:var(--ka-serif);
  font-size:clamp(30px,3.4vw,48px);
  line-height:1.15;
  letter-spacing:-.035em;
  color:#fff;
}
.ka-gallery__archive-head p{
  margin:0;
  max-width:520px;
  justify-self:end;
  color:#a99e90;
  font-size:13px;
  line-height:1.9;
}

.ka-gallery__grid.ka-photo-archive{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:260px!important;
  gap:4px!important;
  background:#0d0c0b;
}
.ka-photo-archive figure,
.ka-photo-archive__item{
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:0!important;
  height:auto!important;
  margin:0;
  overflow:hidden;
  background:#171412;
}
.ka-photo-archive__item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.82) brightness(.9);
  transition:transform .65s var(--ka-ease),filter .65s var(--ka-ease);
}
.ka-photo-archive__item:hover img{
  transform:scale(1.02);
  filter:saturate(.98) brightness(.98);
}
/* A magazine-like rhythm that also continues naturally as photos are added. */
.ka-photo-archive__item:nth-child(8n+1),
.ka-photo-archive__item:nth-child(8n+6){grid-column:span 2!important;grid-row:span 2!important;}
.ka-photo-archive__item:nth-child(8n+4),
.ka-photo-archive__item:nth-child(8n+7){grid-column:span 2!important;}
.ka-photo-archive__item--7 img{object-position:center 42%;}
.ka-photo-archive__item--8 img{object-position:center 36%;}

@media(max-width:980px){
  .ka-gallery__archive-head{grid-template-columns:1fr;gap:15px;margin:38px 0 28px;}
  .ka-gallery__archive-head p{justify-self:start;}
  .ka-gallery__grid.ka-photo-archive{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:270px!important;
  }
  .ka-photo-archive__item:nth-child(n){grid-column:auto!important;grid-row:auto!important;}
  .ka-photo-archive__item:nth-child(5n+1){grid-column:1/-1!important;grid-row:span 2!important;}
}

@media(max-width:560px){
  .ka-gallery__archive-head{margin:28px 0 22px;padding-top:22px;}
  .ka-gallery__archive-head h3{font-size:30px;}
  .ka-gallery__archive-head p{font-size:12px;line-height:1.8;}
  .ka-gallery__grid.ka-photo-archive{
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
    gap:3px!important;
  }
  .ka-photo-archive__item:nth-child(n){
    grid-column:1!important;
    grid-row:auto!important;
    height:auto!important;
    min-height:0!important;
  }
  .ka-photo-archive__item img{
    height:auto!important;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .ka-photo-archive__item:nth-child(2n) img{aspect-ratio:16/10;}
  .ka-photo-archive__item--3 img{aspect-ratio:3/4;object-position:center 28%;}
  .ka-photo-archive__item--8 img{aspect-ratio:4/3;object-position:center 34%;}
}


/* =========================================================
   v2026.10.4 — MOBILE WIDTH / RHYTHM FIX
   Prevent heading nowrap rules from widening the viewport.
   Keep intentional <br> line breaks while allowing safe wrapping.
========================================================= */
html,body{max-width:100%;overflow-x:hidden!important;}
body.ka-site,.ka-main,.ka-header,.ka-footer{width:100%;max-width:100%;overflow-x:hidden;}
.ka-shell,.ka-header__inner,
.ka-intro__grid,.ka-experience__grid,.ka-access__grid,
.ka-karaoke__inner,.ka-karaoke__copy,.ka-food__copy,
.ka-section-head,.ka-gallery__archive-head{min-width:0;max-width:100%;}

@media(max-width:560px){
  .ka-shell{width:calc(100% - 32px)!important;max-width:100%!important;}
  .ka-header__inner{width:calc(100% - 24px)!important;max-width:100%!important;}

  .ka-intro h2,
  .ka-manifesto h2,
  .ka-experience .ka-section-head h2,
  .ka-price .ka-section-head h2,
  .ka-karaoke h2,
  .ka-gallery .ka-section-head h2,
  .ka-access h2{
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    text-wrap:balance;
    max-width:100%!important;
  }

  .ka-intro h2{font-size:30px!important;line-height:1.28!important;}
  .ka-manifesto h2{font-size:32px!important;line-height:1.17!important;}
  .ka-experience .ka-section-head h2{font-size:27px!important;line-height:1.32!important;}
  .ka-food h2{font-size:28px!important;line-height:1.28!important;max-width:100%;}
  .ka-price .ka-section-head h2{font-size:28px!important;line-height:1.25!important;}
  .ka-karaoke h2{font-size:27px!important;line-height:1.3!important;}
  .ka-gallery .ka-section-head h2{font-size:27px!important;line-height:1.3!important;}
  .ka-access h2{font-size:31px!important;line-height:1.23!important;}

  .ka-food h2 em{white-space:normal!important;}
  .ka-karaoke__copy{width:100%!important;padding:28px 22px!important;}
  .ka-section-head h2{min-width:0;}
  .ka-mobile-cta{width:100%;max-width:100vw;}
  .ka-mobile-cta a{min-width:0;}
}

@media(max-width:390px){
  .ka-shell{width:calc(100% - 28px)!important;}
  .ka-intro h2{font-size:28px!important;}
  .ka-manifesto h2{font-size:30px!important;}
  .ka-experience .ka-section-head h2{font-size:25px!important;}
  .ka-food h2{font-size:26px!important;}
  .ka-price .ka-section-head h2{font-size:26px!important;}
  .ka-karaoke h2{font-size:25px!important;}
  .ka-gallery .ka-section-head h2{font-size:25px!important;}
  .ka-access h2{font-size:29px!important;}
}


/* =========================================================
   v2026.10.6 — FOOD HEADLINE / FINAL MOBILE WIDTH FIX
   Intentional 3-line art direction without viewport overflow.
========================================================= */
.ka-food__headline{
  max-width:100%;
}
.ka-food__headline .ka-food__line{
  display:inline;
}
.ka-food__headline .ka-food__line--2{
  color:var(--ka-gold-soft);
  font-style:normal;
}

@media(max-width:560px){
  .ka-food__copy{
    min-width:0;
    overflow:hidden;
  }
  .ka-food__headline{
    font-size:clamp(26px,8vw,33px)!important;
    line-height:1.14!important;
    letter-spacing:-.04em!important;
    margin-bottom:24px!important;
    max-width:100%!important;
    text-wrap:initial!important;
  }
  .ka-food__headline .ka-food__line{
    display:block;
    width:auto;
    max-width:100%;
    min-width:0;
  }
  .ka-food__headline .ka-food__line--1{
    white-space:nowrap;
  }
  .ka-food__headline .ka-food__line--2{
    white-space:nowrap;
    margin-top:10px;
    font-size:.94em;
  }
  .ka-food__headline .ka-food__line--3{
    white-space:nowrap;
    margin-top:8px;
  }
}

@media(max-width:390px){
  .ka-food__headline{
    font-size:clamp(24px,7.5vw,29px)!important;
    line-height:1.14!important;
    letter-spacing:-.045em!important;
  }
  .ka-food__headline .ka-food__line--2{
    font-size:.92em;
    margin-top:9px;
  }
  .ka-food__headline .ka-food__line--3{
    margin-top:7px;
  }
}

@media(max-width:350px){
  .ka-food__headline{
    font-size:23px!important;
  }
  .ka-food__headline .ka-food__line--2{
    font-size:.9em;
  }
}


/* =========================================================
   v2026.10.6.3 — HERO CTA ONE-LINE
   The top red reservation button uses the same single-row layout
   as the lower CTA buttons on smartphone.
========================================================= */
@media(max-width:560px){
  .ka-hero__actions > .ka-button--primary{
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    min-height:58px!important;
    padding:0 18px!important;
    text-align:left!important;
  }
  .ka-hero__actions > .ka-button--primary span,
  .ka-hero__actions > .ka-button--primary b{
    display:block!important;
    width:auto!important;
    white-space:nowrap!important;
  }
  .ka-hero__actions > .ka-button--primary span{
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.04em!important;
  }
  .ka-hero__actions > .ka-button--primary b{
    font-size:15px!important;
    line-height:1.2!important;
    letter-spacing:0!important;
  }
}

/* =========================================================
   v2026.10.6.2 — MOBILE READABILITY
   Keep all major headline art direction unchanged.
   Increase normal body / explanatory copy for smartphone use.
========================================================= */
@media(max-width:560px){
  body.ka-site{
    font-size:17px;
    line-height:1.92;
  }

  /* Intro / reservation copy */
  .ka-intro__lead{
    font-size:18px!important;
    line-height:1.9!important;
  }
  .ka-intro__copy>p:not(.ka-eyebrow):not(.ka-intro__lead){
    font-size:16.5px!important;
    line-height:1.95!important;
  }
  .ka-reservation p{
    font-size:16px!important;
    line-height:1.9!important;
  }

  /* Story / concept copy */
  .ka-manifesto__lead{
    font-size:18px!important;
    line-height:1.9!important;
  }

  /* Experience cards */
  .ka-experience__card p{
    font-size:16.5px!important;
    line-height:1.95!important;
  }

  /* Food / karaoke explanatory copy */
  .ka-food__copy>p:not(.ka-eyebrow){
    font-size:16.5px!important;
    line-height:1.95!important;
  }
  .ka-karaoke__copy>p:not(.ka-eyebrow){
    font-size:16.5px!important;
    line-height:1.95!important;
  }

  /* Price small explanatory text */
  .ka-price__row em{
    font-size:13px!important;
    line-height:1.65!important;
  }
  .ka-price__note{
    font-size:12.5px!important;
    line-height:1.85!important;
  }

  /* Photo archive description */
  .ka-gallery__archive-head p{
    font-size:14.5px!important;
    line-height:1.9!important;
  }

  /* Access details */
  .ka-access__lead{
    font-size:18px!important;
    line-height:1.85!important;
  }
  .ka-access dt{
    font-size:10px!important;
    line-height:1.6!important;
  }
  .ka-access dd{
    font-size:15.5px!important;
    line-height:1.75!important;
  }
  .ka-access__note{
    font-size:13px!important;
    line-height:1.85!important;
  }

  /* Final message / footer */
  .ka-final__inner>p:not(.ka-eyebrow){
    font-size:18px!important;
    line-height:1.9!important;
  }
  .ka-footer__info p{
    font-size:13.5px!important;
    line-height:1.9!important;
  }

  /* Ordinary button labels: a touch easier to read, without changing layout. */
  .ka-button span{
    font-size:12px;
  }
  .ka-button b{
    font-size:15px;
  }
}

@media(max-width:390px){
  .ka-intro__lead,.ka-manifesto__lead,.ka-access__lead,
  .ka-final__inner>p:not(.ka-eyebrow){font-size:17.5px!important;}
  .ka-intro__copy>p:not(.ka-eyebrow):not(.ka-intro__lead),
  .ka-experience__card p,
  .ka-food__copy>p:not(.ka-eyebrow),
  .ka-karaoke__copy>p:not(.ka-eyebrow){font-size:16px!important;}
  .ka-access dd{font-size:15px!important;}
}

/* =========================================================
   v2026.10.6.4 — PC PHOTO ARCHIVE / FULL IMAGE DISPLAY
   Desktop only: preserve the existing magazine layout while
   showing each archive photo in full without edge cropping.
========================================================= */
@media (min-width: 981px){
  .ka-gallery__grid.ka-photo-archive{
    background:#0d0c0b;
  }

  .ka-photo-archive__item{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#0d0c0b;
  }

  .ka-photo-archive__item img{
    width:100%;
    height:100%;
    object-fit:contain!important;
    object-position:center center!important;
    background:#0d0c0b;
    transform:none!important;
  }

  .ka-photo-archive__item:hover img{
    transform:none!important;
  }
}


/* =========================================================
   v2026.10.7 — PHOTO ARCHIVE CMS + DEDICATED GALLERY PAGE
========================================================= */
.ka-gallery__more{
  display:flex;
  justify-content:flex-end;
  padding-top:28px;
  padding-bottom:54px;
}
.ka-gallery__more a{
  display:inline-flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  border-bottom:1px solid #635a4f;
  padding:0 0 10px;
}
.ka-gallery__more a i{font-style:normal;color:var(--ka-gold-soft);transition:.25s var(--ka-ease)}
.ka-gallery__more a:hover i{transform:translateX(5px)}

.ka-gallery-page{background:#0d0c0b;color:#fff;min-height:100vh;padding-top:90px;overflow:hidden}
.ka-gallery-page__hero{padding:105px 0 72px;border-bottom:1px solid #302b25;background:linear-gradient(135deg,#12100e,#080706)}
.ka-gallery-page__hero-inner{position:relative}
.ka-gallery-page__hero h1{font-family:var(--ka-serif);font-size:clamp(52px,7vw,96px);line-height:1.02;letter-spacing:-.045em;margin:0 0 26px}
.ka-gallery-page__hero p:not(.ka-eyebrow){font-family:var(--ka-serif);font-size:18px;line-height:1.9;color:#b9aa96;margin:0}
.ka-gallery-page__back{position:absolute;right:0;bottom:5px;display:inline-flex;gap:14px;align-items:center;text-decoration:none;font:800 10px/1 var(--ka-mono);letter-spacing:.1em;color:#d7c09a}
.ka-gallery-page__back i{font-style:normal}
.ka-gallery-page__body{padding:4px 0 90px;background:#080706}
.ka-gallery-page__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-width:1600px;margin:0 auto;background:#080706}
.ka-gallery-page__item{margin:0;min-height:330px;background:#11100e;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ka-gallery-page__item:nth-child(10n+1),.ka-gallery-page__item:nth-child(10n+8){grid-column:span 2;grid-row:span 2;min-height:664px}
.ka-gallery-page__item img{width:100%;height:100%;max-height:664px;object-fit:contain;object-position:center;background:#11100e;display:block;transition:filter .35s var(--ka-ease)}
.ka-gallery-page__item:hover img{filter:brightness(1.05)}
.ka-gallery-page__pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:52px 26px 0}
.ka-gallery-page__pagination .page-numbers{min-width:44px;height:44px;display:grid;place-items:center;text-decoration:none;border:1px solid #3a332b;color:#d5c6b1;font:800 10px/1 var(--ka-mono);letter-spacing:.06em;padding:0 12px}
.ka-gallery-page__pagination .page-numbers.current{background:var(--ka-red);border-color:var(--ka-red);color:#fff}
.ka-gallery-page__empty{padding:90px 0;color:#b9aa96}

@media(max-width:980px){
  .ka-gallery-page{padding-top:80px}
  .ka-gallery-page__hero{padding:78px 0 54px}
  .ka-gallery-page__back{position:static;margin-top:30px}
  .ka-gallery-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ka-gallery-page__item,.ka-gallery-page__item:nth-child(n){grid-column:auto;grid-row:auto;min-height:320px}
  .ka-gallery-page__item:nth-child(7n+1){grid-column:1/-1;min-height:520px}
  .ka-gallery-page__item img{max-height:520px}
}

@media(max-width:560px){
  .ka-gallery__more{justify-content:flex-start;padding-top:22px;padding-bottom:42px}
  .ka-gallery__more a{font-size:14px}
  .ka-gallery-page{padding-top:74px;padding-bottom:72px}
  .ka-gallery-page__hero{padding:62px 0 44px}
  .ka-gallery-page__hero h1{font-size:48px}
  .ka-gallery-page__hero p:not(.ka-eyebrow){font-size:16px;line-height:1.85}
  .ka-gallery-page__grid{grid-template-columns:1fr;gap:3px}
  .ka-gallery-page__item,.ka-gallery-page__item:nth-child(n),.ka-gallery-page__item:nth-child(7n+1){grid-column:1;grid-row:auto;min-height:0;height:auto;padding:0}
  .ka-gallery-page__item img{width:100%;height:auto;max-height:none;object-fit:contain;background:#11100e}
  .ka-gallery-page__pagination{padding-top:36px}
}

/* =========================================================
   v2026.10.8 — MOBILE HEADER NON-STICKY
   Smartphone/tablet: the black header stays at the top of the
   page and scrolls away naturally instead of following the user.
========================================================= */
@media(max-width:820px){
  .ka-header{
    position:absolute!important;
  }
}
