
:root{
  --bg:#0B0B10; --section:#111018; --surface:#1C1C24; --surface-hover:#232330;
  --border:#2A2A30; --red:#E24B4A; --amber:#EF9F27; --blue:#3D7FE0; --purple:#8A4FE0;
  --text:#F5F5F6; --text-2:#B8B8BF; --text-3:#8C8C92;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'IBM Plex Sans',sans-serif;line-height:1.5;}
h1,h2,h3,h4,h5{font-family:'IBM Plex Mono',monospace;font-weight:700;letter-spacing:-0.5px;line-height:1.2;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
ul{list-style:none;}

header{position:sticky;top:0;z-index:50;background:rgba(11,11,16,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1200px;margin:0 auto;gap:20px;}
.logo{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:22px;white-space:nowrap;}
.logo .g1{color:var(--text);}
.logo .g2{color:var(--red);}
nav.main-nav{display:flex;gap:28px;flex:1;}
nav.main-nav a{font-size:14px;font-weight:500;color:var(--text-2);transition:color .15s;white-space:nowrap;}
nav.main-nav a:hover{color:var(--text);}
.header-icons{display:flex;gap:18px;align-items:center;}
.header-icons a, .header-icons button{color:var(--text-2);font-size:14px;background:none;border:none;cursor:pointer;font-family:inherit;}
.cart-icon{position:relative;font-family:'IBM Plex Mono',monospace;}
.search-box{position:relative;}
.search-box input{
  background:var(--surface);border:1px solid var(--border);border-radius:6px;
  color:var(--text);padding:8px 12px;font-family:'IBM Plex Sans',sans-serif;font-size:13px;width:180px;
}
.search-box input::placeholder{color:var(--text-3);}
.search-results{
  position:absolute;top:calc(100% + 6px);right:0;width:280px;max-height:340px;overflow-y:auto;
  background:var(--surface);border:1px solid var(--border);border-radius:8px;display:none;z-index:60;
}
.search-results.active{display:block;}
.search-results a{display:flex;gap:10px;align-items:center;padding:8px 10px;font-size:13px;color:var(--text-2);border-bottom:1px solid var(--border);}
.search-results a:last-child{border-bottom:none;}
.search-results a:hover{background:var(--surface-hover);color:var(--text);}
.search-results img{width:32px;height:32px;object-fit:cover;border-radius:4px;background:#fff;}
.search-empty{padding:10px;font-size:13px;color:var(--text-3);}

.hero{position:relative;overflow:hidden;
  background:radial-gradient(ellipse 800px 500px at 15% -10%, rgba(138,79,224,0.25), transparent),
             radial-gradient(ellipse 700px 500px at 90% 10%, rgba(61,127,224,0.22), transparent),
             radial-gradient(ellipse 600px 400px at 80% 100%, rgba(226,75,74,0.15), transparent),
             var(--bg);
  padding:70px 0 56px;border-bottom:1px solid var(--border);}
.hero-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:48px;flex-wrap:wrap;}
.hero-copy{flex:1 1 420px;min-width:280px;}
.hero-copy .eyebrow{color:var(--amber);font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;display:block;}
.hero-copy h1{font-size:40px;margin-bottom:16px;}
.hero-copy p{color:var(--text-2);font-size:16px;margin-bottom:28px;max-width:480px;}
.hero-visual{flex:1 1 320px;min-width:260px;max-width:420px;}
.hero-visual img{border-radius:14px;border:1px solid var(--border);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:15px;padding:13px 26px;border-radius:8px;cursor:pointer;border:none;}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{filter:brightness(1.08);}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-2);}
.btn-outline:hover{color:var(--text);border-color:var(--text-3);}
.btn-block{width:100%;}

section{padding:56px 0;}
section.alt{background:var(--section);}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:10px;}
.section-head h2{font-size:30px;}
.section-head a{color:var(--amber);font-size:14px;font-weight:600;}

.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;}
.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:22px 16px;text-align:center;transition:background .15s,transform .15s;}
.tile:hover{background:var(--surface-hover);transform:translateY(-2px);}
.tile .count{display:block;color:var(--text-3);font-size:12px;margin-top:6px;}
.tile .name{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:14px;}

.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;}
.card-img{background:#fff;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1;}
.card-body h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:14.5px;color:var(--text);}
.card-body a.card-title-link{color:var(--text);}
.card-cat{font-size:11.5px;color:var(--text-3);font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.4px;}
.card-price{color:var(--amber);font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:15px;margin-top:auto;}
.card-actions{margin-top:6px;}
.card-actions button{font-size:13px;padding:10px 16px;}

.breadcrumb{font-size:13px;color:var(--text-3);margin-bottom:24px;}
.breadcrumb a{color:var(--text-2);}
.breadcrumb a:hover{color:var(--amber);}

