/* =========================================================
   with emrahkisa, B2B Travel Product Hub
   Design system / tokens
   ========================================================= */

:root{
  /* Brand palette (supplied) */
  --ink:#0b1f33;
  --ink-deep:#111417;
  --coral:#ff355e;
  --coral-deep:#e01e46;   /* button fills: white text passes AA */
  --navy-deep:#081726;    /* darker sibling of --ink for deep sections */
  --ink-65:rgba(11,31,51,.65);
  --sand:#e9ddcc;
  --mint:#bfd8b4;
  --paper:#f7f5f0;
  --white:#ffffff;

  /* Derived surfaces */
  --ink-90:rgba(11,31,51,.90);
  --ink-70:rgba(11,31,51,.70);
  --ink-55:rgba(11,31,51,.55);
  --ink-40:rgba(11,31,51,.40);
  --ink-16:rgba(11,31,51,.16);
  --ink-10:rgba(11,31,51,.10);
  --ink-06:rgba(11,31,51,.06);
  --paper-60:rgba(247,245,240,.6);
  --paper-70:rgba(247,245,240,.70);
  --paper-45:rgba(247,245,240,.45);
  --paper-16:rgba(247,245,240,.16);
  --paper-10:rgba(247,245,240,.10);
  --amber:#f2b45c;           /* cabin ambient light, used only as glow */

  /* Type */
  --f-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --t-display:clamp(2.6rem,7.2vw,5.6rem);
  --t-h1:clamp(2.2rem,5.4vw,4.2rem);
  --t-h2:clamp(1.75rem,3.6vw,3rem);
  --t-h3:clamp(1.25rem,2vw,1.65rem);
  --t-lead:clamp(1.02rem,1.35vw,1.25rem);
  --t-body:1rem;
  --t-small:.875rem;
  --t-meta:.72rem;

  /* Space */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem;
  --sp-6:2rem;  --sp-7:3rem;  --sp-8:4rem;  --sp-9:6rem;  --sp-10:8rem;
  --gutter:clamp(1.15rem,4vw,3.5rem);
  --bite:3.4rem;
  --maxw:1360px;
  --maxw-text:64ch;

  --r-xs:2px; --r-sm:4px; --r-md:8px; --r-lg:14px; --r-pill:999px;

  --shadow-sm:0 1px 2px rgba(11,31,51,.06),0 4px 16px rgba(11,31,51,.05);
  --shadow-md:0 12px 40px rgba(11,31,51,.10);
  --shadow-lg:0 30px 80px rgba(11,31,51,.16);

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur-1:.18s; --dur-2:.35s; --dur-3:.6s; --dur-4:.9s;

  --z-nav:100; --z-menu:120; --z-drawer:140; --z-modal:160; --z-toast:180;
  --header-h:64px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--f-sans);font-size:var(--t-body);line-height:1.6;
  font-weight:400;letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,figure,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
hr{border:0;border-top:1px solid var(--ink-10);margin:0}
::selection{background:var(--coral);color:var(--white)}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:var(--r-xs)}
.section--dark :focus-visible,.section--deep :focus-visible,.hero :focus-visible{outline-color:var(--mint)}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:var(--paper);padding:.75rem 1.25rem}
.skip:focus{left:1rem;top:1rem}

/* ---------- Typography utilities ---------- */
.display{font-size:var(--t-display);line-height:.94;font-weight:800;letter-spacing:-.042em}
.h1{font-size:var(--t-h1);line-height:1.02;font-weight:800;letter-spacing:-.038em}
.h2{font-size:var(--t-h2);line-height:1.06;font-weight:800;letter-spacing:-.034em}
.h3{font-size:var(--t-h3);line-height:1.2;font-weight:700;letter-spacing:-.02em}
.lead{font-size:var(--t-lead);line-height:1.5;color:var(--ink-70);font-weight:400;max-width:56ch}
.small{font-size:var(--t-small)}
.muted{color:var(--ink-65)}
.section--dark .muted,.section--deep .muted{color:var(--paper-45)}
.section--dark .eyebrow,.section--deep .eyebrow{color:var(--paper-70)}
.balance{text-wrap:balance}

.eyebrow{
  font-family:var(--f-mono);font-size:var(--t-meta);font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-55);
  display:flex;align-items:center;gap:.6rem;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--coral);flex:none}
.eyebrow--light{color:var(--paper-70)}
.mono{font-family:var(--f-mono);font-size:var(--t-meta);letter-spacing:.12em;text-transform:uppercase}

/* Connection line: journey . experience . access */
.connline{display:block;width:100%;max-width:540px;height:auto;margin-top:.45rem;overflow:visible}
.connline__path{fill:none;stroke:var(--coral);stroke-width:1.6;stroke-linecap:round;
  stroke-dasharray:520;stroke-dashoffset:520}
.is-in .connline__path{animation:conndraw 1.4s var(--ease-out) .3s forwards}
.connline__node{fill:var(--navy-deep);stroke:var(--coral);stroke-width:1.6;opacity:0;transform-origin:center}
.is-in .connline__node{animation:connnode .5s var(--ease-out) forwards}
.connline .n1{animation-delay:.35s}
.connline .n2{animation-delay:.95s;stroke:var(--mint)}
.connline .n3{animation-delay:1.55s}
.connline .n3{fill:var(--coral)}
@keyframes conndraw{to{stroke-dashoffset:0}}
@keyframes connnode{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  .connline__path{stroke-dashoffset:0;animation:none}
  .connline__node{opacity:1;animation:none}
}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(3.5rem,8vw,7.5rem)}
.section--tight{padding-block:clamp(2.5rem,5vw,4.5rem)}
.section--dark{background:var(--ink);color:var(--paper);position:relative;isolation:isolate}
.section--dark+.section--deep,.section--deep+.section--dark{border-top:1px solid var(--paper-10)}
.section--dark .lead,.section--deep .lead,.hero .lead,.success .lead{color:var(--paper-70)}
.section--deep{background:var(--navy-deep);color:var(--paper)}
.section--sand{background:var(--sand)}
.section--dark::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(70% 55% at 80% 0%,rgba(242,180,92,.14),transparent 60%),
             radial-gradient(50% 40% at 0% 100%,rgba(191,216,180,.10),transparent 65%);
}
.sec-head{display:flex;flex-direction:column;gap:var(--sp-4);margin-bottom:clamp(2rem,4vw,3.5rem)}
.sec-head__row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--sp-5)}
.grid{display:grid;gap:clamp(1rem,1.8vw,1.75rem)}
.divider{height:1px;background:var(--ink-10)}
.section--dark .divider,.section--deep .divider{background:var(--paper-10)}
.section--dark .pcard__meta,.section--deep .pcard__meta{border-color:var(--ink-10)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.65rem;
  padding:.95rem 1.5rem;border-radius:var(--r-xs);
  font-weight:700;font-size:.92rem;letter-spacing:-.01em;
  border:1px solid transparent;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),transform var(--dur-1) var(--ease);
  position:relative;white-space:nowrap;
}
.btn svg{flex:none;transition:transform var(--dur-2) var(--ease-out)}
.btn:hover svg{transform:translateX(5px)}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--coral-deep);color:var(--white)}
.btn--primary:hover{background:var(--coral-deep)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ink:hover{background:#16304d}
.btn--ghost{border-color:var(--ink-16);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn--light{border-color:var(--paper-16);color:var(--paper)}
.btn--light:hover{background:var(--paper);color:var(--ink)}
.btn--sm{padding:.6rem 1rem;font-size:.82rem}
.btn--block{width:100%;justify-content:center}
.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.92rem;border-bottom:1px solid var(--ink-16);padding-bottom:2px}
.link-arrow svg{transition:transform var(--dur-2) var(--ease-out)}
.link-arrow:hover{border-color:var(--coral)}
.section--dark .link-arrow,.section--deep .link-arrow{border-color:var(--paper-16)}
.link-arrow:hover svg{transform:translateX(5px)}

/* ---------- Badges / chips ---------- */
.badge{
  display:inline-flex;align-items:center;gap:.35rem;
  font-family:var(--f-mono);font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  padding:.34rem .55rem;border-radius:var(--r-xs);background:var(--ink);color:var(--paper);
}
.badge--signature{background:var(--coral)}
.badge--soft{background:var(--mint);color:var(--ink)}
.badge--sand{background:var(--sand);color:var(--ink)}
.badge--outline{background:transparent;border:1px solid var(--ink-16);color:var(--ink-70)}
.section--dark .badge--outline,.section--deep .badge--outline{border-color:var(--paper-16);color:var(--paper-70)}
.chip{
  display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border-radius:var(--r-pill);
  border:1px solid var(--ink-16);background:var(--white);font-size:.85rem;font-weight:600;
  transition:all var(--dur-1) var(--ease);white-space:nowrap;
}
.chip:hover{border-color:var(--ink);transform:translateY(-1px)}
.chip[aria-pressed="true"],.chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip--light{background:var(--paper-10);border-color:var(--paper-16);color:var(--paper)}
.chip--light[aria-pressed="true"]{background:var(--paper);color:var(--ink)}
.chip svg{width:16px;height:16px;flex:none;opacity:.75}

/* =========================================================
   Header
   ========================================================= */
.header{
  position:fixed;inset:0 0 auto 0;z-index:var(--z-nav);
  transition:background var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease);
  border-bottom:1px solid transparent;
}
.header__inner{
  height:var(--header-h);display:flex;align-items:center;gap:var(--sp-5);
  max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);
}
.header.is-solid{background:rgba(247,245,240,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--ink-10)}
.header.is-solid .nav__link,.header.is-solid .lang__btn,.header.is-solid .burger{color:var(--ink)}
.header.on-dark:not(.is-solid) .nav__link,
.header.on-dark:not(.is-solid) .lang__btn,
.header.on-dark:not(.is-solid) .burger{color:var(--paper)}
.header.on-dark:not(.is-solid) .nav__auth{color:var(--paper);border-color:var(--paper-16)}
.header.on-dark:not(.is-solid) .nav__auth:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.header.is-solid .iconbtn{color:var(--ink);border-color:var(--ink-16)}
.header.is-solid .lang{border-color:var(--ink-16)}
.brand{display:flex;align-items:center;flex:none;padding-block:.5rem}
.brand img{height:34px;width:auto}
.header.is-solid .brand__light,.header:not(.on-dark) .brand__light{display:none}
.header.on-dark:not(.is-solid) .brand__dark{display:none}
.nav{display:flex;align-items:center;gap:clamp(.5rem,1.6vw,1.6rem);margin-left:auto}
.nav__link{
  position:relative;font-size:.9rem;font-weight:600;padding:.5rem 0;letter-spacing:-.01em;
  display:inline-flex;align-items:center;gap:.35rem;
}
.nav__link::after{content:"";position:absolute;left:0;right:100%;bottom:.15rem;height:1.5px;background:var(--coral);transition:right var(--dur-2) var(--ease-out)}
.nav__link:hover::after,.nav__link[aria-current="page"]::after{right:0}
.header__actions{display:flex;align-items:center;gap:var(--sp-2);margin-left:var(--sp-4)}
.nav__auth .iconbtn__dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--mint);display:none}
.nav__auth.is-auth .iconbtn__dot{display:block}
/* the 8-link desktop nav only fits comfortably >=1280; below that use the
   burger drawer, keeping search / account / request reachable in the bar */
@media (max-width:1319px){
  .nav{display:none}
  .header__actions .lang{display:none}
}
.lang{display:flex;align-items:center;gap:.15rem;border:1px solid var(--ink-16);border-radius:var(--r-pill);padding:.2rem}
.header.on-dark:not(.is-solid) .lang{border-color:var(--paper-16)}
.header.on-dark:not(.is-solid) .brand img{filter:none}
.lang__btn{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;padding:.35rem .5rem;border-radius:var(--r-pill);font-weight:500;transition:all var(--dur-1) var(--ease)}
.lang__btn[aria-pressed="true"]{background:var(--coral);color:var(--white)}
.burger{display:none;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--ink-16);border-radius:var(--r-xs)}
@media (max-width:1319px){.burger{display:flex}}
.burger span{display:block;width:18px;height:1.5px;background:currentColor;position:relative;transition:transform var(--dur-2) var(--ease)}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform var(--dur-2) var(--ease)}
.burger span::before{top:-6px}.burger span::after{top:6px}

/* Mega menu */
.mega{
  position:absolute;left:0;right:0;top:var(--header-h);
  background:var(--paper);border-bottom:1px solid var(--ink-10);
  box-shadow:var(--shadow-md);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease),visibility var(--dur-2);
}
.mega.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.mega__inner{max-width:var(--maxw);margin-inline:auto;padding:2.25rem var(--gutter) 2.5rem;display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(1.5rem,4vw,4rem)}
.mega__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem 2rem}
.mega__item{display:flex;flex-direction:column;padding:.6rem .7rem;border-radius:var(--r-sm);transition:background var(--dur-1) var(--ease)}
.mega__item:hover{background:var(--ink-06)}
.mega__item b{font-size:.94rem;font-weight:700}
.mega__item span{font-size:.79rem;color:var(--ink-65)}
.mega__side{background:var(--ink);color:var(--paper);border-radius:var(--r-sm);padding:1.6rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}

/* Mobile drawer */
.drawer{
  position:fixed;inset:0;z-index:var(--z-drawer);background:var(--ink);color:var(--paper);
  display:flex;flex-direction:column;padding:var(--gutter);
  transform:translateY(-100%);transition:transform var(--dur-3) var(--ease-out);overflow-y:auto;
}
.drawer.is-open{transform:translateY(0)}
.drawer__top{display:flex;align-items:center;justify-content:space-between;height:calc(var(--header-h) - var(--gutter) + 20px)}
.drawer__close{width:42px;height:42px;border:1px solid var(--paper-16);border-radius:var(--r-xs);display:grid;place-items:center;font-size:1.2rem}
.drawer__nav{display:flex;flex-direction:column;gap:.2rem;margin-top:1.5rem}
.drawer__nav a{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;padding:.55rem 0;border-bottom:1px solid var(--paper-10);display:flex;justify-content:space-between;align-items:center}
.drawer__foot{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;gap:1rem}

/* =========================================================
   Hero
   ========================================================= */
.hero{position:relative;background:var(--navy-deep);color:var(--paper);overflow:hidden;isolation:isolate}
.hero__grid{
  max-width:var(--maxw);margin-inline:auto;width:calc(100% - 2*var(--gutter));
  display:grid;grid-template-columns:1.12fr .88fr;
  min-height:min(86vh,840px);
  min-height:min(86svh,840px);
}
.hero__copy{padding:calc(var(--header-h) + clamp(2.4rem,4.2vw,3.4rem)) 0 clamp(4.4rem,6.5vw,5.2rem);display:flex;flex-direction:column;justify-content:center;gap:.95rem;position:relative}
.hero h1{font-size:clamp(2.8rem,5.4vw,4.35rem);line-height:.96;font-weight:800;letter-spacing:-.045em;text-shadow:0 2px 22px rgba(8,23,38,.35)}
.hero h1 em{font-style:normal;color:var(--coral)}
.hero__sub{font-size:clamp(.95rem,1.05vw,1.08rem);color:var(--paper-70);max-width:56ch;margin-top:.55rem;text-shadow:0 1px 14px rgba(8,23,38,.3)}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-2)}
.hero__media{position:static;overflow:visible;background:transparent}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
/* slow cross-fade with a drifting scale, reads as film, not as a carousel */
.hero__media .slide{opacity:0;transform:scale(1.09);will-change:opacity,transform;
  transition:opacity 1.6s var(--ease),transform 9s linear}
