
:root{
    --bg:#120d09;
    --bg2:#1b130d;
    --paper:#d7c299;
    --paper-light:#ead9b7;
    --paper-dark:#b69a69;
    --ink:#24180e;
    --cream:#eadcbc;
    --muted:#a99575;
    --gold:#c39b55;
    --gold2:#e0bf7a;
    --red:#6b211a;
    --line:rgba(207,168,94,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--bg);
    color:var(--cream);
    font-family:"IM Fell English", Georgia, serif;
    overflow-x:hidden;
}
body::-webkit-scrollbar{width:8px}
body::-webkit-scrollbar-track{background:#0b0805}
body::-webkit-scrollbar-thumb{background:#76572e}
a{text-decoration:none;color:inherit}
button{font:inherit}
.grain{
    position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.09;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
    mix-blend-mode:soft-light;
}
.nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    min-height:82px;padding:14px 5vw;
    display:flex;align-items:center;justify-content:space-between;gap:24px;
    background:linear-gradient(180deg,rgba(10,7,4,.96),rgba(10,7,4,.7),transparent);
}
.brand{
    font-family:Rye,serif;text-align:center;font-size:20px;letter-spacing:1px;white-space:nowrap;
}
.brand small{
    display:block;font-family:"IM Fell English",serif;font-size:9px;letter-spacing:4px;
    text-transform:uppercase;color:var(--gold);margin-top:3px
}
.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;color:#d4c5a6}
.nav-links a,.nav-login{transition:.25s}
.nav-links a:hover{color:var(--gold2)}
.nav-login{
    padding:10px 17px;border:1px solid rgba(204,163,88,.55);
    font-size:11px;letter-spacing:2px;text-transform:uppercase;background:rgba(16,11,7,.4)
}
.nav-login:hover{background:rgba(119,76,31,.35)}
.hero{
    min-height:100vh;position:relative;display:grid;place-items:center;text-align:center;
    padding:120px 24px 70px;
    background:
        linear-gradient(180deg,rgba(7,5,3,.10),rgba(7,5,3,.36) 55%,#120d09 100%),
        url("https://guides4gamers.com/sites/12/screenshots/2019/10/1920/go-to-strawberry-3.jpg") center/cover;
}
.hero:after{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 50% 48%,transparent 0 25%,rgba(8,5,3,.28) 62%,rgba(6,4,2,.75));
    pointer-events:none
}
.hero-frame{
    position:absolute;inset:4.2%;border:1px solid rgba(219,184,112,.36);z-index:2;pointer-events:none
}
.hero-frame:before,.hero-frame:after{
    content:"✦";position:absolute;color:rgba(225,191,120,.7);font-size:18px
}
.hero-frame:before{top:-11px;left:50%;transform:translateX(-50%);background:#20140b;padding:0 9px}
.hero-frame:after{bottom:-11px;left:50%;transform:translateX(-50%);background:#120d09;padding:0 9px}
.hero-content{position:relative;z-index:3;max-width:950px}
.overline,.kicker{
    text-transform:uppercase;letter-spacing:5px;font-size:11px;color:var(--gold2)
}
.hero-mark{
    width:67px;height:67px;border:1px solid rgba(224,185,107,.7);border-radius:50%;
    display:grid;place-items:center;margin:24px auto 20px;font-family:Rye;font-size:30px;color:#e2c27d;
    box-shadow:0 0 0 5px rgba(0,0,0,.28),inset 0 0 25px rgba(0,0,0,.45)
}
.hero h1{
    margin:0;font-family:Rye,serif;font-weight:400;text-transform:uppercase;
    font-size:clamp(62px,10vw,130px);line-height:.83;letter-spacing:-2px;
    text-shadow:0 7px 25px rgba(0,0,0,.9)
}
.hero h1 span{font-size:.57em;color:#e0bd74;letter-spacing:7px}
.hero-quote{font-size:19px;font-style:italic;margin:30px auto;color:#e4d5b6}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{
    padding:13px 23px;border:1px solid var(--gold);font-size:11px;letter-spacing:2px;text-transform:uppercase;
    transition:.25s
}
.btn-gold{background:#9d7135;color:#fff8e6}
.btn-gold:hover{background:#b68543;transform:translateY(-2px)}
.btn-ghost{background:rgba(15,9,5,.5)}
.btn-ghost:hover{background:rgba(96,61,25,.45);transform:translateY(-2px)}
.hero-location{
    position:absolute;z-index:3;bottom:34px;left:5vw;text-align:left;
    display:flex;flex-direction:column
}
.hero-location span{font-size:9px;letter-spacing:4px;color:#b39462}
.hero-location strong{font-family:Rye;font-weight:400;font-size:18px;margin-top:3px}
.scroll-hint{
    position:absolute;z-index:4;bottom:30px;left:50%;transform:translateX(-50%);
    width:22px;height:36px;border:1px solid rgba(224,191,123,.45);border-radius:20px
}
.scroll-hint span{
    position:absolute;width:3px;height:6px;background:#d3af6d;border-radius:2px;top:7px;left:9px;
    animation:scroll 1.7s infinite
}
@keyframes scroll{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(13px)}}
.section{width:min(1140px,90%);margin:auto;padding:110px 0}
.section-heading{text-align:center;max-width:760px;margin:0 auto 50px}
.section-heading.left{text-align:left;margin-left:0}
.section-heading h2,.territory-copy h2,.wide-content h2,.night-copy h2,.private-box h2{
    font-family:Rye,serif;font-weight:400;font-size:clamp(38px,5vw,65px);line-height:1.08;
    margin:12px 0;color:#e1c07b
}
.section-heading p,.territory-copy p,.wide-content p,.private-box p{
    color:#b7a98f;line-height:1.85;font-size:16px
}
.family-section{padding-top:125px}
.family-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:18px}
.old-card{
    min-height:300px;padding:35px;position:relative;overflow:hidden;color:var(--ink);
    background:
        linear-gradient(rgba(231,213,174,.94),rgba(192,164,112,.95)),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");
    box-shadow:0 22px 55px rgba(0,0,0,.22);border:1px solid rgba(55,32,12,.5)
}
.old-card:after{content:"";position:absolute;inset:12px;border:1px solid rgba(74,43,18,.2);pointer-events:none}
.old-card h3{font-family:Rye;font-weight:400;font-size:28px;color:var(--red);position:relative;z-index:1;margin:65px 0 14px}
.old-card p{position:relative;z-index:1;line-height:1.8;font-size:15px}
.card-number{position:absolute;top:24px;right:27px;font-family:Rye;font-size:18px;color:rgba(71,42,20,.5)}
.card-stamp{
    position:absolute;top:25px;left:29px;padding:6px 10px;border:2px solid rgba(100,28,20,.52);
    color:rgba(100,28,20,.62);font-family:Rye;font-size:10px;letter-spacing:2px;transform:rotate(-4deg)
}
.family-line{
    margin:42px auto 0;display:flex;align-items:center;justify-content:center;gap:15px;
    color:#bca576;font-size:11px;letter-spacing:3px
}
.family-line i{width:70px;height:1px;background:rgba(194,157,85,.38)}
.wide-photo{
    min-height:720px;position:relative;display:flex;align-items:flex-end;
    background:
        linear-gradient(90deg,rgba(12,8,5,.77),rgba(12,8,5,.15) 65%),
        linear-gradient(0deg,#120d09 0%,transparent 28%),
        url("https://static.actugaming.net/media/2018/09/Red-Dead-Redemption-2-The-Frontier-Cities-and-Towns-strawberry2-min-1.jpg") center/cover;
}
.wide-content{position:relative;z-index:2;width:min(1140px,90%);margin:0 auto;padding:90px 0}
.wide-content p{max-width:560px;color:#e0d0b0}
.place-tag{
    margin-top:30px;border-left:2px solid #bd9551;padding-left:18px;
    display:grid;grid-template-columns:auto 1fr;gap:5px 18px;max-width:330px
}
.place-tag small{font-size:9px;letter-spacing:2px;color:#a58a5b}
.place-tag strong{font-size:13px;letter-spacing:2px}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.map-paper{
    min-height:560px;position:relative;overflow:hidden;padding:50px;color:#2e1f11;
    background:
        radial-gradient(circle at 47% 40%,rgba(236,218,177,.98),rgba(177,148,96,.98)),
        #cdb787;
    box-shadow:inset 0 0 80px rgba(68,39,12,.25),0 22px 60px rgba(0,0,0,.3);
    border:1px solid #70502c
}
.map-paper:before{
    content:"";position:absolute;inset:0;opacity:.35;
    background:
      repeating-radial-gradient(ellipse at 30% 30%,transparent 0 27px,rgba(80,50,23,.08) 28px 29px);
}
.map-small{position:relative;letter-spacing:5px;font-size:10px}
.map-paper h2{position:relative;font-family:Rye;font-weight:400;font-size:48px;line-height:1;margin:15px 0}
.map-cross{position:absolute;right:35px;top:40px;font-size:30px;opacity:.55}
.map-route{
    position:absolute;left:12%;right:11%;top:55%;height:130px;border-top:2px dashed rgba(72,44,20,.45);
    border-radius:50%;transform:rotate(-13deg)
}
.map-place{position:absolute;font-style:italic;font-weight:bold}
.map-place:before{content:"●";font-size:8px;margin-right:7px;color:#7e2b20}
.place-one{right:20%;top:44%;font-size:22px}
.place-two{left:17%;top:30%}
.place-three{left:20%;bottom:22%}
.place-four{right:14%;bottom:12%}
.territory-copy blockquote{
    margin:30px 0 0;padding:18px 0 18px 22px;border-left:2px solid var(--gold);
    font-size:21px;font-style:italic;color:#dfcfaf
}
.night-photo{
    min-height:560px;display:flex;align-items:center;position:relative;text-align:center;
    background:
       linear-gradient(rgba(6,5,4,.38),rgba(6,5,4,.68)),
       url("https://user-images.githubusercontent.com/10902965/170663856-e6b11c13-df2e-49e7-957a-10bc4bec9774.png") center/cover;
}
.night-copy{width:min(920px,90%);margin:auto;position:relative;z-index:2}
.night-copy h2{color:#f0dcad;text-shadow:0 5px 25px #000}
.business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.business-card{
    min-height:330px;padding:35px 28px;background:rgba(16,11,7,.62);
    border:1px solid rgba(194,154,83,.22);position:relative;transition:.3s
}
.business-card:hover{transform:translateY(-5px);border-color:rgba(209,170,99,.58)}
.business-card.featured{background:linear-gradient(155deg,rgba(105,34,24,.38),rgba(16,11,7,.76))}
.business-icon{display:block;font-size:30px;color:#cca45d;margin-bottom:40px}
.business-card small{letter-spacing:3px;font-size:9px;color:#94774b}
.business-card h3{font-family:Rye;font-weight:400;color:#e0bd77;font-size:25px;margin:10px 0 15px}
.business-card p{color:#aa9d84;line-height:1.8}
.register-section{padding-top:60px}
.register{
    color:#2e2013;padding:25px 40px 45px;
    background:linear-gradient(135deg,#ead8af,#bea36f);
    box-shadow:0 25px 70px rgba(0,0,0,.4);border:1px solid #6c4c28
}
.register-header{
    display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid rgba(61,39,20,.35);
    font-size:9px;letter-spacing:4px
}
.register-title{text-align:center;padding:35px 0}
.register-title small{letter-spacing:5px;color:#77251e}
.register-title h2{font-family:Rye;font-weight:400;font-size:39px;margin:8px 0}
.register-list{border-top:2px solid rgba(62,39,19,.55)}
.register-list div{
    display:grid;grid-template-columns:60px 1fr 150px;align-items:center;gap:15px;
    min-height:58px;border-bottom:1px solid rgba(62,39,19,.28)
}
.register-list span{font-size:11px;color:#725837}
.register-list strong{font-size:17px;font-weight:400}
.register-list em{text-align:right;color:#745631}
.private-section{
    padding:120px 20px;text-align:center;
    background:radial-gradient(circle at center,rgba(113,69,29,.18),transparent 40%),#0d0906
}
.private-box{max-width:720px;margin:auto}
.seal{
    width:86px;height:86px;border:2px solid #885d30;border-radius:50%;margin:0 auto 28px;
    display:grid;place-items:center;font-family:Rye;font-size:38px;color:#c09554;
    box-shadow:inset 0 0 25px rgba(0,0,0,.6),0 0 0 6px #181008,0 0 0 7px #5d4324
}
.discord-btn{
    margin-top:22px;padding:14px 25px;border:1px solid #846438;background:#21170e;color:#b89e70;
    text-transform:uppercase;letter-spacing:2px;cursor:not-allowed
}
footer{
    text-align:center;padding:55px 20px;background:#090604;border-top:1px solid rgba(195,155,84,.16);
    color:#6f624e
}
.footer-brand{font-family:Rye;font-size:22px;color:#aa8650}
footer p{font-size:12px;letter-spacing:2px;margin:8px 0}
footer span{font-size:10px;letter-spacing:5px}
@media(max-width:950px){
    .nav-links{display:none}
    .family-grid,.business-grid{grid-template-columns:1fr}
    .split{grid-template-columns:1fr;gap:45px}
    .old-card{min-height:auto}
}
@media(max-width:650px){
    .nav{padding:12px 18px}.nav-login{display:none}.brand{font-size:17px}
    .hero{min-height:92vh}.hero-frame{inset:2.5%}
    .hero-location{display:none}.scroll-hint{bottom:18px}
    .section{padding:75px 0;width:min(92%,1140px)}
    .family-line{flex-wrap:wrap}.family-line i{width:30px}
    .wide-photo{min-height:620px}
    .map-paper{min-height:470px;padding:35px 25px}
    .map-paper h2{font-size:38px}
    .register{padding:18px 20px 30px}
    .register-header{gap:15px;letter-spacing:2px}
    .register-list div{grid-template-columns:35px 1fr}
    .register-list em{display:none}
}

@media(max-width:1100px) and (min-width:951px){
    .business-grid{grid-template-columns:repeat(2,1fr)}
}


.brand{
    display:flex;
    align-items:center;
    gap:12px;
}
.brand-text{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}
.brand-blazon{
    width:46px;
    height:46px;
    object-fit:contain;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.5));
}
.hero-blazon{
    width:min(360px, 68vw);
    height:auto;
    display:block;
    margin:0 auto 18px;
    filter:drop-shadow(0 10px 35px rgba(0,0,0,.65));
}
.emblem-section{
    padding-top:70px;
}
.emblem-box{
    width:min(980px, 100%);
    margin:0 auto;
    padding:38px 24px;
    background:
        radial-gradient(circle at center, rgba(118,75,31,.18), rgba(0,0,0,.18)),
        rgba(15,10,6,.6);
    border:1px solid rgba(194,154,83,.28);
    box-shadow:0 22px 60px rgba(0,0,0,.35);
    text-align:center;
}
.emblem-image{
    width:min(620px, 100%);
    height:auto;
    display:block;
    margin:auto;
    filter:drop-shadow(0 12px 35px rgba(0,0,0,.45));
}
@media(max-width:650px){
    .brand{
        gap:8px;
    }
    .brand-blazon{
        width:34px;
        height:34px;
    }
    .brand-text{
        align-items:flex-start;
    }
    .hero-blazon{
        width:min(250px, 72vw);
        margin-bottom:14px;
    }
    .emblem-box{
        padding:24px 14px;
    }
}


/* ===== V5 — identité Ferguson ===== */
.watermark-section{
    position:relative;
    isolation:isolate;
}
.watermark-section::before{
    content:"";
    position:absolute;
    z-index:-1;
    width:min(650px,70vw);
    aspect-ratio:1/1;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    background:url("../images/blazon.png") center/contain no-repeat;
    opacity:.028;
    filter:grayscale(1) sepia(.4);
    pointer-events:none;
}

.business-layout{
    display:grid;
    grid-template-columns:.82fr 1.18fr;
    gap:22px;
    align-items:stretch;
}
.shadow-businesses{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
}
.business-layout .business-card{
    min-height:0;
}
.strawberry-shops{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    padding:20px;
    border:1px solid rgba(195,155,84,.24);
    background:
        linear-gradient(rgba(18,12,7,.82),rgba(18,12,7,.9)),
        url("https://static.actugaming.net/media/2018/09/Red-Dead-Redemption-2-The-Frontier-Cities-and-Towns-strawberry2-min-1.jpg") center/cover;
    box-shadow:inset 0 0 70px rgba(0,0,0,.65);
    position:relative;
}
.shops-label{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:14px;
    color:#c9ab72;
    letter-spacing:4px;
    font-size:9px;
    padding:2px 3px 6px;
}
.shops-label i{
    display:block;
    height:1px;
    flex:1;
    background:linear-gradient(90deg,rgba(195,155,84,.42),transparent);
}
.shop-card{
    min-height:345px;
    padding:31px 26px 25px;
    background:
        linear-gradient(145deg,rgba(230,210,168,.97),rgba(184,152,98,.96));
    color:#281a0f;
    border:1px solid rgba(60,37,18,.65);
    box-shadow:0 17px 35px rgba(0,0,0,.3);
    position:relative;
    overflow:hidden;
}
.shop-card::after{
    content:"";
    position:absolute;
    inset:10px;
    border:1px solid rgba(67,41,19,.18);
    pointer-events:none;
}
.shop-card.armory{
    background:
        linear-gradient(145deg,rgba(214,198,167,.97),rgba(156,132,98,.97));
}
.shop-sign{
    display:flex;
    gap:14px;
    align-items:center;
    position:relative;
    z-index:1;
    padding-bottom:18px;
    border-bottom:1px solid rgba(63,39,19,.25);
}
.shop-icon{
    width:48px;height:48px;
    border:1px solid rgba(88,49,22,.4);
    display:grid;place-items:center;
    font-size:24px;color:#76251e;
}
.shop-sign small{
    letter-spacing:2px;
    font-size:8px;
    color:#76572f;
}
.shop-sign h3{
    margin:4px 0 0;
    font-family:Rye,serif;
    font-weight:400;
    color:#661f19;
    font-size:22px;
}
.shop-card p{
    position:relative;
    z-index:1;
    line-height:1.75;
    font-size:15px;
    margin:24px 0;
}
.shop-owner{
    position:absolute;
    z-index:2;
    bottom:25px;
    left:26px;
    right:26px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    border-top:1px solid rgba(62,39,18,.22);
    padding-top:12px;
}
.shop-owner span{
    font-size:8px;
    letter-spacing:2px;
    color:#795e3b;
}
.shop-owner strong{
    font-family:"IM Fell English",serif;
    font-weight:700;
    font-size:16px;
    color:#411a13;
}

/* CTA Discord */
.private-section{
    position:relative;
    overflow:hidden;
}
.private-box{
    position:relative;
    z-index:2;
}
.private-watermark{
    position:absolute;
    width:min(520px,85vw);
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    opacity:.035;
    filter:grayscale(1) sepia(.5);
    pointer-events:none;
    z-index:-1;
}
.discord-login{
    width:min(520px,100%);
    margin:30px auto 0;
    padding:15px 17px;
    display:grid;
    grid-template-columns:48px 1fr auto;
    gap:15px;
    align-items:center;
    text-align:left;
    color:#efe3c6;
    border:1px solid rgba(199,159,88,.52);
    background:
        linear-gradient(135deg,rgba(72,51,29,.76),rgba(26,18,11,.92));
    box-shadow:0 15px 35px rgba(0,0,0,.32), inset 0 0 30px rgba(192,148,74,.05);
    transition:.25s;
}
.discord-login:hover{
    transform:translateY(-3px);
    border-color:#d2aa64;
    background:linear-gradient(135deg,rgba(96,66,34,.88),rgba(31,21,12,.96));
}
.discord-logo{
    width:48px;height:48px;
    display:grid;place-items:center;
    border:1px solid rgba(212,174,104,.34);
    background:rgba(0,0,0,.22);
}
.discord-logo svg{width:27px;height:27px}
.discord-login small{
    display:block;
    color:#a9926c;
    font-size:8px;
    letter-spacing:3px;
    margin-bottom:3px;
}
.discord-login strong{
    display:block;
    font-family:Rye,serif;
    font-size:16px;
    font-weight:400;
    color:#e5c987;
}
.discord-arrow{
    font-size:25px;
    color:#c79c55;
}
.login-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    margin-top:16px;
}
.login-note span{
    width:35px;height:1px;
    background:rgba(189,149,82,.25);
}
.login-note p{
    margin:0;
    font-size:11px;
    font-style:italic;
    color:#7f725d;
}

@media(max-width:1000px){
    .business-layout{grid-template-columns:1fr}
}
@media(max-width:720px){
    .strawberry-shops{grid-template-columns:1fr;padding:13px}
    .shop-card{min-height:325px}
    .discord-login{grid-template-columns:42px 1fr auto;padding:13px}
    .discord-logo{width:42px;height:42px}
    .discord-login strong{font-size:13px}
}

/* Accessible navigation and responsive refinements */
body{font-size:1rem;line-height:1.6}
:focus-visible{outline:3px solid #e0bf7a;outline-offset:5px}
[id]{scroll-margin-top:110px}
.skip-link{position:fixed;top:12px;left:12px;z-index:110;padding:12px 20px;background:#eadcbc;color:#24180e;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.nav.is-scrolled,.nav.menu-open{background:rgba(10,7,4,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-links a{padding:10px 0}
.menu-toggle,.mobile-login{display:none}
.brand small{font-size:.75rem;letter-spacing:.15em}
.nav-login,.btn{font-size:.875rem;letter-spacing:.1em;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.hero{min-height:100svh;padding:135px 24px 105px}
.hero-content{width:100%}
.hero-blazon{width:clamp(140px,18vh,210px);margin-bottom:20px}
.hero h1{font-size:clamp(3rem,8.5vw,7rem);line-height:1.12;letter-spacing:-.025em}
.hero h1 span{letter-spacing:.12em}
.hero-quote{font-size:clamp(1.125rem,2vw,1.45rem);margin:22px auto 28px}
.hero-frame{inset:100px 3% 28px}
.overline,.kicker{font-size:.875rem;letter-spacing:.2em}
.hero-location span,footer span{font-size:.75rem}
.section-heading h2,.territory-copy h2,.wide-content h2,.night-copy h2,.private-box h2{font-size:clamp(2rem,4.3vw,3.5rem);line-height:1.2}
.section-heading p,.territory-copy p,.private-box p{color:#c1b194;font-size:1.125rem}
.old-card p,.shop-card p{font-size:1rem}
.old-card{padding:30px}
.old-card h3{font-size:clamp(1.4rem,2.2vw,1.75rem)}
.family-line{font-size:.875rem;letter-spacing:.15em}
.card-stamp,.place-tag small,.map-small{font-size:.75rem}
.place-tag small{color:#dcc29b}
.place-tag strong{font-size:.875rem}
.map-paper h2{font-size:clamp(2rem,4vw,3rem);line-height:1.15}
.map-paper .place-two{top:39%}
.business-layout{grid-template-columns:1fr;gap:32px}
.shadow-businesses{grid-template-columns:repeat(2,minmax(0,1fr))}
.business-icon{margin-bottom:18px}
.business-card small,.shops-label,.shop-sign small,.shop-owner span,.discord-login small{font-size:.75rem;letter-spacing:.12em}
.business-card small{color:#c9ad80}
.business-card p{color:#c1b194}
.shop-card{display:flex;flex-direction:column;min-height:0;padding:30px}
.shop-sign>div{min-width:0}
.shop-icon{flex-shrink:0}
.shop-owner{position:relative;bottom:auto;left:auto;right:auto;margin-top:auto;gap:12px;flex-wrap:wrap}
.shop-owner span,.shop-sign small{color:#584023}
.emblem-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}
.emblem-section .section-heading{text-align:left;margin:0}
.emblem-box{box-shadow:none;padding:24px}
.emblem-image{max-width:340px}
.discord-login strong{font-size:1rem}
.discord-login small{color:#cfb78f}
.login-note p,footer p{font-size:.875rem;color:#b7a98f}
.login-page{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#382717,#120d09 70%)}
.login-panel{width:min(640px,100%);padding:clamp(24px,6vw,60px);text-align:center;border:1px solid var(--line);background:#17110b}
.login-panel img{width:160px;max-width:60%}
.login-panel h1{font-family:Rye,Georgia,serif;font-size:clamp(1.75rem,5vw,2.6rem);line-height:1.25;font-weight:400;color:var(--gold2)}
.login-panel p{color:#c1b194;font-size:1.125rem}
.login-panel .btn{margin-top:20px}
@media(max-width:950px){
.nav{flex-wrap:wrap;gap:10px;background:rgba(10,7,4,.97)}
.nav-links{display:flex;width:100%;flex-wrap:wrap;gap:8px 20px;order:4}
.nav.is-enhanced .nav-links{display:none}
.nav.is-enhanced .menu-toggle{display:inline-flex;gap:12px;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);color:var(--cream);background:transparent;cursor:pointer;margin-left:auto}
.nav.menu-open .nav-links{display:flex;flex-direction:column;align-items:stretch;padding:12px 0;max-height:65svh;overflow-y:auto}
.nav-links a{padding:10px 12px}
.mobile-login{display:block}
.nav-login{display:none}
.nav:not(.is-enhanced){position:relative}
.emblem-section{gap:30px}
}
@media(max-width:650px){
.brand{font-size:.875rem;gap:8px}
.brand small{font-size:.75rem;letter-spacing:.12em}
.hero{padding:115px 22px 90px}
.hero-frame{inset:90px 12px 28px}
.overline{font-size:.75rem;letter-spacing:.1em}
.hero h1{font-size:clamp(2.25rem,10vw,4rem)}
.hero-actions{flex-direction:column;align-items:stretch;max-width:320px;margin:auto}
.shadow-businesses,.emblem-section{grid-template-columns:1fr}
.emblem-section .section-heading{text-align:center}
.shop-card{padding:24px}
.shop-sign{gap:10px}
.shop-sign h3{font-size:1.25rem}
.shops-label{letter-spacing:.08em}
.private-section{padding:75px 20px}
.discord-login{gap:10px;grid-template-columns:36px 1fr}
.discord-logo{width:36px;height:36px}
.discord-arrow{display:none}
.family-line{gap:10px;letter-spacing:.06em}
.family-line i{width:15px}
.map-paper{padding:30px 22px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}

/* Western native cursors, limited to mouse devices. */
@media (hover: hover) and (pointer: fine) {
 html, body, body * { cursor:url("../images/cursor-western.svg?v=3") 2 2, default !important; }
 a, a *, button, button *, select, summary, summary *, label[for], [role="button"], [role="button"] *, input[type="submit"], input[type="button"], input[type="checkbox"], input[type="radio"], .map-marker, .map-marker *, .saved-zone, .saved-zone *, .saved-route, .saved-route * {
 cursor:url("../images/cursor-western-link.svg?v=3") 2 2, pointer !important;
 }
 body input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]), body textarea, body [contenteditable="true"] { cursor:text !important; }
 body .map-viewport, body .map-stage { cursor:grab !important; }
 body .map-viewport.is-dragging, body .map-viewport.is-dragging * { cursor:grabbing !important; }
 body :disabled, body :disabled *, body [aria-disabled="true"], body [aria-disabled="true"] * { cursor:not-allowed !important; }
}

/* Pressed mouse pointer and shared western form controls. */
@media (hover:hover) and (pointer:fine) {
 body a:active, body a:active *, body button:active, body button:active *,
 body select:active, body summary:active, body [role="button"]:active,
 body .map-marker:active, body input[type="submit"]:active,
 body input[type="checkbox"]:active, body input[type="radio"]:active {
 cursor:url("../images/cursor-western-pressed.svg?v=3") 2 2, pointer !important;
 }
 body :disabled:active, body :disabled:active *, body [aria-disabled="true"]:active {
 cursor:not-allowed !important;
 }
}
body select {
 appearance:none !important;
 background-color:#21170e !important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23e0bf7a' stroke-width='1.7'/%3E%3C/svg%3E") !important;
 background-repeat:no-repeat !important;background-position:right 14px center !important;
 color:#f0dfbd !important;border:1px solid #9c7540 !important;border-radius:3px !important;
 padding:10px 38px 10px 12px !important;min-height:44px;
 font-family:"IM Fell English",Georgia,serif !important;font-size:1rem !important;
 box-shadow:inset 0 1px 0 #edcf8c16;
 max-width:100%;
}
body select:hover:not(:disabled){border-color:#e0bf7a !important;background-color:#302113 !important}
body select:focus-visible{outline:2px solid #e0bf7a !important;outline-offset:3px}
body select option, body select optgroup{color:#f0dfbd;background:#21170e;font-family:"IM Fell English",Georgia,serif}
body select option:checked{background:#75522b;color:#fff2cf}
body select:disabled{opacity:.55}
body select[multiple],body select[size]:not([size="1"]){background-image:none!important;padding:10px 12px!important}
@supports (appearance:base-select) {
 body select:not([multiple]):not([size]), body select:not([multiple]):not([size])::picker(select) {appearance:base-select!important}
 body select:not([multiple]):not([size]){background-image:none!important;padding-right:12px!important}
 body select::picker-icon{color:#e0bf7a}
 body select::picker(select){background:#21170e;color:#f0dfbd;border:1px solid #b68a48;border-radius:3px;padding:6px;box-shadow:0 12px 28px #0008;max-height:320px}
 body select option{padding:9px 12px;min-height:38px;border-radius:2px}
 body select option:hover,body select option:focus{background:#5b3e23;color:#fff2cf}
}
