/* ==========================================================================
   First Clique — design system and layout
   Extracted verbatim from the approved build. Do not restyle: colour tokens,
   glass/gradient material, spacing scale and breakpoints are all approved.
   ========================================================================== */

    [data-dialog] { display:none; }
    [data-dialog][data-open="1"] { display:flex; }
    [data-dialog] [data-dialog-backdrop] { opacity:0; transition:opacity .22s cubic-bezier(.4,0,.2,1); }
    [data-dialog] [data-dialog-panel] { opacity:0; transform:translateY(8px) scale(.985); transition:opacity .2s cubic-bezier(.4,0,.2,1), transform .28s cubic-bezier(.22,.61,.36,1); }
    [data-dialog][data-open="1"] [data-dialog-backdrop] { opacity:1; }
    [data-dialog][data-open="1"] [data-dialog-panel] { opacity:1; transform:translateY(0) scale(1); }
    [data-nav-modal] [data-dialog-panel] { transform:translateY(32px) scale(1); transition:opacity .18s cubic-bezier(.4,0,.2,1), transform .34s cubic-bezier(.22,.61,.36,1); }
    [data-nav-modal][data-open="1"] [data-dialog-panel] { transform:translateY(0) scale(1); }
    @media (max-width:760px) {
      [data-order-modal] [data-dialog-panel] { transform:translateY(32px) scale(1); transition:opacity .18s cubic-bezier(.4,0,.2,1), transform .34s cubic-bezier(.22,.61,.36,1); }
      [data-order-modal][data-open="1"] [data-dialog-panel] { transform:translateY(0) scale(1); }
    }

  html { background:#FAF8F5; }
  @media (prefers-color-scheme: dark) { html { background:#141210; } }
  body { margin:0; background:transparent; -webkit-font-smoothing:antialiased; }
  a { color:#1A1917; text-decoration:none; }
  a:hover { color:#5C564F; }
  [data-theme="light"], [data-theme="auto"] {
    color-scheme:light;
    --bg:#FAF9F7; --bg2:#F3F1EE; --bg3:#ECEAE6; --surface:#FDFCFB;
    --ink:#1A1917; --ink2:#383634; --muted:#625D57; --faint:#5A554F;
    --line:rgba(26,25,23,.09); --grid-line:rgba(26,25,23,.085); --line2:rgba(26,25,23,.20); --silver:#C3BEB7;
    --sheen:linear-gradient(150deg,#FBFAF8 0%,#F2F0EC 52%,#E5E2DD 100%);
    --card-a:rgba(255,255,255,.62); --card-b:rgba(252,251,249,.58); --card-hi:inset 0 1px 0 rgba(255,255,255,.62);
    --btn:linear-gradient(180deg,#252321 0%,#171615 100%); --btnText:#FDFCFB; --btn-inner:inset 0 1px 0 rgba(255,255,255,.14);
    --glass:rgba(255,255,255,.58); --glass-panel:rgba(253,252,251,.88); --glass-line:rgba(26,25,23,.10); --glass-shadow:0 6px 22px rgba(26,25,23,.07); --glass-inner:inset 0 1px 0 rgba(255,255,255,.55);
    --page-grad:linear-gradient(180deg,#FAF9F7 0%,#F3F1EE 50%,#FAF9F7 100%);
    --mist-grad:radial-gradient(120% 90% at 50% 0%, #FAF9F7 0%, #F1EFEC 56%, #FAF9F7 100%);
    --hero-grad:linear-gradient(180deg,#FAF9F7 0%,#F4F2EF 100%);
    --cta-grad:linear-gradient(160deg,#2A2724 0%,#1A1917 54%,#141210 100%);
    --on-cta-muted:#C6BFB6; --on-cta-line:rgba(207,199,190,.5); --on-cta-ring:rgba(207,199,190,.28);
    --ph1:#EFEBE5; --ph2:#E5E0D9; --err:#A32B22;
  }
  [data-theme="dark"] {
    color-scheme:dark;
    --bg:#141210; --bg2:#1B1917; --bg3:#232120; --surface:#232120;
    --ink:#F7F4F0; --ink2:#E2DED8; --muted:#A9A29A; --faint:#9C958D;
    --line:rgba(247,244,240,.07); --grid-line:rgba(247,244,240,.065); --line2:rgba(247,244,240,.16); --silver:#CFC7BE;
    --sheen:linear-gradient(150deg,#EFEBE6 0%,#DCD7D1 52%,#B9B3AC 100%);
    --btn:linear-gradient(180deg,#FFFDFA 0%,#E8E2DA 100%); --btnText:#1A1917; --btn-inner:inset 0 1px 0 rgba(255,255,255,.62);
    --glass:rgba(20,18,16,.64); --glass-panel:rgba(24,22,20,.84); --glass-line:rgba(247,244,240,.10); --glass-shadow:0 6px 22px rgba(0,0,0,.40); --glass-inner:inset 0 1px 0 rgba(255,255,255,.05);
    --card-a:rgba(37,35,33,.62); --card-b:rgba(34,32,31,.58); --card-hi:inset 0 1px 0 rgba(255,255,255,.05);
    --mist-grad:radial-gradient(120% 90% at 50% 0%, #1A1816 0%, #141210 58%, #171514 100%);
    --page-grad:linear-gradient(180deg,#141210 0%,#100E0D 52%,#161413 100%);
    --hero-grad:linear-gradient(180deg,#141210 0%,#191715 100%);
    --cta-grad:linear-gradient(160deg,#FFFDFA 0%,#F3EEE8 55%,#E8E2DA 100%);
    --on-cta-muted:#5E5851; --on-cta-line:rgba(28,26,24,.30); --on-cta-ring:rgba(28,26,24,.16);
    --ph1:#26231F; --ph2:#1D1B19; --err:#F2A79B;
  }
  @media (prefers-color-scheme: dark) {
    [data-theme="auto"] {
      color-scheme:dark;
      --bg:#141210; --bg2:#1B1917; --bg3:#232120; --surface:#232120;
      --ink:#F7F4F0; --ink2:#E2DED8; --muted:#A9A29A; --faint:#9C958D;
      --line:rgba(247,244,240,.07); --grid-line:rgba(247,244,240,.065); --line2:rgba(247,244,240,.16); --silver:#CFC7BE;
      --sheen:linear-gradient(150deg,#EFEBE6 0%,#DCD7D1 52%,#B9B3AC 100%);
      --btn:linear-gradient(180deg,#FFFDFA 0%,#E8E2DA 100%); --btnText:#1A1917; --btn-inner:inset 0 1px 0 rgba(255,255,255,.62);
      --glass:rgba(20,18,16,.64); --glass-panel:rgba(24,22,20,.84); --glass-line:rgba(247,244,240,.10); --glass-shadow:0 6px 22px rgba(0,0,0,.40); --glass-inner:inset 0 1px 0 rgba(255,255,255,.05);
      --card-a:rgba(37,35,33,.62); --card-b:rgba(34,32,31,.58); --card-hi:inset 0 1px 0 rgba(255,255,255,.05);
      --mist-grad:radial-gradient(120% 90% at 50% 0%, #1A1816 0%, #141210 58%, #171514 100%);
      --page-grad:linear-gradient(180deg,#141210 0%,#100E0D 52%,#161413 100%);
      --hero-grad:linear-gradient(180deg,#141210 0%,#191715 100%);
      --cta-grad:linear-gradient(160deg,#FFFDFA 0%,#F3EEE8 55%,#E8E2DA 100%);
      --on-cta-muted:#5E5851; --on-cta-line:rgba(28,26,24,.30); --on-cta-ring:rgba(28,26,24,.16);
      --ph1:#26231F; --ph2:#1D1B19; --err:#F2A79B;
    }
  }
  [data-root] {
    --sp-section:clamp(64px,7vw,116px);
    --sp-block-lg:clamp(40px,4.6vw,72px);
    --sp-block:clamp(28px,3.2vw,48px);
    --sp-group:clamp(20px,2.2vw,32px);
    --sp-gutter:clamp(20px,4vw,64px);
    --gap-lg:clamp(32px,5vw,76px);
    --gap-md:clamp(20px,2.4vw,36px);
    --gap-sm:clamp(14px,1.6vw,22px);
    /* Photography system: veils exist only to make overlaid text legible.
       --veil-b bottom-anchored (default), --veil-l left-directional (side-set type),
       --chip-veil a solid backdrop for chips on open photography, --grade the shared grading. */
    --veil-b:linear-gradient(0deg, rgba(16,14,13,.9) 0%, rgba(16,14,13,.58) 42%, rgba(16,14,13,0) 100%);
    --veil-l:linear-gradient(90deg, rgba(21,21,22,.92) 0%, rgba(21,21,22,.82) 34%, rgba(21,21,22,.44) 60%, rgba(21,21,22,.10) 84%, rgba(21,21,22,0) 100%);
    --chip-veil:rgba(16,14,13,.55);
    --grade:grayscale(.2) contrast(1.03);
  }
  [data-skip] { position:absolute; left:12px; top:-64px; z-index:100; padding:12px 20px; border-radius:100px; background:var(--btn); box-shadow:var(--btn-inner); color:var(--btnText); font-size:14px; transition:top .2s; }
  [data-skip]:focus { top:12px; }
  [data-err] { display:none; }
  [data-err][data-on="1"] { display:block; }
  [data-invalid="1"] { border-color:var(--err) !important; }
  [data-pill][aria-checked="true"] { background:var(--ink); color:var(--bg); border-color:var(--ink); }
  [data-busy="1"] { opacity:.6; pointer-events:none; }
  [data-reveal] { transition:opacity .5s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1); }
  [data-reveal][data-armed="1"]:not([data-in="1"]) { opacity:0; transform:translateY(12px); }
  [data-panel] { display:none; }
  [data-panel][data-on="1"] { display:flex; }
  [data-pill] { cursor:pointer; color:var(--ink2); transition:background .25s, color .25s, border-color .25s; }
  [data-pill][data-on="1"] { background:var(--ink); color:var(--bg); border-color:var(--ink); }
  [data-step] { display:none; }
  [data-step][data-on="1"] { display:flex; }
  [data-dot][data-on="1"] { background:var(--ink); width:26px; }
  [data-rail] { overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; scroll-behavior:smooth; }
  [data-rail]::-webkit-scrollbar { display:none; }
  [data-rail] > * { scroll-snap-align:start; }
  [data-zoom] img { transition:transform .9s cubic-bezier(.22,.61,.36,1); }
  [data-zoom]:hover img { transform:scale(1.02); }
  [data-btn] { cursor:pointer; transition:transform .3s cubic-bezier(.22,.61,.36,1), opacity .3s, background .3s, color .3s; }
  [data-btn]:hover { transform:translateY(-1px); }
  [data-row]:hover { background:var(--bg2); }
  [data-row] { transition:background .3s; }
  p { text-wrap:pretty; }
  button { font:inherit; color:inherit; letter-spacing:inherit; background:none; border:0; margin:0; padding:0; text-align:left; -webkit-appearance:none; appearance:none; }
  button[data-btn], a[data-btn] { justify-content:flex-start; }
  input, textarea, select { font-family:Archivo, Helvetica, sans-serif; }
  [data-vh] { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
  @keyframes content-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
  [data-panel][data-on="1"] { animation:content-in .28s cubic-bezier(.22,.61,.36,1) both; }
  [data-step][data-on="1"] { animation:content-in .26s cubic-bezier(.22,.61,.36,1) both; }
  html { scroll-behavior:smooth; }
  [data-nav] { position:relative; }
  [data-nav]::after { content:""; position:absolute; left:0; right:100%; bottom:-5px; height:1px; background:currentColor; transition:right .32s cubic-bezier(.22,.61,.36,1); }
  [data-nav]:hover::after { right:0; }
  [data-navlink][aria-current]::after { right:0; }
  [data-tab][aria-current] { color:var(--ink) !important; }
  [data-nav-item]:hover { color:var(--ink); }
  [data-plat][aria-disabled="true"] { cursor:default; }
  [data-hero-plate] { min-height:min(52vh,440px); }
  @media (max-width:1080px) {
    [data-cat-veil] { background:var(--veil-b) !important; }
  }
  [data-sheet-grip] { display:none !important; }
  [data-drag-zone] { touch-action:pan-y; }
  [data-sheet][data-dragging="1"] { transition:none !important; }
  [data-dialog][data-dragging="1"] [data-dialog-backdrop] { transition:none !important; }
  [data-menu-stack] { position:relative; }
  @media (max-width:760px) {
    [data-sheet-grip] { display:flex !important; }
    [data-drag-zone] { cursor:grab; }
    [data-sheet][data-dragging="1"] [data-drag-zone] { cursor:grabbing; }
  }
  [data-arrow] { display:inline-flex; transition:transform .3s cubic-bezier(.22,.61,.36,1); }
  [data-btn]:hover [data-arrow] { transform:translateX(4px); }
  [data-btn]:active { transform:translateY(0) scale(.99); }
  [data-pill]:hover { border-color:var(--ink); color:var(--ink); }
  [data-pill][data-on="1"]:hover { color:var(--bg); }
  [data-pill]:active { transform:scale(.985); }
  [data-svc-row] { cursor:pointer; }
  a[data-btn], a[data-svc-row] { text-decoration:none; }
  [data-cv] { content-visibility:auto; }
  #sectors[data-cv] { contain-intrinsic-size:auto 1400px; }
  #story[data-cv] { contain-intrinsic-size:auto 1100px; }
  [data-btn] { display:inline-flex; align-items:center; gap:10px; min-height:44px; box-sizing:border-box; }
  a:focus-visible, [data-btn]:focus-visible, [data-pill]:focus-visible, [role="button"]:focus-visible,
  [data-svc-row]:focus-visible, [data-acc-h]:focus-visible, [data-tab]:focus-visible,
  input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible { outline:2px solid var(--ink); outline-offset:3px; border-radius:inherit; }
  [data-rail]:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
  input:focus { border-color:var(--ink); }
  [data-card] { position:relative; overflow:hidden; isolation:isolate; }
  [data-card] { transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1); }
  [data-card]:hover { transform:translateY(-1px); box-shadow:0 1px 2px rgba(16,16,18,.04), 0 8px 20px -12px rgba(16,16,18,.14); }
  [data-svc-grid] { backdrop-filter:blur(17px); -webkit-backdrop-filter:blur(17px); box-shadow:var(--card-hi), 0 4px 18px rgba(26,25,23,.05); }
  [data-card] [data-card-img] { position:absolute; inset:0; opacity:0; transition:opacity .4s ease; z-index:-1; }
  [data-card]:hover [data-card-img] { opacity:.12; }
  [data-card]::after { content:""; position:absolute; inset:0; border:1px solid var(--ink); opacity:0; transition:opacity .3s; pointer-events:none; }
  [data-card]:hover::after { opacity:.34; }
  [data-svc-row] [data-arrow] { opacity:0; transform:translateX(-6px); }
  [data-svc-row]:hover [data-arrow] { opacity:1; transform:none; }
  [data-rail] { cursor:grab; scroll-behavior:auto; }
  [data-rail][data-dragging="1"] { cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; }
  [data-mile]:hover [data-mile-dot] { background:var(--ink); transform:scale(1.5); }
  [data-mile-dot] { transition:transform .3s, background .3s; }
  [data-m] { display:none; }
  @media (min-width:761px) and (max-width:1080px) {
    [data-root] { --sp-section:clamp(56px,6.2vw,84px); --sp-block-lg:clamp(36px,4vw,56px); --gap-lg:clamp(28px,4vw,52px); }
    [data-hero-split] { grid-template-columns:1fr !important; min-height:0 !important; }
    [data-hero-copy] { padding:clamp(44px,5vw,72px) var(--sp-gutter) clamp(26px,3vw,38px) var(--sp-gutter) !important; }
    [data-hero-plate] { min-height:min(44vh,380px); }
    [data-order-panel] { max-width:min(560px,92vw) !important; }
  }
  @media (max-width:760px) {
    [data-d] { display:none !important; }
    [data-m] { display:block; }
    [data-m][data-mf] { display:flex; }
    [data-m][data-mi] { display:inline-flex; }
    [data-root] { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
    section[id], footer[id] { scroll-margin-top:62px; }
    header nav > a { display:none; }
    header [data-logo] { width:76px !important; height:44px !important; }
    header > div { padding:9px 20px !important; gap:12px !important; }
    header [data-order] { padding:11px 18px !important; font-size:13px !important; }
    header [data-action="theme"] { width:44px !important; height:44px !important; }
    footer a, footer [data-btn], footer [role="button"] { min-height:44px; display:inline-flex; align-items:center; }
    [data-bottombar] a, [data-bottombar] [role="button"] { min-height:52px; }
    section > div { padding-left:20px !important; padding-right:20px !important; }
    #branches > div { padding-left:0 !important; padding-right:0 !important; }
    [data-chips] { flex-wrap:nowrap !important; align-items:center !important; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -webkit-overflow-scrolling:touch; margin:0 -20px; padding:2px 20px 4px; box-sizing:border-box; }
    [data-chips]::-webkit-scrollbar { display:none; }
    [data-chips] > [data-pill] { flex:none; min-height:44px; display:inline-flex; align-items:center; white-space:nowrap; box-sizing:border-box; }
    [data-req-pills] > [data-pill] { box-sizing:border-box; min-height:50px; }
    [data-root] { --sp-section:52px; --sp-block-lg:34px; --sp-block:24px; --sp-group:18px; --gap-lg:28px; --gap-md:18px; --gap-sm:12px; }
    [data-branch-rail] { padding-left:20px !important; padding-right:20px !important; }
    [data-branch-rail] > * { width:78vw !important; padding:18px !important; box-sizing:border-box; }
    [data-order-modal] { padding:0 !important; align-items:flex-end !important; }
    [data-navlink][aria-current] { color:var(--ink) !important; }
    [data-order-panel] { width:100% !important; max-width:none !important; border-radius:20px 20px 0 0 !important; border-left:0 !important; border-right:0 !important; border-bottom:0 !important; padding:22px 20px calc(22px + env(safe-area-inset-bottom)) !important; max-height:86vh !important; }
    [data-mrail] { box-sizing:border-box; }
    [data-mrail] > * { box-sizing:border-box; }
    [data-mrail] [data-btn] { min-height:44px; }
    [data-action="rail-prev"], [data-action="rail-next"], [data-rail-index] { display:none !important; }
    [data-cat-photos] > *:not(:first-child) { flex:1 1 44% !important; min-height:150px !important; }
    [data-cat-cta] > *, [data-cta-btns] > *, [data-req-pills] > *, [data-stepbtns] > * { flex:1 1 100%; justify-content:center; }
    [data-cta-btns] { justify-content:flex-start !important; }
    [data-geo] { width:100%; justify-content:center; }
    [data-acc] > [data-acc-body] { display:none; }
    [data-acc][data-open="1"] > [data-acc-body] { display:flex; animation:content-in .26s cubic-bezier(.22,.61,.36,1) both; }
    [data-acc-h] { display:flex !important; align-items:center; justify-content:space-between; min-height:48px; margin:0; border-top:1px solid var(--line); cursor:pointer; }
    [data-acc] [data-chev] { transition:transform .28s cubic-bezier(.22,.61,.36,1); }
    [data-acc][data-open="1"] [data-chev] { transform:rotate(180deg); }
    [data-tab][data-on="1"] { color:var(--ink) !important; background:var(--bg2); }
  }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
    html { scroll-behavior:auto; }
    [data-reveal] { opacity:1 !important; transform:none !important; }
  }