.hero__media .slide.is-on{opacity:1;transform:scale(1)}
.hero__ticks{position:absolute;left:var(--gutter);bottom:var(--gutter);z-index:2;display:flex;gap:6px}
.hero__tick{width:26px;height:2px;background:var(--paper-16);border-radius:2px;overflow:hidden;position:relative}
.hero__tick span{position:absolute;inset:0;width:0;background:var(--coral);border-radius:2px}
.hero__tick.is-on span{width:100%;transition:width 6s linear}
.hero__tick.is-done span{width:100%}
.hero__stamp{
  position:absolute;right:var(--gutter);bottom:var(--gutter);z-index:2;
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--paper);background:rgba(11,31,51,.55);backdrop-filter:blur(6px);
  border:1px solid var(--paper-16);padding:.45rem .7rem;border-radius:var(--r-xs);
}

.rotator{display:flex;align-items:center;gap:.7rem;min-height:2.1rem;flex-wrap:wrap}
.rotator__label{font-family:var(--f-mono);font-size:var(--t-meta);letter-spacing:.18em;text-transform:uppercase;color:var(--paper-60)}
.rotator__slot{position:relative;display:inline-block;height:1.55rem;overflow:hidden}
.rotator__word{display:block;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--mint);
  white-space:nowrap;transform:translateY(0);opacity:1;transition:transform .5s var(--ease-out),opacity .5s var(--ease-out)}
.rotator__word.is-out{transform:translateY(-110%);opacity:0}
.rotator__word.is-in-start{transform:translateY(110%);opacity:0;transition:none}

/* Intent bar (travel-tech moment under hero) */
.intentbar{background:transparent;color:var(--ink);position:relative;z-index:5;
  margin-top:calc(var(--bite) * -1);padding:0 var(--gutter)}
.intentbar__inner{max-width:var(--maxw);margin-inline:auto;padding:1rem 1.15rem;display:flex;align-items:center;gap:1rem;
  background:var(--paper);border:1px solid rgba(11,31,51,.14);border-radius:10px;
  box-shadow:0 30px 70px -28px rgba(4,12,20,.5), inset 0 2px 0 var(--coral)}
@media (max-width:880px){
  .intentbar{margin-top:1rem}
  .intentbar__inner{padding:1rem}
}
.intentbar__label{font-family:var(--f-mono);font-size:var(--t-meta);letter-spacing:.16em;text-transform:uppercase;color:rgba(11,31,51,.68);flex:none}
.intentbar__scroll{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding-block:.15rem}
.intentbar__scroll::-webkit-scrollbar{display:none}

/* =========================================================
   Cards / product grid
   ========================================================= */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(1rem,1.6vw,1.6rem)}
.pcard{
  display:flex;flex-direction:column;background:var(--white);border:1px solid var(--ink-10);
  border-radius:var(--r-sm);overflow:hidden;position:relative;
  transition:border-color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease);
}
.pcard:hover{border-color:var(--ink-40);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.pcard__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink)}
.pcard__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-4) var(--ease-out)}
.pcard:hover .pcard__media img{transform:scale(1.045)}
.pcard__badges{position:absolute;left:.7rem;top:.7rem;display:flex;gap:.3rem;flex-wrap:wrap;z-index:2}
.pcard__body{padding:1.05rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.pcard__cat{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.pcard__title{font-size:1.06rem;font-weight:700;line-height:1.24;letter-spacing:-.022em;text-wrap:balance}
.pcard__desc{font-size:.86rem;color:var(--ink-65);line-height:1.45}
.pcard__meta{margin-top:auto;padding-top:.85rem;border-top:1px solid var(--ink-10);display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-65)}
.pcard__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.7rem}
.pcard__rate{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.pcard__go{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700}
.pcard__go svg{transition:transform var(--dur-2) var(--ease-out)}
.pcard:hover .pcard__go svg{transform:translateX(4px)}
.pcard__link{position:absolute;inset:0;z-index:3}

/* Generated art (no stock photography) */
.art{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.art svg{width:62%;height:auto;opacity:.9}
.art::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 70% 20%,rgba(255,255,255,.12),transparent 70%)}
.art--ink{background:linear-gradient(150deg,#0b1f33,#16304d)}
.art--ink svg{stroke:var(--sand)}
.art--deep{background:linear-gradient(150deg,#111417,#22262b)}
.art--deep svg{stroke:var(--mint)}
.art--sand{background:linear-gradient(150deg,#e9ddcc,#dccdb6)}
.art--sand svg{stroke:var(--ink)}
.art--mint{background:linear-gradient(150deg,#bfd8b4,#a9c99c)}
.art--mint svg{stroke:var(--ink)}
.art--coral{background:linear-gradient(150deg,#ff355e,#d81f47)}
.art--coral svg{stroke:var(--paper)}
.art svg{fill:none;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.art__code{position:absolute;right:.7rem;bottom:.6rem;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;opacity:.55}
.art--sand .art__code,.art--mint .art__code{color:var(--ink)}
.art--ink .art__code,.art--deep .art__code,.art--coral .art__code{color:var(--paper)}

/* Editorial category tiles */
.uni{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.75rem,1.2vw,1.25rem)}
.uni__tile{
  position:relative;grid-column:span 4;min-height:280px;border-radius:var(--r-sm);overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;color:var(--paper);isolation:isolate;
  transition:transform var(--dur-2) var(--ease-out);
}
.uni__tile:hover{transform:translateY(-4px)}
.uni__tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform var(--dur-4) var(--ease-out)}
.uni__tile:hover img{transform:scale(1.05)}
.uni__tile::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(11,31,51,0) 25%,rgba(11,31,51,.55) 62%,rgba(11,31,51,.92) 100%)}
.uni__tile--a{grid-column:span 7;min-height:420px}
.uni__tile--b{grid-column:span 5;min-height:420px}
.uni__tile--c{grid-column:span 5}
.uni__tile--d{grid-column:span 3}
.uni__tile--e{grid-column:span 4}
.uni__tile--f{grid-column:span 12;min-height:220px}
.uni__tile h3{font-size:clamp(1.2rem,2vw,1.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.uni__tile p{font-size:.85rem;color:var(--paper-70);max-width:34ch;margin-top:.35rem}
.uni__tile .mono{color:var(--paper-45);margin-bottom:.5rem}
.uni__tile--flat{background:var(--ink)}
.uni__tile--flat.t-sand{background:var(--sand);color:var(--ink)}
.uni__tile--flat.t-sand p{color:var(--ink-55)}
.uni__tile--flat.t-sand .mono{color:var(--ink-40)}
.uni__tile--flat.t-mint{background:var(--mint);color:var(--ink)}
.uni__tile--flat.t-mint p{color:var(--ink-55)}
.uni__tile--flat.t-mint .mono{color:var(--ink-40)}
.uni__tile--flat.t-coral{background:var(--coral);color:var(--white)}
.uni__tile--flat.t-coral p{color:rgba(255,255,255,.8)}
.uni__tile--flat.t-coral .mono{color:rgba(255,255,255,.65)}
.uni__tile--flat::after{display:none}
.uni__tile .tile-glyph{position:absolute;right:-8%;top:-14%;width:58%;opacity:.16;z-index:-1;stroke:currentColor;fill:none;stroke-width:.9}

/* =========================================================
   Package builder (signature interaction)
   ========================================================= */
.builder{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,4vw,4rem);align-items:start}
.tiers{display:flex;flex-direction:column;gap:.5rem}
.tier{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;
  padding:1.05rem 1.15rem;border:1px solid var(--paper-16);border-radius:var(--r-sm);
  text-align:left;transition:all var(--dur-2) var(--ease);color:var(--paper);
}
.tier:hover{border-color:var(--paper-45)}
.tier[aria-pressed="true"]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.tier__idx{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;opacity:.6}
.tier__name{font-weight:800;letter-spacing:-.02em;font-size:1.02rem}
.tier__note{font-size:.78rem;opacity:.65;display:block;font-weight:400;letter-spacing:0}
.tier__val{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;opacity:.8}
.stack{position:relative;display:flex;flex-direction:column;gap:.5rem}
.stack__item{
  display:flex;align-items:center;gap:.95rem;padding:.9rem 1.05rem;border-radius:var(--r-sm);
  background:rgba(247,245,240,.04);border:1px solid var(--paper-16);
  opacity:0;transform:translateY(10px);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out),background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease);
}
.stack__item.is-on{opacity:1;transform:none;background:rgba(247,245,240,.07);border-color:var(--paper-45)}
.stack__item.is-new{background:rgba(255,53,94,.16);border-color:var(--coral);box-shadow:0 0 24px -8px rgba(255,53,94,.5)}
.stack__item svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.4;flex:none}
.stack__ico{width:38px;height:38px;flex:none;border-radius:var(--r-xs);display:grid;place-items:center;
  background:var(--sand);transition:background var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out)}
.stack__item.is-on .stack__ico{background:var(--coral)}
.stack__item.is-on .stack__ico svg{stroke:var(--white)}
.stack__item.is-new .stack__ico{transform:scale(1.08)}
.stack__item b{font-weight:700;font-size:.95rem;color:var(--paper)}
.stack__item span{font-size:.78rem;color:var(--paper-70);display:block}
.stack__meter{margin-top:1.25rem;display:flex;align-items:center;gap:1rem}
.stack__meter .mono{color:var(--paper-70)}
.stack__meter #meterVal{color:var(--paper)}
.meter{flex:1;height:4px;background:var(--paper-10);border-radius:var(--r-pill);overflow:hidden}
.meter__fill{height:100%;background:linear-gradient(90deg,var(--mint),var(--coral));width:25%;transition:width var(--dur-3) var(--ease-out)}

/* Ops flow */
.flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:.6rem}
.flow__step{
  flex:1 1 150px;padding:1.1rem;border:1px solid var(--paper-16);border-radius:var(--r-sm);
  display:flex;flex-direction:column;gap:.5rem;position:relative;background:rgba(247,245,240,.03);
}
.flow__step svg{width:22px;height:22px;stroke:var(--mint);fill:none;stroke-width:1.2}
.flow__step b{font-size:.92rem;font-weight:700}
.flow__step span{font-size:.75rem;color:var(--paper-70);line-height:1.45}

/* Intent tiles */
.intents{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.6rem}
.intent{
  display:flex;flex-direction:column;gap:.55rem;align-items:flex-start;
  padding:1.05rem;border:1px solid var(--ink-16);border-radius:var(--r-sm);background:var(--white);
  transition:all var(--dur-2) var(--ease);text-align:left;
}
.intent:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateY(-3px)}
.intent svg{width:22px;height:22px;stroke:var(--coral);fill:none;stroke-width:1.2}
.intent:hover svg{stroke:var(--mint)}
.intent b{font-size:.9rem;font-weight:700;letter-spacing:-.01em}
.intent span{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6}

/* Stat / feature rows */
.pros{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--ink-10);border:1px solid var(--ink-10);border-radius:var(--r-sm);overflow:hidden}
.pros__item{background:var(--paper);padding:1.4rem 1.2rem;display:flex;flex-direction:column;gap:.4rem}
.pros__item b{font-size:.98rem;font-weight:700}
.pros__item p{font-size:.85rem;color:var(--ink-65)}
.pros__item .mono{color:var(--coral)}
.section--sand .eyebrow{color:rgba(11,31,51,.68)}
.section--sand .lead{color:rgba(11,31,51,.72)}

/* Map / destinations */
.dests{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}
.dest{
  position:relative;padding:1.2rem;border-radius:var(--r-sm);border:1px solid var(--paper-16);
  display:flex;flex-direction:column;gap:.3rem;transition:all var(--dur-2) var(--ease);
}
.dest:hover{background:var(--paper-10);transform:translateY(-3px)}
.dest b{font-size:1.05rem;font-weight:700;letter-spacing:-.02em}
.dest span{font-size:.78rem;color:var(--paper-70)}
.dest .mono{color:var(--mint);font-size:.6rem;margin-bottom:.3rem}

/* =========================================================
   Product library
   ========================================================= */
.lib{display:grid;grid-template-columns:250px 1fr;gap:clamp(1.5rem,3vw,3rem);align-items:start}
.filters{position:sticky;top:calc(var(--header-h) + 1rem);display:flex;flex-direction:column;gap:1.4rem;max-height:calc(100vh - var(--header-h) - 3rem);overflow-y:auto;padding-right:.25rem}
.fgroup{display:flex;flex-direction:column;gap:.55rem}
.fgroup__title{font-family:var(--f-mono);font-size:var(--t-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-65)}
.fopt{display:flex;align-items:center;gap:.6rem;font-size:.88rem;padding:.28rem 0;cursor:pointer}
.fopt input{appearance:none;width:16px;height:16px;border:1px solid var(--ink-16);border-radius:3px;flex:none;transition:all var(--dur-1) var(--ease);position:relative}
.fopt input:checked{background:var(--coral);border-color:var(--coral)}
.fopt input:checked::after{content:"";position:absolute;left:5px;top:1.5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fopt span{color:var(--ink-70)}
.fopt:hover span{color:var(--ink)}
.fopt em{font-family:var(--f-mono);font-style:normal;font-size:.68rem;color:var(--ink-65);margin-left:auto}
.searchbar{display:flex;align-items:center;gap:.7rem;border:1px solid var(--ink-16);background:var(--white);border-radius:var(--r-sm);padding:.85rem 1rem}
.searchbar input{border:0;outline:0;background:none;width:100%;font-size:.95rem}
.searchbar svg{stroke:var(--ink-40);fill:none;stroke-width:1.5;width:18px;height:18px;flex:none}
.libbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:space-between;margin-bottom:1.25rem}
.libcount{font-family:var(--f-mono);font-size:var(--t-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55)}
.filters-toggle{display:none}
.empty{border:1px dashed var(--ink-16);border-radius:var(--r-sm);padding:3rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}

/* =========================================================
   Product detail
   ========================================================= */
.pdp-hero{background:var(--ink);color:var(--paper);padding-top:var(--header-h);position:relative}
.pdp-hero__grid{max-width:var(--maxw);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.pdp-hero__copy{padding:clamp(2.5rem,5vw,4.5rem) var(--gutter);display:flex;flex-direction:column;justify-content:center;gap:1.15rem}
.pdp-hero__media{position:relative;min-height:400px;overflow:hidden}
.pdp-hero__media img,.pdp-hero__media .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.crumbs{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-45);display:flex;gap:.5rem;flex-wrap:wrap}
.crumbs a:hover{color:var(--paper)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--ink-10);border:1px solid var(--ink-10);border-radius:var(--r-sm);overflow:hidden}
.fact{background:var(--paper);padding:1.05rem;display:flex;flex-direction:column;gap:.25rem}
.fact .mono{color:var(--ink-65);font-size:.62rem}
.fact b{font-size:.95rem;font-weight:700}
.pdp{display:grid;grid-template-columns:1fr 380px;gap:clamp(1.5rem,4vw,4rem);align-items:start}
.pdp__main{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3.25rem);min-width:0}
.pdp__aside{position:sticky;top:calc(var(--header-h) + 1.5rem);display:flex;flex-direction:column;gap:1rem;border:1px solid var(--ink-16);border-radius:var(--r-sm);padding:1.5rem;background:var(--white);min-width:0}
.list-check li,.list-x li{display:flex;gap:.7rem;padding:.45rem 0;font-size:.94rem;align-items:flex-start}
.list-check li::before{content:"";width:16px;height:16px;flex:none;margin-top:4px;background:var(--mint);border-radius:50%;position:relative;
  box-shadow:inset 0 0 0 1px rgba(11,31,51,.12)}
