
  :root{--rad:14px}
  :root,html[data-theme="dark"]{
    color-scheme:dark;
    /* Brand: Obsidian Black + Red + Orange + EDEDED */
    --bg:#0a0a0f; --bg2:#101018; --card:#16161f; --line:#2a2a38;
    --txt:#ededed; --mut:#9a9a9a;
    --acc:#ff8a3d; --acc2:#ededed;
    --red:#ff3b30;
    /* --vio* are legacy aliases — now the brand red / EDEDED */
    --vio:#ff3b30; --vio2:#ededed;
    --acc-soft:rgba(255,138,61,.15); --acc-line:rgba(255,138,61,.42); --acc-glow:rgba(255,138,61,.35);
    --vio-soft:rgba(255,59,48,.14); --vio-line:rgba(255,59,48,.38);
    --ok:#4ade80; --ok-soft:rgba(74,222,128,.12); --ok-line:rgba(74,222,128,.3);
    --headbg:rgba(10,10,15,.55); --glass-hi:rgba(237,237,237,.07);
    --shadow:rgba(0,0,0,.6); --o-shadow:rgba(255,138,61,.22); --v-shadow:rgba(255,59,48,.22);
    --glow1:rgba(255,138,61,.16); --glow2:rgba(255,59,48,.10); --glow3:rgba(237,237,237,.05);
    --grain:.06;
  }
  html[data-theme="light"]{
    color-scheme:light;
    /* Brand: EDEDED + Orange + Red + Obsidian text */
    --bg:#ededed; --bg2:#f4f4f4; --card:#ffffff; --line:#d9d9d9;
    --txt:#0a0a0f; --mut:#5a5a5a;
    --acc:#ff8a3d; --acc2:#ff3b30;
    --red:#ff3b30;
    --vio:#ff3b30; --vio2:#0a0a0f;
    --acc-soft:rgba(255,138,61,.14); --acc-line:rgba(255,138,61,.4); --acc-glow:rgba(255,138,61,.22);
    --vio-soft:rgba(255,59,48,.10); --vio-line:rgba(255,59,48,.32);
    --ok:#15803d; --ok-soft:rgba(21,128,61,.1); --ok-line:rgba(21,128,61,.3);
    --headbg:rgba(237,237,237,.6); --glass-hi:rgba(255,255,255,.65);
    --shadow:rgba(10,10,15,.18); --o-shadow:rgba(255,138,61,.18); --v-shadow:rgba(255,59,48,.16);
    --glow1:rgba(255,138,61,.12); --glow2:rgba(255,59,48,.08); --glow3:rgba(10,10,15,.04);
    --grain:.05;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--txt);font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;line-height:1.6}
  /* ambient brand mesh — obsidian base, orange glows */
  body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:
      radial-gradient(900px 620px at 12% -6%,var(--glow1),transparent 62%),
      radial-gradient(1000px 700px at 95% 12%,var(--glow2),transparent 60%),
      radial-gradient(1100px 800px at 50% 115%,var(--glow3),transparent 65%),
      var(--bg)}
  /* film grain over everything */
  body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:var(--grain);
    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='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  @supports not (-webkit-background-clip:text){
    h1 em,.kicker,.how .num,.why .num{background:none;color:var(--acc)}
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1120px;margin:0 auto;padding:0 22px}

  /* Header — glass */
  header{position:sticky;top:0;z-index:50;background:var(--headbg);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-bottom:1px solid var(--line);box-shadow:inset 0 1px 0 var(--glass-hi),0 10px 32px rgba(0,0,0,.14)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:66px}
  .logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.18rem;letter-spacing:.2px}
  .logo .mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#0b0c11 0%,var(--acc) 52%,var(--vio2) 100%);display:grid;place-items:center;box-shadow:0 6px 18px var(--v-shadow)}
  .logo .mark svg{width:21px;height:21px;color:#fff}
  .nav a.nlink{color:var(--mut);font-size:.95rem;font-weight:600;margin-left:26px}
  .nav a.nlink:hover{color:var(--txt)}
  .nav .cta{padding:9px 18px;border-radius:9px;background:linear-gradient(120deg,var(--acc),var(--vio));color:#fff;font-weight:700;font-size:.92rem;box-shadow:0 8px 20px var(--acc-glow);display:inline-flex;align-items:center;gap:7px}
  .nav .cta svg{width:15px;height:15px}
  .nav .cta:hover{filter:brightness(1.08)}
  .theme-btn{background:var(--bg2);border:1px solid var(--line);color:var(--txt);border-radius:9px;padding:7px;line-height:0;cursor:pointer;margin-left:14px;display:inline-flex;align-items:center;justify-content:center;transition:border-color .18s,color .18s}
  .theme-btn svg{width:18px;height:18px}
  .theme-btn:hover{border-color:var(--vio);color:var(--vio2)}
  .i-moon{display:none}
  html[data-theme="light"] .i-moon{display:block}
  html[data-theme="light"] .i-sun{display:none}
  #burger{display:none;background:var(--bg2);border:1px solid var(--line);color:var(--txt);border-radius:9px;padding:7px;line-height:0;cursor:pointer}
  #burger svg{width:19px;height:19px}
  #burger .i-x{display:none}
  #burger.open .i-menu{display:none}
  #burger.open .i-x{display:block}
  #mnav{display:none;flex-direction:column;gap:4px;padding:10px 0 16px}
  #mnav a{padding:9px 12px;border-radius:8px;color:var(--mut);font-weight:600;display:flex;align-items:center;gap:8px}
  #mnav a svg{width:15px;height:15px;flex:none}
  #mnav a:hover{background:var(--bg2);color:var(--txt)}

  /* Hero — photo background */
  .hero{position:relative;padding:96px 0 88px;overflow:hidden}
  .hero .bg{position:absolute;inset:0;background:url('/assets/creative/hero-bg.jpg') center/cover no-repeat}
  .hero .bg::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,13,18,.96) 0%,rgba(10,13,18,.82) 45%,rgba(10,13,18,.45) 100%)}
  .hero .wrap{position:relative;z-index:2}
  .hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
  .pill{display:inline-flex;align-items:center;gap:8px;background:var(--acc-soft);border:1px solid var(--acc-line);color:var(--acc2);font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:.6px}
  h1{font-size:2.85rem;line-height:1.12;margin:18px 0 14px;letter-spacing:-.5px}
  h1 em{font-style:normal;background:linear-gradient(92deg,var(--acc) 10%,var(--vio2) 85%);-webkit-background-clip:text;background-clip:text;color:transparent}
  .hero p.sub{color:var(--mut);font-size:1.06rem;max-width:540px}
  .zipbox{display:flex;gap:10px;margin-top:26px;max-width:520px}
  .zipbox input{flex:1;background:var(--bg2);border:1px solid var(--line);border-radius:11px;color:var(--txt);font:inherit;font-size:1.02rem;padding:14px 16px;min-width:0}
  .zipbox input:focus{outline:none;border-color:var(--vio)}
  .zipbox .btn{padding:14px 26px}
  .btn{display:inline-block;padding:13px 26px;border-radius:10px;font-weight:700;font-size:.98rem;border:none;cursor:pointer}
  .btn.primary{background:linear-gradient(120deg,var(--acc),var(--vio));color:#fff;box-shadow:0 12px 30px var(--acc-glow)}
  .btn.primary:hover{filter:brightness(1.08)}
  .btn.ghost{border:1px solid var(--line);color:var(--txt);background:var(--bg2)}
  .btn.ghost:hover{border-color:var(--vio);color:var(--vio2)}
  .ziphint{color:var(--mut);font-size:.86rem;margin-top:10px}
  .ziphint button{background:none;border:none;color:var(--acc2);font:inherit;font-weight:700;cursor:pointer;padding:0}
  .hero .meta{display:flex;gap:26px;margin-top:36px;color:var(--mut);font-size:.9rem}
  .hero .meta b{display:block;color:var(--txt);font-size:1.25rem}
  /* Floating hero photo — no container, suspended in space with drop shadow */
  .hero-foto{width:100%;max-width:430px;height:540px;object-fit:cover;object-position:center;border-radius:20px;box-shadow:0 45px 90px var(--shadow),0 40px 100px var(--v-shadow),0 12px 30px var(--o-shadow);margin:0 auto;will-change:transform}
  .float{will-change:transform}

  /* Sections */
  section{padding:66px 0}
  .kicker{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:1.2px;background:linear-gradient(92deg,var(--acc),var(--vio2));-webkit-background-clip:text;background-clip:text;color:transparent}
  h2{font-size:2.05rem;margin:8px 0 14px;letter-spacing:-.3px}
  .lead{color:var(--mut);max-width:640px;margin-bottom:34px}

  /* How it works */
  .how{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .how .item{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:22px}
  .how .num{font-size:1.5rem;font-weight:800;background:linear-gradient(120deg,var(--acc),var(--vio2));-webkit-background-clip:text;background-clip:text;color:transparent}
  .how b{display:block;margin:8px 0 4px}
  .how p{color:var(--mut);font-size:.9rem}

  /* AI Finder */
  #finder{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .find-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
  .find-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
  .find-row input,.find-row .qwrap{flex:1;min-width:200px}
  .find-row label{display:block;font-size:.78rem;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px}
  .find-row input{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:9px;color:var(--txt);padding:12px 14px;font:inherit;font-size:.98rem}
  .find-row input:focus{outline:none;border-color:var(--acc)}
  .find-row .btn{padding:12px 24px;align-self:flex-end}
  .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
  .chip{background:var(--bg2);border:1px solid var(--line);border-radius:999px;color:var(--mut);font-size:.82rem;font-weight:600;padding:7px 14px;cursor:pointer}
  .chip:hover{border-color:var(--acc);color:var(--acc2)}
  .status{display:none;align-items:center;gap:12px;margin-top:20px;color:var(--mut);font-size:.95rem;font-weight:600}
  .status.show{display:flex}
  .dots span{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:var(--acc);animation:blink 1s infinite}
  .dots span:nth-child(2){animation-delay:.2s}
  .dots span:nth-child(3){animation-delay:.4s}
  @keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
  .res{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
  .r{background:var(--bg2);border:1px solid var(--line);border-radius:var(--rad);padding:18px;opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease}
  .r.in{opacity:1;transform:none}
  .r .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
  .r .match{font-size:.74rem;font-weight:800;color:var(--ok);background:var(--ok-soft);border:1px solid var(--ok-line);padding:3px 9px;border-radius:999px;white-space:nowrap}
  .r h3{font-size:1.02rem;margin:10px 0 2px}
  .r .size{color:var(--acc2);font-weight:700;font-size:.88rem}
  .r .type{color:var(--mut);font-size:.82rem;margin:2px 0 12px}
  .r .row2{display:flex;justify-content:space-between;align-items:center;gap:8px}
  .r .price{font-size:1.25rem;font-weight:800}
  .r .price small{display:block;color:var(--mut);font-weight:600;font-size:.74rem}
  .r .book{font-size:.85rem;font-weight:700;color:var(--acc2);background:var(--acc-soft);border:1px solid var(--acc-line);padding:8px 14px;border-radius:9px}
  .r .book:hover{background:var(--vio-soft);border-color:var(--vio-line);color:var(--vio2)}
  .r .dist{color:var(--mut);font-size:.78rem;margin-top:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .r .snip{color:var(--mut);font-size:.86rem;margin:8px 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .empty{grid-column:1/-1;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:22px;color:var(--mut);font-size:.92rem}
  #find-hint{color:#f87171;font-size:.88rem;margin-top:10px;display:none}

  /* Split creative blocks */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
  .split .photo{position:relative;will-change:transform}
  .split .photo img{width:100%;height:380px;object-fit:cover;border-radius:16px;box-shadow:0 38px 74px var(--shadow),0 36px 90px var(--v-shadow),0 10px 24px var(--o-shadow)}
  .split .photo .cap{position:absolute;left:12px;bottom:12px;background:rgba(10,13,18,.75);border:1px solid var(--line);color:var(--mut);font-size:.78rem;padding:6px 12px;border-radius:999px;box-shadow:0 10px 26px rgba(0,0,0,.45)}
  .split h3{font-size:1.6rem;margin:10px 0 12px;letter-spacing:-.3px}
  .split p{color:var(--mut)}
  .split ul{list-style:none;margin-top:16px}
  .split ul li{color:var(--txt);font-size:.95rem;padding:7px 0 7px 28px;position:relative}
  .split ul li::before{content:'✓';position:absolute;left:4px;color:var(--ok);font-weight:800}
  .split .btn{margin-top:22px}

  /* Tires */
  .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:22px;display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s}
  .card:hover{transform:translateY(-4px);border-color:var(--vio-line);box-shadow:0 16px 40px var(--v-shadow)}
  .card svg{width:44px;height:44px;color:var(--acc)}
  .card h3{font-size:1.06rem;margin:14px 0 6px}
  .card p{color:var(--mut);font-size:.9rem;flex:1}
  .card .price{font-size:1.3rem;font-weight:800;margin-top:14px}
  .card .price small{color:var(--mut);font-weight:600;font-size:.8rem}
  .tag{display:inline-block;margin-bottom:12px;background:var(--ok-soft);border:1px solid var(--ok-line);color:var(--ok);font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}

  /* Services */
  .svc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .svc .item{background:var(--bg2);border:1px solid var(--line);border-radius:var(--rad);padding:20px;display:flex;gap:14px;align-items:flex-start}
  .svc .ic{flex:none;width:40px;height:40px;border-radius:10px;background:var(--acc-soft);display:grid;place-items:center;color:var(--acc)}
  .svc .item:nth-child(even) .ic{background:var(--vio-soft);color:var(--vio2)}
  .svc b{display:block;margin-bottom:2px}
  .svc p{color:var(--mut);font-size:.88rem}

  /* Why us */
  .why{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .why .item{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:22px}
  .why .num{font-size:1.5rem;font-weight:800;background:linear-gradient(120deg,var(--acc),var(--vio2));-webkit-background-clip:text;background-clip:text;color:transparent}
  .why b{display:block;margin:8px 0 4px}
  .why p{color:var(--mut);font-size:.9rem}

  /* CTA banner */
  .banner{position:relative;padding:88px 0;text-align:center;overflow:hidden}
  .banner .bg{position:absolute;inset:0;background:url('/assets/creative/banner-bg.jpg') center/cover no-repeat}
  .banner .bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,18,.88),rgba(10,13,18,.82))}
  .banner .wrap{position:relative;z-index:2}
  .banner h2{font-size:2.2rem;max-width:640px;margin:8px auto 12px}
  .banner p{color:var(--mut);max-width:520px;margin:0 auto 26px}
  .banner .zipbox{margin:0 auto}

  /* Gallery */
  .gal{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;perspective:1200px}
  .tile{position:relative;display:block;cursor:zoom-in;will-change:transform}
  .tile img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;box-shadow:0 28px 58px var(--shadow),0 26px 70px var(--v-shadow);transition:transform .3s ease}
  .tile:nth-child(odd) img{box-shadow:0 28px 58px var(--shadow),0 26px 70px var(--o-shadow)}
  .tile:nth-child(odd) img{transform:rotate(-1.5deg)}
  .tile:nth-child(even) img{transform:rotate(1.2deg)}
  .tile:hover img{transform:scale(1.05) rotate(0deg)}

  /* Lightbox */
  .lb{position:fixed;inset:0;z-index:200;background:rgba(5,7,10,.95);display:none;align-items:center;justify-content:center;padding:20px}
  .lb.open{display:flex}
  .lb img{max-width:min(92vw,1100px);max-height:88vh;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.7)}
  .lb .cap{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:var(--mut);font-size:.85rem}
  .lb .x{position:absolute;top:16px;right:20px;background:none;border:1px solid var(--line);color:var(--txt);font-size:1.3rem;width:42px;height:42px;border-radius:10px;cursor:pointer}
  .lb .x:hover{border-color:var(--acc);color:var(--acc2)}
  .lb .prev,.lb .next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid var(--line);color:var(--txt);font-size:1.6rem;width:46px;height:46px;border-radius:10px;cursor:pointer;line-height:1}
  .lb .prev{left:18px}
  .lb .next{right:18px}
  .lb .prev:hover,.lb .next:hover{border-color:var(--vio);color:var(--vio2)}
  .lb .count{position:absolute;top:18px;left:20px;color:var(--mut);font-size:.85rem;background:rgba(14,17,22,.7);border:1px solid var(--line);padding:4px 12px;border-radius:999px}

  /* Contact */
  .contact{display:grid;grid-template-columns:1fr 1fr;gap:40px}
  .info .row{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
  .info .row .ic{flex:none;width:42px;height:42px;border-radius:10px;background:var(--acc-soft);display:grid;place-items:center;color:var(--acc)}
  .info .row:nth-child(odd) .ic{background:var(--vio-soft);color:var(--vio2)}
  .info .row b{display:block}
  .info .row span{color:var(--mut);font-size:.92rem}
  form{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
  form label{display:block;font-size:.85rem;font-weight:700;margin:14px 0 6px}
  form input,form textarea,form select{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:9px;color:var(--txt);padding:11px 13px;font:inherit;font-size:.95rem}
  form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--acc)}
  form .btn{margin-top:18px;width:100%}
  #form-ok{display:none;margin-top:12px;color:var(--ok);font-weight:600;font-size:.9rem}

  footer{border-top:1px solid var(--line);padding:34px 0;color:var(--mut);font-size:.88rem}
  footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

  /* Corner icon pattern — text containers (lucide auto-industry icons)
     Icons are 22px on a 32px tile (~10px gaps), repeating from each
     container's bottom-right corner toward the top-left. The mask
     fades them with distance: 50% opacity at the corner, gone by
     ~55% of the diagonal (roughly the vertical midpoint). Icon paths
     come from the npm lucide package and are matched to each block's
     text. */
  .how .item,.why .item,.svc .item,.card,.find-panel,.r,.empty,.split>div:not(.photo),.info,#book{position:relative;isolation:isolate}
  .how .item{--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}
  .why .item{--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/g%3E%3C/svg%3E")}
  .svc .item{--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z'/%3E%3C/g%3E%3C/svg%3E")}
  .card{--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}
  .find-panel{--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E")}
  .r{--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Cpath d='M9 17h6'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/g%3E%3C/svg%3E")}
  .empty{--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='m13.5 8.5-5 5'/%3E%3Cpath d='m8.5 8.5 5 5'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/g%3E%3C/svg%3E")}
  .split>div:not(.photo){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z'/%3E%3C/g%3E%3C/svg%3E")}
  .info{--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/g%3E%3C/svg%3E")}
  #book{--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M8 2v3'/%3E%3Cpath d='M16 2v3'/%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18'/%3E%3C/g%3E%3C/svg%3E")}
  .how .item:nth-child(1){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/g%3E%3C/svg%3E")}
  .how .item:nth-child(2){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E")}
  .how .item:nth-child(3){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/g%3E%3C/svg%3E")}
  .card:nth-child(1){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}
  .card:nth-child(2){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='m4.93 4.93 1.41 1.41'/%3E%3Cpath d='m17.66 17.66 1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='m6.34 17.66-1.41 1.41'/%3E%3Cpath d='m19.07 4.93-1.41 1.41'/%3E%3C/g%3E%3C/svg%3E")}
  .card:nth-child(3){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='m10 20-1.25-2.5L6 18'/%3E%3Cpath d='M10 4 8.75 6.5 6 6'/%3E%3Cpath d='m14 20 1.25-2.5L18 18'/%3E%3Cpath d='m14 4 1.25 2.5L18 6'/%3E%3Cpath d='m17 21-3-6h-4'/%3E%3Cpath d='m17 3-3 6 1.5 3'/%3E%3Cpath d='M2 12h6.5L10 9'/%3E%3Cpath d='m20 10-1.5 2 1.5 2'/%3E%3Cpath d='M22 12h-6.5L14 15'/%3E%3Cpath d='m4 10 1.5 2L4 14'/%3E%3Cpath d='m7 21 3-6-1.5-3'/%3E%3Cpath d='m7 3 3 6h4'/%3E%3C/g%3E%3C/svg%3E")}
  .card:nth-child(4){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/g%3E%3C/svg%3E")}
  .svc .item:nth-child(1){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='m12 14 4-4'/%3E%3Cpath d='M3.34 19a10 10 0 1 1 17.32 0'/%3E%3C/g%3E%3C/svg%3E")}
  .svc .item:nth-child(2){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/g%3E%3C/svg%3E")}
  .svc .item:nth-child(3){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/g%3E%3C/svg%3E")}
  .svc .item:nth-child(4){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z'/%3E%3C/g%3E%3C/svg%3E")}
  .svc .item:nth-child(5){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z'/%3E%3C/g%3E%3C/svg%3E")}
  .svc .item:nth-child(6){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z'/%3E%3Ccircle cx='7.5' cy='7.5' r='.5' fill='currentColor'/%3E%3C/g%3E%3C/svg%3E")}
  .why .item:nth-child(1){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/g%3E%3C/svg%3E")}
  .why .item:nth-child(2){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z'/%3E%3Cpath d='M7 10v12'/%3E%3C/g%3E%3C/svg%3E")}
  .why .item:nth-child(3){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cline x1='10' x2='14' y1='2' y2='2'/%3E%3Cline x1='12' x2='15' y1='14' y2='11'/%3E%3Ccircle cx='12' cy='14' r='8'/%3E%3C/g%3E%3C/svg%3E")}
  .why .item:nth-child(4){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/g%3E%3C/svg%3E")}
  .why .item:nth-child(5){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5'/%3E%3Cpath d='M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244'/%3E%3Cpath d='M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05'/%3E%3C/g%3E%3C/svg%3E")}
  .why .item:nth-child(6){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cline x1='2' x2='22' y1='10' y2='10'/%3E%3C/g%3E%3C/svg%3E")}
  #ai .split>div:not(.photo){--pat-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(5.0000000,5.0000000) scale(0.9166667)'%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E")}
  .how .item::before,.why .item::before,.svc .item::before,.card::before,.find-panel::before,.r::before,.empty::before,.split>div:not(.photo)::before,.info::before,#book::before{
    content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
    background:var(--acc);
    -webkit-mask-image:var(--pat-icon),linear-gradient(to top left,rgba(0,0,0,.5) 0%,rgba(0,0,0,.5) 22%,rgba(0,0,0,0) 55%);
    -webkit-mask-size:32px 32px,100% 100%;
    -webkit-mask-position:right bottom,0 0;
    -webkit-mask-repeat:repeat,no-repeat;
    -webkit-mask-composite:source-in;
    mask-image:var(--pat-icon),linear-gradient(to top left,rgba(0,0,0,.5) 0%,rgba(0,0,0,.5) 22%,rgba(0,0,0,0) 55%);
    mask-size:32px 32px,100% 100%;
    mask-position:right bottom,0 0;
    mask-repeat:repeat,no-repeat;
    mask-composite:intersect
  }
  @supports not ((mask-image:linear-gradient(#000,transparent)) or (-webkit-mask-image:linear-gradient(#000,transparent))){
    .how .item::before,.why .item::before,.svc .item::before,.card::before,.find-panel::before,.r::before,.empty::before,.split>div:not(.photo)::before,.info::before,#book::before{display:none}
  }

  @media (max-width:960px){
    .hero .grid{grid-template-columns:1fr}
    .hero-foto{max-width:320px;height:440px;margin:0 auto}
    .cards{grid-template-columns:repeat(2,1fr)}
    .how,.svc,.why{grid-template-columns:repeat(2,1fr)}
    .res{grid-template-columns:repeat(2,1fr)}
    .gal{grid-template-columns:repeat(3,1fr)}
    .contact,.split{grid-template-columns:1fr}
    .split .photo img{height:300px}
    h1{font-size:2.2rem}
  }
  @media (max-width:620px){
    .nav a.nlink,.nav .cta{display:none}
    #burger{display:block}
    .cards,.how,.svc,.why,.res{grid-template-columns:1fr}
    .gal{grid-template-columns:repeat(2,1fr)}
    section{padding:50px 0}
    .lb .prev{left:6px}
    .lb .next{right:6px}
  }


/* ---------- multi-page additions ---------- */
.crumbs{padding:16px 0 0}
.crumbs .wrap{font-size:.84rem;color:var(--mut);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crumbs a{color:var(--acc2);font-weight:600}
.crumbs span.sep{opacity:.5}
.crumbs [aria-current="page"]{color:var(--txt)}
[aria-current="page"].nlink,[aria-current="page"].mlink{color:var(--txt) !important}
a.card{color:inherit}
.explore .cards{margin-top:6px}
.page-hero{padding:40px 0 0}
main>section:first-child{padding-top:52px}
.legal{padding:44px 0 80px}
.legal h2{margin:30px 0 10px;font-size:1.45rem}
.legal h3{margin:18px 0 6px;font-size:1.12rem}
.legal p,.legal li{color:var(--mut)}
.legal ul{margin:10px 0 10px 22px}
.legal .updated{color:var(--mut);font-size:.9rem;margin-top:8px}
.legal .intro{color:var(--txt)}
.legal a{color:var(--acc2);text-decoration:underline}
.foot-links{display:flex;gap:8px 18px;flex-wrap:wrap;margin-bottom:12px}
.foot-links a,.foot-legal a{color:var(--acc2);font-weight:600}
.foot-links a:hover,.foot-legal a:hover{color:var(--vio2)}
.foot-legal{display:flex;gap:16px;margin-top:8px}
footer .wrap{align-items:flex-start}
@media(max-width:620px){footer .wrap{flex-direction:column}}

/* per-shop hue */
:root,html[data-theme="dark"],html[data-theme="light"]{--acc:#305cff;--acc2:#573dff;--red:#573dff;--vio:#573dff;--acc-soft:rgba(48,92,255,0.15);--acc-line:rgba(48,92,255,0.42);--acc-glow:rgba(48,92,255,0.35);--vio-soft:rgba(87,61,255,0.14);--vio-line:rgba(87,61,255,0.38);}
