/*
Theme Name: OKOMEYA
Version: 1.0.0
Description: Japanese rice shop single-page theme.
Text Domain: okomeya
*/
:root{--paper:#f8f6ee;--ink:#20382f;--muted:#657068;--line:#dedfd4;--olive:#84916a;--white:#fff;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.85}button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500}h2{font-size:40px;line-height:1.65;letter-spacing:.06em}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.eyebrow{font-size:11px;letter-spacing:.24em;color:var(--muted);font-family:var(--sans);text-transform:uppercase}.kicker{display:flex;align-items:center;gap:12px}.kicker:before{content:'';width:28px;height:1px;background:var(--olive)}.note{color:var(--muted);font-size:12px;line-height:1.8}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:12px;z-index:100}.announce{background:var(--ink);color:#fff;text-align:center;padding:7px 16px;font-size:11px;letter-spacing:.15em}.header{position:sticky;top:0;z-index:20;background:rgba(248,246,238,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:11px}.logo svg{width:33px;height:45px}.wordmark{font-family:var(--serif);font-size:27px;letter-spacing:.12em;line-height:1.2}.logo small{display:block;font-size:9px;letter-spacing:.28em;margin-top:5px}.nav{display:flex;align-items:center;gap:28px;font-size:12px;letter-spacing:.05em}.nav a:hover{color:var(--olive)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:white;border:1px solid var(--ink);padding:15px 25px;font-size:13px;min-height:52px;transition:.2s}.btn:hover{background:#395347;transform:translateY(-1px)}.btn.light{background:transparent;color:var(--ink);border-color:#9aa494}.btn.small{padding:9px 20px;min-height:43px}.hero{display:grid;grid-template-columns:.86fr 1.14fr;min-height:700px;gap:36px;align-items:center;padding:54px 0 44px}.hero-copy{padding:20px 0 35px}.hero h1{font-size:clamp(40px,4.8vw,62px);line-height:1.6;letter-spacing:.06em;margin:23px 0}.hero-copy>p{font-size:14px;line-height:2.3;color:var(--muted);margin:0 0 32px;max-width:370px}.hero-bottom{margin-top:35px;display:flex;align-items:center;gap:12px}.hero-bottom span{height:1px;width:25px;background:var(--olive)}.hero-image{position:relative;margin:0}.hero-image img{width:100%;height:560px;object-fit:cover;border-radius:180px 0 0 0}.hero-image figcaption{font-size:9px;text-align:right;color:var(--muted);margin-top:9px;letter-spacing:.08em}.image-seal{position:absolute;bottom:40px;left:-32px;width:106px;height:106px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-direction:column;outline:5px solid var(--paper);font-family:var(--serif);line-height:1.7;font-size:16px;letter-spacing:.1em}.image-seal small{font-family:var(--sans);font-size:8px;letter-spacing:.15em}.values{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:0 0 0}.value{display:flex;align-items:center;justify-content:center;gap:20px}.value+ .value{border-left:1px solid var(--line)}.value .num{font-family:var(--serif);font-size:26px;color:var(--olive)}.value h3{font-size:13px;font-weight:500;letter-spacing:.1em}.value p{font-size:10px;color:var(--muted);margin-top:3px}.intro{padding:100px 0 85px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.intro h2{margin-top:16px;font-size:34px}.intro-text{color:var(--muted);font-size:14px;line-height:2.5;padding-top:28px}.intro-text p+p{margin-top:17px}.shop{background:#eceee4;padding:86px 0 90px;scroll-margin-top:80px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px;gap:30px}.section-head h2{margin-top:10px}.section-head .note{max-width:320px}.product-card{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border:1px solid #d9ddce}.product-visual{background:#e2e6d8;display:flex;align-items:center;justify-content:center;min-height:570px;position:relative;padding:65px;overflow:hidden}.product-visual .visual-caption{position:absolute;bottom:20px;left:26px;font-size:10px;color:#657068}.bag{width:242px;min-height:345px;background:#e7d6b2;border-top:18px solid #d9c69d;border-bottom:18px solid #d9c69d;border-radius:7px 7px 17px 17px;box-shadow:15px 25px 32px #3143301f;transform:rotate(-6deg);position:relative;display:flex;justify-content:center;align-items:center}.bag:before,.bag:after{content:'';position:absolute;top:0;bottom:0;width:15px;background:#d6c09655}.bag:before{left:0}.bag:after{right:0}.bag-label{background:var(--paper);width:165px;padding:32px 10px;text-align:center;border:1px solid #d3c7ac}.bag-label .bag-brand{font-family:var(--serif);font-size:24px;letter-spacing:.1em}.bag-label .bag-rice{font-family:var(--serif);font-size:42px;margin:16px 0;line-height:1.5;letter-spacing:.14em}.bag-label .bag-latin{font-size:9px;letter-spacing:.24em}.bag-weight{font-size:15px;padding-top:14px;border-top:1px solid #c7c9bb;margin-top:18px}.product-info{padding:50px}.status{display:inline-block;font-size:10px;border:1px solid #a0ab96;padding:3px 12px;letter-spacing:.13em}.product-info h3{font-family:var(--serif);font-size:32px;font-weight:500;letter-spacing:.08em;margin:15px 0}.product-info .sub{font-size:13px;color:var(--muted);line-height:2}.specs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0 26px;display:flex;gap:24px;padding:14px 0;flex-wrap:wrap}.specs div{font-size:12px}.specs small{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.product-info fieldset{padding:0;border:0;margin:0 0 18px}.product-info legend{font-size:12px;margin-bottom:12px}.sizes{display:flex;gap:10px}.size-btn{flex:1;background:transparent;border:1px solid #c2c9b8;color:var(--ink);padding:14px 6px;position:relative;line-height:1.4}.size-btn strong{display:block;font-family:var(--serif);font-size:21px;font-weight:500}.size-btn span{font-size:10px}.size-btn[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.selected{font-size:12px;margin-bottom:16px;color:var(--muted)}.purchase-state{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.price-state{font-size:17px;letter-spacing:.06em}.product-info .product-note{font-size:10px;color:var(--muted);margin-top:16px}.rice-ready{background:#fff8e8;border:1px solid #e0d6bc;padding:14px 20px;font-size:12px;margin-top:20px;display:none}.rice-ready.visible{display:block}.guide{padding:105px 0 100px}.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:38px}.guide-card{border-top:1px solid var(--ink);padding-top:24px}.guide-card .step{font-family:var(--serif);font-size:34px;color:var(--olive)}.guide-card h3{font-size:17px;font-weight:500;letter-spacing:.06em;margin:15px 0 12px}.guide-card p{font-size:13px;line-height:2.1;color:var(--muted)}.guide-source{margin-top:30px;font-size:10px;color:var(--muted)}.storage{display:grid;grid-template-columns:1fr 1fr;background:#223b31;color:#fff}.storage-photo{min-height:430px;background:url('assets/rice-hero.webp') center/cover}.storage-content{padding:70px 65px}.storage-content .eyebrow{color:#b6c6ae}.storage-content h2{font-size:34px;margin:17px 0 22px}.storage-content p{color:#cfd9cf;font-size:13px;line-height:2.2}.storage-content ul{list-style:none;margin:25px 0 0;padding:0;font-size:12px;color:#dbe3d7}.storage-content li{padding:12px 0;border-top:1px solid #ffffff29}.storage-content li:before{content:'＋';margin-right:13px;color:#c3cba4}.faq{padding:100px 0;display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.faq h2{margin-top:16px;font-size:35px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:14px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq-list summary:after{content:'＋';color:var(--olive);font-size:20px}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:12px;line-height:2;color:var(--muted);padding-top:14px;padding-right:26px}.closing{text-align:center;padding:72px 20px;background:#eceee4}.closing h2{font-size:36px;margin:13px 0 24px}.footer{padding:48px 0 25px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:30px}.footer-links{display:flex;flex-wrap:wrap;max-width:560px;justify-content:flex-end;gap:13px 25px}.footer-links button{background:none;border:0;padding:0;color:var(--muted);font-size:10px}.footer-bottom{margin-top:35px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:var(--muted);letter-spacing:.05em}.mobile-cta{display:none}.policy-modal{border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(660px,calc(100% - 32px));padding:35px;max-height:85vh;overflow:auto}.policy-modal::backdrop{background:#15221999}.policy-modal h2{font-size:25px;margin:15px 0}.policy-modal .close{float:right;border:1px solid var(--line);background:none;font-size:12px;padding:7px 12px}.policy-modal p{font-size:13px;line-height:2;margin:15px 0}.policy-modal table{width:100%;border-collapse:collapse;font-size:12px}.policy-modal td,.policy-modal th{padding:12px;text-align:left;border-bottom:1px solid var(--line)}.policy-modal th{width:35%;font-weight:500}.backtop{font-size:10px}.plain-page{max-width:850px;margin:65px auto;padding:0 30px;min-height:60vh}.plain-page h1{font-family:var(--serif);font-size:36px;margin-bottom:25px}:focus-visible{outline:2px solid #8e7735;outline-offset:4px}@media(max-width:960px){.wrap{width:calc(100% - 40px)}.nav{gap:17px}.hero{min-height:600px;gap:20px}.hero h1{font-size:43px}.hero-image img{height:490px;border-top-left-radius:120px}.intro{gap:45px}.product-info{padding:35px}.product-visual{padding:35px}.storage-content{padding:45px 35px}.faq{gap:40px}}@media(max-width:700px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 36px)}body{font-size:14px}.announce{font-size:9px;padding:6px 10px;letter-spacing:.1em}.header-inner{height:69px}.wordmark{font-size:23px}.logo svg{width:25px;height:34px}.logo small{font-size:8px;margin-top:4px}.nav>a:not(.btn){display:none}.nav .btn{font-size:11px;padding:8px 13px;gap:16px;min-height:39px}.hero{grid-template-columns:1fr;padding:34px 0 35px;gap:22px;min-height:auto}.hero-copy{padding:0 6px}.hero h1{font-size:38px;line-height:1.6;margin:16px 0 14px}.hero-copy>p{font-size:12px;line-height:2.2;margin-bottom:20px;max-width:none}.hero-copy .btn{padding:12px 22px;min-height:47px}.hero-bottom{margin-top:18px;font-size:10px}.hero-image{margin-left:16px}.hero-image img{height:330px;border-top-left-radius:100px}.image-seal{width:79px;height:79px;left:-16px;bottom:35px;font-size:12px}.image-seal small{font-size:6px}.values{padding:20px 0}.value{gap:7px;flex-direction:column;text-align:center}.value .num{font-size:23px}.value h3{font-size:11px;letter-spacing:0}.value p{font-size:8px}.intro{padding:62px 5px;grid-template-columns:1fr;gap:15px}.intro h2{font-size:28px}.intro-text{padding-top:0;font-size:12px;line-height:2.2}.shop{padding:55px 0}.section-head{display:block;margin-bottom:25px}.section-head h2{font-size:29px}.section-head .note{margin-top:10px;font-size:11px}.product-card{grid-template-columns:1fr}.product-visual{min-height:370px;padding:40px}.bag{width:185px;min-height:270px;border-top-width:13px;border-bottom-width:13px}.bag-label{width:130px;padding:20px 7px}.bag-label .bag-brand{font-size:19px}.bag-label .bag-rice{font-size:33px;margin:12px 0}.bag-weight{font-size:12px;margin-top:13px;padding-top:10px}.product-info{padding:28px 23px}.product-info h3{font-size:27px}.product-info .sub{font-size:12px}.product-info .specs{gap:17px}.sizes{gap:7px}.size-btn{padding:12px 6px}.size-btn strong{font-size:21px}.purchase-state{flex-wrap:wrap}.purchase-state .btn{width:100%;margin-top:7px}.guide{padding:65px 0}.guide .section-head h2{font-size:28px}.guide-cards{grid-template-columns:1fr;gap:25px;margin-top:28px}.guide-card{position:relative;padding-left:56px;padding-top:18px}.guide-card .step{position:absolute;left:0;top:22px;font-size:29px}.guide-card h3{margin:4px 0 8px;font-size:16px}.guide-card p{font-size:12px}.storage{grid-template-columns:1fr}.storage-photo{min-height:260px}.storage-content{padding:38px 28px}.storage-content h2{font-size:27px}.faq{padding:65px 0;grid-template-columns:1fr;gap:25px}.faq h2{font-size:28px}.faq-list summary{font-size:13px}.closing{padding:50px 20px}.closing h2{font-size:28px}.footer{padding:35px 0 95px}.footer-top{flex-direction:column;gap:25px}.footer-links{justify-content:flex-start;gap:14px 19px}.footer-bottom{font-size:8px;gap:15px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;padding:10px 18px;background:var(--paper);box-shadow:0 -1px 8px #10261513;align-items:center;justify-content:space-between;gap:15px}.mobile-cta>span{font-size:11px}.mobile-cta small{display:block;color:var(--muted);font-size:9px}.mobile-cta .btn{font-size:11px;padding:9px 19px;min-height:39px;gap:20px}.policy-modal{padding:24px}.policy-modal h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Footer policy navigation: two columns */
.footer .footer-links,.footer .policy-footer-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px!important;width:min(560px,100%);max-width:100%;justify-content:normal;align-items:start}.footer .footer-links a,.footer .policy-footer-links a{display:block;min-width:0;line-height:1.8;overflow-wrap:anywhere;text-align:left}@media(max-width:700px){.footer .footer-links,.footer .policy-footer-links{gap:12px 16px!important;width:100%}}