.list-x li::before{content:"";width:16px;height:16px;flex:none;margin-top:4px;border:1px solid var(--ink-16);border-radius:50%}
.list-x li{color:var(--ink-55)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-sm)}
.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:var(--r-sm)}
.gallery figure img{transition:transform var(--dur-4) var(--ease-out)}
.gallery figure:hover img{transform:scale(1.04)}
.tagrow{display:flex;flex-wrap:wrap;gap:.4rem}
.rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin;
  scroll-padding-left:2px;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{height:6px}
.rail::-webkit-scrollbar-thumb{background:var(--ink-16);border-radius:3px}
.section--dark .rail::-webkit-scrollbar-thumb,.section--deep .rail::-webkit-scrollbar-thumb{background:var(--paper-16)}
.rail>*{flex:0 0 clamp(230px,26vw,300px);scroll-snap-align:start}
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);background:var(--ink);color:var(--paper);
  padding:.75rem var(--gutter);display:none;align-items:center;justify-content:space-between;gap:1rem;
  transform:translateY(100%);transition:transform var(--dur-3) var(--ease-out);
}
.sticky-cta.is-on{transform:translateY(0)}

/* =========================================================
   RFQ form
   ========================================================= */
.steps{display:flex;gap:.4rem;margin-bottom:2rem;flex-wrap:wrap}
.step-dot{flex:1 1 60px;display:flex;flex-direction:column;gap:.45rem;min-width:60px}
.step-dot span{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}
.step-dot i{height:2px;background:var(--ink-10);border-radius:2px;display:block;font-style:normal}
.step-dot.is-done i{background:var(--mint)}
.step-dot.is-current i{background:var(--coral)}
.step-dot.is-current span{color:var(--ink)}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}
.field label{font-size:.82rem;font-weight:700;letter-spacing:-.01em}
.field .hint{font-size:.78rem;color:var(--ink-65);font-weight:400}
.field input,.field select,.field textarea{
  border:1px solid var(--ink-16);background:var(--white);border-radius:var(--r-sm);
  padding:.85rem 1rem;font-size:.95rem;transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease);width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,31,51,.08)}
.field.is-error input,.field.is-error select,.field.is-error textarea{border-color:var(--coral);box-shadow:0 0 0 3px rgba(255,53,94,.12)}
.field .err{font-size:.78rem;color:var(--coral);display:none}
.field.is-error .err{display:block}
.fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.optgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}
.optcard{border:1px solid var(--ink-16);border-radius:var(--r-sm);padding:1rem;display:flex;flex-direction:column;gap:.3rem;text-align:left;transition:all var(--dur-1) var(--ease);background:var(--white)}
.optcard:hover{border-color:var(--ink)}
.optcard[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.optcard b{font-size:.92rem;font-weight:700}
.optcard span{font-size:.76rem;opacity:.65}
.formnav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--ink-10)}
.review dl{display:grid;grid-template-columns:170px 1fr;gap:.55rem 1rem;font-size:.9rem;margin:0}
.review dt{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-65);padding-top:.2rem}
.review dd{margin:0;font-weight:600}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.84rem;color:var(--ink-65)}
.consent input{appearance:none;width:18px;height:18px;border:1px solid var(--ink-16);border-radius:3px;flex:none;margin-top:2px;position:relative}
.consent input:checked{background:var(--coral);border-color:var(--coral)}
.consent input:checked::after{content:"";position:absolute;left:6px;top:2px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.success{display:flex;flex-direction:column;gap:1.25rem;align-items:flex-start;padding:clamp(1.5rem,4vw,3rem);background:var(--ink);color:var(--paper);border-radius:var(--r-sm)}
.success__ref{font-family:var(--f-mono);font-size:1.1rem;letter-spacing:.1em;color:var(--mint)}
.notice{display:flex;gap:.75rem;padding:1rem;border:1px solid var(--ink-16);border-left:3px solid var(--coral);border-radius:var(--r-sm);font-size:.86rem;color:var(--ink-70);background:var(--white)}

/* =========================================================
   Footer
   ========================================================= */
.footer{position:relative;border-top:2px solid var(--coral-deep);background:var(--navy-deep);color:var(--paper);padding-block:clamp(3rem,6vw,5rem) 2rem}
.footer__grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem)}
.footer h4{font-family:var(--f-mono);font-size:var(--t-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--paper-45);margin-bottom:.9rem;font-weight:500}
.footer li{margin-bottom:.5rem}
.footer a{font-size:.9rem;color:var(--paper-70);transition:color var(--dur-1) var(--ease)}
.footer a:hover{color:var(--paper)}
.footer__brand img{height:44px;margin-bottom:1rem}
.footer__bottom{margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;border-top:1px solid var(--paper-10);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.78rem;color:var(--paper-45)}
.tbd{font-family:var(--f-mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);border:1px solid rgba(255,53,94,.4);padding:.1rem .3rem;border-radius:2px;margin-left:.4rem;vertical-align:middle}

/* Toast */
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,140%);z-index:var(--z-toast);
  background:var(--ink);color:var(--paper);padding:.85rem 1.25rem;border-radius:var(--r-sm);font-size:.88rem;
  box-shadow:var(--shadow-lg);transition:transform var(--dur-3) var(--ease-out)}
.toast.is-on{transform:translate(-50%,0)}

/* Reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.rv.is-in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}

/* Skeletons */
.skel{background:linear-gradient(90deg,var(--ink-06),rgba(11,31,51,.12),var(--ink-06));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--r-sm)}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1080px){
  .hero__grid{grid-template-columns:1fr;min-height:0}
  .hero__media{min-height:56vh;order:-1}
    .hero__copy{padding-top:clamp(2rem,6vw,3rem)}
  .pdp{grid-template-columns:1fr}
  .pdp__aside{position:static}
  .pdp-hero__grid{grid-template-columns:1fr}
  .pdp-hero__media{min-height:52vh;order:-1}
  .sticky-cta{display:flex}
  .footer__grid{grid-template-columns:1fr 1fr 1fr}
  .mega__inner{grid-template-columns:1fr}
  .mega__side{display:none}
}
@media (max-width:900px){
  .nav,.header__actions .lang{display:none}
  .burger{display:flex}
  .builder{grid-template-columns:1fr}
  .uni__tile,.uni__tile--a,.uni__tile--b,.uni__tile--c,.uni__tile--d,.uni__tile--e,.uni__tile--f{grid-column:span 6;min-height:250px}
  .lib{grid-template-columns:1fr}
  .filters{position:fixed;inset:auto 0 0 0;top:auto;max-height:82vh;background:var(--paper);z-index:var(--z-drawer);
    border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg);padding:1.25rem var(--gutter) 2rem;
    box-shadow:var(--shadow-lg);transform:translateY(100%);transition:transform var(--dur-3) var(--ease-out)}
  .filters.is-open{transform:translateY(0)}
  .filters-toggle{display:inline-flex}
  .fieldrow{grid-template-columns:1fr}
  .review dl{grid-template-columns:1fr;gap:.15rem .5rem}
  .review dd{margin-bottom:.6rem}
}
@media (max-width:640px){
  :root{--header-h:64px}
  .footer__grid{grid-template-columns:1fr 1fr}
  .uni__tile,.uni__tile--a,.uni__tile--b,.uni__tile--c,.uni__tile--d,.uni__tile--e,.uni__tile--f{grid-column:span 12;min-height:230px}
  .cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
  .hero__cta .btn{flex:1 1 100%;justify-content:center}
  .intentbar__label{display:none}
}
@media (max-width:400px){
  .cards{grid-template-columns:1fr}
  .intents{grid-template-columns:1fr 1fr}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .connline__path{stroke-dashoffset:0;animation:none}
  .connline__node{opacity:1;animation:none}
  .stack__item{opacity:1;transform:none}
  .hero__media .slide{transition:opacity .4s linear;transform:none!important}
  .hero__tick.is-on span{transition:none}
  .rotator__word{transition:none}
}

@media print{
  .header,.footer,.sticky-cta,.intentbar,.palette,.rlist,.pcard__add,.hero__ambient,
  .rail,.pdp__aside .btn,.progressline{display:none!important}
  body{background:#fff;color:#000}
  .section{padding-block:1rem}
  .pdp{grid-template-columns:1fr}
  .pdp-hero{background:#fff;color:#000;padding-top:0}
  .pdp-hero__media{display:none}
  .facts,.pdp__aside{border-color:#ccc}
  a[href]::after{content:""}
  .rv{opacity:1!important;transform:none!important}
}

/* =========================================================
   Command palette, request list, scroll progress
   (added in the "make it feel like a tool" pass)
   ========================================================= */
.progressline{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--coral);z-index:2;transition:width .1s linear}

.iconbtn{
  width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--ink-16);border-radius:var(--r-xs);position:relative;flex:none;
  transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease);
}
.iconbtn:hover{background:var(--ink-06)}
.header.on-dark:not(.is-solid) .iconbtn{color:var(--paper);border-color:var(--paper-16)}
.header.on-dark:not(.is-solid) .iconbtn:hover{background:var(--paper-10)}
.iconbtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}
.iconbtn__count{
  position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;
  background:var(--coral);color:#fff;border-radius:var(--r-pill);
  font-family:var(--f-mono);font-size:.6rem;line-height:18px;text-align:center;
  transform:scale(0);transition:transform var(--dur-2) var(--ease-out);
}
.iconbtn__count.is-on{transform:scale(1)}
.kbd{
  font-family:var(--f-mono);font-size:.6rem;letter-spacing:.06em;padding:.15rem .3rem;
  border:1px solid currentColor;border-radius:3px;opacity:.5;margin-left:.4rem;
}

/* ---- palette ---- */
.palette{position:fixed;inset:0;z-index:var(--z-modal);display:none;padding:clamp(1rem,10vh,7rem) 1rem 1rem;justify-content:center;align-items:flex-start}
.palette.is-open{display:flex}
.palette__veil{position:absolute;inset:0;background:rgba(11,31,51,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .25s var(--ease)}
@keyframes fade{from{opacity:0}to{opacity:1}}
.palette__panel{
  position:relative;width:min(660px,100%);max-height:min(620px,80vh);display:flex;flex-direction:column;
  background:var(--paper);border:1px solid var(--ink-16);border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--shadow-lg);animation:pop .3s var(--ease-out);
}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.palette__head{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;border-bottom:1px solid var(--ink-10)}
.palette__head svg{width:19px;height:19px;stroke:var(--ink-40);fill:none;stroke-width:1.6;flex:none}
.palette__input{flex:1;border:0;outline:0;background:none;font-size:1.05rem;font-weight:600;letter-spacing:-.02em}
.palette__input::placeholder{color:var(--ink-40);font-weight:400}
.palette__body{overflow-y:auto;padding:.5rem}
.palette__group{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-40);padding:.75rem .8rem .35rem}
.palette__item{
  display:flex;align-items:center;gap:.85rem;width:100%;text-align:left;padding:.7rem .8rem;border-radius:var(--r-sm);
  transition:background var(--dur-1) var(--ease);cursor:pointer;
}
.palette__item:hover,.palette__item.is-active{background:var(--ink-06)}
.palette__item.is-active{box-shadow:inset 2px 0 0 var(--coral)}
.palette__ico{width:34px;height:34px;border-radius:var(--r-xs);display:grid;place-items:center;flex:none;background:var(--ink);color:var(--sand)}
.palette__ico svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.3}
.palette__txt{min-width:0;flex:1}
.palette__txt b{display:block;font-size:.94rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.palette__txt span{display:block;font-size:.76rem;color:var(--ink-65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.palette__meta{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;color:var(--ink-65);flex:none}
.palette__foot{display:flex;gap:1rem;padding:.7rem 1.2rem;border-top:1px solid var(--ink-10);font-size:.7rem;color:var(--ink-40);flex-wrap:wrap}
.palette__empty{padding:2.5rem 1.2rem;text-align:center;color:var(--ink-55);font-size:.9rem}

/* ---- request list drawer ---- */
.rlist{position:fixed;inset:0;z-index:var(--z-modal);display:none}
.rlist.is-open{display:block}
.rlist__veil{position:absolute;inset:0;background:rgba(11,31,51,.5);animation:fade .25s var(--ease)}
.rlist__panel{
  position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--paper);
  display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slidein .35s var(--ease-out);
}
@keyframes slidein{from{transform:translateX(100%)}to{transform:none}}
.rlist__head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem;border-bottom:1px solid var(--ink-10)}
.rlist__body{flex:1;overflow-y:auto;padding:.75rem}
.rlist__foot{padding:1.2rem;border-top:1px solid var(--ink-10);display:flex;flex-direction:column;gap:.6rem}
.ritem{display:flex;gap:.85rem;align-items:center;padding:.7rem;border-radius:var(--r-sm)}
.ritem:hover{background:var(--ink-06)}
.ritem__media{width:56px;height:70px;border-radius:var(--r-xs);overflow:hidden;flex:none;position:relative;background:var(--ink)}
.ritem__media img{width:100%;height:100%;object-fit:cover}
.ritem__media .art svg{width:50%}
.ritem__txt{flex:1;min-width:0}
.ritem__txt b{display:block;font-size:.88rem;font-weight:700;line-height:1.25}
.ritem__txt span{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;color:var(--ink-65)}
.ritem__x{width:28px;height:28px;border-radius:var(--r-xs);display:grid;place-items:center;color:var(--ink-40);flex:none}
.ritem__x:hover{background:var(--ink-10);color:var(--ink)}

/* ---- add-to-list control on cards ---- */
.pcard__add{
  position:absolute;right:.6rem;top:.6rem;z-index:4;width:34px;height:34px;border-radius:var(--r-pill);
  display:grid;place-items:center;background:rgba(247,245,240,.9);color:var(--ink);
  backdrop-filter:blur(6px);transition:all var(--dur-2) var(--ease);opacity:0;transform:translateY(-4px);
}
.pcard:hover .pcard__add,.pcard__add:focus-visible,.pcard__add[aria-pressed="true"]{opacity:1;transform:none}
.pcard__add svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.pcard__add[aria-pressed="true"]{background:var(--coral);color:#fff}
@media (hover:none){.pcard__add{opacity:1;transform:none}}

/* ---- photo slots: a tile switches from graphic to photograph ---- */
.uni__tile.has-photo{background:var(--ink);color:var(--paper)}
.uni__tile.has-photo::after{display:block}
.uni__tile.has-photo p{color:var(--paper-70)}
.uni__tile.has-photo .mono{color:var(--paper-45)}
.uni__tile.has-photo .tile-glyph{display:none}
.dest{position:relative;overflow:hidden;isolation:isolate;min-height:150px;justify-content:flex-end}
.dest.has-photo{border-color:transparent}
.dest.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform var(--dur-4) var(--ease-out)}
.dest.has-photo:hover img{transform:scale(1.06)}
.dest.has-photo::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(11,31,51,.10) 35%,rgba(11,31,51,.85) 100%)}
.dest.has-photo span{color:var(--paper-70)}
/* larger editorial tiles: photography needs room to read as premium */
.uni__tile{min-height:320px}
.uni__tile--a,.uni__tile--b{min-height:460px}

/* =========================================================
   Hero console, the product itself as the hero image
   ========================================================= */
.hero__media--console{display:flex;align-items:center;justify-content:flex-end;padding:clamp(1.25rem,3vw,3rem);padding-right:0;padding-bottom:calc(var(--bite) + 1.1rem);background:transparent}
/* ---- PHOTO-PANEL: cerceveli fotograf nesnesi, panel hizasina kilitli ---- */
.hero__ambient{position:absolute;inset:clamp(7rem,9.2vw,8.6rem) 0 calc(var(--bite) + 1.1rem) 0;
  border-radius:18px;overflow:hidden;z-index:0;
  border:1px solid rgba(247,245,240,.14);
  box-shadow:0 34px 80px -34px rgba(0,0,0,.6)}
