/* Yomite — hand-crafted production stylesheet (no Tailwind build needed). v260517 */

/* ─── Reset & base ─── */
*,::after,::before{box-sizing:border-box;border:0 solid #E8E2D5}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{margin:0;line-height:inherit;font-family:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;background:#FAF7F2;color:#1A1815;background-image:radial-gradient(at 12% 0%,rgba(200,57,46,.04) 0%,transparent 50%),radial-gradient(at 88% 12%,rgba(42,63,107,.04) 0%,transparent 50%);background-attachment:fixed}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4{font-family:"Noto Serif JP",Georgia,serif;letter-spacing:.005em;color:#1A1815;font-weight:700}
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3{letter-spacing:.04em}
ul,ol{padding:0;margin:0;list-style:none}
button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;margin:0;padding:0;background:0 0;border:0;cursor:pointer}
img,svg,video,canvas,audio{display:block;vertical-align:middle;max-width:100%;height:auto}
a{color:inherit;text-decoration:inherit}
::selection{background:#C8392E;color:#FFFEFB}
:focus-visible{outline:2px solid #C8392E;outline-offset:3px;border-radius:4px}
.antialiased{-webkit-font-smoothing:antialiased}

/* ─── Layout ─── */
.container{width:100%;margin:0 auto;padding:0 1rem}
.max-w-prose{max-width:68ch}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-7xl{max-width:80rem}
.max-w-md{max-width:28rem}
.mx-auto{margin-left:auto;margin-right:auto}
.block{display:block}
.inline-block{display:inline-block}
.inline{display:inline}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.hidden{display:none}
.flex-1{flex:1 1 0%}
.flex-wrap{flex-wrap:wrap}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-baseline{align-items:baseline}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.self-start{align-self:flex-start}
.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-12{gap:3rem}
.space-y-1>:not([hidden])~:not([hidden]){margin-top:.25rem}
.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}
.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* ─── Spacing ─── */
.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.px-1\.5{padding-left:.375rem;padding-right:.375rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-2\.5{padding-left:.625rem;padding-right:.625rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-24{padding-top:6rem}.pt-32{padding-top:8rem}
.pb-4{padding-bottom:1rem}.pb-16{padding-bottom:4rem}
.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}
.m-0{margin:0}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}
.mr-2{margin-right:.5rem}
.ml-1\.5{margin-left:.375rem}
.-mr-2{margin-right:-.5rem}
.-top-4{top:-1rem}.-right-4{right:-1rem}.-bottom-8{bottom:-2rem}.-left-8{left:-2rem}

/* ─── Position ─── */
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}
.top-0{top:0}.left-0{left:0}.right-0{right:0}.bottom-4{bottom:1rem}.left-4{left:1rem}.right-4{right:1rem}
.z-50{z-index:50}.z-60{z-index:60}
.h-px{height:1px}.h-0\.5{height:.125rem}.h-2{height:.5rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}
.w-px{width:1px}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-40{width:10rem}.w-full{width:100%}.w-1\/2{width:50%}
.min-h-screen{min-height:100vh}
.aspect-square{aspect-ratio:1/1}
.aspect-video{aspect-ratio:16/9}

/* ─── Typography ─── */
.font-serif{font-family:"Noto Serif JP",Georgia,serif}
.font-sans{font-family:Inter,"Noto Sans JP",sans-serif}
.font-mono{font-family:"JetBrains Mono",ui-monospace,monospace}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem;line-height:1.1}
.text-6xl{font-size:3.75rem;line-height:1.1}
.text-7xl{font-size:4.5rem;line-height:1.1}
.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
.uppercase{text-transform:uppercase}
.tracking-tight{letter-spacing:-.025em}
.tracking-widest{letter-spacing:.1em}
.tracking-japan{letter-spacing:.04em}
.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}
.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}

