/* site.css - shared chrome for akaushiservices.com.
   Extracted from the 12 public pages' inline <style> blocks; every rule here was
   declaration-identical across at least 8 of them. Page-specific rules and any page's
   intentional override stay inline in that page, AFTER this link, so a page can still
   win the cascade. Do not put page-specific rules here.
   Regenerate/verify with scripts/consolidate_css.py. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
/* Root type scale. Every size below is rem-based, so this single value sets the
   whole system. 112.5% = 18px root: body copy 18px, nav 16.2px, headings scale
   with it. Raised from the 16px browser default because the first pass only
   lifted the sub-16px overrides and the site still read small. */
html{font-size:112.5%;scroll-behavior:smooth;}
body{font-family:var(--font-sans);background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"),var(--color-bg);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--color-gold);text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--color-gold-light);}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.3;letter-spacing:0.02em;}
.container{max-width:var(--container);margin:0 auto;padding:0 1.5rem;}
.divider{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--color-gold);margin:0 auto;}
.divider::before,.divider::after{content:"";height:1px;width:90px;background:linear-gradient(90deg,transparent,var(--color-gold-dark));}
.divider::after{background:linear-gradient(90deg,var(--color-gold-dark),transparent);}
.nav-inner{max-width:var(--container);margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;}
.nav-brand{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-text);white-space:nowrap;}
.nav-brand img{height:48px;width:auto;display:block;}
.nav-links{display:flex;align-items:center;gap:1.35rem;}
.nav-links a{color:var(--color-text-muted);font-size: 0.9rem;font-weight:500;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:var(--color-gold-light);}
.nav-links .btn-gold,.nav-links a.btn-gold,nav .btn-gold{color:#14110a!important;font-size: 0.88rem;padding:0.5rem 1.1rem;}
.btn{display:inline-block;font-family:var(--font-sans);font-size: 1rem;font-weight:600;letter-spacing:0.02em;padding:0.8rem 1.8rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:all var(--transition);}
.btn-gold{background:linear-gradient(135deg,var(--color-gold),var(--color-gold-dark));color:#1a1a1a;}
.btn-gold:hover{box-shadow:var(--shadow-gold);color:#1a1a1a;transform:translateY(-1px);}
.btn-outline:hover{border-color:var(--color-gold);box-shadow:var(--shadow-gold);}
.footer-motto{font-family:var(--font-serif);font-size:1.4rem;letter-spacing:0.1em;color:var(--color-gold);margin-bottom:0.75rem;}
.footer-names{font-family:var(--font-serif);font-style:italic;font-size:1.4rem;font-weight:600;color:var(--color-gold-light);margin:1.25rem 0 0.75rem;}
.footer-contact{color:var(--color-text-muted);font-size: 1rem;line-height:2;}
.footer-contact a{color:var(--color-gold);}
.footer-legal{margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--color-border);font-size: 0.85rem;color:var(--color-text-dim);}
/* nav dropdowns */
/* Marketplace uses semantic <section> wrappers so the public-feature edge
   function can remove the complete desktop/mobile group. Page-level section
   spacing must not enlarge those wrappers or it moves the absolutely
   positioned menu away from its trigger. */
.nav-drop,.nav-mobile-group{padding:0;margin:0;}
.nav-drop{position:relative;}
.nav-drop>.nav-drop-label{cursor:pointer;display:inline-flex;align-items:center;gap:.28rem;}
.nav-drop .caret{font-size:.65em;opacity:.85;}
.nav-drop-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);background:#252525;border:1px solid #3d3d3d;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.55);min-width:212px;padding:.4rem 0;opacity:0;visibility:hidden;transition:opacity .16s ease;z-index:300;}
.nav-drop::after{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:14px;}
.nav-drop:hover .nav-drop-menu{opacity:1;visibility:visible;}
.nav-drop-menu a{display:block;padding:.62rem 1.15rem;color:#a09888;font-size:.9rem;font-weight:500;white-space:nowrap;}
.nav-drop-menu a:hover{color:#E0CD82;background:rgba(255,255,255,.04);}

/* Nav breathing room on the last desktop step. The type bump costs ~30px across 9
   items; between 861-1000px that ate most of the slack before the hamburger takes
   over at 860. Tighten the gap rather than shrinking the type back. */
@media(max-width:1000px){.nav-links{gap:0.55rem;}.nav-links a{font-size:0.84rem;}.nav-links .btn-gold,.nav-links a.btn-gold,nav .btn-gold{font-size:0.8rem;padding:0.45rem 0.85rem;}}
@media(max-width:860px){.nav-drop{display:none;}}
/* Mobile nav hamburger (checkbox+label toggle, 100% CSS, zero JS) + tappable dropdowns */
.nav-burger{display:none;cursor:pointer;color:var(--color-text);font-size:1.5rem;line-height:1;padding:.5rem .25rem;user-select:none;-webkit-user-select:none;}
.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;}
@media(max-width:860px){
  .nav-inner{flex-wrap:wrap;}
  .nav-links{margin-left:auto;}
  /* The burger was position:absolute (right:1rem), so it reserved no layout space
     and painted on top of the Sign Up button at narrow widths. As a static flex
     item it sits in the row and .nav-inner's 1rem gap keeps the two apart. */
  .nav-burger{position:static;transform:none;z-index:10;display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;margin-right:-.25rem;}
  #nav-toggle:checked ~ .nav-links{display:flex;flex-direction:column;align-items:stretch;flex-basis:100%;gap:.15rem;padding:.4rem 0 .9rem;background:var(--color-bg);}
  #nav-toggle:checked ~ .nav-links a:not(.btn){display:block;padding:.6rem .25rem;font-size:.95rem;white-space:normal;}
  #nav-toggle:checked ~ .nav-links .nav-drop{display:block;}
  #nav-toggle:checked ~ .nav-links .nav-drop::after{display:none;}
  #nav-toggle:checked ~ .nav-links .nav-drop-menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;background:transparent;min-width:0;padding:0 0 .3rem 1rem;}
  #nav-toggle:checked ~ .nav-links .nav-drop-menu a{white-space:normal;}}
/* NAV */
nav{position:sticky;top:0;z-index:100;height:var(--nav-height);background:rgba(26,26,26,0.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);}
/* FOOTER */
footer{background:#111009;border-top:2px solid var(--color-gold-dark);text-align:center;padding:3.5rem 1.5rem 2.5rem;}
.btn-outline{background:transparent;border:1px solid var(--color-gold-dark);color:var(--color-gold);}