.hero__ambient::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,23,38,.12) 0%,rgba(8,23,38,.06) 42%,rgba(8,23,38,.58) 100%)}
.hero__ambient img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 30%;opacity:0}
.hero__ambient .slide.is-on{opacity:1}
.hero__media--console .hero__ticks{z-index:3}

.console{
  position:relative;z-index:2;width:min(580px,100%);
  background:var(--paper);
  border:1px solid rgba(11,31,51,.14);border-radius:10px;overflow:hidden;
  box-shadow:0 34px 80px rgba(4,12,20,.5), 0 2px 0 var(--coral) inset;
  color:var(--ink);
}
.console__bar{display:flex;align-items:center;gap:.6rem;padding:.66rem .95rem;border-bottom:1px solid rgba(11,31,51,.12);background:var(--sand)}
.console__dot{width:7px;height:7px;border-radius:50%;background:var(--mint);flex:none;box-shadow:0 0 0 0 rgba(191,216,180,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(191,216,180,.5)}70%{box-shadow:0 0 0 7px rgba(191,216,180,0)}100%{box-shadow:0 0 0 0 rgba(191,216,180,0)}}
.console__ref{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;color:rgba(11,31,51,.68)}
.console__live{margin-left:auto;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-deep);font-weight:500}
.console__query{padding:.85rem .95rem .7rem;border-bottom:1px solid rgba(11,31,51,.10);min-height:62px}
.console__query b{display:block;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(11,31,51,.55);margin-bottom:.5rem}
.console__typed{font-size:.92rem;line-height:1.45;color:var(--ink);font-weight:600}
.console__caret{display:inline-block;width:7px;height:1.05em;background:var(--coral);vertical-align:-2px;margin-left:2px;animation:blink 1s steps(2) infinite}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
.console__rows{padding:.55rem .5rem;display:flex;flex-direction:column;gap:2px;min-height:210px}
.crow{
  display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:.7rem;
  padding:.52rem .55rem;border-radius:6px;opacity:.14;transform:none;
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),background .3s var(--ease);
}
.crow.is-on{opacity:1;transform:none}
.crow.is-fresh{background:rgba(255,53,94,.07)}
.crow__ico{width:30px;height:30px;border-radius:5px;display:grid;place-items:center;background:var(--sand)}
.crow__ico svg{width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:1.4}
.crow__t{min-width:0}
.crow__t b{display:block;font-size:.83rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crow__t span{display:block;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.1em;color:rgba(11,31,51,.55);text-transform:uppercase}
.crow__ok{width:16px;height:16px;border-radius:50%;border:1.2px solid rgba(11,31,51,.2);display:grid;place-items:center;flex:none}
.crow.is-on .crow__ok{border-color:#6e9a5f;background:rgba(191,216,180,.25)}
.crow__ok svg{width:9px;height:9px;stroke:#3f6b33;fill:none;stroke-width:2.6;opacity:0;transition:opacity .3s var(--ease) .25s}
.crow.is-on .crow__ok svg{opacity:1}
.console__foot{display:flex;align-items:center;flex-wrap:nowrap;gap:.5rem;padding:.62rem .9rem;border-top:1px solid rgba(11,31,51,.12);background:var(--sand);min-width:0}
.console__stat{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.1em;color:rgba(11,31,51,.68)}
.console__stat b{color:var(--ink);font-size:.78rem;letter-spacing:0}
.console__sep{width:1px;height:14px;background:rgba(11,31,51,.15)}
.console__status{margin-left:auto;font-size:.66rem;color:#3f6b33;font-weight:700}

/* stat strip under the console, real counts from the catalogue */
.hero__stats{display:flex;gap:1.15rem;flex-wrap:wrap;margin-top:.55rem;position:relative;z-index:2}
.hero__stat{display:flex;flex-direction:column}
.hero__stat b{font-size:1.15rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.hero__stat span{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-60)}

/* =========================================================
   Quick request bar
   ========================================================= */
.intentbar__inner--stack{flex-direction:column;align-items:stretch;gap:.9rem;padding-block:1.15rem}
.intentbar__row{display:flex;align-items:center;gap:1rem;min-width:0}
.quickbar{display:grid;grid-template-columns:1.3fr 1fr 1fr .6fr auto;gap:.55rem;align-items:end}
.quickbar__field{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.quickbar__field label{color:rgba(11,31,51,.68);font-size:.58rem;letter-spacing:.16em}
.quickbar__field select,.quickbar__field input{
  background:var(--white);border:1px solid rgba(11,31,51,.22);color:var(--ink);
  border-radius:var(--r-xs);padding:.7rem .8rem;font-size:.88rem;font-weight:600;width:100%;
  transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease);
  color-scheme:light;
}
.quickbar__field select:hover,.quickbar__field input:hover{border-color:var(--ink)}
.quickbar__field select:focus,.quickbar__field input:focus{outline:0;border-color:var(--coral-deep);box-shadow:0 0 0 3px rgba(224,30,70,.12)}
.quickbar__field option{background:var(--white);color:var(--ink)}
.quickbar .btn{height:42px}

@media (max-width:900px){
  .quickbar{grid-template-columns:1fr 1fr;gap:.5rem}
  .quickbar .btn{grid-column:1/-1;justify-content:center}
  .console{width:100%}
}
@media (max-width:980px){
  .hero__media--console{min-height:auto;padding-block:2.5rem 2rem}
  .hero__ambient .slide.is-on{opacity:1}
}

/* ---- recently viewed ---- */
.recent-strip{border-top:1px solid var(--ink-10);padding-top:1.5rem}

/* ---- graphic tiles: make the "no photograph yet" state look deliberate ---- */
.uni__tile--flat:not(.has-photo)::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:linear-gradient(currentColor .6px,transparent .6px),linear-gradient(90deg,currentColor .6px,transparent .6px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(70% 70% at 80% 15%,#000,transparent 75%);
  mask-image:radial-gradient(70% 70% at 80% 15%,#000,transparent 75%);
  opacity:.10;
}
.uni__tile .tile-glyph{width:62%;right:-6%;top:-10%;opacity:.20}
.uni__tile--flat.t-sand .tile-glyph,.uni__tile--flat.t-mint .tile-glyph{opacity:.26}
.art{background-blend-mode:normal}
.art::before{
  content:"";position:absolute;inset:0;opacity:.10;
  background-image:linear-gradient(currentColor .6px,transparent .6px),linear-gradient(90deg,currentColor .6px,transparent .6px);
  background-size:28px 28px;
}
.art--ink,.art--deep,.art--coral{color:var(--paper)}
.art--sand,.art--mint{color:var(--ink)}


/* =========================================================
   Dark-surface safety net
   ---------------------------------------------------------
   Anything that can legitimately appear inside a dark section
   is declared here once, so a component written for the light
   surface can never end up navy-on-black again.
   ========================================================= */
.section--dark,.section--deep,.hero,.drawer,.mega__side,.success{color-scheme:dark}
.console{color-scheme:light}

.section--dark .lead,.section--deep .lead,
.section--dark p,.section--deep p{color:var(--paper-70)}
.section--dark .h1,.section--dark .h2,.section--dark .h3,.section--dark .display,
.section--deep .h1,.section--deep .h2,.section--deep .h3,.section--deep .display{color:var(--paper)}
.section--dark .small,.section--deep .small{color:var(--paper-70)}
.section--dark .mono,.section--deep .mono{color:var(--paper-60)}

/* controls */
.section--dark .btn--ghost,.section--deep .btn--ghost{border-color:var(--paper-16);color:var(--paper)}
.section--dark .btn--ghost:hover,.section--deep .btn--ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.section--dark .chip,.section--deep .chip{background:var(--paper-10);border-color:var(--paper-16);color:var(--paper)}
.section--dark .chip[aria-pressed="true"],.section--deep .chip[aria-pressed="true"]{background:var(--paper);color:var(--ink)}
.section--dark .empty,.section--deep .empty{border-color:var(--paper-16)}
.section--dark .notice,.section--deep .notice{background:rgba(247,245,240,.06);border-color:var(--paper-16);color:var(--paper-70)}
.section--dark .searchbar,.section--deep .searchbar{background:rgba(247,245,240,.06);border-color:var(--paper-16)}
.section--dark .field label,.section--deep .field label{color:var(--paper)}
.section--dark .badge--sand,.section--deep .badge--sand,
.section--dark .badge--soft,.section--deep .badge--soft{color:var(--ink)}

/* cards keep their own light surface, so re-assert their own colours */
.section--dark .pcard,.section--deep .pcard{background:var(--white);color:var(--ink);border-color:rgba(11,31,51,.14)}
.section--dark .pcard p,.section--deep .pcard p,
.section--dark .pcard .pcard__desc,.section--deep .pcard .pcard__desc{color:var(--ink-65)}
.section--dark .pcard .pcard__meta,.section--deep .pcard .pcard__meta{color:var(--ink-65);border-color:var(--ink-10)}
.section--dark .pcard .pcard__title,.section--deep .pcard .pcard__title{color:var(--ink)}
.section--dark .pcard__rate,.section--deep .pcard__rate{color:var(--ink)}

/* light panels that float above dark pages keep light-surface colours */
.palette__panel p,.rlist__panel p,.palette__panel .lead,.rlist__panel .lead,
.palette__panel .h3,.rlist__panel .h3{color:inherit}
.palette__panel .muted,.rlist__panel .muted{color:var(--ink-65)}
.palette__panel .mono,.rlist__panel .mono{color:var(--ink-65)}

/* accents that must survive the safety net */
.section--deep .dest .mono,.section--dark .dest .mono{color:var(--mint)}
.section--dark .pcard__cat,.section--deep .pcard__cat{color:var(--coral)}
.section--dark .console__live,.hero .console__live{color:var(--mint)}
.section--dark .eyebrow::before,.section--deep .eyebrow::before{background:var(--coral)}

/* =========================================================
   MICE wizard
   ========================================================= */
.wizard{display:grid;grid-template-columns:220px 1fr;gap:clamp(1.5rem,3vw,3rem);align-items:start}
.wizard.is-done{grid-template-columns:1fr}
.wizard__stage,.wizard__rail{min-width:0}
.success .h2{overflow-wrap:break-word}
.wizard__rail{position:sticky;top:calc(var(--header-h) + 1.5rem);display:flex;flex-direction:column;gap:.25rem}
.wstep{display:flex;align-items:center;gap:.75rem;padding:.65rem .7rem;border-radius:var(--r-sm);text-align:left;
  transition:background var(--dur-1) var(--ease);width:100%}
.wstep:not([disabled]):hover{background:var(--ink-06)}
.wstep[disabled]{cursor:default;opacity:.45}
.wstep__n{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ink-16);display:grid;place-items:center;
  font-family:var(--f-mono);font-size:.6rem;flex:none;transition:all var(--dur-2) var(--ease)}
.wstep__n svg{width:12px;height:12px;stroke:var(--white);fill:none;stroke-width:2.5}
.wstep.is-current .wstep__n{border-color:var(--coral);color:var(--coral)}
.wstep.is-done .wstep__n{background:var(--mint);border-color:var(--mint)}
.wstep.is-done .wstep__n svg{stroke:var(--ink)}
.wstep__t{font-size:.85rem;font-weight:600;color:var(--ink-65)}
.wstep.is-current .wstep__t{color:var(--ink);font-weight:700}
.wizard__stage{min-height:460px;position:relative}
.wizard__title{margin-bottom:1.25rem}
.wizard__block{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--ink-10)}
.err-line{color:var(--coral);font-size:.82rem;margin-top:.6rem;font-weight:600}

/* format cards */
.fmtgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem}
.fmtcard{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;text-align:left;
  padding:1.35rem 1.2rem;border:1.5px solid var(--ink-16);border-radius:var(--r-sm);background:var(--white);
  transition:all var(--dur-2) var(--ease)}
.fmtcard:hover{border-color:var(--ink);transform:translateY(-2px)}
.fmtcard[aria-pressed="true"]{border-color:var(--coral);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-md)}
.fmtcard__ico{width:40px;height:40px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--ink-06)}
.fmtcard[aria-pressed="true"] .fmtcard__ico{background:rgba(247,245,240,.1)}
.fmtcard__ico svg{width:20px;height:20px;stroke:var(--coral);fill:none;stroke-width:1.3}
.fmtcard b{font-size:1.02rem;font-weight:800;letter-spacing:-.02em}
.fmtcard>span:last-of-type{font-size:.8rem;opacity:.65;line-height:1.4}

/* size steppers */
.sizerow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.sizer{display:flex;flex-direction:column;gap:.5rem}
.sizer .mono{color:var(--ink-65)}
.sizer__ctrl{display:flex;align-items:stretch;border:1px solid var(--ink-16);border-radius:var(--r-sm);overflow:hidden;background:var(--white)}
.sizer__btn{width:44px;font-size:1.15rem;font-weight:700;color:var(--ink-65);transition:background var(--dur-1) var(--ease)}
.sizer__btn:hover{background:var(--ink-06);color:var(--ink)}
.sizer__ctrl input{border:0;outline:0;text-align:center;font-size:1.05rem;font-weight:800;width:100%;padding:.8rem .2rem;
  -moz-appearance:textfield}
.sizer__ctrl input::-webkit-outer-spin-button,.sizer__ctrl input::-webkit-inner-spin-button{-webkit-appearance:none}

/* module cards */
.modgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.55rem}
.modcard{display:grid;grid-template-columns:36px 1fr 22px;align-items:center;gap:.75rem;text-align:left;
  padding:.8rem .85rem;border:1.5px solid var(--ink-16);border-radius:var(--r-sm);background:var(--white);
  transition:all var(--dur-1) var(--ease)}
.modcard:hover{border-color:var(--ink)}
.modcard[aria-pressed="true"]{border-color:var(--coral);background:rgba(255,53,94,.05)}
.modcard__ico{width:36px;height:36px;border-radius:var(--r-xs);display:grid;place-items:center;background:var(--ink-06)}
.modcard__ico svg{width:17px;height:17px;stroke:var(--ink);fill:none;stroke-width:1.3}
.modcard[aria-pressed="true"] .modcard__ico{background:var(--ink)}
.modcard[aria-pressed="true"] .modcard__ico svg{stroke:var(--sand)}
.modcard__t{min-width:0}
.modcard__t b{display:block;font-size:.87rem;font-weight:700;line-height:1.2}
.modcard__t span{display:block;font-size:.7rem;color:var(--ink-65);line-height:1.35;margin-top:.15rem}
.modcard__tick{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink-16);display:grid;place-items:center;
  transition:all var(--dur-2) var(--ease)}
.modcard__tick svg{width:11px;height:11px;stroke:var(--white);fill:none;stroke-width:2.6;opacity:0}
.modcard[aria-pressed="true"] .modcard__tick{background:var(--coral);border-color:var(--coral)}
.modcard[aria-pressed="true"] .modcard__tick svg{opacity:1}

.mice-preview{position:relative;z-index:2;width:100%;display:grid;place-items:center}

@media (max-width:900px){
  .wizard{grid-template-columns:1fr}
  .wizard__rail{position:static;flex-direction:row;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}
  .wizard__rail::-webkit-scrollbar{display:none}
  .wstep{flex:none;padding:.5rem .6rem}
  .wstep__t{white-space:nowrap;font-size:.78rem}
  .fmtgrid{grid-template-columns:1fr 1fr}
  .modgrid{grid-template-columns:1fr}
}

/* =========================================================
   Quote builder + quote page
   ========================================================= */
.qb-grid{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start}
.qb-side{position:sticky;top:calc(var(--header-h) + 1.5rem)}
.qb-block{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--ink-10)}
.qb-block .h3{margin-bottom:1rem}
.fieldrow--3{grid-template-columns:1fr 1fr 1fr}