/* ─── Colours (brand) ─── */
.text-sumi{color:#1A1815}.bg-sumi{background-color:#1A1815}
.text-sumiSoft{color:#2D2A24}.bg-sumiSoft{background-color:#2D2A24}
.text-sumiMute{color:#6B6359}.bg-sumiMute{background-color:#6B6359}
.text-shu{color:#C8392E}.bg-shu{background-color:#C8392E}
.text-shuDeep{color:#A52E25}.bg-shuDeep{background-color:#A52E25}
.bg-shuSoft{background-color:#FEE9E5}
.text-ai{color:#2A3F6B}.bg-ai{background-color:#2A3F6B}
.text-aiSoft{color:#5C7BB8}
.bg-aiTint{background-color:#EAEFF7}
.text-gold{color:#B8945A}.bg-gold{background-color:#B8945A}
.text-paper{color:#FFFEFB}.bg-paper{background-color:#FFFEFB}
.bg-washi{background-color:#FAF7F2}
.border-paperLine{border-color:#E8E2D5}
.border-shu{border-color:#C8392E}.border-ai{border-color:#2A3F6B}.border-sumi{border-color:#1A1815}
.text-paper\/50{color:rgba(255,254,251,.5)}.text-paper\/70{color:rgba(255,254,251,.7)}.text-paper\/80{color:rgba(255,254,251,.8)}.text-paper\/90{color:rgba(255,254,251,.9)}
.bg-paper\/5{background-color:rgba(255,254,251,.05)}.bg-paper\/60{background-color:rgba(255,254,251,.6)}
.border-paper\/10{border-color:rgba(255,254,251,.1)}.border-paper\/20{border-color:rgba(255,254,251,.2)}
.text-paper\/70{color:rgba(255,254,251,.7)}
.border-sumi\/15{border-color:rgba(26,24,21,.15)}
.bg-washi\/80{background-color:rgba(250,247,242,.8)}
.text-shuSoft{color:#FEE9E5}
.border-paperLine\/60{border-color:rgba(232,226,213,.6)}

/* ─── Borders / shadows ─── */
.border{border-width:1px}.border-0{border-width:0}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}
.border-t-shu{border-top-color:#C8392E}
.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}
.shadow-paper{box-shadow:0 1px 2px rgba(26,24,21,.04),0 4px 12px rgba(26,24,21,.05)}
.shadow-paperLift{box-shadow:0 4px 8px rgba(26,24,21,.06),0 12px 32px rgba(26,24,21,.08)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}

/* ─── Effects ─── */
.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:150ms;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.overflow-hidden{overflow:hidden}

/* ─── Cursor / pointer ─── */
.cursor-pointer{cursor:pointer}

/* ─── Object fit ─── */
.object-cover{object-fit:cover}

/* ─── Components ─── */
.glass-nav{background-color:rgba(250,247,242,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(232,226,213,.6)}
.card-paper{background:#FFFEFB;border:1px solid #E8E2D5;border-radius:1rem;box-shadow:0 1px 2px rgba(26,24,21,.04),0 4px 12px rgba(26,24,21,.05);transition:all .15s ease;display:flex;flex-direction:column;gap:.75rem}
.card-paper:hover{box-shadow:0 4px 8px rgba(26,24,21,.06),0 12px 32px rgba(26,24,21,.08);transform:translateY(-2px)}
.btn-shu{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:9999px;background:#C8392E;color:#FFFEFB;font-weight:600;font-size:.875rem;box-shadow:0 1px 2px rgba(26,24,21,.04),0 4px 12px rgba(26,24,21,.05);transition:all .15s ease;cursor:pointer;text-decoration:none}
.btn-shu:hover{background:#A52E25;box-shadow:0 4px 8px rgba(26,24,21,.06),0 12px 32px rgba(26,24,21,.08)}
.btn-shu:active{transform:scale(.98)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:9999px;border:1px solid rgba(26,24,21,.15);background:rgba(255,254,251,.6);color:#1A1815;font-weight:600;font-size:.875rem;transition:all .15s ease;cursor:pointer;text-decoration:none}
.btn-ghost:hover{background:#FFFEFB;border-color:rgba(26,24,21,.3)}
.btn-ai{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:9999px;background:#2A3F6B;color:#FFFEFB;font-weight:600;font-size:.875rem;transition:all .15s ease;cursor:pointer;text-decoration:none}
.btn-ai:hover{background:rgba(42,63,107,.9)}
.section-eyebrow{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:#C8392E;margin-bottom:.75rem}
.h-display{font-family:"Noto Serif JP",Georgia,serif;font-size:2.25rem;line-height:1.1;color:#1A1815;font-weight:700}
@media (min-width:640px){.h-display{font-size:3rem}}
@media (min-width:768px){.h-display{font-size:3.75rem}}
@media (min-width:1024px){.h-display{font-size:4.5rem}}
.hairline{height:1px;width:100%;background:#E8E2D5}
.voice-card{background:#FFFEFB;border:1px solid #E8E2D5;border-top:3px solid var(--voice-accent,#C8392E);border-radius:1rem;box-shadow:0 1px 2px rgba(26,24,21,.04),0 4px 12px rgba(26,24,21,.05);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:all .15s ease}
.voice-card:hover{box-shadow:0 4px 8px rgba(26,24,21,.06),0 12px 32px rgba(26,24,21,.08);transform:translateY(-2px)}
.voice-card.is-playing{border-color:var(--voice-accent,#C8392E);box-shadow:0 0 0 2px var(--voice-accent,#C8392E),0 12px 32px rgba(26,24,21,.08)}
.chip{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:#EAEFF7;color:#2A3F6B}
.chip-shu{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:#FEE9E5;color:#A52E25}
.scroll-progress{position:fixed;top:0;left:0;height:2px;background:#C8392E;z-index:60;width:0;transition:width 80ms linear}
.img-placeholder{background-color:#F5F0E6;background-image:linear-gradient(45deg,#EFE7D3 25%,transparent 25%),linear-gradient(-45deg,#EFE7D3 25%,transparent 25%);background-size:14px 14px;border:2px dashed #C8392E;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#6B6359;text-align:center;padding:1rem}
.prose-yomite{font-family:"Noto Serif JP",Georgia,serif;color:#2D2A24;line-height:1.7}
.prose-yomite p{margin-bottom:1.25rem}
.prose-yomite h2{font-size:1.5rem;margin-top:2.5rem;margin-bottom:1rem;color:#1A1815}
.prose-yomite h3{font-size:1.25rem;margin-top:2rem;margin-bottom:.75rem;color:#1A1815}
.prose-yomite ul,.prose-yomite ol{list-style:disc;padding-left:1.5rem;margin-bottom:1.25rem}
.prose-yomite ol{list-style:decimal}
.prose-yomite li{margin-bottom:.5rem}
.prose-yomite a{color:#C8392E;text-decoration:underline;text-decoration-color:rgba(200,57,46,.3);text-underline-offset:4px}
.prose-yomite a:hover{text-decoration-color:#C8392E}
.prose-yomite strong{font-weight:700;color:#1A1815}
.prose-yomite code{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.875em;background:#F5F0E6;padding:.125rem .375rem;border-radius:.25rem}
.prose-yomite blockquote{border-left:4px solid #C8392E;padding-left:1.5rem;margin:1.5rem 0;font-style:italic;color:#6B6359}
.prose-yomite img{border-radius:.75rem;margin:1.5rem 0}
.seal{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.25rem;background:#C8392E;color:#FFFEFB;font-family:"Noto Serif JP",Georgia,serif;font-size:1rem;font-weight:700;transform:rotate(-4deg)}

/* ─── Hover utilities ─── */
.hover\:bg-paper:hover{background:#FFFEFB}
.hover\:text-shu:hover{color:#C8392E}
.hover\:border-sumi\/30:hover{border-color:rgba(26,24,21,.3)}
.hover\:bg-shuDeep:hover{background:#A52E25}
.hover\:bg-blue-50:hover{background:#EFF6FF}
.hover\:decoration-shu:hover{text-decoration-color:#C8392E}
.group:hover .group-hover\:text-shu{color:#C8392E}
.group-open\:rotate-45[open]>summary>span:last-child,details[open] .group-open\:rotate-45{transform:rotate(45deg)}
details[open] summary .group-open\:rotate-45{transform:rotate(45deg)}

/* ─── Animations ─── */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.animate-fade-in{animation:fadeIn .6s ease-out}
.animate-slide-up{animation:slideUp .7s ease-out}
.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}

/* ─── Utilities ─── */
.text-balance{text-wrap:balance}
.text-pretty{text-wrap:pretty}
.ja-vertical{writing-mode:vertical-rl;text-orientation:mixed}
.list-disc{list-style:disc}.list-decimal{list-style:decimal}
.not-prose{font-family:inherit}.not-prose a{text-decoration:none}

/* ─── Responsive ─── */
@media (min-width:640px){
  .sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:block{display:block}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sm\:flex-row{flex-direction:row}
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .sm\:pt-40{padding-top:10rem}.sm\:pb-24{padding-bottom:6rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:py-28{padding-top:7rem;padding-bottom:7rem}
  .sm\:left-auto{left:auto}
  .sm\:right-4{right:1rem}.sm\:max-w-md{max-width:28rem}
  .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .sm\:text-5xl{font-size:3rem;line-height:1.1}
  .sm\:text-6xl{font-size:3.75rem;line-height:1.1}
  .sm\:text-7xl{font-size:4.5rem;line-height:1.1}
}
@media (min-width:768px){
  .md\:flex{display:flex}.md\:hidden{display:none}.md\:block{display:block}.md\:col-span-2{grid-column:span 2/span 2}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:text-5xl{font-size:3rem;line-height:1.1}
}
@media (min-width:1024px){
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
}
@media (min-width:1280px){
  .xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ─── v260523: Mobile responsive overrides + missing utils ─── */
/* Missing max-width utilities used in hero */
.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}
.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}
@media (min-width:640px){.sm\:max-w-sm{max-width:24rem}}
@media (min-width:1024px){.lg\:max-w-md{max-width:28rem}.lg\:max-w-lg{max-width:32rem}.lg\:block{display:block}.lg\:hidden{display:none}}
.pointer-events-none{pointer-events:none}
.block{display:block}

/* Mobile baseline: ensure no horizontal overflow */
html,body{overflow-x:hidden;max-width:100vw}
img,svg,video,iframe,table{max-width:100%;height:auto}

/* Better h-display scaling on mobile (was already responsive but too big at very small) */
@media (max-width:639px){
  .h-display{font-size:1.875rem;line-height:1.15}
  .text-3xl{font-size:1.5rem;line-height:1.3}
  .text-4xl{font-size:1.75rem;line-height:1.2}
  .text-5xl,.text-6xl,.text-7xl{font-size:2rem;line-height:1.15}
  section.py-20,section.sm\:py-28{padding-top:3rem;padding-bottom:3rem}
  .pt-32{padding-top:5.5rem}
  /* Voice cards stack 1 col on small phones */
  .voice-card{padding:1rem;gap:.625rem}
  .seal{width:2.5rem;height:2.5rem;font-size:.875rem}
  /* Hero text alignment / spacing tighter on mobile */
  .h-display{margin-bottom:1rem}
  /* Avatar inside card stays small */
  .voice-card .w-14{width:3rem}
  .voice-card .h-14{height:3rem}
  /* Compare table & wide tables scroll */
  table{display:block;overflow-x:auto;white-space:nowrap}
  /* Hero buttons full-width / wrap nicely */
  .btn-shu,.btn-ghost,.btn-ai{font-size:.875rem;padding:.625rem 1rem}
  /* Nav padding on phone */
  nav.glass-nav{padding-left:0;padding-right:0}
  /* No fat ipad floating on top of phone hero */
  /* (already lg:block, hidden by default) */
  /* Footer columns stack */
  footer .grid{gap:1.5rem}
  /* Ensure prose stays readable */
  .prose-yomite h2{font-size:1.25rem;margin-top:2rem}
  .prose-yomite p,.prose-yomite li{font-size:.95rem}
  /* OG image / images obey container */
  img.shadow-paperLift{max-width:100%}
}

/* Tablet tuning */
@media (min-width:640px) and (max-width:1023px){
  .h-display{font-size:2.5rem;line-height:1.15}
  /* iPhone hero stays compact on tablet too */
  section .max-w-sm{max-width:22rem}
}

/* Touch target minimum on mobile */
@media (hover:none){
  .btn-shu,.btn-ghost,.btn-ai,button,a.text-sumiSoft{min-height:44px;display:inline-flex;align-items:center}
}

/* Hero grid: stack on mobile, balanced on desktop */
@media (max-width:1023px){
  .hero-grid{display:flex;flex-direction:column;gap:2rem}
}

/* Mobile-friendly voice cards: never wider than container */
.voice-card{min-width:0}
.voice-card .font-serif.font-bold.text-lg,
.voice-card .font-serif.font-bold.text-xl{word-break:break-word;overflow-wrap:anywhere;font-size:1rem;line-height:1.3}

/* Mobile menu button always visible on small */
@media (max-width:767px){
  #mobile-menu-btn{display:flex}
  .glass-nav .hidden.md\:flex{display:none}
}

/* Make sure cards in feature grid look right */
@media (max-width:639px){
  .card-paper{padding:1rem}
  .card-paper.p-6{padding:1.25rem}
  .card-paper.p-8{padding:1.5rem}
}

/* ─── v260523-b: iPad floater visibility fix ─── */
/* Hero parent must allow visible overflow for floating iPad */
section.pt-32 .relative.mx-auto,
section.sm\:pt-40 .relative.mx-auto{overflow:visible}
/* body overflow only clip horizontal at very small screens, not desktop hero */
@media (min-width:1024px){
  html,body{overflow-x:visible}
}

/* ─── Style chips clickable ─── */
[data-style-chip]{cursor:pointer;user-select:none;transition:all .15s ease}
[data-style-chip]:hover{filter:brightness(1.05);transform:translateY(-1px)}
[data-style-chip].is-selected{background:#C8392E;color:#FFFEFB;box-shadow:0 1px 4px rgba(200,57,46,.3)}
.voice-card .style-row{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}
.voice-card .style-row .chip{cursor:pointer}

/* ─── Hero image absolute max-height ─── */
.hero-device{max-height:min(75vh,640px);width:auto;margin:0 auto}
@media (max-width:639px){.hero-device{max-height:60vh}}
@media (min-width:1024px){.hero-device{max-height:680px}}
