/* Haqq Studio — dark luxury with Apple-grade craft. Ink black, warm gold, ivory. */
:root{
  --ink:#0A0907;--ink-2:#14120F;--ink-3:#1D1A16;
  --line:rgba(242,237,227,.08);--line-2:rgba(242,237,227,.14);
  --gold:#C8A96A;--gold-2:#E2CC97;--gold-dim:rgba(200,169,106,.3);--gold-faint:rgba(200,169,106,.12);
  --ivory:#F2EDE3;--mute:#A39D90;--mute-2:#8A8478;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Geist',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --r-lg:28px;--r-md:20px;--r-sm:12px;
  --ease:cubic-bezier(.25,1,.5,1);          /* settles like a critically damped spring */
  --glass:rgba(14,12,10,.64);
  --wrap:1180px;
  --gutter:max(24px,calc((100vw - var(--wrap)) / 2 + 24px));
  --gold-text:linear-gradient(100deg,#EBD9AB 0%,#C8A96A 45%,#E2CC97 75%,#B8965A 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--gold-dim) var(--ink)}
body{background:var(--ink);color:var(--ivory);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;text-rendering:optimizeLegibility}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:300;opacity:.045;
  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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:var(--gold);color:var(--ink)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* type: tracking tightens as size grows, body stays near zero */
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.015em}
.label,.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.mute{color:var(--mute)}
em{font-style:italic;color:var(--gold-2)}
h1 em,h2 em,.statement em{background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}

/* buttons: pills, feedback on press (not release) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:0 26px;border-radius:999px;border:0;cursor:pointer;
  font:500 1rem/1 var(--sans);letter-spacing:-.005em;color:var(--ink);
  background:linear-gradient(180deg,#E3CB95 0%,#C8A96A 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 30px -12px rgba(200,169,106,.55);
  transition:transform .1s ease-out,filter .25s,box-shadow .35s var(--ease);-webkit-tap-highlight-color:transparent;user-select:none}
.btn:hover{filter:brightness(1.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 16px 40px -14px rgba(200,169,106,.7)}
.btn:active{transform:scale(.97)}
.btn.ghost{color:var(--ivory);background:rgba(242,237,227,.08);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn.ghost:hover{background:rgba(242,237,227,.13);filter:none}
.btn.sm{min-height:34px;padding:0 16px;font-size:.84rem}
.link{display:inline-flex;align-items:center;gap:.3rem;color:var(--gold-2);font-weight:500;font-size:1rem;transition:opacity .2s}
.link::after{content:"›";font-size:1.3em;line-height:0;transform:translateY(-.04em);transition:transform .35s var(--ease)}
.link:hover::after{transform:translate(3px,-.04em)}
.link:active{opacity:.6}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;border-radius:10px}
.btn:focus-visible{border-radius:999px}

/* nav: translucent layer, content scrolls underneath; edge fade instead of a hard border */
nav.top{position:fixed;inset:0 0 auto;z-index:50;background:var(--glass);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%)}
nav.top::after{content:"";position:absolute;left:0;right:0;top:100%;height:1px;background:linear-gradient(90deg,transparent,var(--line-2),transparent);opacity:0;transition:opacity .4s}
nav.top.solid::after{opacity:1}
.nav-in{max-width:var(--wrap);margin:0 auto;padding:0 24px;height:60px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:30px;height:30px;border-radius:50%;box-shadow:0 0 0 1px var(--gold-dim)}
.brand span{font-family:var(--serif);font-size:1.35rem;letter-spacing:-.01em}
.nav-links{display:flex;gap:30px;list-style:none;font-size:.86rem}
.nav-links a{color:var(--mute);transition:color .25s}.nav-links a:hover{color:var(--ivory)}

footer{padding:56px 0 40px;font-size:.84rem;color:var(--mute-2)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center;padding-top:28px;border-top:1px solid var(--line)}
.foot a:hover{color:var(--gold-2)}
.wa{position:fixed;right:20px;bottom:20px;z-index:60;width:54px;height:54px;border-radius:50%;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px var(--gold-dim),0 14px 34px -12px rgba(0,0,0,.7);display:grid;place-items:center;transition:transform .1s ease-out}
.wa:active{transform:scale(.92)}
.wa svg{width:24px;height:24px;fill:var(--gold-2)}

/* scroll reveal */
.reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal:not(.in){opacity:0;transform:translateY(24px)}

@media(max-width:900px){.nav-links{display:none}}
@media(max-width:480px){.wrap,.nav-in{padding-left:16px;padding-right:16px}:root{--gutter:16px}.brand span{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{transition:opacity .4s}.js .reveal:not(.in){transform:none}
  .btn,.link::after{transition:none}
}
@media(prefers-reduced-transparency:reduce){
  nav.top,.wa{background:var(--ink-2);backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(prefers-contrast:more){
  :root{--line:rgba(242,237,227,.3);--mute:#CFC9BC}
}