.brow{display:grid;grid-template-columns:1fr 64px 110px 90px 32px;gap:.5rem;align-items:start;
  padding:.6rem;border:1px solid var(--ink-10);border-radius:var(--r-sm);margin-bottom:.5rem;background:var(--white)}
.brow__what{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.brow select,.brow input{border:1px solid var(--ink-16);border-radius:4px;padding:.55rem .6rem;font-size:.85rem;width:100%;background:var(--white)}
.brow__note{font-size:.78rem!important;color:var(--ink-65)}
.brow__sum{align-self:center;text-align:right;font-size:.78rem}
.brow .ritem__x{align-self:center}

.quote-head{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:2rem}
.quote-validity{display:flex;flex-direction:column;gap:.15rem;text-align:right;padding:.8rem 1rem;
  border:1px solid var(--ink-16);border-radius:var(--r-sm);min-width:150px}
.quote-validity .mono{font-size:.6rem;color:var(--ink-65)}
.quote-validity b{font-size:1rem}
.quote-validity.is-expired{border-color:var(--coral)}
.quote-validity.is-expired .mono{color:var(--coral-deep)}

.qalts{display:grid;gap:1rem}
.qalts--2{grid-template-columns:1fr 1fr}
.qalts--3{grid-template-columns:1fr 1fr 1fr}
.qalt{border:1.5px solid var(--ink-16);border-radius:var(--r-md);background:var(--white);
  display:flex;flex-direction:column;overflow:hidden;transition:all var(--dur-2) var(--ease)}
.qalt--sig{border-color:var(--ink)}
.qalt.is-selected{border-color:var(--coral);box-shadow:var(--shadow-md)}
.qalt__head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;
  padding:1.1rem 1.2rem;border-bottom:1px solid var(--ink-10)}
.qalt__head b{font-size:1.02rem;font-weight:800;letter-spacing:-.02em}
.qalt--sig .qalt__head{background:var(--ink);color:var(--paper)}
.qalt__total{font-size:1.15rem;font-weight:800;letter-spacing:-.02em}
.qalt__body{padding:.6rem 1.2rem 1rem;flex:1}
.qalt .btn{margin:.75rem 1.2rem 1.2rem;width:calc(100% - 2.4rem)}

.qline{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:baseline;
  padding:.7rem 0;border-bottom:1px solid var(--ink-06)}
.qline:last-child{border-bottom:0}
.qline__t{min-width:0}
.qline__t b{display:block;font-size:.88rem;font-weight:700;line-height:1.3}
.qline__t .mono{font-size:.58rem;color:var(--ink-65)}
.qline__note{display:block;font-size:.76rem;color:var(--ink-65);margin-top:.2rem}
.qline__qty{font-size:.72rem;color:var(--ink-65)}
.qline__price{font-weight:700;font-size:.9rem;white-space:nowrap}

.quote-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--ink-10)}

@media (max-width:960px){
  .qb-grid{grid-template-columns:1fr}
  .qb-side{position:static;order:-1}
  .qalts--2,.qalts--3{grid-template-columns:1fr}
  .brow{grid-template-columns:1fr 56px 90px;grid-template-rows:auto auto}
  .brow__sum{grid-column:1/3;text-align:left}
  .brow .ritem__x{grid-column:3;grid-row:2;justify-self:end}
  .fieldrow--3{grid-template-columns:1fr 1fr}
}
@media print{
  .quote-actions,.qalt .btn,#acceptHost{display:none!important}
  .qalt{break-inside:avoid;border-color:#bbb}
  .quote-head{border-bottom:2px solid #000;padding-bottom:1rem}
}

/* =========================================================
   Destination stage — one destination at a time, full mood
   ========================================================= */
.dstage{position:relative;overflow:hidden;isolation:isolate;color:var(--paper);
  padding-block:clamp(4rem,9vh,7rem);min-height:min(78vh,640px);display:flex;align-items:center}
.dstage__bg{position:absolute;inset:0;z-index:-2}
.dstage__slide{position:absolute;inset:0;opacity:0;transform:scale(1.06);
  transition:opacity 1.1s var(--ease),transform 7s linear}
.dstage__slide.is-on{opacity:1;transform:scale(1)}
.dstage__slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.dstage::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(11,20,30,.82) 0%,rgba(11,20,30,.45) 55%,rgba(11,20,30,.25) 100%),
             linear-gradient(0deg,rgba(11,20,30,.75) 0%,transparent 35%)}
.dstage__wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,4rem);align-items:center;width:100%}
.dstage__nameclip{overflow:hidden;margin:.5rem 0 .75rem}
.dstage__name{font-size:clamp(3rem,9vw,7rem);font-weight:800;letter-spacing:-.045em;line-height:1.02;
  transform:translateY(0);opacity:1;transition:transform .38s var(--ease-out),opacity .38s var(--ease-out);will-change:transform}
.dstage__name.is-out{transform:translateY(-105%);opacity:0}
.dstage__name.is-in{transform:translateY(105%);opacity:0;transition:none}
.dstage__desc{color:var(--paper-70);max-width:44ch}
.dstage__meta{display:flex;align-items:center;gap:1.25rem;margin-top:1.5rem;flex-wrap:wrap}
.dstage__meta .mono{color:var(--paper-60);letter-spacing:.14em}
.dstage__nav{display:flex;align-items:center;gap:1rem;margin-top:2.25rem}
.dstage__arrow{width:42px;height:42px;border:1px solid var(--paper-16);border-radius:50%;
  color:var(--paper);font-size:1rem;display:grid;place-items:center;
  transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}
.dstage__arrow:hover{background:var(--paper-10);border-color:var(--paper-45)}

.dstage__rail{display:flex;flex-direction:column;gap:.8rem}
.dcard{display:grid;grid-template-columns:86px 1fr;grid-template-rows:auto auto;gap:.15rem .9rem;
  align-items:center;padding:.7rem;border:1px solid var(--paper-16);border-radius:var(--r-sm);
  background:rgba(17,20,23,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform var(--dur-2) var(--ease-out),background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}
.dcard:hover{transform:translateX(4px);background:rgba(17,20,23,.7);border-color:var(--paper-45)}
.dcard__media{grid-row:1/3;width:86px;height:86px;border-radius:var(--r-xs);overflow:hidden;position:relative;background:var(--ink)}
.dcard__media img{width:100%;height:100%;object-fit:cover}
.dcard__media .art svg{width:44%}
.dcard b{font-size:.9rem;font-weight:700;line-height:1.25;align-self:end}
.dcard .mono{font-size:.58rem;color:var(--paper-60);letter-spacing:.1em;align-self:start}

@media (max-width:960px){
  .dstage{min-height:auto}
  .dstage__wrap{grid-template-columns:1fr;gap:2rem}
  .dstage__name{font-size:clamp(2.6rem,14vw,4.2rem)}
  .dstage__rail{flex-direction:row;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}
  .dstage__rail::-webkit-scrollbar{display:none}
  .dcard{flex:0 0 260px}
}
@media (prefers-reduced-motion:reduce){
  .dstage__slide{transition:opacity .4s linear;transform:none!important}
  .dstage__name{transition:none}
}


/* intentbar on sand: chips flip to light surface */
.intentbar .chip,.intentbar .chip--light{background:var(--white);border:1px solid rgba(11,31,51,.18);color:var(--ink)}
.intentbar .chip:hover,.intentbar .chip--light:hover{border-color:var(--ink);background:var(--white)}
.intentbar .chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.intentbar .chip svg,.intentbar .chip--light svg{stroke:var(--ink)}
.intentbar .chip[aria-pressed="true"] svg{stroke:var(--sand)}

/* ---- floating contact hub v2 ---- */
.chub{position:fixed;right:1.1rem;bottom:1.1rem;z-index:calc(var(--z-modal) - 1);display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}
.chub__btn{position:relative;width:54px;height:54px;border-radius:50%;background:var(--ink);color:var(--paper);
  display:grid;place-items:center;box-shadow:var(--shadow-lg);
  transition:transform var(--dur-2) var(--ease-out),background var(--dur-1) var(--ease)}
.chub__btn:hover{transform:translateY(-2px)}
.chub__btn.is-open{background:var(--coral-deep)}
.chub__pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--coral);opacity:0;
  animation:chubPulse 3.2s var(--ease) infinite}
.chub__btn.is-open .chub__pulse{animation:none}
@keyframes chubPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.55);opacity:0}100%{opacity:0}}
.chub__i{position:absolute;width:23px;height:23px;transition:transform .32s var(--ease-out),opacity .22s var(--ease)}
.chub__i--x{opacity:0;transform:rotate(-90deg) scale(.6)}
.chub__btn.is-open .chub__i--chat{opacity:0;transform:rotate(90deg) scale(.6)}
.chub__btn.is-open .chub__i--x{opacity:1;transform:rotate(0) scale(1)}

.chub__panel{width:290px;background:var(--paper);border:1px solid var(--ink-16);border-radius:var(--r-md);
  overflow:hidden;box-shadow:var(--shadow-lg);animation:pop .25s var(--ease-out)}
.chub__head{background:var(--ink);color:var(--paper);padding:1.1rem 1.2rem}
.chub__head b{display:block;font-size:1rem;letter-spacing:-.01em}
.chub__head p{color:var(--paper-70);font-size:.8rem;line-height:1.45;margin-top:.3rem}
.chub__card{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:.85rem;
  padding:.8rem 1.1rem;border-top:1px solid var(--ink-06);color:var(--ink);
  transition:background var(--dur-1) var(--ease)}
