:root { --ink:#111111; --muted:#5f5f5b; --paper:#f7f7f3; --soft:#eeeeea; --line:#d8d8d3; --lime:#ffd500; --lime-dark:#d4ad00; --forest:#111111; --orange:#bd9700; --white:#ffffff; --danger:#ba2b1e; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; font-size:15px; }
.profile-grid + .primary-button { margin-top:24px; }
.checkout-page { max-width:1050px; margin:auto; padding:42px 40px 82px; }.checkout-heading { max-width:650px; margin-bottom:30px; }.checkout-heading h1 { margin:0; font-size:clamp(42px,5vw,62px); letter-spacing:-.07em; line-height:.95; }.checkout-heading p:not(.eyebrow) { color:var(--muted); line-height:1.65; }.checkout-layout { display:grid; grid-template-columns:1fr .9fr; gap:25px; align-items:start; }.checkout-card { background:var(--white); border:1px solid var(--line); padding:27px; }.checkout-card h2 { margin:0 0 20px; font-size:20px; letter-spacing:-.04em; }.checkout-items { margin:0; padding:0; list-style:none; }.checkout-items li { display:flex; justify-content:space-between; gap:18px; padding:14px 0; border-top:1px solid var(--line); font-size:13px; }.checkout-items li:first-child { border-top:0; padding-top:0; }.checkout-items small { display:block; margin-top:4px; color:var(--muted); font-size:11px; }.checkout-remove { display:inline-block; margin:8px 0 0; padding:0; border:0; background:transparent; color:var(--muted); font-size:11px; font-weight:800; text-decoration:underline; }.checkout-remove:hover { color:var(--danger); }.checkout-items strong { white-space:nowrap; }.checkout-weight { margin:20px 0 0; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }.checkout-weight b { color:var(--ink); }.checkout-field { display:grid; gap:7px; margin:17px 0 0; font-size:12px; font-weight:800; }.checkout-field input,.checkout-field select { width:100%; border:1px solid var(--line); background:var(--white); color:var(--ink); padding:11px; font:inherit; }.checkout-note { margin:8px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }.checkout-totals { margin:25px 0; padding:17px 0; border-block:1px solid var(--line); display:grid; gap:11px; }.checkout-totals div { display:flex; justify-content:space-between; gap:20px; font-size:13px; }.checkout-totals dt { color:var(--muted); }.checkout-totals dd { margin:0; font-weight:700; }.checkout-totals .checkout-grand-total { padding-top:13px; border-top:1px solid var(--line); font-size:16px; }.checkout-grand-total dt,.checkout-grand-total dd { color:var(--ink); font-weight:800; }.payment-methods { display:grid; gap:10px; margin:0 0 22px; padding:0; border:0; }.payment-methods legend { margin-bottom:11px; font-size:12px; font-weight:800; }.payment-methods label { display:flex; align-items:center; gap:9px; border:1px solid var(--line); padding:12px; font-size:13px; font-weight:700; }.payment-methods input { accent-color:var(--ink); }.checkout-back { display:block; margin:12px auto 0; }.checkout-error { margin:17px 0 -5px; color:var(--danger); font-size:12px; line-height:1.5; }
.order-detail-summary { margin:0 0 25px; padding:18px 0; border-block:1px solid var(--line); display:grid; gap:10px; }.order-detail-summary div { display:flex; justify-content:space-between; gap:20px; font-size:13px; }.order-detail-summary span { color:var(--muted); }.order-detail-summary .order-detail-total { margin-top:4px; padding-top:13px; border-top:1px solid var(--line); font-size:16px; }.order-detail-summary .order-detail-total span,.order-detail-summary .order-detail-total strong { color:var(--ink); font-weight:800; }
@media (max-width:900px) { .checkout-layout { grid-template-columns:1fr; }.checkout-page { padding-left:24px; padding-right:24px; } }
@media (max-width:650px) { .checkout-page { padding:32px 18px 62px; }.checkout-card { padding:21px; }.checkout-items li { gap:12px; } }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
.announcement { min-height:31px; display:flex; gap:10px; justify-content:center; align-items:center; background:var(--forest); color:var(--white); font:500 11px/1 'DM Mono',monospace; letter-spacing:.04em; text-transform:uppercase; }
.site-notice { background:var(--ink); color:var(--lime); text-align:center; padding:13px 24px; border-top:1px solid rgba(255,255,255,.12); }.site-notice p { max-width:1000px; margin:0 auto; font-size:13px; font-weight:700; line-height:1.45; }
.cookie-banner[hidden],.site-notice[hidden] { display:none; }
.site-header { height:82px; max-width:1380px; margin:0 auto; padding:0 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; font-weight:800; font-size:18px; letter-spacing:-.08em; }
.brand-logo { display:block; width:116px; height:72px; object-fit:contain; }
.brand > span:last-child { letter-spacing:-.06em; }.brand > span:last-child span { color:var(--orange); }.brand-mark { width:30px; height:30px; display:grid; place-items:center; background:var(--lime); clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%); font:500 17px 'DM Mono',monospace; letter-spacing:0; }
nav { display:flex; gap:28px; font-size:13px; font-weight:700; }nav a { color:var(--muted); transition:color .2s; }nav a:hover,nav a.active { color:var(--ink); }
.header-actions { display:flex; align-items:center; gap:28px; }.cart-button { background:var(--ink); color:var(--white); border:0; border-radius:999px; display:flex; align-items:center; gap:14px; padding:8px 9px 8px 16px; font-size:12px; font-weight:700; }.cart-button b { min-width:25px; height:25px; display:grid; place-items:center; border-radius:100%; color:var(--ink); background:var(--lime); }.menu-toggle { display:none; width:42px; height:42px; padding:0; border:1px solid var(--ink); background:transparent; align-items:center; justify-content:center; gap:5px; }.menu-toggle span { display:block; width:19px; height:2px; background:var(--ink); transition:transform .25s ease,opacity .2s ease; }.mobile-menu { display:none; }
main { min-height:calc(100vh - 113px); }.hero { max-width:1380px; margin:0 auto; padding:30px 40px 76px; display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center; }.eyebrow { color:var(--orange); font:500 11px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; margin:0 0 13px; }.hero h1 { max-width:700px; margin:0; font-size:clamp(47px,6vw,90px); line-height:.93; letter-spacing:-.075em; }.hero h1 em { color:var(--forest); font-style:normal; position:relative; }.hero h1 em::after { content:""; position:absolute; left:3%; right:1%; bottom:-6px; height:7px; background:var(--lime); z-index:-1; }.hero p:not(.eyebrow) { margin:27px 0 31px; max-width:480px; color:var(--muted); line-height:1.7; }.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }.primary-button,.secondary-button,.text-button { border:0; font-weight:800; font-size:13px; padding:14px 20px; transition:transform .2s,background .2s; }.primary-button { background:var(--ink); color:var(--white); }.primary-button:hover,.secondary-button:hover { transform:translateY(-2px); }.secondary-button { background:transparent; color:var(--ink); border:1px solid var(--ink); }.text-button { background:transparent; color:var(--ink); padding:11px; text-decoration:underline; }
.hero-visual { min-height:440px; background:var(--forest); position:relative; overflow:hidden; display:grid; place-items:center; }.hero-visual::before { content:""; width:430px; height:430px; position:absolute; background:var(--lime); border-radius:100%; transform:translate(22%,12%); }.hero-visual::after { content:"Z"; position:absolute; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.28); font-size:500px; font-weight:800; line-height:1; transform:translate(-8%,11%); }.orbital-product { position:relative; z-index:1; width:64%; max-height:360px; object-fit:contain; filter:drop-shadow(22px 20px 16px rgba(0,0,0,.35)); transform:rotate(-8deg); }.orbital-product.compact-hero-image { width:42%; max-height:280px; }.hero p.hero-label { position:absolute; z-index:2; top:23px; right:24px; color:var(--white); max-width:150px; font:500 11px/1.5 'DM Mono',monospace; text-transform:uppercase; text-shadow:0 1px 3px rgba(0,0,0,.72); }.hero-label b { display:block; color:var(--white); font-size:13px; margin-top:5px; }.hero-spec { position:absolute; z-index:2; bottom:20px; left:22px; display:flex; gap:12px; align-items:center; color:var(--white); font:500 10px 'DM Mono',monospace; text-shadow:0 1px 3px rgba(0,0,0,.72); }.hero-spec-link { text-decoration:none; transition:transform .2s ease; }.hero-spec-link:hover { transform:translateY(-2px); }.hero-spec span:first-child { width:27px; height:27px; background:var(--lime); display:grid; place-items:center; color:var(--ink); text-shadow:none; }.hero-spec b { font:inherit; }
.benefit-strip { background:var(--soft); border-block:1px solid var(--line); }.benefit-inner { max-width:1380px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); }.benefit { padding:29px 40px; display:flex; gap:14px; align-items:flex-start; border-right:1px solid var(--line); }.benefit:last-child { border:0; }.benefit-icon { color:var(--orange); font:500 17px 'DM Mono',monospace; }.benefit b { font-size:12px; display:block; margin-bottom:4px; }.benefit span { color:var(--muted); font-size:12px; line-height:1.45; }
.catalogue { max-width:1380px; margin:auto; padding:84px 40px; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:35px; }.section-heading h1,.section-heading h2 { max-width:560px; font-size:clamp(32px,4vw,54px); line-height:1; letter-spacing:-.065em; margin:0; }.count-label { color:var(--muted); font:500 11px 'DM Mono',monospace; text-transform:uppercase; white-space:nowrap; }.catalogue-layout { display:grid; grid-template-columns:220px 1fr; gap:42px; }.filter-panel { border-top:2px solid var(--ink); align-self:start; }.filter-section { padding:18px 0; border-bottom:1px solid var(--line); }.filter-section h3 { font-size:12px; margin:0 0 13px; }.filter-list { display:grid; gap:9px; }.filter-list label { cursor:pointer; display:flex; gap:9px; align-items:center; color:var(--muted); font-size:12px; }.filter-list input { accent-color:var(--forest); }.range-row { display:flex; gap:8px; }.range-row input { width:100%; min-width:0; border:1px solid var(--line); background:var(--white); padding:9px; font-size:12px; }.sort-select { width:100%; border:1px solid var(--line); background:var(--white); padding:10px; font-size:12px; color:var(--ink); }.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 19px; }.product-card { min-width:0; }.product-image-link { position:relative; display:block; overflow:hidden; background:var(--soft); aspect-ratio:1/.87; }.product-image { width:100%; height:100%; object-fit:cover; transition:transform .45s; }.product-card:hover .product-image { transform:scale(1.05); }.product-category { position:absolute; top:12px; left:12px; background:var(--white); padding:5px 8px; font:500 9px 'DM Mono',monospace; text-transform:uppercase; }.product-card-info { padding:15px 2px 0; }.product-name { font-size:14px; font-weight:800; letter-spacing:-.035em; }.product-summary { min-height:35px; font-size:11px; color:var(--muted); line-height:1.5; margin:8px 0 14px; }.product-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; }.product-price { font:500 14px 'DM Mono',monospace; }.add-button { border:0; background:transparent; padding:5px 0; font:700 11px Manrope,sans-serif; }.add-button span { display:inline-grid; place-items:center; width:19px; height:19px; margin-left:4px; background:var(--lime); border-radius:100%; font-size:16px; font-weight:400; }
.empty-state { grid-column:1/-1; padding:50px 0; color:var(--muted); text-align:center; }.product-page { max-width:1380px; margin:auto; padding:25px 40px 82px; }.breadcrumb { color:var(--muted); font-size:12px; margin:0 0 24px; }.breadcrumb a { color:var(--ink); }.detail-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:68px; }.gallery { display:grid; grid-template-columns:82px 1fr; gap:16px; align-items:start; }.thumbs { display:grid; gap:10px; }.thumb { padding:0; border:1px solid transparent; background:var(--soft); aspect-ratio:1; overflow:hidden; }.thumb.active { border-color:var(--ink); }.thumb img { width:100%; height:100%; object-fit:cover; }.main-image { background:var(--soft); aspect-ratio:1/.88; }.main-image img { width:100%; height:100%; object-fit:cover; }.detail-info { padding-top:16px; }.detail-info h1 { max-width:530px; margin:0; font-size:clamp(38px,5vw,64px); letter-spacing:-.07em; line-height:.98; }.detail-price { display:block; margin:24px 0; font:500 22px 'DM Mono',monospace; }.detail-description { color:var(--muted); max-width:500px; line-height:1.7; }.stock-label { font-size:12px; color:var(--forest); font-weight:800; margin:25px 0; }.stock-label.out { color:var(--danger); }.detail-actions { display:flex; gap:13px; align-items:stretch; }.quantity { display:flex; align-items:center; border:1px solid var(--line); background:var(--white); }.quantity button { width:38px; height:100%; border:0; background:transparent; font-size:18px; }.quantity output { width:28px; text-align:center; font:500 13px 'DM Mono'; }.detail-actions .primary-button { flex:1; }.detail-specs { margin:34px 0 0; padding:20px 0; border-block:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.detail-specs span { font-size:10px; color:var(--muted); }.detail-specs b { display:block; font-size:11px; margin-top:4px; }
.expertise { max-width:1380px; margin:auto; padding:0 40px 90px; }.expertise-box { padding:46px; background:var(--lime); display:grid; grid-template-columns:1fr 1.1fr; gap:50px; }.expertise-box h2 { font-size:40px; line-height:1; letter-spacing:-.06em; margin:0; }.expertise-contact-button { display:inline-block; margin-top:24px; }.expertise-list { display:grid; gap:14px; }.expertise-list div { display:flex; gap:17px; padding-bottom:14px; border-bottom:1px solid rgba(17,17,17,.18); }.expertise-list b { font:500 12px 'DM Mono'; }.expertise-list p { margin:0; font-size:13px; line-height:1.5; }
.admin-page { max-width:1380px; margin:auto; padding:35px 40px 80px; }.admin-header { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; margin-bottom:35px; }.admin-header h1 { margin:0; font-size:48px; letter-spacing:-.07em; line-height:1; }.admin-key-status { color:var(--muted); font-size:12px; }.stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:50px; }.stat-card { background:var(--white); padding:20px; border:1px solid var(--line); }.stat-card span { font:500 10px 'DM Mono'; color:var(--muted); text-transform:uppercase; }.stat-card strong { display:block; margin:11px 0 4px; font-size:30px; letter-spacing:-.05em; }.stat-card small { color:var(--muted); font-size:11px; }.admin-workspace { display:grid; grid-template-columns:.7fr 1.3fr; gap:26px; }.admin-panel { background:var(--white); border:1px solid var(--line); padding:25px; }.admin-panel h2 { margin:0 0 20px; font-size:19px; letter-spacing:-.04em; }.product-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.field { display:grid; gap:7px; }.field.wide { grid-column:1/-1; }.field label { font-size:11px; font-weight:800; }.field input,.field select,.field textarea { border:1px solid var(--line); padding:10px; color:var(--ink); background:var(--white); min-width:0; }.field textarea { min-height:88px; resize:vertical; }.checkbox-field { display:flex; align-items:center; gap:8px; font-size:12px; }.admin-message { min-height:19px; margin:12px 0 0; color:var(--forest); font-size:12px; }.admin-message.error,.form-error { color:var(--danger); }.category-form { display:flex; gap:8px; }.category-form input { flex:1; min-width:0; border:1px solid var(--line); padding:10px; }.category-form .primary-button { padding:10px 12px; }.admin-table { width:100%; border-collapse:collapse; font-size:12px; }.admin-table th { text-align:left; color:var(--muted); font:500 10px 'DM Mono'; padding:0 0 12px; text-transform:uppercase; }.admin-table td { border-top:1px solid var(--line); padding:12px 0; }.admin-table td:last-child,.admin-table th:last-child { text-align:right; }.admin-empty { color:var(--muted); font-size:12px; }.admin-actions { display:flex; align-items:center; justify-content:space-between; margin:30px 0 14px; }.admin-actions h2 { margin:0; }
.cart-panel { position:fixed; z-index:20; top:0; right:0; width:min(430px,100%); height:100vh; display:flex; flex-direction:column; background:var(--white); padding:26px; transform:translateX(101%); transition:transform .3s ease; }.cart-panel.open { transform:translateX(0); }.overlay { position:fixed; z-index:15; inset:0; background:rgba(17,17,17,.35); }.cart-head { display:flex; align-items:start; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:21px; }.cart-head h2 { margin:0; font-size:32px; letter-spacing:-.06em; }.icon-button,.dialog-close { border:0; background:transparent; font-size:28px; line-height:1; color:var(--ink); }.cart-lines { flex:1; overflow:auto; padding:14px 0; }.cart-line { display:grid; grid-template-columns:72px 1fr auto; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); }.cart-line img { width:72px; height:62px; object-fit:cover; background:var(--soft); }.cart-line b { display:block; font-size:12px; }.cart-line span { display:block; margin-top:5px; color:var(--muted); font:500 11px 'DM Mono'; }.cart-line .remove-line { border:0; background:transparent; color:var(--muted); font-size:17px; align-self:start; }.cart-footer { padding-top:17px; border-top:1px solid var(--line); }.cart-total { display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; }.cart-total strong { font:500 18px 'DM Mono'; }.full-width { width:100%; }.microcopy { color:var(--muted); font-size:10px; line-height:1.4; text-align:center; }.empty-cart { color:var(--muted); text-align:center; padding:40px 0; font-size:13px; }.cookie-banner { position:fixed; z-index:10; left:24px; bottom:24px; max-width:580px; padding:20px; background:var(--white); border:1px solid var(--line); box-shadow:0 10px 35px rgba(17,17,17,.14); display:flex; gap:28px; align-items:center; }.cookie-banner p:not(.eyebrow) { margin:0; font-size:12px; line-height:1.55; color:var(--muted); }.cookie-actions { display:flex; gap:5px; align-items:center; flex-shrink:0; }.cookie-actions .primary-button { padding:11px 14px; }.admin-dialog { width:min(440px,calc(100% - 32px)); border:0; padding:0; background:transparent; }.admin-dialog::backdrop { background:rgba(17,17,17,.5); }.admin-dialog form { position:relative; padding:32px; background:var(--white); }.admin-dialog h2 { margin:0 0 10px; font-size:30px; letter-spacing:-.06em; }.admin-dialog p:not(.eyebrow) { color:var(--muted); line-height:1.6; font-size:13px; }.admin-dialog label { display:grid; gap:8px; font-size:12px; font-weight:700; margin:20px 0; }.admin-dialog input { border:1px solid var(--line); padding:12px; }.dialog-close { position:absolute; top:13px; right:15px; }.form-error { min-height:18px; margin:12px 0 0!important; }
.auth-dialog { width:min(470px,calc(100% - 32px)); border:0; padding:0; background:transparent; }.auth-dialog::backdrop { background:rgba(17,17,17,.56); }.auth-content { position:relative; padding:32px; background:var(--white); }.auth-content h2 { margin:0 0 10px; font-size:30px; letter-spacing:-.06em; }.auth-intro { color:var(--muted); font-size:13px; line-height:1.55; margin:0; }.auth-content form { margin-top:20px; }.auth-content label { display:grid; gap:7px; font-size:12px; font-weight:700; margin:13px 0; }.auth-content label span,.auth-content small { color:var(--muted); font-size:10px; font-weight:500; }.auth-content input { width:100%; border:1px solid var(--line); padding:12px; background:var(--white); color:var(--ink); }.auth-switch { display:block; margin:7px auto 0; }.form-success { color:var(--forest)!important; }.contact-options { display:grid; gap:10px; margin-top:22px; }.contact-options a { text-align:center; }.contact-page { max-width:1050px; margin:auto; padding:38px 40px 82px; }.contact-heading { max-width:650px; margin-bottom:30px; }.contact-heading h1 { margin:0; font-size:clamp(38px,5vw,58px); line-height:.95; letter-spacing:-.07em; }.contact-heading p:not(.eyebrow) { color:var(--muted); line-height:1.65; }.contact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:25px; }.contact-card { background:var(--white); border:1px solid var(--line); padding:26px; }.contact-card h2 { margin:0 0 14px; font-size:20px; letter-spacing:-.04em; }.contact-channel + .contact-channel { margin-top:29px; padding-top:25px; border-top:1px solid var(--line); }.contact-channel p { color:var(--muted); font-size:13px; line-height:1.55; margin:0 0 18px; }.contact-email-link { display:inline-block; margin:0; font-size:12px; }.contact-form { display:grid; gap:13px; }.contact-form label { display:grid; gap:7px; font-size:12px; font-weight:800; }.contact-form label span { color:var(--muted); font-size:10px; font-weight:500; }.contact-form input,.contact-form textarea { width:100%; min-width:0; border:1px solid var(--line); background:var(--white); color:var(--ink); padding:11px; font:inherit; }.contact-form textarea { min-height:140px; resize:vertical; }.account-page { max-width:1050px; margin:auto; padding:38px 40px 82px; }.account-header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:31px; }.account-header h1 { margin:0; font-size:clamp(38px,5vw,58px); line-height:.95; letter-spacing:-.07em; }.account-layout { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:25px; }.account-panel { background:var(--white); border:1px solid var(--line); padding:26px; }.account-panel h2 { margin:0 0 18px; font-size:20px; letter-spacing:-.04em; }.profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.profile-field { display:grid; gap:7px; }.profile-field.wide { grid-column:1/-1; }.profile-field label { font-size:11px; font-weight:800; }.profile-field input { min-width:0; border:1px solid var(--line); background:var(--white); padding:10px; }.profile-email { color:var(--muted); font-size:12px; margin:-8px 0 17px; }.profile-message { min-height:16px; margin:12px 0 0; color:var(--forest); font-size:12px; }.order-list { display:grid; gap:12px; }.order-card { border-top:1px solid var(--line); padding:15px 0 0; }.order-card:first-child { border-top:0; padding-top:0; }.order-head { display:flex; justify-content:space-between; gap:14px; align-items:start; }.order-head b { font-size:12px; }.order-head span { display:block; color:var(--muted); font:500 10px 'DM Mono'; margin-top:4px; }.order-total { font:500 13px 'DM Mono'; white-space:nowrap; }.order-items { margin:10px 0 0; padding:0; list-style:none; color:var(--muted); font-size:11px; line-height:1.55; }.account-empty { color:var(--muted); font-size:13px; padding:12px 0; }
.hero h1 em::after { left:0%; right:1%; bottom:4px; height:7px; }
.section-heading-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:14px; }.featured-catalogue { padding-top:70px; }
.order-card-link { display:block; color:inherit; }.order-card-link:hover .order-card { border-color:var(--ink); }.order-detail-link { display:block; margin-top:12px; font-size:11px; font-weight:800; }.order-page { max-width:940px; margin:auto; padding:32px 40px 82px; }.order-detail { background:var(--white); border:1px solid var(--line); padding:30px; }.order-detail-head { display:flex; justify-content:space-between; gap:25px; align-items:start; border-bottom:1px solid var(--line); padding-bottom:24px; }.order-detail-head h1 { margin:0; font-size:clamp(34px,5vw,56px); letter-spacing:-.07em; }.order-detail-head p:not(.eyebrow) { color:var(--muted); font-size:13px; }.order-detail-head > strong { font:500 20px 'DM Mono'; white-space:nowrap; }.order-detail-items { padding:25px 0; }.order-detail-items h2 { margin:0 0 15px; font-size:18px; }.order-detail-items ul { margin:0; padding:0; list-style:none; }.order-detail-items li { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-top:1px solid var(--line); font-size:13px; }.order-detail-items small { color:var(--muted); margin-left:7px; }.order-detail-actions { display:flex; flex-wrap:wrap; gap:12px; }.invoice-button:disabled { opacity:.48; cursor:not-allowed; transform:none; }
.site-footer { background:var(--ink); color:var(--white); }.footer-inner { max-width:1380px; margin:auto; padding:35px 40px; display:grid; grid-template-columns:1fr 1.35fr auto; gap:34px; align-items:end; }.footer-brand { display:inline-block; font-size:20px; font-weight:800; letter-spacing:-.07em; }.footer-inner p { color:#bdbdb9; font-size:11px; line-height:1.6; margin:8px 0 0; max-width:300px; }.footer-links { display:flex; flex-wrap:wrap; gap:11px 20px; justify-content:center; }.footer-links a { color:var(--white); font-size:12px; font-weight:700; }.footer-links a:hover { color:var(--lime); }.footer-copy { text-align:right; white-space:nowrap; }.legal-page { max-width:920px; margin:auto; padding:42px 40px 82px; }.legal-page h1 { margin:0; font-size:clamp(40px,5vw,62px); letter-spacing:-.07em; line-height:.95; }.legal-intro { color:var(--muted); line-height:1.65; max-width:620px; margin:22px 0 30px; }.legal-card { background:var(--white); border:1px solid var(--line); padding:32px; display:grid; gap:28px; }.legal-card section { padding-top:25px; border-top:1px solid var(--line); }.legal-card section:first-child { padding-top:0; border-top:0; }.legal-card h2 { margin:0 0 10px; font-size:19px; letter-spacing:-.04em; }.legal-card p { color:var(--muted); font-size:13px; line-height:1.7; margin:0; }.legal-card b,.legal-card a { color:var(--ink); }.not-found-page { max-width:820px; min-height:520px; margin:auto; padding:90px 40px; text-align:center; display:grid; place-content:center; }.not-found-page h1 { max-width:620px; margin:0; font-size:clamp(42px,6vw,72px); line-height:.94; letter-spacing:-.075em; }.not-found-page p:not(.eyebrow) { max-width:480px; color:var(--muted); line-height:1.65; margin:22px auto 28px; }.not-found-page div { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }.guest-address-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.guest-address-grid label { min-width:0; }.guest-address-grid input { min-width:0; }.guest-checkout-dialog .auth-content,#guest-checkout-dialog .auth-content { max-height:calc(100vh - 32px); overflow-y:auto; }
.auth-forgot { display:block; margin:8px auto 0; font-size:11px; }.reset-page { max-width:620px; min-height:540px; margin:auto; padding:60px 40px 82px; display:grid; place-content:center; }.reset-card { background:var(--white); border:1px solid var(--line); padding:32px; }.reset-card h1 { margin:0; font-size:clamp(34px,5vw,48px); line-height:.98; letter-spacing:-.065em; }.reset-card > p:not(.eyebrow) { color:var(--muted); line-height:1.6; margin:18px 0; }.reset-card form { display:grid; gap:14px; }.reset-card label { display:grid; gap:7px; font-size:12px; font-weight:800; }.reset-card input { width:100%; min-width:0; border:1px solid var(--line); padding:12px; background:var(--white); color:var(--ink); }
@media (max-width:900px) { .hero,.detail-layout,.expertise-box,.admin-workspace,.account-layout,.contact-layout { grid-template-columns:1fr; }.hero-visual { min-height:370px; grid-row:1; }.hero { gap:25px; }.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.stats-grid { grid-template-columns:repeat(2,1fr); }.detail-layout { gap:30px; } }
@media (max-width:650px) { .site-header { height:70px; padding:0 18px; }.brand-logo { width:94px; height:58px; }nav { display:none; }.hero,.catalogue,.product-page,.expertise,.admin-page,.account-page,.contact-page { padding-left:18px; padding-right:18px; }.hero { padding-top:23px; padding-bottom:50px; }.hero-visual { min-height:290px; }.hero-visual::before { width:300px; height:300px; }.hero-label { font-size:9px; }.benefit-inner { grid-template-columns:1fr; }.benefit { padding:17px 18px; border-right:0; border-bottom:1px solid var(--line); }.benefit:last-child { border-bottom:0; }.catalogue { padding-top:55px; padding-bottom:55px; }.catalogue-layout { grid-template-columns:1fr; gap:24px; }.filter-panel { display:grid; grid-template-columns:1fr 1fr; column-gap:15px; border-top:0; }.filter-section:last-child { grid-column:1/-1; }.filter-section { border-top:1px solid var(--line); }.product-grid { gap:25px 12px; }.product-summary { min-height:50px; }.section-heading { align-items:start; flex-direction:column; gap:12px; }.section-heading-actions { justify-content:flex-start; }.gallery { grid-template-columns:1fr; }.thumbs { grid-template-columns:repeat(3,65px); order:2; }.detail-info { padding-top:0; }.detail-specs { grid-template-columns:1fr; }.expertise { padding-bottom:55px; }.expertise-box { padding:27px; gap:30px; }.expertise-box h2 { font-size:35px; }.admin-header { align-items:start; flex-direction:column; }.admin-header h1 { font-size:40px; }.stats-grid { grid-template-columns:1fr 1fr; }.admin-panel { padding:18px; }.product-form { grid-template-columns:1fr; }.field.wide { grid-column:auto; }.category-form { flex-direction:column; }.profile-grid { grid-template-columns:1fr; }.profile-field.wide { grid-column:auto; }.account-header { align-items:start; flex-direction:column; }.cookie-banner { left:12px; right:12px; bottom:12px; display:block; }.cookie-actions { justify-content:flex-end; margin-top:15px; }.announcement { font-size:9px; }.cart-panel { padding:19px; } }
@media (max-width:900px) { .footer-inner { grid-template-columns:1fr; align-items:start; }.footer-links { justify-content:flex-start; }.footer-copy { text-align:left; }.legal-page { padding-left:24px; padding-right:24px; } }
@media (max-width:650px) { .footer-inner { padding:28px 18px; gap:22px; }.legal-page,.not-found-page { padding-left:18px; padding-right:18px; }.legal-card { padding:22px; }.guest-address-grid { grid-template-columns:1fr; gap:0; }.not-found-page { min-height:430px; padding-top:65px; padding-bottom:65px; } }
@media (max-width:650px) { .reset-page { min-height:430px; padding:45px 18px 65px; }.reset-card { padding:24px; } }
@media (max-width:650px) { .announcement { min-height:auto; padding:8px 14px; flex-direction:column; gap:3px; text-align:center; font-size:9px; line-height:1.35; }.announcement span:nth-child(2) { display:none; } }
@media (max-width:650px) { body.mobile-menu-open { overflow:hidden; }.site-header { position:relative; z-index:1; gap:14px; }.header-actions { margin-left:auto; gap:8px; }.cart-button { gap:8px; padding-left:13px; }.menu-toggle { display:flex; flex-direction:column; flex-shrink:0; }.menu-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }.menu-toggle.open span:nth-child(2) { opacity:0; }.menu-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }.mobile-menu { position:fixed; z-index:30; top:0; right:0; width:min(350px,86vw); height:100vh; padding:78px 27px 30px; background:var(--white); box-shadow:-18px 0 45px rgba(17,17,17,.18); display:flex; flex-direction:column; transform:translateX(102%); transition:transform .32s ease; pointer-events:none; }.mobile-menu.open { transform:translateX(0); pointer-events:auto; }.mobile-menu-close { position:absolute; top:18px; right:20px; width:42px; height:42px; border:1px solid var(--ink); background:transparent; color:var(--ink); font-size:31px; line-height:1; }.mobile-menu-head { padding-bottom:22px; border-bottom:1px solid var(--line); }.mobile-menu-head .eyebrow { margin-bottom:7px; }.mobile-menu-head > span { font-size:23px; font-weight:800; letter-spacing:-.06em; }.mobile-menu nav { display:grid; gap:0; margin-top:19px; }.mobile-menu nav a { color:var(--ink); padding:15px 0; border-bottom:1px solid var(--line); font-size:16px; font-weight:800; }.mobile-menu nav a:hover { color:var(--orange); } }
