:root{--gold:#ffc400;--green:#66ff57;--blue:#27adff;--header:86px;--black:#050505;--card:#101010;--line:#2c2c2c}*{box-sizing:border-box}html{scroll-behavior:smooth}body.gk-home-page{margin:0;background:#000;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden}.gk-header{height:var(--header);position:fixed;top:0;left:0;right:0;z-index:50;background:#030303;border-bottom:1px solid #222;display:flex;align-items:center;gap:22px;padding:10px clamp(16px,5vw,70px)}.gk-brand{display:flex;align-items:center;min-width:190px}.gk-brand img{height:54px;width:auto;display:block}.gk-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,48px);flex:1;height:100%;white-space:nowrap}.gk-nav a{color:#fff;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:clamp(14px,1.55vw,18px);letter-spacing:.02em;height:100%;display:flex;align-items:center;border-bottom:6px solid transparent}.gk-nav a.active{color:var(--gold);border-bottom-color:var(--gold)}.gk-account-btn{background:#0b0b0b;border:1px solid #796000;color:var(--gold);border-radius:10px;height:46px;min-width:132px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:900;font-size:15px;cursor:pointer}.acct-icon{filter:grayscale(1);font-size:18px}.acct-caret{font-size:18px}.gk-account-menu{position:fixed;top:calc(var(--header) - 8px);right:clamp(16px,5vw,70px);width:300px;max-width:calc(100vw - 28px);background:rgba(0,0,0,.92);border:1px solid #725b00;border-radius:18px;padding:20px 22px;z-index:99;box-shadow:0 12px 40px rgba(0,0,0,.6)}.account-status{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid #5c5236;padding-bottom:14px;margin-bottom:12px}.account-status strong{color:var(--gold);font-size:22px}.account-status span{color:#ccc;font-size:16px}.gk-account-menu a,.gk-account-menu button{display:block;width:100%;background:transparent;border:0;color:#fff;text-align:left;text-decoration:none;font-size:20px;font-weight:900;padding:10px 0;cursor:pointer}.gk-account-menu button{color:#ff6a2b}.portrait-links{display:none}.gk-scroll{height:100dvh;overflow-y:auto;overflow-x:hidden;padding-top:var(--header);scroll-snap-type:y mandatory;scroll-padding-top:var(--header);-webkit-overflow-scrolling:touch;background:#000}.gk-section{min-height:calc(100dvh - var(--header));height:calc(100dvh - var(--header));width:100%;max-width:100vw;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px clamp(18px,4vw,70px)}.hero-section{display:grid;grid-template-rows:1fr auto;gap:10px;padding-top:0}.hero-art{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-art picture,.hero-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.action-grid{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}.action-card{min-height:86px;border-radius:12px;padding:15px 20px;text-decoration:none;color:#fff;display:flex;align-items:center;gap:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 10px 24px rgba(0,0,0,.3);overflow:hidden}.action-card.green{background:linear-gradient(135deg,#007207,#0c8e12)}.action-card.purple{background:linear-gradient(135deg,#4d0095,#8d20ff)}.action-card.blue{background:linear-gradient(135deg,#003d93,#0878e4)}.action-card.orange{background:linear-gradient(135deg,#d34200,#ff6500)}.action-icon{font-size:42px;min-width:50px;text-align:center}.action-icon.play{background:white;color:#e65200;border-radius:50%;width:54px;height:54px;line-height:54px;font-size:30px}.action-card strong{display:block;text-transform:uppercase;font-size:clamp(18px,2vw,25px);line-height:1.05}.action-card small{display:block;color:#fff;font-size:clamp(13px,1.4vw,17px);line-height:1.25;margin-top:4px}.action-card b{margin-left:auto;font-size:46px;font-weight:400}.section-card{width:100%;height:100%;border:1px solid #333;border-radius:16px;background:linear-gradient(180deg,#111,#050505);padding:clamp(14px,2.2vw,26px);overflow:hidden}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.section-head h1,.section-card h1{margin:0;color:var(--gold);text-transform:uppercase;font-size:clamp(24px,3.4vw,44px);line-height:1.05}.section-head p{margin:8px 0 0;color:#ddd;font-size:clamp(14px,1.5vw,20px);line-height:1.25}.section-head a{color:var(--gold);text-decoration:none;font-weight:900;font-size:clamp(14px,1.6vw,19px);white-space:nowrap}.performer-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:clamp(10px,1.8vw,28px);height:calc(100% - 100px);align-items:center}.perf{text-align:center;min-width:0}.perf .rank{display:block;color:var(--gold);font-size:clamp(20px,2.4vw,32px);font-weight:900;text-align:left}.perf img{width:min(8.5vw,110px);height:min(8.5vw,110px);min-width:58px;min-height:58px;border-radius:50%;border:2px solid #a98900;object-fit:cover;display:block;margin:0 auto 8px}.perf strong{display:block;font-size:clamp(12px,1.4vw,18px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perf small{display:block;color:#70ff58;font-size:clamp(12px,1.4vw,18px);font-weight:900;margin-top:3px}.two-panel,.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;height:calc(100% - 60px);margin-top:18px}.green-panel,.blue-panel,.price-card{border:1px solid #126e19;border-radius:10px;background:linear-gradient(135deg,rgba(0,65,8,.75),rgba(4,22,7,.85));padding:clamp(14px,2vw,24px);overflow:hidden}.blue-panel,.price-card:not(.performer){border-color:#0e4f77;background:linear-gradient(135deg,rgba(7,22,33,.9),rgba(2,12,20,.92))}.green-panel h2{color:var(--green)}.blue-panel h2{color:var(--blue)}.green-panel h2,.blue-panel h2,.price-card h2{margin:0 0 14px;text-transform:uppercase;font-size:clamp(18px,2vw,28px)}.step-list{display:grid;gap:12px}.step-list div{display:flex;align-items:center;gap:13px;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:10px}.step-list div:last-child{border-bottom:0}.step-list i{width:44px;height:44px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-style:normal}.step-list strong{display:block;font-size:clamp(13px,1.5vw,18px)}.step-list small{display:block;color:#ddd;font-size:clamp(11px,1.2vw,15px);line-height:1.25;margin-top:3px}.step-list em{font-style:normal;color:var(--green);font-weight:900}.price-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:22px;height:calc(100% - 62px);margin-top:18px}.price-card{position:relative}.price-card strong{display:block;color:var(--gold);font-size:clamp(28px,3.8vw,48px);line-height:1.05;margin:10px 0}.price-card strong span{font-size:.45em}.price-card p{font-size:clamp(13px,1.5vw,18px);margin:6px 0 12px}.price-card ul,.why-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.price-card li,.why-grid li{font-size:clamp(12px,1.3vw,17px);line-height:1.25}.price-card li:before,.why-grid li:before{content:'✓';color:var(--green);font-weight:900;margin-right:10px}.blue-panel li:before{color:var(--blue)}.mic-bg{position:absolute;right:20px;bottom:12px;font-size:100px;opacity:.20}.venue-grid-v47{height:calc(100% - 70px);display:grid;grid-template-columns:repeat(6,1fr);gap:18px;align-items:center}.venue-grid-v47 a{height:70%;min-height:145px;border:1px solid #303030;border-radius:12px;padding:14px;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 18% 20%,#f621d3 0 8%,transparent 30%),radial-gradient(circle at 75% 20%,#ff9700 0 8%,transparent 30%),linear-gradient(135deg,#8d0065,#0040a6);overflow:hidden}.venue-grid-v47 strong{font-size:clamp(13px,1.6vw,20px);line-height:1.05}.venue-grid-v47 small{font-size:clamp(11px,1.1vw,15px)}.venue-grid-v47 em{align-self:flex-end;background:#00a916;border-radius:5px;padding:4px 10px;text-transform:uppercase;font-size:12px;font-weight:900;font-style:normal;margin-top:8px}.why-grid{grid-template-columns:1fr 1fr .85fr;height:calc(100% - 120px)}.install-card{background:var(--gold);color:#000;border-radius:10px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.install-card button{background:transparent;border:0;color:#000;font-weight:900;font-size:clamp(20px,2.5vw,34px);cursor:pointer}.install-card p{font-size:clamp(13px,1.3vw,18px);font-weight:700}.home-footer{text-align:center;display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;padding-top:12px}.home-footer a{color:#fff;text-decoration:none;font-size:16px}.home-footer p{width:100%;margin:0;color:#aaa}
@media (orientation:portrait){:root{--header:96px}body.gk-home-page{overflow:hidden}.gk-header{padding:10px 18px;gap:10px}.gk-brand{min-width:0;flex:1}.gk-brand img{height:52px;max-width:100%;object-fit:contain;object-position:left}.gk-nav{display:none}.gk-account-btn{min-width:74px;width:74px;height:58px;border-radius:12px;padding:0}.acct-name{display:none}.acct-icon{font-size:26px}.acct-caret{font-size:20px}.gk-account-menu{top:calc(var(--header) - 4px);right:12px;left:12px;width:auto;max-height:calc(100dvh - var(--header) - 16px);overflow:auto}.portrait-links{display:block}.gk-section{padding:10px 14px}.hero-section{grid-template-rows:minmax(0,1fr) auto;gap:10px;align-items:stretch}.hero-art{align-items:start}.hero-art img{object-fit:contain;object-position:top center}.action-grid{grid-template-columns:1fr;gap:8px}.action-card{min-height:70px;border-radius:8px;padding:9px 14px;gap:14px}.action-icon{font-size:34px;min-width:42px}.action-icon.play{width:44px;height:44px;line-height:44px;font-size:24px}.action-card strong{font-size:18px}.action-card small{font-size:13px}.action-card b{font-size:34px}.section-card{padding:18px 18px;border-radius:14px}.section-head{display:block;margin-bottom:10px}.section-head a{display:block;margin-top:10px;font-size:18px;white-space:normal}.section-head h1,.section-card h1{font-size:32px}.section-head p{font-size:18px}.performer-grid{grid-template-columns:repeat(5,1fr);gap:12px 10px;height:calc(100% - 160px);align-content:space-around}.perf .rank{font-size:25px}.perf img{width:64px;height:64px;min-width:0;min-height:0}.perf strong{font-size:15px}.perf small{font-size:15px}.two-panel{display:block;height:calc(100% - 58px);overflow:auto;margin-top:14px}.green-panel,.blue-panel{padding:14px;margin-bottom:12px}.step-list{gap:7px}.step-list div{gap:12px;padding-bottom:8px}.step-list i{width:48px;height:48px}.step-list strong{font-size:16px}.step-list small{font-size:14px}.price-grid{grid-template-columns:1fr;height:calc(100% - 58px);gap:10px;margin-top:12px}.price-card{padding:14px}.price-card strong{font-size:34px}.price-card p{font-size:15px}.price-card ul{gap:7px}.price-card li{font-size:14px}.mic-bg{font-size:82px}.venue-grid-v47{height:calc(100% - 90px);grid-template-columns:1fr 1fr;gap:12px;align-content:center}.venue-grid-v47 a{height:auto;min-height:116px;padding:12px}.venue-grid-v47 strong{font-size:18px}.venue-grid-v47 small{font-size:15px}.venue-grid-v47 em{font-size:11px;padding:3px 8px}.why-grid{display:grid;grid-template-columns:1fr;height:auto;gap:10px;margin-top:12px}.why-card{display:flex;flex-direction:column}.why-grid{flex:1}.why-grid article{padding:14px}.why-grid h2{font-size:22px}.why-grid ul{gap:7px}.why-grid li{font-size:14px}.install-card{padding:14px}.install-card button{font-size:24px}.install-card p{font-size:14px;margin:5px 0 0}.home-footer{gap:20px;padding-top:8px}.home-footer a{font-size:18px}.home-footer p{font-size:14px}}
@media (orientation:landscape) and (max-height:520px){:root{--header:62px}.gk-header{height:var(--header);padding:6px 46px;gap:16px}.gk-brand img{height:42px}.gk-nav{gap:28px}.gk-nav a{font-size:14px;border-bottom-width:4px}.gk-account-btn{height:38px;min-width:110px}.gk-section{padding:8px 70px}.hero-section{grid-template-rows:minmax(0,1fr) 70px;gap:8px}.action-card{min-height:62px;padding:8px 12px;gap:9px}.action-icon{font-size:30px;min-width:34px}.action-icon.play{width:38px;height:38px;line-height:38px;font-size:21px}.action-card strong{font-size:15px}.action-card small{font-size:12px}.action-card b{font-size:30px}.section-card{padding:12px 22px}.section-head{margin-bottom:6px}.section-head h1,.section-card h1{font-size:27px}.section-head p{font-size:16px}.section-head a{font-size:16px}.performer-grid{height:calc(100% - 72px)}.perf .rank{font-size:21px}.perf img{width:70px;height:70px}.perf strong,.perf small{font-size:13px}.two-panel{height:calc(100% - 42px);gap:14px}.green-panel,.blue-panel,.price-card{padding:13px}.step-list{grid-template-columns:repeat(5,1fr);gap:10px}.blue-panel .step-list{grid-template-columns:repeat(4,1fr)}.step-list div{display:block;text-align:center;border-bottom:0}.step-list i{margin:0 auto 4px;width:40px;height:40px}.step-list strong{font-size:13px}.step-list small{font-size:11px}.price-grid{height:calc(100% - 45px);gap:18px}.price-card strong{font-size:31px}.price-card li{font-size:12px}.price-card ul{gap:5px}.venue-grid-v47{height:calc(100% - 48px)}.venue-grid-v47 a{height:82%;min-height:95px}.why-grid{height:calc(100% - 94px);gap:12px}.why-grid li{font-size:12px}.install-card{padding:14px}.install-card button{font-size:22px}.install-card p{font-size:12px}.home-footer{padding-top:6px}.home-footer p{font-size:12px}}

/* v48 first-section-only fix: use clean hero scene crops, keep buttons as real clickable cards */
.hero-art img{object-fit:cover;object-position:center center;}
@media (orientation:portrait){
  .hero-section{grid-template-rows:minmax(250px, 1fr) auto;gap:10px;padding:10px 14px 14px;}
  .hero-art{border-radius:0;align-items:stretch;background:#000;}
  .hero-art img{object-fit:cover;object-position:center top;}
  .action-grid{grid-template-columns:1fr;gap:8px;}
  .action-card{min-height:76px;padding:10px 16px;}
}
@media (orientation:landscape){
  .hero-section{grid-template-rows:minmax(0,1fr) 86px;gap:10px;}
  .hero-art img{object-fit:cover;object-position:center center;}
}
@media (orientation:landscape) and (max-height:520px){
  .hero-section{grid-template-rows:minmax(0,1fr) 70px;gap:8px;}
}

/* v49 home-only corrections: preserve v29 pages, fix homepage section fit and labels */
html, body.gk-home-page { width:100%; max-width:100%; overflow-x:hidden; }
body.gk-home-page { overscroll-behavior-x:none; }
.gk-scroll { width:100%; max-width:100vw; }
.gk-section { scroll-margin-top:0; }
.acct-name:empty { display:none; }
.gk-account-btn { flex:0 0 auto; }

@media (orientation:portrait){
  :root{ --header:94px; }
  .gk-header{height:var(--header); padding:10px 18px; justify-content:space-between; overflow:hidden;}
  .gk-brand{flex:1 1 auto; min-width:0; max-width:calc(100vw - 170px); overflow:hidden;}
  .gk-brand img{height:50px; max-width:100%; object-fit:contain; object-position:left center;}
  .gk-account-btn{width:66px; min-width:66px; height:58px; border-radius:12px;}
  .gk-section{height:calc(100svh - var(--header)); min-height:calc(100svh - var(--header)); padding:10px 14px;}
  .hero-section{grid-template-rows:minmax(250px, 1fr) auto; gap:8px;}
  .hero-art img{object-fit:cover; object-position:left top;}
  .action-grid{width:100%; max-width:100%;}
  .action-card{min-height:68px; padding:9px 14px; border-radius:8px;}
  .action-card strong{font-size:17px; line-height:1;}
  .action-card small{font-size:12.5px; line-height:1.15;}
  .action-icon{font-size:31px; min-width:40px;}
  .action-icon.play{width:42px;height:42px;line-height:42px;font-size:23px;}
  .section-card{padding:16px 16px;}
  .section-head h1,.section-card h1{font-size:27px; line-height:1.05;}
  .top10-card .section-head h1{font-size:26px;}
  .section-head p{font-size:16px; line-height:1.25;}
  .section-head a{font-size:16px;}
  .performer-grid{height:calc(100% - 130px); gap:8px 8px; align-content:space-evenly;}
  .perf .rank{font-size:22px;}
  .perf img{width:min(15.5vw,58px);height:min(15.5vw,58px);}
  .perf strong{font-size:13px;}
  .perf small{font-size:13px;}
  .how-section .two-panel{height:calc(100% - 46px); overflow:auto; padding-right:2px;}
  .step-list i{width:42px;height:42px;}
  .step-list strong{font-size:15px;}
  .step-list small{font-size:12.5px;}
  .pricing-section .section-card{display:flex; flex-direction:column;}
  .pricing-section .price-grid{height:auto; flex:1; min-height:0; overflow:auto;}
  .pricing-section .price-card:not(.performer){cursor:pointer; min-height:86px; padding-right:44px;}
  .pricing-section .price-card:not(.performer)::after{content:'›'; position:absolute; right:20px; top:50%; transform:translateY(-50%); font-size:42px; color:#fff; font-weight:400;}
  .pricing-section .price-card:not(.performer) ul{display:none;}
  .pricing-section .price-card:not(.performer).open ul{display:grid; margin-top:10px;}
  .pricing-section .price-card:not(.performer).open::after{content:'⌄'; font-size:28px;}
  .price-card strong{font-size:30px;}
  .price-card li{font-size:13px;}
  .venue-grid-v47{height:calc(100% - 76px); gap:10px; align-content:space-evenly;}
  .venue-grid-v47 a{min-height:104px;}
  .venue-grid-v47 strong{font-size:16px;}
  .venue-grid-v47 small{font-size:13px;}
  .why-grid li{font-size:13px;}
}

@media (orientation:landscape){
  .gk-header{overflow:hidden;}
  .gk-brand{min-width:160px; max-width:240px; overflow:hidden;}
  .gk-brand img{height:44px; max-width:100%; object-fit:contain; object-position:left center;}
  .gk-nav{gap:clamp(16px,2.7vw,42px); min-width:0;}
  .gk-nav a{font-size:clamp(12px,1.35vw,17px);}
  .acct-name{max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .hero-art img{object-position:center center;}
}
@media (orientation:landscape) and (max-height:520px){
  .gk-header{height:58px; padding:5px 42px;}
  .gk-brand{min-width:150px; max-width:210px;}
  .gk-brand img{height:38px;}
  .gk-account-btn{min-width:70px; width:auto; max-width:130px; padding:0 10px; height:36px;}
  .acct-name{display:none;}
  .gk-section{height:calc(100svh - var(--header)); min-height:calc(100svh - var(--header)); padding:7px 58px;}
  .hero-section{grid-template-rows:minmax(0,1fr) 58px; gap:6px;}
  .action-grid{gap:10px;}
  .action-card{min-height:56px; padding:7px 10px; gap:8px; border-radius:7px;}
  .action-card strong{font-size:13px; line-height:1.02;}
  .action-card small{font-size:10px; line-height:1.1;}
  .action-icon{font-size:25px; min-width:28px;}
  .action-icon.play{width:32px;height:32px;line-height:32px;font-size:18px;}
  .action-card b{font-size:25px;}
  .section-card{padding:10px 18px;}
  .section-head h1,.section-card h1{font-size:23px;}
  .section-head p{font-size:13px;}
  .section-head a{font-size:13px;}
  .performer-grid{height:calc(100% - 58px); gap:8px;}
  .perf img{width:58px;height:58px;}
  .perf .rank{font-size:18px;}
  .perf strong,.perf small{font-size:11px;}
  .two-panel{height:calc(100% - 36px); gap:12px;}
  .green-panel,.blue-panel,.price-card{padding:10px;}
  .green-panel h2,.blue-panel h2,.price-card h2{font-size:16px; margin-bottom:8px;}
  .step-list{grid-template-columns:repeat(5,1fr); gap:7px;}
  .blue-panel .step-list{grid-template-columns:repeat(4,1fr);}
  .step-list i{width:32px;height:32px;font-size:15px;}
  .step-list strong{font-size:10.5px; line-height:1.1;}
  .step-list small{font-size:9.2px; line-height:1.15;}
  .price-grid{height:calc(100% - 38px); gap:14px;}
  .price-card strong{font-size:26px;}
  .price-card p{font-size:12px;}
  .price-card li{font-size:10.5px;}
  .price-card ul{gap:4px;}
  .venue-grid-v47{height:calc(100% - 40px); gap:12px;}
  .venue-grid-v47 a{min-height:86px; height:78%; padding:10px;}
  .venue-grid-v47 strong{font-size:12px;}
  .venue-grid-v47 small{font-size:10px;}
  .venue-grid-v47 em{font-size:9px; padding:3px 7px;}
}

/* v51 content update: audience wording, keep headings readable without changing layout */
@media (orientation:portrait){
  .green-panel h2,.blue-panel h2,.price-card h2{font-size:clamp(16px,5vw,22px);line-height:1.05;}
  .pricing-section .price-card.performer h2{font-size:clamp(15px,4.6vw,20px);}
}
@media (orientation:landscape) and (max-height:520px){
  .green-panel h2,.blue-panel h2,.price-card h2{font-size:14px;line-height:1.05;}
  .step-list small{font-size:8.8px;}
}

/* v52 final polish: restore brand title, correct account menu state, improve first section and readability */
.gk-brand{gap:10px;text-decoration:none;color:#fff;overflow:visible;flex-shrink:0;}
.gk-brand img{object-fit:contain;flex:0 0 auto;}
.brand-word{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap;line-height:1;}
.brand-word b{font-size:clamp(22px,2.4vw,36px);font-weight:900;color:#fff;letter-spacing:-.04em;}
.brand-word em{font-family:cursive;font-style:italic;color:#ffd02a;font-size:clamp(18px,2.1vw,31px);font-weight:500;}
.gk-account-menu.is-logged-out #logoutBtn,
.gk-account-menu.is-logged-out #myAccountLink{display:none;}
.gk-account-menu.is-logged-in #loginMenuLink,
.gk-account-menu.is-logged-in .portrait-links{display:none;}
#loginMenuLink{color:#ff8a2a;}
.install-card p{color:#000!important;opacity:1!important;}
.home-footer{position:relative;z-index:2;}
.home-footer a,.home-footer p{opacity:1;}

@media (orientation:landscape){
  .gk-header{padding-left:clamp(12px,3.5vw,46px);padding-right:clamp(12px,3.5vw,46px);gap:18px;}
  .gk-brand{min-width:260px;max-width:360px;}
  .gk-brand img{height:46px;width:46px;}
  .gk-nav{justify-content:flex-start;gap:clamp(17px,2.5vw,40px);}
  .hero-section{padding-left:clamp(16px,3vw,48px);padding-right:clamp(16px,3vw,48px);}
  .hero-art img{object-position:left center;}
  .two-panel.how-panels{grid-template-columns:1fr 1fr;gap:18px;}
  .how-section .green-panel h2,.pricing-section .performer h2{font-size:clamp(15px,1.55vw,24px);white-space:normal;}
  .how-section .step-list div{gap:8px;}
  .pricing-section .price-card{overflow:visible;}
  .pricing-section .price-card h2{line-height:1.05;}
  .pricing-section .price-card li{line-height:1.18;}
}

@media (orientation:landscape) and (max-height:520px){
  .gk-header{padding-left:28px;padding-right:28px;}
  .gk-brand{min-width:210px;max-width:260px;}
  .gk-brand img{height:34px;width:34px;}
  .brand-word b{font-size:25px;}
  .brand-word em{font-size:21px;}
  .gk-nav{gap:20px;}
  .gk-nav a{font-size:12.5px;}
  .hero-section{padding-left:32px;padding-right:32px;}
  .action-card{min-width:0;}
  .how-section .step-list strong{font-size:9.8px;}
  .how-section .step-list small{font-size:8.2px;line-height:1.08;}
  .how-section .step-list i{width:30px;height:30px;}
  .price-grid{grid-template-columns:1.04fr 1fr 1fr;gap:12px;}
  .price-card{padding:9px 10px;}
  .price-card strong{font-size:24px;}
  .price-card p{font-size:10.5px;margin:4px 0 6px;}
  .price-card li{font-size:9.5px;line-height:1.08;}
  .price-card ul{gap:3px;}
  .mic-bg{font-size:72px;right:12px;bottom:8px;}
  .venue-grid-v47 a{min-height:96px;height:86%;}
  .why-grid{height:calc(100% - 96px);}
  .install-card button{font-size:19px;}
  .install-card p{font-size:12px;}
  .home-footer{padding-top:6px;gap:20px;}
  .home-footer a{font-size:12px;}.home-footer p{font-size:11px;}
}

@media (orientation:portrait){
  .gk-header{gap:8px;padding-left:13px;padding-right:13px;}
  .gk-brand{flex:1 1 auto;min-width:0;max-width:calc(100vw - 170px);}
  .gk-brand img{height:38px;width:38px;}
  .brand-word b{font-size:28px;}
  .brand-word em{font-size:24px;max-width:96px;overflow:hidden;}
  .gk-account-btn{width:56px;min-width:56px;height:52px;}
  .hero-section{padding-left:10px;padding-right:10px;grid-template-rows:minmax(0,1fr) auto;}
  .hero-art img{object-fit:contain;object-position:left top;}
  .section-head h1,.section-card h1{font-size:clamp(24px,9vw,36px);}
  .top10-card .section-head h1{font-size:clamp(25px,9vw,36px);}
  .how-section .green-panel h2,.pricing-section .performer h2,.why-section .green-panel h2{font-size:clamp(18px,6vw,24px);white-space:normal;line-height:1.1;}
  .pricing-section .price-card.performer{cursor:pointer;min-height:92px;padding-right:44px;}
  .pricing-section .price-card.performer::after{content:'›'; position:absolute; right:20px; top:50%; transform:translateY(-50%); font-size:40px; color:#fff; font-weight:400;}
  .pricing-section .price-card.performer ul,.pricing-section .price-card.performer p,.pricing-section .price-card.performer .mic-bg{display:none;}
  .pricing-section .price-card.performer.open ul{display:grid;margin-top:10px;}
  .pricing-section .price-card.performer.open p{display:block;}
  .pricing-section .price-card.performer.open .mic-bg{display:block;}
  .pricing-section .price-card.performer.open::after{content:'⌄';font-size:28px;}
  .install-card p{color:#000!important;font-weight:900;}
  .home-footer{gap:18px;margin-top:4px;}
  .home-footer a{font-size:15px;}.home-footer p{font-size:14px;color:#bcbcbc;}
}

/* v53 browser/PWA viewing prompt */
.gk-welcome-modal[hidden]{display:none!important;}
.gk-welcome-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;}
.welcome-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(3px);}
.welcome-panel{position:relative;width:min(92vw,430px);background:linear-gradient(180deg,#111,#050505);border:1px solid rgba(255,196,0,.55);box-shadow:0 18px 70px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.06) inset;border-radius:22px;padding:24px 22px 18px;text-align:center;color:#fff;}
.welcome-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:#222;color:#fff;font-size:24px;line-height:1;cursor:pointer;}
.welcome-panel h2{margin:4px 0 8px;color:#ffc400;font-size:clamp(24px,6vw,34px);line-height:1.05;font-weight:900;}
.welcome-lead{margin:0 auto 18px;max-width:330px;color:#eee;font-size:16px;line-height:1.35;}
.welcome-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 10px;}
.welcome-actions button{min-height:48px;border-radius:13px;font-weight:900;font-size:16px;cursor:pointer;}
.welcome-primary{border:0;background:#ffc400;color:#000;}
.welcome-secondary{border:1px solid #16a34a;background:#0b7f17;color:#fff;}
.welcome-link{border:0;background:transparent;color:#ffc400;font-weight:800;padding:8px 10px;cursor:pointer;}
.welcome-check{display:flex;align-items:center;justify-content:center;gap:8px;color:#d6d6d6;font-size:13px;margin-top:4px;}
.welcome-check input{width:16px;height:16px;accent-color:#ffc400;}
@media (orientation:landscape) and (max-height:520px){.welcome-panel{width:min(520px,74vw);padding:16px 18px 12px}.welcome-panel h2{font-size:25px}.welcome-lead{font-size:13px;margin-bottom:10px}.welcome-actions{grid-template-columns:1fr 1fr}.welcome-actions button{min-height:38px;font-size:14px}.welcome-check{font-size:12px}}


/* v54 focused polish + browser fullscreen resume */
#resumeFullscreenBtn{
  position:fixed;right:14px;bottom:14px;z-index:9998;border:1px solid rgba(255,196,0,.75);
  background:#ffc400;color:#000;border-radius:999px;padding:10px 14px;font-weight:900;font-size:14px;
  box-shadow:0 8px 28px rgba(0,0,0,.5);cursor:pointer;
}
#resumeFullscreenBtn[hidden]{display:none!important;}
.gk-brand .brand-word em{font-weight:800;font-size:clamp(22px,2.35vw,36px);text-shadow:0 0 1px #ffd02a;}
.action-card.blue .action-icon{font-size:46px;font-weight:900;line-height:1;}
.action-card.blue .action-icon::before{content:'▭';font-size:1.2em;}
.action-card.blue .action-icon{font-size:0;}

@media (orientation:landscape){
  .gk-header{padding-left:clamp(4px,1.2vw,16px);padding-right:clamp(14px,2vw,34px);gap:12px;}
  .gk-brand{min-width:300px;max-width:380px;}
  .gk-brand img{height:52px;width:52px;}
  .brand-word b{font-size:clamp(28px,3vw,40px);}
  .brand-word em{font-size:clamp(25px,2.7vw,38px);}
  .gk-nav{justify-content:flex-start;gap:clamp(14px,2.15vw,34px);}
  .hero-section{padding-left:0;padding-right:clamp(10px,1.3vw,22px);}
  .hero-art{justify-content:flex-start;}
  .hero-art picture,.hero-art img{width:100%;}
  .hero-art img{object-fit:contain;object-position:left center;}
  .why-section .section-card{display:flex;flex-direction:column;}
  .why-grid{flex:1;min-height:0;height:auto;}
  .why-grid .green-panel,.why-grid .blue-panel{padding:clamp(12px,1.35vw,20px);}
  .why-grid li{font-size:clamp(10px,1.1vw,15px);line-height:1.18;}
  .home-footer{margin-top:auto;padding-top:8px;padding-bottom:2px;}
}
@media (orientation:landscape) and (max-height:520px){
  .gk-header{padding-left:6px;padding-right:22px;}
  .gk-brand{min-width:270px;max-width:330px;}
  .gk-brand img{height:42px;width:42px;}
  .brand-word b{font-size:29px;}.brand-word em{font-size:27px;}
  .gk-nav{gap:19px;}
  .hero-section{padding-left:0;padding-right:20px;}
  .action-card.blue .action-icon::before{font-size:34px;}
  .why-grid{height:calc(100% - 86px);gap:14px;}
  .install-card{padding:12px;min-height:0;}
  .install-card button{font-size:19px;line-height:1.1;}
  .install-card p{font-size:12px;line-height:1.25;margin:8px 0 0;}
  .why-grid li{font-size:10.5px;line-height:1.12;}
  .home-footer{padding-top:5px;gap:26px;}
  .home-footer a{font-size:12px}.home-footer p{font-size:10.5px;}
}
@media (orientation:portrait){
  .gk-header{padding-left:10px;padding-right:10px;}
  .gk-brand{max-width:calc(100vw - 126px);gap:7px;}
  .gk-brand img{height:38px;width:38px;}
  .brand-word b{font-size:24px;letter-spacing:-.05em;}
  .brand-word em{font-size:22px;max-width:112px;overflow:visible;}
  .hero-section{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;padding:8px 8px 12px;}
  .hero-art{height:auto;flex:0 0 auto;align-items:flex-start;justify-content:flex-start;background:#000;}
  .hero-art picture{width:100%;height:auto;}
  .hero-art img{width:100%;height:auto;max-height:36dvh;object-fit:contain;object-position:left top;}
  .action-grid{flex:1;min-height:0;display:grid;grid-template-rows:repeat(4,1fr);align-content:stretch;}
  .action-card{min-height:0;height:100%;}
  .action-card.blue .action-icon::before{font-size:34px;}
  .install-card p{color:#000!important;font-weight:900;text-shadow:none!important;}
  .home-footer{padding-top:8px;gap:18px;}
  #resumeFullscreenBtn{left:50%;right:auto;transform:translateX(-50%);bottom:10px;white-space:nowrap;font-size:13px;padding:9px 12px;}
}


/* v55: restore hero priority, smaller portrait tabs, better title, TV icon, no homepage resume button */
body.gk-home-page #resumeFullscreenBtn{display:none!important;}
.gk-brand .brand-word em{
  font-weight:900!important;
  color:#ffd02a;
  text-shadow:0 0 2px rgba(255,208,42,.35);
}
.action-card.blue .action-icon{
  position:relative;
  width:52px;
  min-width:52px;
  height:42px;
  font-size:0!important;
  display:inline-block;
}
.action-card.blue .action-icon::before{
  content:''!important;
  position:absolute;
  left:4px;right:4px;top:4px;height:25px;
  border:4px solid #fff;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.15) inset;
}
.action-card.blue .action-icon::after{
  content:'';
  position:absolute;
  left:16px;right:16px;top:33px;height:4px;
  background:#fff;border-radius:3px;
  box-shadow:0 -5px 0 -2px #fff;
}

@media (orientation:portrait){
  :root{--header:82px;}
  .gk-header{
    height:var(--header);
    padding:8px 10px;
    gap:8px;
  }
  .gk-brand{max-width:calc(100vw - 112px);gap:7px;}
  .gk-brand img{height:36px;width:36px;}
  .brand-word b{font-size:23px!important;letter-spacing:-.055em;}
  .brand-word em{font-size:24px!important;max-width:118px;overflow:visible;}
  .gk-account-btn{width:52px;min-width:52px;height:48px;border-radius:10px;}
  .acct-icon{font-size:22px;}
  .acct-caret{font-size:18px;}
  .gk-section{height:calc(100dvh - var(--header));min-height:calc(100dvh - var(--header));}
  .hero-section{
    padding:6px 8px 10px;
    gap:8px;
    display:grid;
    grid-template-rows:minmax(250px,45%) minmax(240px,auto) 1fr;
    align-items:start;
  }
  .hero-art{
    height:100%;
    width:100%;
    background:#000;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
  }
  .hero-art picture{width:100%;height:100%;display:block;}
  .hero-art img{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
    object-position:left top;
    display:block;
  }
  .action-grid{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:repeat(4,58px);
    gap:8px;
    align-self:start;
    flex:none;
    min-height:0;
  }
  .action-card{
    height:58px;
    min-height:58px;
    padding:8px 10px;
    border-radius:8px;
    gap:12px;
  }
  .action-card strong{font-size:16px;line-height:1.0;}
  .action-card small{font-size:11px;line-height:1.15;margin-top:2px;}
  .action-icon{font-size:28px;min-width:34px;}
  .action-card.blue .action-icon{width:38px;min-width:38px;height:31px;}
  .action-card.blue .action-icon::before{left:3px;right:3px;top:3px;height:18px;border-width:3px;}
  .action-card.blue .action-icon::after{left:12px;right:12px;top:25px;height:3px;}
  .action-icon.play{width:34px;height:34px;line-height:34px;font-size:20px;}
  .action-card b{font-size:30px;}
  .hero-section::after{content:'';display:block;min-height:0;}
}

@media (orientation:landscape){
  .gk-header{
    padding-left:0!important;
    padding-right:clamp(8px,1.4vw,20px)!important;
    gap:10px!important;
  }
  .gk-brand{
    min-width:clamp(255px,24vw,350px)!important;
    max-width:clamp(255px,24vw,350px)!important;
    padding-left:4px;
  }
  .gk-brand img{height:50px!important;width:50px!important;}
  .brand-word b{font-size:clamp(30px,3.1vw,43px)!important;}
  .brand-word em{font-size:clamp(29px,3vw,42px)!important;}
  .gk-nav{gap:clamp(12px,2.1vw,34px)!important;}
  .hero-section{
    padding-left:0!important;
    padding-right:0!important;
    padding-top:0!important;
    gap:8px!important;
  }
  .hero-art{align-items:flex-start!important;justify-content:flex-start!important;background:#000;}
  .hero-art picture{width:100%;height:100%;display:block;}
  .hero-art img{
    width:100%;height:100%;
    object-fit:cover!important;
    object-position:left top!important;
  }
}

@media (orientation:landscape) and (max-height:520px){
  :root{--header:76px;}
  .gk-brand{min-width:235px!important;max-width:265px!important;}
  .gk-brand img{height:38px!important;width:38px!important;}
  .brand-word b{font-size:28px!important;}
  .brand-word em{font-size:29px!important;}
  .gk-nav{gap:16px!important;}
  .gk-nav a{font-size:12px!important;}
  .gk-account-btn{height:42px;min-width:76px;width:76px;}
  .hero-section{grid-template-rows:minmax(0,1fr) 58px!important;}
  .action-grid{gap:10px;}
  .action-card{min-height:58px;height:58px;padding:8px 12px;}
  .action-card strong{font-size:15px;}
  .action-card small{font-size:11px;}
  .action-card.blue .action-icon{width:42px;min-width:42px;height:32px;}
  .action-card.blue .action-icon::before{height:19px;border-width:3px;}
  .action-card.blue .action-icon::after{top:26px;height:3px;}
}

/* v56 portrait hero correction: keep hero as the highlight, push buttons down, remove empty black area */
@media (orientation: portrait){
  :root{ --header:82px; }
  .gk-scroll{ padding-top:var(--header); }
  .gk-header{ height:var(--header); padding:7px 10px; }
  .gk-brand{ max-width:calc(100vw - 112px); gap:7px; }
  .gk-brand img{ height:36px!important; width:36px!important; }
  .brand-word b{ font-size:23px!important; }
  .brand-word em{ font-size:28px!important; font-weight:900!important; max-width:130px!important; overflow:visible!important; }
  .gk-account-btn{ width:52px!important; min-width:52px!important; height:48px!important; }

  .hero-section{
    height:calc(100dvh - var(--header));
    min-height:calc(100dvh - var(--header));
    display:grid!important;
    grid-template-rows:minmax(0, 1fr) auto!important;
    gap:8px!important;
    padding:6px 8px 10px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    overflow:hidden!important;
  }
  .hero-art{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    background:#000!important;
    overflow:hidden!important;
    border-radius:0!important;
  }
  .hero-art picture{ width:100%!important; height:100%!important; display:block!important; }
  .hero-art img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:45% top!important;
    display:block!important;
  }
  .action-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(4,56px)!important;
    gap:8px!important;
    flex:0 0 auto!important;
    min-height:0!important;
    align-self:end!important;
  }
  .action-card{
    height:56px!important;
    min-height:56px!important;
    padding:8px 11px!important;
    border-radius:8px!important;
    gap:12px!important;
  }
  .action-card strong{ font-size:15px!important; line-height:1.02!important; }
  .action-card small{ font-size:10.8px!important; line-height:1.1!important; margin-top:2px!important; }
  .action-icon{ min-width:36px!important; font-size:28px!important; }
  .action-icon.play{ width:34px!important; height:34px!important; line-height:34px!important; font-size:20px!important; }
  .action-card.blue .action-icon{ width:44px!important; min-width:44px!important; height:34px!important; }
  .action-card.blue .action-icon::before{ left:3px!important; right:3px!important; top:3px!important; height:21px!important; border-width:3px!important; border-radius:3px!important; }
  .action-card.blue .action-icon::after{ left:13px!important; right:13px!important; top:28px!important; height:3px!important; }
  .action-card b{ font-size:28px!important; }
}

/* v56 landscape hero alignment: fill left side, stronger Karaoke title, proper TV icon */
@media (orientation: landscape){
  .brand-word em{ font-size:clamp(31px,3.15vw,44px)!important; font-weight:900!important; }
  .hero-section{ padding-left:0!important; padding-right:0!important; }
  .hero-art img{ object-fit:cover!important; object-position:left top!important; }
  .action-card.blue .action-icon{ width:56px!important; min-width:56px!important; height:43px!important; }
  .action-card.blue .action-icon::before{ height:26px!important; border-width:4px!important; }
  .action-card.blue .action-icon::after{ top:35px!important; }
}

/* v56 keep Why section footer readable, lower footer slightly without overlapping content */
@media (orientation: landscape){
  .why-section .section-card{ padding-bottom:10px!important; }
  .home-footer{ margin-top:auto!important; padding-top:8px!important; position:relative!important; transform:none!important; }
}

/* v57 final polish: portrait hero crop, full pricing accordions, readable footer */
@media (orientation:portrait){
  /* Keep the current proportions, but show the full hero message and keep buttons secondary. */
  .hero-section{
    grid-template-rows:minmax(0, 1fr) auto!important;
    gap:8px!important;
  }
  .hero-art{
    background:
      linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.18)),
      url('../assets/homepage-portrait-scene.png') center top/cover no-repeat!important;
  }
  .hero-art img{
    object-fit:contain!important;
    object-position:left top!important;
    background:transparent!important;
  }
  .action-grid{
    grid-template-rows:repeat(4,56px)!important;
    gap:8px!important;
  }

  /* Make section titles fit better in normal mobile browser mode. */
  .why-section .section-card h1{font-size:clamp(24px,8vw,31px)!important;white-space:normal!important;line-height:1.03!important;}
  .pricing-section .section-card h1{font-size:clamp(25px,8.5vw,34px)!important;}

  /* Pricing: every card can expand fully, with internal scrolling only when needed. */
  .pricing-section .section-card{overflow-y:auto!important;display:flex!important;flex-direction:column!important;}
  .pricing-section .price-grid{height:auto!important;flex:0 0 auto!important;overflow:visible!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .pricing-section .price-card{overflow:visible!important;max-height:none!important;}
  .pricing-section .price-card.performer,
  .pricing-section .price-card:not(.performer){cursor:pointer;min-height:84px!important;padding-right:44px!important;}
  .pricing-section .price-card.performer ul,
  .pricing-section .price-card.performer p,
  .pricing-section .price-card.performer .mic-bg,
  .pricing-section .price-card:not(.performer) ul{display:none!important;}
  .pricing-section .price-card.open ul{display:grid!important;margin-top:8px!important;}
  .pricing-section .price-card.open p{display:block!important;}
  .pricing-section .price-card.performer.open .mic-bg{display:block!important;}
  .pricing-section .price-card::after{content:'›'!important;position:absolute!important;right:18px!important;top:50%!important;transform:translateY(-50%)!important;font-size:36px!important;color:#fff!important;font-weight:400!important;}
  .pricing-section .price-card.open::after{content:'⌄'!important;font-size:26px!important;}
  .pricing-section .price-card li{font-size:12.5px!important;line-height:1.16!important;}
  .pricing-section .price-card ul{gap:5px!important;}
  .pricing-section .price-card strong{font-size:30px!important;}

  /* Why section/footer: keep normal browser footer readable without redesigning the section. */
  .why-section .section-card{overflow-y:auto!important;padding-bottom:12px!important;}
  .why-grid{height:auto!important;flex:0 0 auto!important;gap:10px!important;}
  .why-grid article{padding:12px!important;}
  .why-grid h2{font-size:20px!important;line-height:1.05!important;margin-bottom:8px!important;}
  .why-grid ul{gap:5px!important;}
  .why-grid li{font-size:11.5px!important;line-height:1.17!important;}
  .install-card{padding:12px!important;min-height:72px!important;}
  .install-card button{font-size:20px!important;line-height:1.05!important;}
  .install-card p{font-size:12px!important;line-height:1.15!important;color:#000!important;font-weight:900!important;margin:4px 0 0!important;}
  .home-footer{padding-top:8px!important;gap:16px!important;margin-top:0!important;}
  .home-footer a{font-size:15px!important;}
  .home-footer p{font-size:12px!important;line-height:1.1!important;margin-top:0!important;}
}

@media (orientation:landscape){
  /* Preserve layout, but keep the brand readable and fill the left edge cleanly. */
  .gk-header{padding-left:0!important;}
  .gk-brand{min-width:clamp(260px,25vw,380px)!important;max-width:clamp(260px,25vw,380px)!important;padding-left:4px!important;}
  .brand-word em{font-size:clamp(32px,3.25vw,46px)!important;font-weight:900!important;}
  .hero-section{padding-left:0!important;}
  .hero-art img{object-fit:cover!important;object-position:left top!important;}

  /* Pricing in landscape: prevent clipped first-card text while keeping all three cards visible. */
  .pricing-section .section-card{overflow:hidden!important;display:flex!important;flex-direction:column!important;}
  .pricing-section .price-grid{flex:1!important;min-height:0!important;height:auto!important;align-items:stretch!important;}
  .pricing-section .price-card{overflow:hidden!important;}
  .pricing-section .price-card li{font-size:clamp(10px,1.05vw,14px)!important;line-height:1.12!important;}
  .pricing-section .price-card ul{gap:5px!important;}

  /* Why: lower footer and keep it readable. */
  .why-section .section-card{display:flex!important;flex-direction:column!important;overflow:hidden!important;padding-bottom:12px!important;}
  .why-grid{flex:1!important;min-height:0!important;height:auto!important;}
  .home-footer{margin-top:8px!important;padding-top:6px!important;gap:24px!important;}
  .home-footer a{font-size:14px!important;}
  .home-footer p{font-size:12px!important;line-height:1.1!important;}
}

@media (orientation:landscape) and (max-height:520px){
  .why-section .section-card{padding-top:10px!important;padding-bottom:8px!important;}
  .why-section .section-card h1{font-size:24px!important;}
  .why-grid{height:auto!important;gap:12px!important;}
  .why-grid .green-panel,.why-grid .blue-panel{padding:10px!important;}
  .why-grid h2{font-size:17px!important;margin-bottom:7px!important;}
  .why-grid li{font-size:10px!important;line-height:1.08!important;}
  .install-card{padding:10px!important;}
  .install-card button{font-size:18px!important;line-height:1.05!important;}
  .install-card p{font-size:11px!important;line-height:1.12!important;color:#000!important;}
  .home-footer{gap:22px!important;margin-top:5px!important;padding-top:4px!important;}
}

/* v58 portrait hero duplicate-layer fix: use only the picture image, not a second background copy */
@media (orientation: portrait){
  .hero-art{
    background:#000!important;
  }
  .hero-art img{
    object-fit:cover!important;
    object-position:45% top!important;
    background:transparent!important;
  }
}

/* v61 portrait hero: use square portrait-specific scene to prevent cropped/doubled slogan text */
@media (orientation: portrait){
  .hero-art{background:#000!important;}
  .hero-art picture,.hero-art img{width:100%!important;height:100%!important;display:block!important;}
  .hero-art img{object-fit:cover!important;object-position:center top!important;background:#000!important;}
}


/* v63: pricing clarity, landscape account dropdown, and landscape hero alignment */
.pricing-section .price-card:not(.performer) h2{
  color:#fff;
  letter-spacing:.01em;
}
@media (orientation:portrait){
  .pricing-section .price-card:not(.performer) h2{
    font-size:clamp(17px,5.2vw,22px)!important;
    line-height:1.05!important;
    white-space:normal!important;
  }
}
@media (orientation:landscape){
  /* Keep account dropdown compact on laptops/TVs and place it below the header, not over the nav. */
  .gk-account-menu{
    position:fixed!important;
    top:calc(var(--header) + 10px)!important;
    right:clamp(18px,4vw,76px)!important;
    left:auto!important;
    width:min(330px,28vw)!important;
    max-width:330px!important;
    padding:18px 20px!important;
    border-radius:16px!important;
  }
  .gk-account-menu .portrait-links{display:none!important;}
  .gk-account-menu a,
  .gk-account-menu button{font-size:18px!important;padding:9px 0!important;}
  .gk-account-menu .account-status strong{font-size:21px!important;}
  .gk-account-menu .account-status span{font-size:14px!important;}

  /* Pull the hero artwork slightly left and let it fill the wide desktop/TV area. */
  .hero-art picture{overflow:hidden!important;}
  .hero-art img{
    transform:translateX(-22px) scale(1.025)!important;
    transform-origin:left top!important;
    width:calc(100% + 26px)!important;
  }
  .pricing-section .price-card:not(.performer) h2{
    font-size:clamp(15px,1.55vw,22px)!important;
    line-height:1.05!important;
  }
}
@media (orientation:landscape) and (max-height:520px){
  .gk-account-menu{
    top:calc(var(--header) + 6px)!important;
    width:260px!important;
    max-width:260px!important;
    right:22px!important;
    padding:14px 16px!important;
  }
  .gk-account-menu a,
  .gk-account-menu button{font-size:15px!important;padding:7px 0!important;}
  .gk-account-menu .account-status strong{font-size:18px!important;}
  .pricing-section .price-card:not(.performer) h2{font-size:13px!important;}
  .hero-art img{
    transform:translateX(-14px) scale(1.018)!important;
    width:calc(100% + 18px)!important;
  }
}

/* v64: landscape hero + account menu polish; preserve portrait home layout */
@media (orientation:landscape){
  /* Compact account menu: no full-width overlay on laptop/TV landscape. */
  .gk-account-menu{
    position:fixed!important;
    top:calc(var(--header) + 8px)!important;
    right:clamp(16px,3vw,54px)!important;
    left:auto!important;
    width:clamp(260px,22vw,340px)!important;
    max-width:340px!important;
    min-width:260px!important;
    z-index:120!important;
    overflow:hidden!important;
  }
  .gk-account-menu .portrait-links{display:none!important;}

  /* Use the improved wide hero art without stretching/cropping the action buttons. */
  .hero-section{
    padding-left:0!important;
    padding-right:0!important;
    gap:8px!important;
  }
  .hero-art{
    width:100vw!important;
    margin-left:0!important;
    margin-right:0!important;
    justify-content:flex-start!important;
    background:#000!important;
  }
  .hero-art picture,
  .hero-art img{
    width:100%!important;
    height:100%!important;
  }
  .hero-art img{
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }
  .action-grid{
    width:100%!important;
    padding-left:clamp(14px,1.6vw,28px)!important;
    padding-right:clamp(14px,1.6vw,28px)!important;
  }
}
@media (orientation:landscape) and (max-height:520px){
  .gk-account-menu{
    top:calc(var(--header) + 6px)!important;
    right:18px!important;
    width:250px!important;
    min-width:250px!important;
    max-width:250px!important;
  }
  .hero-art img{
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }
  .action-grid{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* v66 final: keep full hero message visible and stop landscape account button/menu from stretching */
.gk-account-btn{
  width:auto!important;
  flex:0 0 auto!important;
  max-width:170px!important;
}
@media (orientation:landscape){
  .gk-account-btn{
    width:clamp(74px,7.5vw,132px)!important;
    min-width:74px!important;
    max-width:132px!important;
    margin-left:auto!important;
  }
  .gk-account-menu{
    position:fixed!important;
    top:calc(var(--header) + 8px)!important;
    right:clamp(14px,2.4vw,42px)!important;
    left:auto!important;
    width:280px!important;
    min-width:280px!important;
    max-width:280px!important;
    height:auto!important;
    max-height:calc(100dvh - var(--header) - 18px)!important;
    padding:16px 18px!important;
    overflow:auto!important;
    z-index:500!important;
  }
  .gk-account-menu .portrait-links{display:none!important;}
  .hero-section{padding-left:0!important;padding-right:0!important;}
  .hero-art{width:100%!important;justify-content:center!important;background:#000!important;}
  .hero-art picture{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
  .hero-art img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    background:#000!important;
  }
}
@media (orientation:landscape) and (max-height:520px){
  .gk-account-btn{width:74px!important;min-width:74px!important;max-width:74px!important;height:40px!important;}
  .gk-account-menu{width:250px!important;min-width:250px!important;max-width:250px!important;right:18px!important;}
  .hero-art img{object-fit:contain!important;object-position:center center!important;transform:none!important;}
}
@media (orientation:portrait){
  .gk-account-btn{width:52px!important;min-width:52px!important;max-width:52px!important;}
  .hero-art img{
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
    background:#000!important;
  }
}

/* v67: final homepage adjustment - keep hero text fully visible, nudge landscape nav right, and stop account overlay stretching */
.gk-account-menu[hidden]{display:none!important;}

@media (orientation:landscape){
  /* Keep the top menu stable but move the menu group a little to the right. */
  .gk-header{
    padding-left:8px!important;
    padding-right:22px!important;
    gap:10px!important;
  }
  .gk-brand{
    flex:0 0 clamp(330px,28vw,430px)!important;
    min-width:clamp(330px,28vw,430px)!important;
    max-width:clamp(330px,28vw,430px)!important;
  }
  .gk-nav{
    margin-left:clamp(10px,1.4vw,28px)!important;
    justify-content:flex-start!important;
    flex:1 1 auto!important;
  }

  /* Account button must stay compact on laptop/TV. */
  .gk-header .gk-account-btn{
    display:inline-flex!important;
    flex:0 0 86px!important;
    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;
    height:48px!important;
    margin-left:16px!important;
    padding:0 10px!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
  }
  .gk-header .acct-name{display:none!important;}

  /* Dropdown must stay compact and below the account button, never across the screen. */
  .gk-account-menu{
    position:fixed!important;
    top:calc(var(--header) + 8px)!important;
    right:22px!important;
    left:auto!important;
    width:280px!important;
    min-width:280px!important;
    max-width:280px!important;
    height:auto!important;
    max-height:calc(100dvh - var(--header) - 18px)!important;
    padding:16px 18px!important;
    overflow:auto!important;
    z-index:999!important;
    border-radius:16px!important;
  }

  /* Keep the full hero message readable. Do not crop off SING YOUR HEART OUT or the phone. */
  .hero-section{
    padding-left:0!important;
    padding-right:0!important;
  }
  .hero-art{
    width:100%!important;
    justify-content:center!important;
    background:#000!important;
  }
  .hero-art picture{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .hero-art img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
    background:#000!important;
  }
}

@media (orientation:landscape) and (max-height:520px){
  .gk-brand{
    flex-basis:clamp(265px,24vw,340px)!important;
    min-width:clamp(265px,24vw,340px)!important;
    max-width:clamp(265px,24vw,340px)!important;
  }
  .gk-nav{margin-left:12px!important;gap:clamp(13px,1.65vw,24px)!important;}
  .gk-header .gk-account-btn{
    flex-basis:74px!important;
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    height:40px!important;
    margin-left:8px!important;
  }
  .gk-account-menu{
    width:250px!important;
    min-width:250px!important;
    max-width:250px!important;
    right:18px!important;
  }
}

/* Preserve portrait layout, but keep the text from sliding off in fullscreen/PWA. */
@media (orientation:portrait){
  .hero-art img{
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
    background:#000!important;
  }
}