.chub__card:hover{background:var(--ink-06)}
.chub__card:hover .chub__chev{transform:translateX(3px);color:var(--coral-deep)}
.chub__ico{width:40px;height:40px;border-radius:var(--r-xs);display:grid;place-items:center;background:var(--ink-06);color:var(--ink)}
.chub__ico svg{width:19px;height:19px}
.chub__ico--whatsapp{background:rgba(37,211,102,.12);color:#128c4b}
.chub__ico--telegram{background:rgba(42,171,238,.12);color:#1b7fb5}
.chub__ico--phone{background:rgba(255,53,94,.09);color:var(--coral-deep)}
.chub__ico--email{background:var(--sand);color:var(--ink)}
.chub__txt{min-width:0}
.chub__txt b{display:block;font-size:.88rem;font-weight:800;letter-spacing:-.01em}
.chub__txt span{display:block;font-size:.75rem;color:var(--ink-65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chub__chev{color:var(--ink-40);transition:transform var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease)}
@media (max-width:720px){
  body[data-page="product"] .chub{bottom:5.4rem}
  .chub__panel{width:min(290px,calc(100vw - 2.2rem))}
}
@media (prefers-reduced-motion:reduce){.chub__pulse{animation:none}}
@media print{.chub{display:none!important}}

/* ---- footer: icon contact rows + social buttons ---- */
.footctcs{display:flex;flex-direction:column;gap:.15rem}
.footctc{display:flex;align-items:center;gap:.7rem}
.footctc__ico{width:30px;height:30px;flex:none;border-radius:var(--r-xs);display:grid;place-items:center;
  background:rgba(247,245,240,.07);color:var(--coral)}
.footctc__ico svg{width:15px;height:15px}
.footctc a,.footctc span{font-size:.88rem;color:var(--paper-70)}
.footctc a:hover{color:var(--paper)}
.socrow{display:flex;gap:.4rem;margin-top:1.25rem;flex-wrap:wrap}
.socbtn{width:40px;height:40px;border:1px solid var(--paper-16);border-radius:var(--r-sm);
  display:grid;place-items:center;color:var(--soc,var(--paper));position:relative;
  background:color-mix(in srgb,var(--soc,#fff) 12%,transparent);
  box-shadow:0 0 18px -6px var(--soc,transparent);
  transition:all var(--dur-2) var(--ease)}
.socbtn::after{content:"";position:absolute;inset:-1px;border-radius:inherit;opacity:0;
  box-shadow:0 0 0 1px var(--soc,var(--coral)), 0 8px 26px color-mix(in srgb,var(--soc,var(--coral)) 55%,transparent);
  transition:opacity var(--dur-2) var(--ease)}
.socbtn:hover{color:var(--white);transform:translateY(-3px);background:var(--soc,var(--coral));border-color:transparent}
.socbtn:hover::after{opacity:1}
.socbtn svg{width:18px;height:18px;transition:transform var(--dur-2) var(--ease-out)}
.socbtn:hover svg{transform:scale(1.12)}
.socbtn--instagram{--soc:#e1306c}
.socbtn--instagram:hover{background:linear-gradient(45deg,#f9ce34,#ee2a7b 55%,#6228d7)}
.socbtn--telegram{--soc:#2aabee}
.socbtn--linkedin{--soc:#3b9bff}
.socbtn--youtube{--soc:#ff4444}
.socbtn--facebook{--soc:#4d94ff}
.socbtn--pinterest{--soc:#e60023}
.socbtn--x{--soc:#f7f5f0}
.socbtn--x:hover{background:var(--paper);color:var(--ink)}

/* ---- field notes (blog) ---- */
.posts{display:flex;flex-direction:column}
.post{display:block;padding:2.1rem 0;border-bottom:1px solid var(--ink-10);transition:transform var(--dur-2) var(--ease-out)}
.post:first-child{padding-top:.5rem}
.post:hover{transform:translateX(6px)}
.post:hover .post__title{color:var(--coral-deep)}
.post__meta{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-65);font-family:var(--f-mono)}
.post__title{display:block;font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:800;letter-spacing:-.025em;line-height:1.25;margin:.65rem 0 .55rem;max-width:30ch;transition:color var(--dur-1) var(--ease)}
.post__ex{color:var(--ink-65);max-width:62ch;line-height:1.55;margin-bottom:1rem}
.post .link-arrow{display:inline-block}

.article{font-size:1.02rem;line-height:1.75;color:var(--ink)}
.article p{margin-bottom:1.35rem;max-width:65ch}
.article h3{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;margin:2.2rem 0 .8rem}
.article ul{margin:0 0 1.35rem 1.2rem;display:flex;flex-direction:column;gap:.45rem}
.article li{line-height:1.6}
.article b{font-weight:700}

/* ---- phone with dial code ---- */
.phonewrap{display:flex;gap:.5rem}
.phonewrap select{flex:0 0 128px;font-variant-emoji:emoji}
.phonewrap input{flex:1;min-width:0}
.field select{width:100%;padding:.9rem 1rem;border:1px solid var(--ink-16);border-radius:4px;
  background:var(--white);font:inherit;font-weight:600;color:var(--ink);cursor:pointer;
  transition:border-color var(--dur-1) var(--ease)}
.field select:hover{border-color:var(--ink)}
.field select:focus{outline:0;border-color:var(--coral-deep);box-shadow:0 0 0 3px rgba(224,30,70,.12)}
.field select:invalid,.field select option[value=""]{color:var(--ink-65)}

/* ---- email: two halves around a fixed @ ---- */
.mailsplit{display:flex;align-items:stretch;border:1px solid var(--ink-16);border-radius:4px;background:var(--white);
  transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}
.mailsplit:focus-within{border-color:var(--coral-deep);box-shadow:0 0 0 3px rgba(224,30,70,.12)}
.mailsplit input{border:0;outline:0;min-width:0;padding:.9rem 1rem;font:inherit;font-weight:600;background:transparent}
.mailsplit input:first-child{flex:1 1 42%;text-align:right;padding-right:.4rem}
.mailsplit input:last-child{flex:1 1 58%;padding-left:.4rem}
.mailsplit__at{align-self:center;font-weight:800;color:var(--coral-deep);font-size:1.05rem;flex:none;
  padding:0 .1rem;user-select:none}
.mailsplit input::placeholder{color:var(--ink-40);font-weight:500}

/* ---- who-section: living icons ---- */
.pros__ico{width:46px;height:46px;border-radius:var(--r-sm);display:grid;place-items:center;
  background:var(--sand);margin-bottom:.9rem;position:relative;
  animation:icofloat 4.5s var(--ease) infinite}
.pros__item:nth-child(2) .pros__ico{animation-delay:.6s}
.pros__item:nth-child(3) .pros__ico{animation-delay:1.2s}
.pros__item:nth-child(4) .pros__ico{animation-delay:1.8s}
.pros__item:nth-child(5) .pros__ico{animation-delay:2.4s}
.pros__item:nth-child(6) .pros__ico{animation-delay:3s}
.pros__ico::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(11,31,51,.14)}
.pros__ico svg{width:21px;height:21px;stroke:var(--ink);fill:none;stroke-width:1.4;
  transition:transform var(--dur-2) var(--ease-out)}
.pros__item{transition:transform var(--dur-2) var(--ease-out)}
.pros__item:hover{transform:translateY(-3px)}
.pros__item:hover .pros__ico{background:var(--ink);animation-play-state:paused}
.pros__item:hover .pros__ico svg{stroke:var(--sand);transform:scale(1.15) rotate(-6deg)}
@keyframes icofloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){.pros__ico{animation:none}}

/* ---- MICE modules on one line ---- */
.micewrap{position:relative;padding-top:1.4rem}
.miceline{position:absolute;top:0;left:2%;width:96%;height:24px;overflow:visible}
.miceline__path{fill:none;stroke:var(--coral);stroke-width:1.4;stroke-linecap:round;opacity:.55;
  stroke-dasharray:640;stroke-dashoffset:640}
.rv.is-in .miceline__path{animation:conndraw 1.8s var(--ease-out) .2s forwards}
.miceline__node{fill:var(--sand);stroke:rgba(11,31,51,.5);stroke-width:1.4;opacity:0;transition:all var(--dur-2) var(--ease)}
.rv.is-in .miceline__node{animation:connnode .45s var(--ease-out) forwards}
.rv.is-in .miceline__node[data-n="0"]{animation-delay:.4s}
.rv.is-in .miceline__node[data-n="1"]{animation-delay:.65s}
.rv.is-in .miceline__node[data-n="2"]{animation-delay:.9s}
.rv.is-in .miceline__node[data-n="3"]{animation-delay:1.15s}
.rv.is-in .miceline__node[data-n="4"]{animation-delay:1.4s}
.rv.is-in .miceline__node[data-n="5"]{animation-delay:1.65s}
.miceline__node.is-hot{fill:var(--coral);stroke:var(--coral);r:6}
.mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem}
.mcard{background:rgba(255,255,255,.55);border:1px solid rgba(11,31,51,.12);border-radius:var(--r-sm);
  padding:1.15rem;display:flex;flex-direction:column;gap:.7rem;
  transition:transform var(--dur-2) var(--ease-out),background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),box-shadow var(--dur-2) var(--ease)}
.mcard:hover{transform:translateY(-4px);background:var(--white);border-color:var(--ink);box-shadow:var(--shadow-md)}
.mcard__ico{width:40px;height:40px;border-radius:var(--r-xs);display:grid;place-items:center;background:var(--white);
  border:1px solid rgba(11,31,51,.12);transition:all var(--dur-2) var(--ease)}
.mcard:hover .mcard__ico{background:var(--ink);border-color:var(--ink)}
.mcard__ico svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.3;transition:all var(--dur-2) var(--ease-out)}
.mcard:hover .mcard__ico svg{stroke:var(--sand);transform:scale(1.12)}
.mcard b{font-size:.93rem;font-weight:700;letter-spacing:-.01em}
@media (max-width:820px){.miceline{display:none}.micewrap{padding-top:0}}
@media (prefers-reduced-motion:reduce){.miceline__path{stroke-dashoffset:0;animation:none}.miceline__node{opacity:1;animation:none}}

.connline__pulse{fill:var(--coral);opacity:0;filter:drop-shadow(0 0 5px rgba(255,53,94,.8))}
.connline__pulse:has(animateMotion)[r]{opacity:0}
#connline:active .connline__pulse,.connline__pulse{transition:opacity .2s}

.qalt__fx{margin-top:.75rem;padding-top:.7rem;border-top:1px dashed var(--ink-10);
  font-size:.6rem;letter-spacing:.06em;color:var(--ink-65)}
.fxnote{margin-top:1rem}

/* ---- connection line toy ---- */
.connline{touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto}
.connline.is-drawn .connline__path{stroke-dasharray:none;animation:none;stroke-dashoffset:0}
.connline.is-drawn .connline__node{opacity:1;animation:none}
.connline__hit:hover ~ .connline__node{}
@media (hover:hover){
  .connline__hit:hover{cursor:grab}
}

/* =========================================================
   Hover life: category tiles, product cards, ops flow
   ========================================================= */

/* ---- category tiles: light-up choreography ---- */
.uni__tile{transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease)}
.uni__tile:hover{box-shadow:0 22px 50px -18px rgba(4,12,20,.55)}
.uni__tile::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;
  background:radial-gradient(90% 70% at 30% 20%,rgba(255,255,255,.14),transparent 60%);
  transition:opacity var(--dur-3) var(--ease)}
.uni__tile:hover::before{opacity:1}
.uni__tile--flat.t-sand::before,.uni__tile--flat.t-mint::before{
  background:radial-gradient(90% 70% at 30% 20%,rgba(255,255,255,.5),transparent 60%)}
.uni__tile .tile-glyph{transition:transform .7s var(--ease-out),opacity var(--dur-3) var(--ease)}
.uni__tile:hover .tile-glyph{transform:scale(1.07) rotate(-3deg);opacity:.26}
.uni__tile h3{position:relative;display:inline-block;transition:transform var(--dur-2) var(--ease-out)}
.uni__tile h3::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;
  background:var(--coral);transition:width .45s var(--ease-out)}
.uni__tile--flat.t-coral h3::after{background:var(--white)}
.uni__tile:hover h3{transform:translateY(-2px)}
.uni__tile:hover h3::after{width:2.2em}
.uni__tile p,.uni__tile .mono{transition:color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out)}
.uni__tile:hover p{color:var(--paper)}
.uni__tile--flat.t-sand:hover p,.uni__tile--flat.t-mint:hover p{color:var(--ink)}
.uni__tile:hover .mono{color:var(--coral)}
.uni__tile--flat.t-coral:hover .mono{color:var(--white)}

/* ---- product cards: sheen sweep + living art ---- */
.pcard__media{position:relative;overflow:hidden}
.pcard__media::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-18deg);transition:none;opacity:0}
.pcard:hover .pcard__media::after{animation:sheen .9s var(--ease-out) forwards}
@keyframes sheen{0%{transform:translateX(0) skewX(-18deg);opacity:1}100%{transform:translateX(420%) skewX(-18deg);opacity:0}}
.pcard__media svg{transition:transform .6s var(--ease-out)}
.pcard:hover .pcard__media svg{transform:scale(1.1) rotate(-4deg)}
.pcard:hover{box-shadow:0 18px 44px -16px rgba(4,12,20,.4)}

/* ---- ops flow: quiet cards become doors ---- */
a.flow__step{cursor:pointer;color:var(--paper)}
a.flow__step:hover{color:var(--paper)}
.flow__step{position:relative;transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}
.flow__step:hover{transform:translateY(-4px);border-color:var(--coral);background:rgba(255,53,94,.06)}
.flow__step>svg{transition:transform var(--dur-2) var(--ease-out),stroke var(--dur-2) var(--ease)}
.flow__step:hover>svg{transform:scale(1.12);stroke:var(--coral)}
.flow__step .mono{transition:color var(--dur-2) var(--ease)}
.flow__step:hover .mono{color:var(--coral)!important}
.flow__step .flow__go{position:absolute;top:1rem;right:1rem;opacity:0;transform:translateX(-6px);
  color:var(--coral);transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out)}
.flow__step:hover .flow__go{opacity:1;transform:translateX(0)}
@media (prefers-reduced-motion:reduce){
  .pcard:hover .pcard__media::after{animation:none}
}

/* ---- connline toy v2 ---- */
.connline{cursor:grab}
.connline.is-grabbing{cursor:grabbing}
.connline__pulse{pointer-events:none}
.connline__node{transition:r var(--dur-2) var(--ease);transform-box:fill-box;transform-origin:center}
.connline__node.is-hint{animation:conntug 1s var(--ease) 2}
@keyframes conntug{0%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}55%{transform:translateY(2px)}}
@media (prefers-reduced-motion:reduce){.connline__node.is-hint{animation:none}}

/* ---- proposal pipeline (operational transparency) ---- */
.pipeline{display:flex;align-items:flex-start;gap:.4rem;width:100%;margin:.5rem 0 .25rem;flex-wrap:wrap}
.pipe{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;min-width:86px;text-align:center}
.pipe__dot{width:12px;height:12px;border-radius:50%;border:1.6px solid var(--paper-45);position:relative;flex:none}
.pipe.is-on .pipe__dot{background:var(--mint);border-color:var(--mint)}
.pipe.is-on .pipe__dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--mint);
  opacity:.6;animation:pipePulse 2.4s var(--ease) infinite}
@keyframes pipePulse{0%{transform:scale(.7);opacity:.6}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}
.pipe b{font-size:.68rem;font-weight:700;letter-spacing:.02em;color:var(--paper-70);line-height:1.3;max-width:12ch}
.pipe.is-on b{color:var(--paper)}
.pipe__link{flex:1;height:1.6px;background:var(--paper-16);margin-top:5px;min-width:14px}
@media (max-width:560px){.pipe b{font-size:.6rem}.pipe{min-width:70px}}
@media (prefers-reduced-motion:reduce){.pipe.is-on .pipe__dot::after{animation:none}}

/* ---- card peek: the programme shows itself before the click ---- */
.pcard__peek{position:absolute;inset:auto 0 0 0;padding:2rem .85rem .7rem;display:flex;flex-direction:column;gap:.3rem;
  background:linear-gradient(180deg,transparent,rgba(8,23,38,.88) 55%);pointer-events:none;z-index:2}
.pcard__peek i{display:flex;align-items:center;gap:.45rem;font-style:normal;font-size:.72rem;font-weight:600;color:var(--paper);
  opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}
.pcard__peek i svg{width:12px;height:12px;stroke:var(--mint);stroke-width:2;flex:none}
.pcard:hover .pcard__peek i{opacity:1;transform:none}
.pcard:hover .pcard__peek i:nth-child(1){transition-delay:.05s}
.pcard:hover .pcard__peek i:nth-child(2){transition-delay:.15s}
.pcard:hover .pcard__peek i:nth-child(3){transition-delay:.25s}
@media (hover:none){.pcard__peek{display:none}}
@media (prefers-reduced-motion:reduce){.pcard__peek i{transition:opacity .2s var(--ease)}}

/* ---- option chips: extras that ride along ---- */
.optchip{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .85rem .55rem .6rem;
  border:1px solid var(--ink-16);border-radius:var(--r-pill);font-size:.82rem;font-weight:700;color:var(--ink);
  background:var(--white);transition:all var(--dur-2) var(--ease);cursor:pointer}
.optchip:hover{border-color:var(--ink)}
.optchip__box{width:18px;height:18px;border-radius:5px;border:1.4px solid var(--ink-40);display:grid;place-items:center;
  transition:all var(--dur-2) var(--ease);flex:none}
.optchip__box svg{width:11px;height:11px;stroke:var(--white);opacity:0;transform:scale(.4);transition:all .25s var(--ease-out)}
.optchip[aria-pressed="true"]{border-color:var(--coral-deep);background:rgba(255,53,94,.06)}
.optchip[aria-pressed="true"] .optchip__box{background:var(--coral-deep);border-color:var(--coral-deep)}
.optchip[aria-pressed="true"] .optchip__box svg{opacity:1;transform:scale(1)}
.ritem__opts{display:block;font-size:.68rem;color:var(--coral-deep);font-weight:600;margin-top:.2rem}

/* ---- art slots upgrade to photos in place ---- */
.art{position:relative;overflow:hidden}
.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03)}
.art.has-photo svg,.art.has-photo .art__code{display:none}

/* ---- console v2: search, find, stamp ---- */
#console{position:relative}
.crow{position:relative;overflow:hidden}
.crow.is-scan{opacity:.55;transform:none}
.crow__scan{position:absolute;top:0;bottom:0;left:-60%;width:45%;pointer-events:none;opacity:0;will-change:transform;
  background:linear-gradient(100deg,transparent,rgba(224,30,70,.14),transparent);transform:skewX(-16deg)}
