/*
Theme Name: SWI Minimal
Description: Single-page white site for Spaghetti Western Imports. Logo left, short menu right.
Version: 1.0
Author: Spaghetti Western Imports
Text Domain: swi-minimal
*/
:root{--ink:#111;--muted:#8a8a8a;--line:#e7e7e7;--bg:#fff}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:"Baloo 2",system-ui,-apple-system,sans-serif;font-weight:500;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
a{color:inherit;text-decoration:none}
.wrap{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;max-width:1280px;width:100%;margin:0 auto;padding:48px 56px}
.mark{display:flex;justify-content:center;align-items:center;padding-right:56px;border-right:1px solid var(--line);min-height:52vh}
.mark img{max-width:min(360px,80%);height:auto;display:block}
.wordmark{font-family:"Rokkitt",Georgia,serif;font-weight:800;font-size:clamp(40px,5vw,72px);line-height:.95;letter-spacing:.01em;text-transform:uppercase;text-align:center}
.menu{padding-left:72px;display:flex;flex-direction:column;gap:6px}
.menu a,.menu summary{font-family:"Rokkitt",Georgia,serif;font-weight:800;font-size:clamp(30px,3.6vw,58px);line-height:1.1;cursor:pointer;display:inline-flex;align-items:baseline;gap:18px;list-style:none;width:fit-content;position:relative}
.menu summary::-webkit-details-marker{display:none}
.menu a::after,.menu summary::after{content:"";position:absolute;left:0;bottom:.12em;height:1px;width:0;background:var(--ink);transition:width .35s ease}
.menu a:hover::after,.menu summary:hover::after,.menu a:focus-visible::after,.menu summary:focus-visible::after,.menu details[open] summary::after{width:100%}
.hint{letter-spacing:.22em!important;font-family:"Baloo 2",sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);opacity:0;transform:translateX(-6px);transition:opacity .3s ease,transform .3s ease;white-space:nowrap}
.menu a:hover .hint,.menu a:focus-visible .hint{letter-spacing:.22em!important;opacity:1;transform:none}
.about-body{max-width:440px;padding:14px 0 10px;color:#333;font-size:16px;animation:fade .4s ease}
.about-body p+p{margin-top:.8em}
@keyframes fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.foot{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1280px;width:100%;margin:0 auto;padding:22px 56px 28px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.foot a:hover{color:var(--ink)}
.foot svg{width:16px;height:16px;display:block}
.foot .r{display:flex;align-items:center;gap:18px}
:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.menu > a,.menu summary{white-space:nowrap}
.menu .sub{display:flex;flex-direction:column;gap:2px;padding:6px 0 14px 4px;animation:fade .4s ease}
.menu .sub a{font-family:"Norican",cursive;font-weight:400;font-size:clamp(24px,2.4vw,36px);color:#333}
.menu .sub a::after{bottom:.08em}
html{overflow-x:clip}
.tw{position:fixed;left:0;bottom:64px;width:64px;pointer-events:none;z-index:0;transform:translateX(-120px);animation:tw-x 26s linear 2.5s infinite}
.tw-b{display:block;animation:tw-bounce .95s cubic-bezier(.3,0,.7,1) infinite}
.tw img{display:block;width:100%;height:auto;animation:tw-spin 1.7s linear infinite}
@keyframes tw-x{0%{transform:translateX(-120px)}42%,100%{transform:translateX(calc(100vw + 120px))}}
@keyframes tw-bounce{0%,100%{transform:translateY(0)}45%{transform:translateY(-22px)}}
@keyframes tw-spin{to{transform:rotate(360deg)}}
.menu .extras{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:26px}
.menu .extras a{font-family:"Baloo 2",sans-serif;font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);line-height:1.4;min-height:44px;align-items:center}
.menu .extras a:hover,.menu .extras a:focus-visible{color:var(--ink)}
.menu .extras a::after{bottom:10px}
.range{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:36px 56px 24px;display:flex;flex-direction:column;gap:20px}
.range .back{font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);min-height:44px;display:inline-flex;align-items:center;align-self:flex-start}
.range .back:hover,.range .back:focus-visible{color:var(--ink)}
.range-head h1{font-family:"Rokkitt",Georgia,serif;font-weight:800;font-size:clamp(34px,4vw,56px);line-height:1}
.range-head p{margin-top:10px;color:#444;font-size:16px}
.range-map{margin:0}
.range-svg{display:block;width:100%;height:auto}
.range-svg .st{fill:#efefef;stroke:#fff;stroke-width:1.2;stroke-linejoin:round}
.range-svg .st.cov{fill:#c9c9c9}
.range-svg .leaders line{stroke:#111;stroke-width:1}
.range-svg .leaders circle{fill:#111}
.range-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px;font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#555}
.range-cta{font-size:15px;color:#333}
.range-cta a{border-bottom:1px solid currentColor}
.range-cta a:hover{color:var(--muted)}
.mark .logo{position:relative;display:block;width:min(360px,80%)}
.mark .logo img{max-width:100%;width:100%;height:auto;display:block}
.mark .logo .wink{position:absolute;inset:0;opacity:0;animation:wink 7s linear 2s infinite}
.mark .logo .glint{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.glint path{fill:#111;stroke:#fff;stroke-width:2;paint-order:stroke;transform-box:fill-box;transform-origin:center;transform:scale(0)}
.glint .g1{animation:glint1 7s ease-in-out 2s infinite}
.glint .g2{animation:glint2 7s ease-in-out 2s infinite}
@keyframes wink{0%,14%{opacity:0}14.2%,20%{opacity:1}20.2%,100%{opacity:0}}
@keyframes glint1{0%{transform:scale(0) rotate(-60deg)}4.5%{transform:scale(1) rotate(0deg)}10%,100%{transform:scale(0) rotate(60deg)}}
@keyframes glint2{0%,3.5%{transform:scale(0) rotate(45deg)}7%{transform:scale(1) rotate(0deg)}11%,100%{transform:scale(0) rotate(-45deg)}}
@media (max-width:1200px){.hint{display:none}}
@media (max-width:760px){
 .mark .logo{width:200px}
 .range{padding:24px 20px 16px}
 .menu .extras{justify-content:center}
 .tw{width:44px;bottom:96px}
 .wrap{grid-template-columns:1fr;padding:40px 24px;align-content:center;gap:40px}
 .mark{border-right:0;border-bottom:1px solid var(--line);padding:0 0 36px;min-height:0}
 .mark img{max-width:200px}
 .menu{padding-left:0;align-items:center;text-align:center}
 .menu details{text-align:center}
 .menu .sub{align-items:center;padding-left:0}
 .about-body{margin:0 auto}
 .hint{letter-spacing:.22em!important;display:none}
 .foot{flex-direction:column;padding:20px 24px 28px;text-align:center}
}
@media (prefers-reduced-motion:reduce){.mark .logo .wink,.mark .logo .glint{display:none}.tw{display:none}*{transition:none!important;animation:none!important}}