.product-detail{display:flex;gap:48px;flex-wrap:wrap;padding:48px 0;}
.gallery{flex:1 1 380px;max-width:460px;}
.gallery-main{background:#fff;border-radius:12px;overflow:hidden;aspect-ratio:1/1;margin-bottom:12px;}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:flex;gap:10px;}
.gallery-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#fff;border:2px solid var(--border);cursor:pointer;}
.gallery-thumbs img.active{border-color:var(--red);}
.product-info{flex:1 1 380px;max-width:520px;}
.product-info .cat-tag{color:var(--amber);font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.product-info h1{font-size:34px;margin:12px 0 16px;}
.product-info .price{font-family:'IBM Plex Mono',monospace;color:var(--amber);font-size:26px;font-weight:700;margin-bottom:20px;}
.product-info .short-desc{color:var(--text-2);margin-bottom:24px;}
.product-info .full-desc{color:var(--text-2);border-top:1px solid var(--border);padding-top:20px;margin-top:28px;font-size:14.5px;}
.qty-row{display:flex;gap:12px;margin-bottom:16px;align-items:center;}
.qty-row input{width:64px;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:12px;border-radius:8px;text-align:center;font-family:'IBM Plex Mono',monospace;}
.meta-row{display:flex;gap:18px;margin-top:22px;font-size:12.5px;color:var(--text-3);flex-wrap:wrap;}

footer{background:var(--section);border-top:1px solid var(--border);padding:48px 0 28px;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:32px;}
.footer-grid h4{font-size:13px;color:var(--text);margin-bottom:14px;}
.footer-grid p, .footer-grid a{color:var(--text-3);font-size:13.5px;display:block;margin-bottom:8px;}
.footer-grid a:hover{color:var(--amber);}
.footer-bottom{border-top:1px solid var(--border);padding-top:20px;color:var(--text-3);font-size:12.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

.mobile-nav-toggle{display:none;background:none;border:none;color:var(--text);font-size:22px;cursor:pointer;}

/* logo mark */
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{width:34px;height:auto;flex-shrink:0;}
.eyebrow-mark{width:18px;height:auto;flex-shrink:0;vertical-align:-4px;margin-right:2px;}
.logo-word{display:flex;flex-direction:column;line-height:1;}
.logo-word .g1{color:var(--text);font-size:17px;}
.logo-word .g2{color:var(--red);font-size:17px;}
.logo-word small{font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:9px;letter-spacing:2px;color:var(--text-3);text-transform:uppercase;margin-top:1px;}

/* announcement bar */
.announce-bar{background:var(--section);border-bottom:1px solid var(--border);padding:9px 0;text-align:center;}
.announce-bar .wrap{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;font-size:12.5px;color:var(--text-2);font-family:'IBM Plex Mono',monospace;}
.announce-bar strong{color:var(--amber);}

/* hero rework */
.hero-inner{align-items:center;}
.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);padding:6px 14px;border-radius:999px;margin-bottom:18px;}
.hero-copy h1{font-size:42px;}
.trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;}
.trust-row span{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);font-family:'IBM Plex Sans',sans-serif;}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;}
.logo-glow{position:absolute;width:300px;opacity:.15;z-index:0;pointer-events:none;}
.photo-fan{display:flex;position:relative;z-index:1;}
.photo-fan img{width:148px;height:148px;object-fit:cover;border-radius:14px;background:#fff;border:4px solid var(--surface);box-shadow:0 18px 36px rgba(0,0,0,.55);}
.photo-fan img:nth-child(1){transform:rotate(-9deg) translateY(14px);margin-right:-26px;}
.photo-fan img:nth-child(2){transform:translateY(-16px);z-index:2;}
.photo-fan img:nth-child(3){transform:rotate(10deg) translateY(16px);margin-left:-26px;}

/* personalisation field on PDP */
.custom-field{margin-bottom:18px;}
.custom-field label{display:block;font-size:12.5px;color:var(--text-3);margin-bottom:6px;font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.4px;}
.custom-field input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:12px 14px;font-family:'IBM Plex Sans',sans-serif;font-size:14px;}

/* generic content page (custom orders / shipping / contact) */
.info-hero{padding:56px 0 40px;border-bottom:1px solid var(--border);}
.info-hero h1{font-size:36px;margin-bottom:14px;}
.info-hero p{color:var(--text-2);max-width:640px;font-size:16px;}
.checklist{margin:26px 0;display:flex;flex-direction:column;gap:10px;}
.checklist div{display:flex;gap:10px;align-items:flex-start;color:var(--text-2);font-size:14.5px;}
.checklist div b{color:var(--amber);}
.carrier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:8px;}
.carrier-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px;}
.carrier-card h3{font-family:'IBM Plex Mono',monospace;font-size:17px;margin-bottom:8px;color:var(--amber);}
.carrier-card p{color:var(--text-2);font-size:14px;}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:8px;}
.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px;}
.contact-card h3{font-family:'IBM Plex Mono',monospace;font-size:15px;margin-bottom:8px;}
.contact-card a{color:var(--amber);font-size:14.5px;}

/* footer contact block */
.footer-contact p{color:var(--text-3);font-size:13.5px;margin-bottom:6px;}
.footer-contact a{color:var(--text-3);}
.footer-contact a:hover{color:var(--amber);}

/* cookie consent banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--section);border-top:1px solid var(--border);padding:16px 24px;display:none;}
.cookie-banner.visible{display:block;}
.cookie-banner-inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.cookie-banner p{color:var(--text-2);font-size:13.5px;max-width:640px;margin:0;}
.cookie-banner p a{color:var(--amber);}
.cookie-banner-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-banner-actions button{font-size:13px;padding:10px 18px;}

@media (max-width:860px){
  nav.main-nav{display:none;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-copy h1{font-size:32px;}
  .announce-bar .wrap{gap:14px;}
  .photo-fan{flex-wrap:wrap;justify-content:center;}
  .photo-fan img{margin:6px !important;transform:none !important;}
  .logo-glow{display:none;}
  .cookie-banner-inner{flex-direction:column;align-items:flex-start;}
}