.crow.is-scan .crow__scan{animation:crowScan .43s linear infinite}
@keyframes crowScan{0%{transform:translateX(0) skewX(-16deg);opacity:1}100%{transform:translateX(380%) skewX(-16deg);opacity:1}}
.crow__ok svg path{stroke-dasharray:24;stroke-dashoffset:24}
.crow.is-on .crow__ok svg path{animation:okDraw .4s var(--ease-out) forwards}
@keyframes okDraw{to{stroke-dashoffset:0}}
.crow.is-on .crow__ok{animation:okPop .35s var(--ease-out)}
@keyframes okPop{0%{transform:scale(.6)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
.console__rows{position:relative}
.console__thread{position:absolute;left:calc(.55rem + 14px);top:18px;width:2px;height:0%;
  background:linear-gradient(180deg,var(--coral),var(--coral-deep));border-radius:2px;z-index:0;
  transition:height .5s var(--ease-out);max-height:calc(100% - 36px)}
.crow__ico{position:relative;z-index:1}
#cCount.is-bump{display:inline-block;animation:countBump .35s var(--ease-out)}
@keyframes countBump{0%{transform:scale(1)}40%{transform:scale(1.35);color:var(--coral-deep)}100%{transform:scale(1)}}
.console__stamp{position:absolute;right:2.6rem;top:46%;z-index:3;pointer-events:none;
  font-family:var(--f-mono);font-weight:700;font-size:.72rem;letter-spacing:.14em;color:var(--coral-deep);
  border:2px solid var(--coral-deep);border-radius:6px;padding:.4rem .65rem;background:rgba(247,245,240,.6);
  transform:rotate(-8deg) scale(2.2);opacity:0}
.console__stamp.is-in{animation:stampIn .45s cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes stampIn{0%{transform:rotate(-8deg) scale(2.2);opacity:0}
  60%{transform:rotate(-8deg) scale(.94);opacity:1}
  100%{transform:rotate(-8deg) scale(1);opacity:1}}
/* bar dot narrates the state */
#console .console__dot{transition:background .3s var(--ease)}
#console.is-typing .console__dot{background:var(--sand);animation:none}
#console.is-matching .console__dot{background:var(--coral);animation:dotBlink .5s steps(2) infinite}
@keyframes dotBlink{50%{opacity:.35}}
#console.is-ready .console__dot{background:#3f6b33;animation:none}
@media (prefers-reduced-motion:reduce){
  .crow.is-scan .crow__scan,#console.is-matching .console__dot{animation:none}
  .crow.is-on .crow__ok svg path{animation:none;stroke-dashoffset:0}
  .console__stamp.is-in{animation:none;opacity:1;transform:rotate(-8deg) scale(1)}
}

/* ---- console v2.1: colour rhythm & texture ---- */
.console__wm{position:absolute;right:-34px;bottom:52px;width:120px;height:120px;pointer-events:none;z-index:0;
  opacity:.035;transform:rotate(10deg)}
.console__wm svg{width:100%;height:100%;stroke:var(--ink);fill:none;stroke-width:.8}
#console .console__bar,#console .console__query,#console .console__rows,#console .console__foot{position:relative;z-index:1}
#console .console__wm{position:absolute;z-index:0}
#console .console__stamp{position:absolute;z-index:3}

/* found moment: the tile flashes coral, then settles home */
.crow__ico{transition:background .35s var(--ease),transform .35s var(--ease-out)}
.crow.is-fresh .crow__ico{background:var(--coral-deep)!important;transform:scale(1.1)}
.crow.is-fresh .crow__ico svg{stroke:var(--white)}
.crow.is-scan .crow__ico{animation:tileSeek .43s var(--ease) infinite}
@keyframes tileSeek{50%{transform:scale(.94)}}

/* thread nodes: each found row pins a dot on the line */
.crow::before{content:"";position:absolute;left:calc(.55rem + 11px);bottom:-5px;width:7px;height:7px;
  border-radius:50%;background:var(--coral);opacity:0;transform:scale(.3);z-index:1;
  transition:opacity .3s var(--ease),transform .3s var(--ease-out)}
.crow.is-on:not(:last-child)::before{opacity:1;transform:scale(1)}

/* tactile rows */
@media (hover:hover){
  .crow.is-on:hover{background:rgba(11,31,51,.04);transform:translateX(3px)}
  .crow.is-on:hover .crow__ico{transform:rotate(-4deg)}
}

@media (prefers-reduced-motion:reduce){.crow.is-scan .crow__ico{animation:none}}


/* ---- short-viewport gear: hero + search panel share one screen ---- */
@media (min-width:981px) and (max-height:840px){
  .hero h1{font-size:clamp(2.5rem,4.7vw,3.7rem)}
  .hero__sub{font-size:1.02rem;max-width:58ch}
  .hero__copy{gap:.8rem;padding-top:calc(var(--header-h) + 2.1rem);padding-bottom:4rem}
  .hero__media{min-height:0}
  .connline{max-width:470px}
}


/* ---- hero heading: white pair one line, red word its own ---- */
.hero h1 .h1line{white-space:nowrap}
@media (max-width:640px){.hero h1 .h1line{white-space:normal}}

/* ---- hero foot: numbers left, compact CTAs in the empty right ---- */
.hero__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap}
.hero__foot .hero__stats{margin-top:0}
.hero__foot .hero__cta{margin-top:0}
.hero__cta .btn{padding:.6rem 1rem;font-size:.82rem}


/* ---- hero foot rides one line on desktop; sheet centers again on mobile ---- */
@media (min-width:1180px){
  .hero__foot{flex-wrap:nowrap}
  .hero__stats{gap:.85rem;flex-wrap:nowrap}
  .hero__stat b{font-size:1.05rem}
  .hero__stat span{font-size:.55rem;letter-spacing:.1em}
  .hero__cta{flex:none;gap:.5rem}
  .hero__cta .btn{padding:.5rem .8rem;font-size:.76rem;white-space:nowrap}
}
@media (max-width:980px){
  .hero__media--console{justify-content:center;padding-right:clamp(1.25rem,3vw,3rem);padding-bottom:2rem}
}


/* ---- coarse-pointer ergonomics: field crews book from phones ---- */
@media (pointer:coarse){
  .lang__btn{padding:.6rem .75rem}
  .chip{min-height:44px}
  .dstage__arrow{width:46px;height:46px}
  .quickbar__field select,.quickbar__field input{padding:.85rem .9rem}
}




/* [HC5] katman disiplini: kopya ustte, foto paneli kendi cercevesinde */
.hero__copy{z-index:2}
.hero__media--console{position:relative}

/* ============ HERO-CONTRACT v2: geri sarma — ortalanmis sukunet ============ */
@media (min-width:981px){
  /* [HC1] iki sutun da dikey merkezde: eski nefes, eski denge */
  .hero__copy{justify-content:center}
  .hero__media--console{align-items:center;padding-top:clamp(1.25rem,3vw,3rem)}
  /* [HC2] tavanli ekran kilidi: katlamayi doldur, devde 780'de dur */
  .hero__grid{min-height:min(calc(100vh - 6rem),780px);
              min-height:min(calc(100svh - 6rem),780px)}
  /* [HC3] rakamlar ustte, butonlar hemen altinda solda: eskisi gibi */
  .hero__foot{flex-direction:column;align-items:flex-start;gap:1.05rem;flex-wrap:nowrap}
  /* [HC4] butonlar tekrar dolgun */
  .hero__cta .btn{padding:.7rem 1.15rem;font-size:.88rem}
}


/* ---- header on dark stages: navy glass when scrolled ---- */
body[data-header-dark] .header.is-solid{background:rgba(8,23,38,.78);border-color:rgba(247,245,240,.10)}


/* ---- GRAIN-VEIL: cinematic film grain over the whole stage (z1: photo ustu, yazi alti) ---- */
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.05;
  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");
  background-size:160px 160px}

/* ---- ambient slides drift: the photograph breathes ---- */
.hero__ambient .slide{transform:scale(1.06)}
.hero__ambient .slide.is-on{animation:ambDrift 16s ease-out forwards}
@keyframes ambDrift{from{transform:scale(1.1)}to{transform:scale(1.03)}}
@media (prefers-reduced-motion:reduce){
  .hero__ambient .slide.is-on{animation:none;transform:scale(1.04)}
}



/* ---- CRAFT-LAYER: sessiz zanaat rotuslari ---- */
.hero h1 em{font-style:italic;letter-spacing:-.03em}
.chip{transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}
.chip:hover{transform:translateY(-1px);border-color:var(--ink-30);box-shadow:0 8px 16px -12px rgba(11,31,51,.45)}
.hero__ambient img{filter:saturate(.94) contrast(1.02)}

/* hero eyebrow scales with the grown display */
.hero__copy .eyebrow{font-size:.72rem;letter-spacing:.2em}


/* ============ CONSOLE DARK EDITION: Awarify fizigi, bizim dil ============ */
.hero .console{
  background:linear-gradient(180deg,rgba(15,32,50,.97),rgba(9,22,36,.97));
  border:1px solid rgba(247,245,240,.14);border-radius:20px;color:var(--paper);
  box-shadow:0 44px 96px -42px rgba(0,0,0,.75), inset 0 1px 0 rgba(247,245,240,.07), 0 2px 0 var(--coral) inset}
.hero .console__bar{background:rgba(247,245,240,.06);border-bottom:1px solid rgba(247,245,240,.10)}
.hero .console__bar .mono{color:rgba(247,245,240,.78)}
.hero .console__live{color:var(--mint);border:1px solid rgba(191,216,180,.35);
  padding:.3rem .55rem;border-radius:999px;background:rgba(191,216,180,.10)}
.hero .console__query{border-bottom:1px solid rgba(247,245,240,.10)}
.hero .console__query .mono{color:var(--paper-45)}
.hero .console__query b, .hero .console__query span{color:var(--paper)}
.hero .crow{background:rgba(247,245,240,.05);border:1px solid rgba(247,245,240,.08);
  border-radius:12px;opacity:.26}
.hero .crow + .crow{margin-top:.42rem}
.hero .crow.is-scan{opacity:.6;background:rgba(255,53,94,.08)}
.hero .crow.is-on{opacity:1;background:rgba(255,53,94,.10);border-color:rgba(255,53,94,.30)}
.hero .crow b{color:var(--paper)}
.hero .crow .mono{color:var(--paper-60)}
.hero .crow__icon{background:rgba(247,245,240,.10);color:var(--paper)}
.hero .crow.is-on .crow__icon{background:var(--coral);color:#fff}
.hero .console__foot{background:rgba(247,245,240,.06);border-top:1px solid rgba(247,245,240,.10)}
.hero .console__foot b{color:var(--paper)}
.hero .console__foot .mono,.hero .console__foot span{color:var(--paper-60)}
.hero .console__status{color:var(--mint)}
.hero .console__mark{color:rgba(247,245,240,.05)}
.hero .console__stamp{background:rgba(9,22,36,.72)}


/* ============ OFFSET-COMPOSITION: foy panele asilir, fotograf nefes alir ============ */
@media (min-width:981px){
  .hero .hero__media--console{justify-content:flex-start}
  .hero .console{width:min(530px,100%);transform:translateX(-34px)}
}
.ambient__count{position:absolute;right:14px;bottom:12px;z-index:2;
  font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;
  color:rgba(247,245,240,.9);background:rgba(9,22,36,.55);
  padding:.32rem .55rem;border-radius:999px;border:1px solid rgba(247,245,240,.16)}
@media (max-width:980px){
  .hero .console{transform:none;width:100%;max-width:100%}
  .console__foot{flex-wrap:wrap;row-gap:.25rem}
}


/* [HC6b] yalniz eyebrow satiri yukari: yerlesim dokunulmaz, foy ust cizgisine cikar */
@media (min-width:981px){
  .hero__copy .eyebrow{position:relative;top:-26px}
}


/* ============ ORB-CONSOLE: kart olur, madalyon zinciri dogar ============ */
@media (min-width:981px){
  .hero .hero__media--console{justify-content:flex-end}
  .hero .console{transform:none;width:auto;max-width:none;background:none;border:none;
    box-shadow:none;overflow:visible;display:flex;flex-direction:column;
    align-items:flex-end;gap:.9rem;padding:.4rem 1.9rem .4rem 0}
  /* ust bilgi haplari */
  .hero .console__bar,.hero .console__query{background:rgba(9,22,36,.72);
    border:1px solid rgba(247,245,240,.14);border-radius:999px;
    padding:.45rem .85rem;display:flex;align-items:center;gap:.7rem;max-width:430px}
  .hero .console__bar{width:max-content}
  .hero .console__live{margin-left:0}
  .hero .console__ref{color:rgba(247,245,240,.8)}
  .hero .crow__ico svg{width:17px;height:17px}
  .hero .crow.is-fresh .crow__ico{transform:none;animation:orbLock .45s var(--ease-out)}
  .hero .console__query{border-radius:14px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.55rem .9rem}
  .hero .console__query b{font-size:.56rem}
  .hero .console__typed{font-size:.86rem}
  /* satir -> madalyon */
  .hero .console__rows{position:relative;display:flex;flex-direction:column;gap:1rem;padding:8px 8px 8px 0;margin:.2rem 0;overflow:visible}
  .hero .crow{background:none;border:none;padding:3px 0;margin:0 !important;border-radius:0;overflow:visible;
    display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.85rem;opacity:.38}
  .hero .crow.is-scan{opacity:.85;background:none}
  .hero .crow.is-on{opacity:1;background:none;border:none}
  .hero .crow__t{text-align:right;order:1}
  .hero .crow__t b{color:var(--paper);text-shadow:0 1px 12px rgba(8,23,38,.7)}
  .hero .crow__t span{color:rgba(247,245,240,.66)}
  .hero .crow__ico{order:2;position:relative;width:46px;height:46px;border-radius:50%;
    background:rgba(9,22,36,.82);color:var(--paper);display:grid;place-items:center;
    border:1px solid rgba(247,245,240,.16);z-index:1}
  .hero .crow__ico::after{content:"";position:absolute;inset:3px;border-radius:50%;
    background:conic-gradient(var(--coral) 0 26%,transparent 26% 100%);
    -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));
            mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));
    opacity:0}
  .hero .crow.is-scan .crow__ico::after{opacity:1;animation:orbSpin 1.6s linear infinite}
  .hero .crow.is-on .crow__ico{background:var(--coral);border-color:var(--coral)}
  .hero .crow.is-on .crow__ico::after{opacity:1;background:conic-gradient(var(--coral) 0 78%,transparent 78% 100%);animation:orbSpin 4.2s linear infinite}
  .hero .crow__ok{order:3;position:absolute;right:-4px;transform:translateY(-26px)}
  .hero .crow{position:relative}
  .hero .crow__ok{right:10px;top:-3px}
  .hero .crow__scan{display:none}
  /* iplik: madalyon aksinda buyuyen omurga */
  .hero .console__thread{left:auto;right:calc(1.9rem + 8px + 23px);width:2px;background:var(--coral)}
  /* alt sayac hapi */
  .hero .console__foot{background:rgba(9,22,36,.72);border:1px solid rgba(247,245,240,.14);
    border-radius:999px;padding:.5rem .95rem;flex-wrap:nowrap;gap:.6rem}
  .hero .console__wm{display:none}
  .ambient__count{left:14px;right:auto}
}
@keyframes orbSpin{to{transform:rotate(1turn)}}
@media (prefers-reduced-motion:reduce){.hero .crow.is-scan .crow__ico::after,.hero .crow.is-on .crow__ico::after{animation:none;background:conic-gradient(var(--coral) 0 100%)}}


/* STAMP-LANDING: damga madalyonlarin soluna, bos fotograf alanina duser */
@media (min-width:981px){
  .hero .console__stamp{right:clamp(16rem,22vw,23rem);top:42%}
}

@keyframes orbLock{0%{transform:scale(.92)}55%{transform:scale(1.08)}100%{transform:scale(1)}}

/* imlec: sadece yazarken, sabit; bitince sessizce kaybolur */
.hero .console__caret{animation:none;opacity:0;transition:opacity .35s var(--ease)}
.hero .console.is-typing .console__caret{opacity:1}


/* ============ PLAN-2: alt boumler ============ */
/* §4 yapiskan-sol "Neden biz" */
@media (min-width:1080px){
  #why .wrap{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,5vw,4.5rem);align-items:start;justify-content:start}
  #why .pros{max-width:500px;width:100%;justify-self:end}
  #why .sec-head{position:sticky;top:96px;margin:0}
  #why .sec-head__row{display:block}
}
#why .pros{display:flex;flex-direction:column;gap:.5rem}
#why .pros__item{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:.85rem;row-gap:.1rem;
  padding:.8rem 1rem;background:var(--white);border:1px solid var(--ink-10);border-radius:10px;
  transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}
#why .pros__item:hover{transform:translateX(4px);border-color:var(--ink-30);box-shadow:0 14px 30px -22px rgba(11,31,51,.5)}
#why .pros__item .pros__ico{grid-row:1/3;width:34px;height:34px;border-radius:8px;background:var(--sand);
  display:grid;place-items:center;color:var(--ink)}
#why .pros__item > .mono{display:none}
#why .pros__item b{align-self:end}
#why .pros__item p{grid-column:2;margin:0}

/* §5 kategori bento kademeleri */
@media (min-width:1080px){
  .uni{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
  .uni > *{grid-column:span 3}
  .uni > *:nth-child(1),.uni > *:nth-child(2){grid-column:span 6}
  .uni > *:nth-child(1) .ucard__art,.uni > *:nth-child(2) .ucard__art,
  .uni > *:nth-child(1) .art,.uni > *:nth-child(2) .art{aspect-ratio:16/9}
  .uni > *:nth-child(n+7){grid-column:span 4}
}

/* §8 surec hatti */
.proc{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.2rem,3vw,2.4rem);margin-top:1.4rem}
.proc::before{content:"";position:absolute;left:0;right:0;top:14px;height:2px;background:var(--coral);
  transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease-out) .2s}
.proc.is-in::before{transform:scaleX(1)}
.proc__step{position:relative;padding-top:2rem}
.proc__step::before{content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%;
  background:var(--paper);border:2px solid var(--coral)}
.proc__step .mono{font-size:.6rem;letter-spacing:.16em;color:var(--ink-45)}
.proc__step b{display:block;margin:.3rem 0 .35rem;font-size:1.05rem}
.proc__step p{margin:0;color:var(--ink-65);font-size:.92rem;max-width:26ch}
.proc__badge{display:inline-block;margin-top:.7rem;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--coral-deep);border:1.5px solid var(--coral);border-radius:6px;
  padding:.3rem .55rem;transform:rotate(-3deg);background:rgba(255,53,94,.05)}
