@import url("https://fonts.googleapis.com/css2?family=Marcellus&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400;1,6..72,500&display=swap");
/* Kiron site prototype · shared base. Landing palette (not product tokens). */
:root{
  --pet-900:#1F2326; --pet-800:#2A2F33; --pet-700:#145A60; --teal:#145A60; --teal-200:#DADFE0; --teal-100:#EEF1F1;
  --paper:#F5F6F6; --warm:#FFFFFF; --sun:#9FC7C3; --sun-200:#EFF0F1; --ink:#1A1D1F; --muted:#5E6366; --line:#E5E7E8; --cool-50:#F8F8F8; --cool-100:#EFF0F1; --cool-200:#E2E4E5;
  --ui-ink:#1C1C1E; --ui-2:#6B6B70; --ui-line:#E6E6EA; --ui-accent:#145A60; --ui-chip:#E8EFEE;
  --shadow:0 18px 50px rgba(20,24,26,.16), 0 2px 8px rgba(20,24,26,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Figtree,system-ui,sans-serif;color:var(--ink);background:var(--warm);overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:var(--pet-900);letter-spacing:-.025em}
a{color:inherit}
button{font:inherit}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:26px;padding:16px 48px;transition:background .3s, box-shadow .3s}
.nav.solid{background:rgba(255,255,255,.88);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.nav.dark:not(.solid) .logo,.nav.dark:not(.solid) a.l{color:#fff}
.nav .logo{font-family:"Plus Jakarta Sans";font-weight:800;font-size:22px;color:var(--pet-900);text-decoration:none;display:flex;align-items:center;gap:8px}
.nav .logo i{width:26px;height:26px;border-radius:8px;background:var(--pet-700);display:grid;place-items:center;color:#fff;font-style:normal;font-size:15px}
.nav .sp{flex:1}
.nav a.l{font-size:15px;color:#3A4545;text-decoration:none}
.nav a.l:hover{color:var(--pet-900)}
.nav a.l.on{color:var(--pet-900);font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 22px;font:600 15px Figtree;border:0;cursor:pointer;text-decoration:none;transition:transform .2s, box-shadow .2s}
.btn:hover{transform:translateY(-1px)}
.btn.p{background:var(--pet-700);color:#fff}
.btn.g{background:transparent;color:var(--pet-900);box-shadow:inset 0 0 0 1.5px rgba(20,24,26,.3)}
.btn.w{background:#fff;color:var(--pet-900)}
.btn.gw{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.btn.sm{padding:9px 16px;font-size:14px}

/* LAYOUT */
section{position:relative}
.std{padding:130px 48px}
.wrap{max-width:1240px;margin:0 auto}
.eyebrow{font:400 13px Marcellus,serif;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.serif{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.01em}
.numeral{font:italic 400 18px Newsreader,Georgia,serif;color:var(--teal)}
.grav{display:block;max-width:100%;height:auto;pointer-events:none;user-select:none}
.caption{font:italic 400 14px Newsreader,Georgia,serif;color:var(--muted)}
.dark .caption{color:rgba(236,238,239,.6)}
.dark .eyebrow,.eyebrow.l{color:var(--sun)}
h1{font-size:clamp(42px,5.6vw,80px);line-height:1;font-weight:800}
h2{font-size:clamp(34px,4.2vw,56px);line-height:1.04;font-weight:800}
h3{font-size:24px;line-height:1.15;font-weight:700}
.lead{font-size:20px;line-height:1.55;color:#3A4545;max-width:640px;margin-top:18px}
.dark{background:var(--pet-900);color:#ECEEEF}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark .lead{color:rgba(236,238,239,.8)}
.pin{position:sticky;top:0;height:100vh;overflow:hidden}
.warn{display:inline-flex;gap:6px;align-items:center;font:500 12.5px Figtree;color:#4F5558;background:var(--cool-100);border-radius:6px;padding:4px 8px}
.dark .warn{background:rgba(159,199,195,.15);color:var(--sun)}

/* LOOSE UI ELEMENTS (no device frame) */
.u{font-family:Inter,-apple-system,system-ui,sans-serif;color:var(--ui-ink);background:#fff;border-radius:20px;box-shadow:var(--shadow);font-size:14px}
.u-card{padding:16px 18px}
.u-t{font:600 15px Inter;letter-spacing:-.01em}
.u-s{font:400 13px Inter;color:var(--ui-2);margin-top:2px}
.u-row{display:flex;align-items:center;gap:12px;padding:12px 16px}
.u-row + .u-row{border-top:1px solid var(--ui-line)}
.u-av{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;font:600 13px Inter;color:#fff}
.u-chip{display:inline-flex;align-items:center;gap:4px;font:500 12px Inter;padding:4px 10px;border-radius:999px;background:var(--ui-chip);color:var(--ui-accent)}
.u-chip.warm{background:#F0F1F1;color:#4F5558}
.u-chip.ok{background:#E3F4E8;color:#1E7A3C}
.u-chip.gray{background:#F0F0F2;color:#555}
.u-pill{color:var(--ui-ink);display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:10px 16px 10px 10px;box-shadow:var(--shadow);font:600 14px Inter;color:var(--ui-ink);white-space:nowrap}
.u-pill .k{width:26px;height:26px;border-radius:8px;background:var(--pet-700);color:#fff;font:800 13px "Plus Jakarta Sans";display:grid;place-items:center}
.u-notif{color:var(--ui-ink);display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:20px;padding:12px 16px 12px 12px;box-shadow:var(--shadow);font-family:Inter;min-width:280px}
.u-notif .k{width:38px;height:38px;border-radius:10px;background:var(--pet-700);color:#fff;font:800 17px "Plus Jakarta Sans";display:grid;place-items:center;flex:none}
.u-notif b{display:block;font:600 14px Inter}
.u-notif span{font:400 13px Inter;color:var(--ui-2)}
.u-notif em{margin-left:auto;font:400 12px Inter;color:var(--ui-2);font-style:normal;align-self:flex-start}
.u-btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;border-radius:999px;background:var(--ui-accent);color:#fff;font:600 14px Inter;padding:11px 18px}
.u-seg{display:inline-flex;background:#EFEFF1;border-radius:999px;padding:3px;font:600 13px Inter}
.u-seg span{padding:7px 14px;border-radius:999px;color:var(--ui-2);cursor:pointer;transition:all .3s}
.u-seg span.on{background:#fff;color:var(--ui-ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.u-check{width:22px;height:22px;border-radius:50%;border:2px solid #C9C9CF;flex:none;display:grid;place-items:center;transition:all .3s}
.u-check.on{background:var(--ui-accent);border-color:var(--ui-accent)}
.u-check.on::after{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.u-bar{height:6px;border-radius:6px;background:#EEE;overflow:hidden}
.u-bar i{display:block;height:100%;background:var(--teal);border-radius:6px;transition:width .6s}
.u-label{font:600 12px Inter;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-2)}

/* REVEAL + PARALLAX */
.rv{opacity:0;transform:translateY(28px);will-change:opacity,transform}
.rv.seen{opacity:1;transform:none}
[data-speed]{will-change:transform}

/* CONVERSION */
.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0 0}
.step3{border-radius:22px;padding:22px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.step3 small{font:600 12px Figtree;color:var(--sun);letter-spacing:.04em;text-transform:uppercase}
.step3 h4{color:#fff;font-size:19px;margin:8px 0 6px}
.step3 p{font-size:14.5px;line-height:1.5;color:rgba(236,238,239,.75)}
.step3.main{background:#fff;box-shadow:none}
.step3.main h4{color:var(--pet-900)}.step3.main p{color:var(--muted)}.step3.main small{color:#145A60}
form.f{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.f label{display:grid;gap:6px;font:600 13px Figtree;color:rgba(236,238,239,.85)}
form.f .full{grid-column:1/-1}
form.f input,form.f select{font:500 15px Figtree;padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;outline:none}
form.f input::placeholder{color:rgba(255,255,255,.4)}
form.f input:focus{border-color:var(--sun)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts span{cursor:pointer;font:500 14px Figtree;padding:9px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);color:#fff;transition:all .2s}
.opts span.on{background:#fff;color:var(--pet-900)}
.sent{display:none;font:600 16px Figtree;color:var(--sun)}
form.f.done .sent{display:block}

/* FOOTER */
footer{padding:56px 48px 40px;background:var(--paper);font-size:14px;color:var(--muted)}
footer .cols{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
footer h5{font:700 13px Figtree;color:var(--pet-900);margin-bottom:12px}
footer a{display:block;text-decoration:none;margin-bottom:8px}
footer a:hover{color:var(--pet-900)}
footer .fine{max-width:1240px;margin:36px auto 0;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;padding-right:200px}
.proto{position:fixed;right:16px;bottom:16px;z-index:60;background:var(--pet-900);color:#fff;font:600 12px Figtree;padding:8px 12px;border-radius:999px;opacity:.85;text-decoration:none}

@media (max-width:900px){
  .nav{padding:14px 20px;gap:12px}
  .nav a.l{display:none}
  .std{padding:90px 22px}
  .ladder{grid-template-columns:1fr}
  form.f{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr 1fr}
  footer .fine{padding-right:0;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  [data-speed]{transform:none!important}
}

/* PLATE · engraving composed in an arched frame with caption (replaces loose figures) */
.plate-wrap{position:relative;justify-self:center;width:min(420px,100%)}
.plate{position:relative;aspect-ratio:4/5;border-radius:999px 999px 6px 6px;background:var(--cool-50);border:1px solid var(--line);overflow:hidden}
.plate::after{content:"";position:absolute;inset:10px;border-radius:999px 999px 2px 2px;border:1px solid var(--line);pointer-events:none}
.plate > img{position:absolute;left:50%;bottom:-2px;height:90%;width:auto;max-width:none;transform:translateX(-50%)}
.plate.dk{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
.plate.dk::after{border-color:rgba(255,255,255,.1)}
.plate-cap{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font:italic 400 14px Newsreader,Georgia,serif;color:var(--muted)}
.plate-cap b{font:400 11px Marcellus,serif;letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--teal)}
.dark .plate-cap,.plate-wrap.on-dark .plate-cap{color:rgba(236,238,239,.6)}
.dark .plate-cap b,.plate-wrap.on-dark .plate-cap b{color:var(--sun)}
.plate-wrap .att{position:absolute;z-index:2}
.att.tl{left:-64px;top:18%}.att.tr{right:-56px;top:12%}.att.bl{left:-56px;bottom:22%}.att.br{right:-48px;bottom:20%}
@media (max-width:900px){.plate-wrap{width:min(320px,82%)}.att.tl,.att.bl{left:-28px}.att.tr,.att.br{right:-28px}}
.plate img,img.grav{filter:grayscale(1) contrast(1.04)}
.ic-g{filter:grayscale(1)}

/* GLASS + MESH (2026-11-02): light mesh gradients behind the product UI, frosted cards over them.
   The rest of the page stays flat; only areas that hold UI get the mesh. */
:root{--glass:rgba(255,255,255,.68);--glass-strong:rgba(255,255,255,.72);--glass-edge:rgba(255,255,255,.85);--glass-shadow:0 18px 50px rgba(20,24,26,.10),0 2px 8px rgba(20,24,26,.05)}
.u,.u-notif,.u-pill{backface-visibility:hidden;background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);box-shadow:var(--glass-shadow),inset 0 0 0 1px var(--glass-edge),inset 0 1px 0 rgba(255,255,255,.95)}
.u-notif{background:var(--glass-strong)}
.u-seg{background:rgba(255,255,255,.45);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(20,24,26,.06)}
.u-seg span.on{background:rgba(255,255,255,.92)}
.mesh{isolation:isolate}
.mesh:not(.pin){position:relative}
section:has(.mesh),section.mesh{overflow-x:clip}
.mesh::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:var(--mx,50%);top:var(--my,50%);width:var(--mw,720px);height:var(--mh,560px);transform:translate(-50%,-50%);
  background:
    radial-gradient(48% 52% at 28% 32%,rgba(20,90,96,.2),rgba(20,90,96,.08) 40%,transparent 100%),
    radial-gradient(46% 50% at 74% 28%,rgba(159,199,195,.48),rgba(159,199,195,.18) 45%,transparent 100%),
    radial-gradient(52% 54% at 62% 76%,rgba(176,196,214,.44),rgba(176,196,214,.16) 45%,transparent 100%),
    radial-gradient(40% 44% at 22% 78%,rgba(214,222,206,.5),rgba(214,222,206,.18) 45%,transparent 100%);
  opacity:.9}
.dark .mesh::before,.mesh.dark::before{opacity:.35}
@media (prefers-reduced-transparency:reduce){.u,.u-notif,.u-pill{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
/* On dark grounds the light glass turns grey and kills contrast: cards stay near-opaque white there. */
.dark :is(.u,.u-notif,.u-pill),.on-dark :is(.u,.u-notif,.u-pill){background:rgba(255,255,255,.96);box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.9)}
.dark .mesh::before,.mesh.dark::before{display:none}

/* CONTACT DIALOG: the page forms live in a native dialog opened by the CTA buttons */
.dlg{margin:auto;border:0;padding:0;border-radius:28px;background:var(--pet-900);color:#ECEEEF;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 40px 120px rgba(0,0,0,.35)}
.dlg::backdrop{background:rgba(20,24,26,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dlg .in{padding:32px 32px 30px;display:grid;gap:22px}
.dlg .hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.dlg h3{color:#fff;font-size:26px}
.dlg .hd p{color:rgba(236,238,239,.75);margin-top:6px;font-size:15px;line-height:1.5}
.dlg .x{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;font:400 20px/1 Figtree;cursor:pointer}
.dlg .x:hover{background:rgba(255,255,255,.18)}
.dlg[open]{animation:dlgIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes dlgIn{from{opacity:0;transform:translateY(16px) scale(.98)}}
@media (max-width:600px){.dlg .in{padding:24px 20px}}
@media (prefers-reduced-motion:reduce){.dlg[open]{animation:none}}
