@font-face { font-family:'RLYN Lexend'; src:url('public/fonts/LexendDeca-VariableFont_wght.ttf') format('truetype'); font-weight:100 900; font-style:normal; font-display:swap; }
body.page-body { display:flex; flex-direction:column; min-height:100vh; background:var(--ivory); }
body.page-body > main { flex:1 0 auto; }
body.page-body > .footer-full { margin-top:auto; }
.page-announcement { position:static; background:var(--maroon); color:var(--ivory); }
.page-header { position:static; height:58px; background:var(--ivory); border-bottom:1px solid #d9d2c8; }
.page-header .nav-links a, .page-header .text-button, .page-header .bag-button { color:var(--ink); }
.page-header .brand { color:var(--oxblood); font:400 25px/1 'RLYN Lexend',sans-serif; letter-spacing:-.07em; text-decoration:none; }
.page-header .header-actions { justify-content:flex-end; }
.page-header .bag-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.page-empty { min-height:calc(100vh - 89px); }
.contact-content { max-width:680px; padding:clamp(90px,12vw,180px) 3.1vw; }
.contact-content p { max-width:500px; margin:0 0 34px; font:15px/1.65 var(--sans); }
.contact-content .contact-heading { margin-bottom:25px; font:11px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.contact-content a { color:var(--ink); text-underline-offset:4px; }
.legal-content { width:min(840px,100%); padding:clamp(72px,10vw,140px) 3.1vw; }
.legal-content .legal-kicker { margin:0 0 22px; font:11px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.legal-content h1 { margin:0 0 14px; color:var(--ink); font:500 clamp(40px,5vw,68px)/.98 'Playfair Display',serif; letter-spacing:-.045em; }
.legal-content .legal-updated { margin:0 0 58px; color:#68625d; font:11px/1.5 var(--mono); }
.legal-content section { max-width:700px; margin:0 0 46px; }
.legal-content h2 { margin:0 0 13px; color:var(--ink); font:500 19px/1.2 var(--sans); }
.legal-content p, .legal-content li { margin:0 0 12px; color:#36312e; font:14px/1.7 var(--sans); }
.legal-content ul { margin:0; padding-left:18px; }
.legal-content a { color:var(--ink); text-underline-offset:4px; }
.cookie-panel { padding:22px; border:1px solid #d9d2c8; background:#fff; }
.cookie-choice { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:17px 0; border-top:1px solid #d9d2c8; }
.cookie-choice:first-child { padding-top:0; border-top:0; }
.cookie-choice p { max-width:510px; margin:5px 0 0; font-size:13px; }
.cookie-choice label { display:flex; align-items:center; gap:8px; white-space:nowrap; font:11px var(--mono); text-transform:uppercase; }
.cookie-choice input { accent-color:var(--oxblood); }
.cookie-actions { display:flex; gap:12px; margin-top:19px; }
.cookie-actions button { min-width:132px; padding:12px 15px; border:1px solid var(--oxblood); background:var(--oxblood); color:var(--ivory); font:11px var(--mono); letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
.cookie-actions button.secondary { background:transparent; color:var(--oxblood); }
.cookie-status { min-height:20px; margin:17px 0 0!important; font-size:13px!important; }
@media(max-width:720px){.legal-content{padding:72px 22px}.legal-content h1{font-size:42px}.cookie-choice{gap:15px}.cookie-choice p{font-size:12px}.cookie-actions{flex-direction:column}.cookie-actions button{width:100%;}}
.support-content { width:min(900px,100%); padding:clamp(72px,10vw,130px) 3.1vw; }
.support-content .support-kicker { margin:0 0 22px; font:11px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.support-content h1 { margin:0 0 58px; color:var(--ink); font:500 clamp(40px,5vw,68px)/.98 'Playfair Display',serif; letter-spacing:-.045em; }
.faq-section { margin:0 0 54px; }
.faq-section h2 { margin:0 0 12px; color:var(--ink); font:500 20px/1.25 var(--sans); }
.faq-item { border-top:1px solid #d9d2c8; }
.faq-item:last-child { border-bottom:1px solid #d9d2c8; }
.faq-item summary { display:flex; justify-content:space-between; gap:20px; padding:18px 0; cursor:pointer; color:var(--ink); font:14px/1.4 var(--sans); list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; font:20px/1 var(--sans); transition:transform .22s ease; }
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-item p { max-width:680px; margin:0; padding:0 0 20px; color:#49423d; font:14px/1.65 var(--sans); }
.support-form { width:min(560px,100%); padding:26px; border:1px solid #d9d2c8; background:#fff; }
.support-form label { display:block; margin:0 0 18px; color:var(--ink); font:11px var(--mono); letter-spacing:.05em; text-transform:uppercase; }
.support-form input, .support-form textarea, .support-form select { box-sizing:border-box; width:100%; margin-top:8px; padding:12px 0; border:0; border-bottom:1px solid #9c9389; border-radius:0; outline:0; background:transparent; color:var(--ink); font:14px var(--sans); }
.support-form textarea { min-height:92px; resize:vertical; }
.support-form button { margin-top:6px; padding:13px 21px; border:1px solid var(--oxblood); background:var(--oxblood); color:var(--ivory); font:11px var(--mono); letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.support-result { min-height:24px; margin:18px 0 0; color:#49423d; font:14px/1.5 var(--sans); }
.chat-shell { width:min(560px,100%); border:1px solid #d9d2c8; background:#fff; }
.chat-top { display:flex; justify-content:space-between; padding:17px 20px; border-bottom:1px solid #d9d2c8; font:12px var(--mono); text-transform:uppercase; }
.chat-body { min-height:230px; padding:24px 20px; }
.chat-bubble { max-width:330px; margin:0 0 15px; padding:12px 14px; background:var(--ivory); color:var(--ink); font:14px/1.5 var(--sans); }
.chat-composer { display:flex; gap:10px; padding:14px 20px; border-top:1px solid #d9d2c8; }
.chat-composer input { flex:1; border:0; outline:0; font:14px var(--sans); }.chat-composer button{padding:0;border:0;background:transparent;color:var(--oxblood);font:11px var(--mono);text-transform:uppercase;cursor:pointer;}
@media(max-width:720px){.support-content{padding:72px 22px}.support-content h1{margin-bottom:42px;font-size:42px}.support-form{box-sizing:border-box;padding:20px}.faq-item summary{font-size:13px}}
@media(max-width:720px){.page-header{height:58px}.page-header .nav-links{display:flex;gap:15px}.page-header .nav-links a{font-size:9px}.page-header .header-actions{display:none}.page-empty{min-height:calc(100svh - 89px)}.contact-content{padding:80px 22px}}