@media (max-width:860px){
  .proc{grid-template-columns:1fr;gap:1.6rem}
  .proc::before{left:6px;right:auto;top:0;bottom:0;width:2px;height:auto;transform:scaleY(0);transform-origin:top}
  .proc.is-in::before{transform:scaleY(1)}
  .proc__step{padding-top:0;padding-left:2rem}
  .proc__step::before{top:2px}
}
@media (prefers-reduced-motion:reduce){.proc::before{transform:none !important;transition:none}}

/* §12 kapanis bandi */
#closing .closing{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.1rem;
  padding-block:clamp(1rem,3vw,2rem)}
#closing .closing__line{width:min(260px,60vw);height:auto;opacity:.9}
#closing h2{max-width:18ch}
#closing .closing__sub{font-size:.66rem;letter-spacing:.14em;color:var(--paper-60);text-transform:uppercase}
#closing .closing__cta{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin-top:.4rem}

/* compact info-rows: half the height, same information */
#why .pros__item b{font-size:.95rem;line-height:1.25}
#why .pros__item p{font-size:.84rem;line-height:1.35;color:var(--ink-65)}
#why .pros__item .pros__ico svg{width:16px;height:16px}


/* ============ CANLI FOY (request) ============ */
@media (min-width:1080px){
  .rfq-wrap{max-width:1180px;display:grid;grid-template-columns:minmax(0,1fr) 330px;column-gap:3rem;align-items:start}
  .rfq-wrap .sec-head,.rfq-wrap .steps,.rfq-wrap form{grid-column:1}
  .rfq-wrap .foy{grid-column:2;grid-row:1/6;position:sticky;top:96px}
}
@media (max-width:1079px){ .rfq-wrap{max-width:1000px} .foy{margin-top:1.4rem} }
.foy{background:var(--white);border:1px solid var(--ink-10);border-radius:12px;overflow:hidden;
  box-shadow:0 2px 0 var(--coral) inset, 0 20px 44px -30px rgba(11,31,51,.45)}
.foy__bar{padding:.7rem .95rem;border-bottom:1px solid var(--ink-10)}
.foy__bar .mono{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45)}
.foy__meta{padding:.55rem .95rem;border-bottom:1px dashed var(--ink-10);font-size:.66rem;color:var(--ink-65)}
.foy__rows{padding:.5rem}
.frow{display:flex;align-items:center;gap:.7rem;padding:.55rem .6rem;border-radius:9px}
.frow + .frow{margin-top:.15rem}
.frow__ico{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--sand);
  display:grid;place-items:center;color:var(--ink)}
.frow__ico svg{width:14px;height:14px}
.frow.is-last .frow__ico{background:var(--coral);color:#fff;box-shadow:0 0 0 2px var(--white),0 0 0 3.5px var(--coral)}
.frow__t b{display:block;font-size:.84rem;line-height:1.2}
.frow__t .mono{font-size:.56rem;letter-spacing:.12em;color:var(--ink-45);text-transform:uppercase}
.foy__empty{margin:0;padding:1rem .95rem 1.2rem;font-size:.84rem;color:var(--ink-45)}
.foy__foot{padding:.6rem .95rem .8rem;border-top:1px solid var(--ink-10)}
.foy__stamp{display:inline-block;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--coral-deep);border:1.5px solid var(--coral);border-radius:6px;padding:.28rem .5rem;transform:rotate(-2deg)}

/* katalog dil cipi */
.pcard__langs{letter-spacing:.08em}

/* ============ BASKI TERZISI ============ */
@media print{
  .header,.chub,footer,.quote-actions,.notice,.intentbar{display:none !important}
  body{background:#fff;color:#111}
  .section{padding:8mm 0}
  .wrap{max-width:180mm}
  .qline{break-inside:avoid;border-color:#ddd}
  .quote-head::after{content:"with emrahkisa \00b7 +90 542 508 67 88 \00b7 t.me/emrahkisa";
    display:block;margin-top:4mm;font-family:var(--f-mono);font-size:9px;color:#555}
}

/* oyuncak sahne ustunde gezinebilsin */
.connline{position:relative;z-index:130}


/* ============ PARTNER MERDIVENI: Hat / Halka / Damga ============ */
.ladder{display:grid;gap:14px;margin-top:1.6rem}
@media (min-width:1080px){.ladder{grid-template-columns:repeat(3,1fr)}}
.rung{background:var(--white);border:1px solid var(--ink-10);border-radius:12px;
  padding:1.5rem 1.5rem 1.3rem;border-top:3px solid var(--ink-10);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.rung:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(11,31,51,.5)}
.rung--mid{border-top-color:var(--mint)}
.rung--top{border-top-color:var(--coral);box-shadow:0 16px 36px -24px rgba(224,30,70,.35)}
.rung__glyph{display:inline-flex;color:var(--ink);margin-bottom:.6rem}
.rung--mid .rung__glyph{color:var(--mint)}
.rung--top .rung__glyph{color:var(--coral)}
.rung__glyph svg{width:44px;height:18px}
.rung h3{margin:0 0 .2rem;font-size:1rem;letter-spacing:.12em}
.rung__crit{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45);margin:0 0 .8rem}
.rung ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.rung li{font-size:.9rem;color:var(--ink-65);padding-left:1rem;position:relative}
.rung li::before{content:"";position:absolute;left:0;top:.52em;width:5px;height:5px;border-radius:50%;background:var(--coral)}
.ladder__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  margin-top:1.4rem;padding-top:1.2rem;border-top:1px dashed var(--ink-10)}
.ladder__foot .mono{font-size:.64rem;letter-spacing:.1em;color:var(--ink-45);max-width:52ch}


/* ============ PARTNER DEFTERI ============ */
.pbook__demo{display:inline-block;font-size:.58rem;letter-spacing:.14em;color:var(--coral-deep);
  border:1px dashed var(--coral);border-radius:6px;padding:.3rem .55rem;margin:0 0 1rem}
.pbook__sum{display:flex;gap:1.6rem;align-items:flex-end;flex-wrap:wrap;
  padding:1rem 1.2rem;background:var(--white);border:1px solid var(--ink-10);border-radius:12px;margin-bottom:1rem}
.pbook__sum b{display:block;font-size:1.5rem;letter-spacing:-.02em}
.pbook__sum .mono{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45)}
.pbook__code{margin-left:auto;font-size:.66rem;color:var(--ink-45);border:1px solid var(--ink-10);
  border-radius:999px;padding:.35rem .7rem}
.pbook__table{width:100%;border-collapse:collapse;background:var(--white);
  border:1px solid var(--ink-10);border-radius:12px;overflow:hidden}
.pbook__table th{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45);
  text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--ink-10)}
.pbook__table td{padding:.72rem .9rem;border-bottom:1px solid rgba(11,31,51,.06);font-size:.92rem}
.pbook__table tr:last-child td{border-bottom:0}
.pbook__table tr.is-past td{color:var(--ink-45)}
.pbook__table tr.is-soon{background:rgba(255,53,94,.05);box-shadow:inset 3px 0 0 var(--coral)}
.pbook__chip{font-size:.52rem;letter-spacing:.12em;color:var(--coral-deep);border:1px solid var(--coral);
  border-radius:5px;padding:.14rem .4rem;margin-left:.45rem;vertical-align:1px}
.pbook__note{color:var(--ink-45);font-size:.7rem;letter-spacing:.1em}
@media (max-width:720px){
  .pbook__table thead{display:none}
  .pbook__table tr{display:block;padding:.5rem .2rem}
  .pbook__table td{display:block;border:0;padding:.18rem .7rem}
}

/* erisilebilirlik: icerige gec */
.skip{position:fixed;left:12px;top:-48px;z-index:400;background:var(--ink);color:var(--paper);padding:.55rem .9rem;border-radius:8px;transition:top .2s var(--ease)}
.skip:focus-visible{top:12px}

/* dil paketi: mobil uyumluluk ekleri */
/* Bu kuralları güncel responsive bloklarla birleştir; mevcut kuralları silme. */
@media (max-width:900px){
  .mega{display:none}
}

@media (max-width:640px){
  .header__actions{margin-left:auto;gap:.4rem}
  .header__actions>.btn{display:none}
  .footer__grid{grid-template-columns:1fr}
}

@media (max-width:400px){
  .header__inner{gap:.5rem}
}


/* acik zeminde btn--light: kagit ustune murekkep */
.pbook .btn--light,.quote-actions .btn--light{color:var(--ink);background:var(--white);border:1px solid var(--ink-25)}
.pbook .btn--light:hover,.quote-actions .btn--light:hover{border-color:var(--ink);transform:translateY(-1px)}


/* ============ ACENTELER: kuresel baglanti sahnesi ============ */
.hero--net{position:relative;background:var(--navy-deep);overflow:hidden}
.hero--net .hero__grid{position:relative;z-index:2;grid-template-columns:minmax(0,1fr)}
.hero__net{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 12%,rgba(0,0,0,.3) 26%,#000 48%);
  mask-image:linear-gradient(90deg,transparent 0,transparent 12%,rgba(0,0,0,.3) 26%,#000 48%)}
@media (max-width:900px){
  .hero__net{-webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.3) 30%,#000 60%);
    mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.3) 30%,#000 60%);opacity:.8}
}


/* ============ MEGA MENU: imlecle yuruyen coral isima ============ */
.mega__item{position:relative;box-shadow:0 0 0 rgba(255,53,94,0)}
.mega__item:hover,.mega__item:focus-visible{background:var(--ink-06);
  box-shadow:0 14px 26px -14px rgba(255,53,94,.6), inset 0 -2px 0 var(--coral)}
.mega__item:focus-visible{outline:none}


/* ============ D1: murekkep gecisleri ============ */
.inkline{display:block;width:min(320px,42vw);height:16px;margin:0 auto;color:var(--ink);opacity:.5}
.section--dark .inkline,.hero--net .inkline{color:var(--paper)}
.inkline path{stroke-dasharray:340;stroke-dashoffset:340}
.inkline.is-in path{animation:inkdraw 1.1s var(--ease) forwards}
@keyframes inkdraw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.inkline path{stroke-dashoffset:0;animation:none}}


/* ============ D1: uc dil aynasi ============ */
.mirror{display:flex;flex-direction:column;gap:.3rem;margin:1rem 0;padding:.9rem 1rem;
  background:var(--white);border:1px dashed var(--ink-10);border-radius:10px}
.mirror__row{display:flex;align-items:center;gap:.7rem}
.mirror__lang{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.14em;color:var(--ink-45);width:2ch}
.mirror__txt{font-size:.92rem;color:var(--ink);flex:1;min-width:0}
.mirror__copy{border:1px solid var(--ink-10);background:none;border-radius:6px;padding:.2rem .5rem;
  font-family:var(--f-mono);font-size:.56rem;letter-spacing:.1em;cursor:pointer;color:var(--ink-65)}
.mirror__copy:hover{border-color:var(--coral);color:var(--coral-deep)}
.mirror__copy.is-done{border-color:var(--mint);color:var(--ink)}


/* ============ PLAN B LIBRARY ============ */
.planb{margin:1.2rem 0 0;padding:1.2rem 1.3rem;background:var(--navy-deep);border-radius:12px;color:var(--paper)}
.planb__eyebrow{font-size:.56rem;letter-spacing:.16em;color:var(--mint);text-transform:uppercase;margin:0 0 .3rem}
.planb__title{margin:0 0 .25rem;font-size:1.15rem;letter-spacing:-.02em;color:#fff}
.planb__sub{margin:0 0 .9rem;font-size:.82rem;color:rgba(247,245,240,.65)}
.planb__list{display:flex;flex-direction:column;gap:.55rem}
.planb__row{display:flex;gap:.8rem;align-items:baseline}
.planb__k{flex:0 0 7.5ch;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.planb__t{font-size:.86rem;color:rgba(247,245,240,.92);line-height:1.5}


/* ============ SESLI TALEP KANALI (v0) ============ */
.voicecard{display:flex;gap:1.4rem;align-items:center;justify-content:space-between;flex-wrap:wrap;
  margin:1.4rem 0 .4rem;padding:1.2rem 1.4rem;background:var(--navy-deep);border-radius:14px;color:var(--paper);
  box-shadow:inset 3px 0 0 var(--coral)}
.voicecard__eyebrow{font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mint);margin:0 0 .25rem}
.voicecard__title{margin:0 0 .3rem;font-size:1.25rem;letter-spacing:-.02em;color:#fff}
.voicecard__sub{margin:0 0 .4rem;font-size:.85rem;color:rgba(247,245,240,.72);max-width:52ch}
.voicecard__hint{margin:0;font-size:.58rem;letter-spacing:.1em;color:var(--ink-40);color:rgba(247,245,240,.45)}
.voicecard__cta{display:flex;flex-direction:column;gap:.55rem;min-width:220px}
.voicecard .btn--ghost{border-color:rgba(247,245,240,.35);color:var(--paper)}
.voicecard .btn--ghost:hover{border-color:var(--paper)}
@media (max-width:720px){.voicecard{flex-direction:column;align-items:stretch}.voicecard__cta{min-width:0}}


/* ============ ARAMA TEZGAHI: tek yukseklik anayasasi ============ */
.quickbar{--qh:52px;gap:.7rem}
.quickbar__field{gap:.42rem}
.quickbar__field label{font-size:.56rem;letter-spacing:.18em;color:var(--ink-45)}
.quickbar__field select,.quickbar__field input{
  height:var(--qh);padding:0 .95rem;font-size:.92rem;border-radius:10px;border-color:var(--ink-10)}
.quickbar__field select{appearance:none;-webkit-appearance:none;padding-right:2.4rem;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='rgb(11,31,51)' stroke-opacity='0.55' stroke-width='1.8' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right .9rem center;
  text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.quickbar__field input[type=number]{font-variant-numeric:tabular-nums}
.quickbar .btn{height:var(--qh);padding-inline:1.5rem;border-radius:10px}
.intentbar__row{align-items:center}
.intentbar__scroll .chip,.intentbar__scroll button{height:44px;display:inline-flex;align-items:center;gap:.5rem;
  padding:0 1.05rem;border-radius:999px;font-size:.86rem;white-space:nowrap}
@media (max-width:900px){.quickbar{--qh:50px}}


/* arama bandi: coral kilcik emekli, saf golge */
.intentbar__inner{border-color:var(--ink-10);
  box-shadow:0 30px 70px -28px rgba(4,12,20,.45), 0 2px 10px -6px rgba(11,31,51,.18)}


/* ============ TASLAK KURTARMA ŞERİDİ ============ */
.draftstrip{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  margin:0 0 1.2rem;padding:.8rem 1.1rem;background:var(--white);border:1px solid var(--ink-10);
  border-left:3px solid var(--mint);border-radius:10px}
.draftstrip__t{font-size:.9rem;color:var(--ink)}
.draftstrip__cta{display:flex;gap:.5rem}
.btn--sm{height:38px;padding-inline:1rem;font-size:.82rem}

/* =========================================================
   Refinements (0813-108b) — multilingual polish (RU/TR),
   nav no-wrap, tidy control labels. Additive; later rules win.
   ========================================================= */
.nav__link{white-space:nowrap}
@media (min-width:981px){
  .nav{gap:clamp(.5rem,1.4vw,1.35rem)}
  .nav__link{font-size:.86rem}
}
/* keep quickbar field labels on one refined line in every language */
.quickbar__field label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.12em}
.quickbar__field{min-width:0}
/* buttons never clip long RU/TR labels */
.btn{white-space:normal}
.btn--sm{white-space:nowrap}
/* console tabs: wrap gracefully rather than overflow on long RU labels */
.jc-tab{white-space:nowrap}
/* pros cards: allow taller text blocks in RU without clipping */
.pros__item{min-height:0}
.pros__item p{overflow-wrap:anywhere}
