  :root{
    --lime:#cffd00; --lime-bg:#f3fad4;
    --orange:#cb633e; --orange-bg:#f8e4d9;
    --violet:#837ffa; --violet-alt:#d2d0fc; --violet-bg:#eeeafd;
    --green:#5b7b69;
    --ink:#111315; --mute:#565961; --line:#e2e0dc;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;}
  body{background:#fff;color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.5;}
  .serif{font-family:"Cormorant Garamond",Georgia,serif;}
  .wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3{letter-spacing:-.01em;}

  /* ---------- Header ---------- */
  header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
  .bar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
  .brand{display:flex;align-items:center;gap:13px;}
  .brand .mark{width:40px;height:40px;flex:0 0 auto;}
  .brand .name{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:26px;line-height:1;letter-spacing:-.02em;}
  .brand .name small{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:block;margin-top:3px;}
  nav.main{display:flex;gap:34px;font-size:13px;letter-spacing:.03em;}
  nav.main a{color:var(--mute);transition:color .18s ease;}
  nav.main a:hover{color:var(--ink);}
  .ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;}
  .ham span{width:24px;height:2px;background:var(--ink);display:block;}

  /* ---------- Hero ---------- */
  .hero{padding:78px 0 60px;position:relative;}
  .eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:30px;}
  .eyebrow .dot{width:9px;height:9px;border-radius:50%;background:var(--orange);}
  .hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.02em;max-width:18ch;}
  .hero h1 .mk{background:linear-gradient(transparent 62%,var(--lime) 62%);padding:0 .06em;}
  .hero-lead{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:44px;max-width:900px;}
  .hero-lead p{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.32;font-weight:500;color:#20232a;}

  /* section scaffolding */
  section.blk{position:relative;border-top:1px solid var(--ink);padding:64px 0;}
  .rot{position:absolute;left:0;top:66px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);}
  .blk .inner{padding-left:58px;}
  .kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:18px;}
  .h-sec{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.04;margin-bottom:12px;}

  /* ---------- Tabs ---------- */
  .tabs-head{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 34px;}
  .tab{border:1px solid var(--ink);border-radius:999px;background:#fff;padding:11px 20px;font-size:13px;cursor:pointer;
    transition:background .18s ease,color .18s ease,transform .18s ease;}
  .tab:hover{transform:translateY(-2px);}
  .tab[aria-selected="true"]{background:var(--ink);color:#fff;}
  .tab-panel{display:none;}
  .tab-panel[data-active]{display:block;}
  .tab-lead{font-size:16px;color:var(--mute);max-width:60ch;margin-bottom:24px;}
  .chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
  .chip{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;
    transition:border-color .18s ease,transform .18s ease,box-shadow .2s ease;background:#fff;}
  .chip:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 24px -18px rgba(17,19,21,.55);}
  .chip .tile{width:44px;height:44px;border-radius:9px;overflow:hidden;flex:0 0 auto;background:#111;}
  .chip .tile img{width:100%;height:100%;object-fit:contain;}
  .chip b{font-size:15px;font-weight:600;display:block;}
  .chip span{font-size:12.5px;color:var(--mute);line-height:1.3;}

  /* ---------- Profiles ---------- */
  .profile{display:grid;grid-template-columns:132px 1fr;gap:40px;padding:52px 0;border-top:1px solid var(--line);}
  .profile:first-of-type{border-top:0;}
  .p-idx{font-family:"Cormorant Garamond",Georgia,serif;font-size:42px;font-weight:500;color:var(--mute);line-height:1;}
  .p-tile{width:96px;height:96px;border-radius:16px;overflow:hidden;margin-top:16px;background:#111;border:1px solid var(--line);}
  .p-tile img{width:100%;height:100%;object-fit:contain;}
  .p-name{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1;}
  .p-best{margin:14px 0 18px;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.15rem,1.7vw,1.4rem);color:var(--orange);}
  .p-body{max-width:70ch;color:#24272e;}
  .p-meta{margin-top:24px;display:grid;grid-template-columns:130px 1fr;gap:9px 22px;font-size:14.5px;max-width:74ch;}
  .p-meta dt{color:var(--mute);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;padding-top:3px;}
  .p-meta dd{color:var(--ink);}
  .p-meta a{border-bottom:1px solid var(--orange);color:var(--orange);}
  .p-meta a:hover{background:var(--orange);color:#fff;}
  .p-meta .skip{color:#7a2f18;}
  .p-meta .skip-t{color:#7a2f18;}

  /* ---------- Comparison table ---------- */
  .cmp{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:26px;}
  .cmp th,.cmp td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top;}
  .cmp thead th{background:var(--ink);color:#fff;font-weight:500;font-size:12px;letter-spacing:.05em;text-transform:uppercase;position:sticky;top:70px;}
  .cmp tbody tr:nth-child(even){background:var(--violet-bg);}
  .cmp tbody tr:hover{background:var(--lime-bg);}
  .cmp .ag{font-weight:600;white-space:nowrap;}
  .cmp .own-omni{color:var(--orange);font-weight:600;}
  .cmp .own-ind{color:var(--green);}
  .cmp-scroll{overflow-x:auto;}
  .cmp-note{font-size:13px;color:var(--mute);margin-top:14px;}

  /* ---------- Ownership infographic ---------- */
  .own-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;margin-top:28px;}
  .own-card{border-radius:20px;padding:30px 30px 26px;border:1px solid var(--line);}
  .own-card.ind{background:var(--lime-bg);}
  .own-card.omni{background:var(--orange-bg);}
  .own-card h4{font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);margin-bottom:6px;}
  .own-card .big{font-family:"Cormorant Garamond",Georgia,serif;font-size:52px;font-weight:500;line-height:1;margin-bottom:16px;}
  .own-card ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;}
  .own-card li{background:#fff;border:1px solid rgba(17,19,21,.14);border-radius:999px;padding:6px 13px;font-size:13px;}
  .own-card.omni li{background:#fff;}
  .own-card p.small{font-size:13px;color:var(--mute);margin-top:16px;line-height:1.45;}

  /* ---------- Cost tiers ---------- */
  .cost{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;}
  .cost-card{border:1px solid var(--ink);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;}
  .cost-card:nth-child(1){background:#fff;}
  .cost-card:nth-child(2){background:var(--violet-bg);}
  .cost-card:nth-child(3){background:var(--ink);color:#fff;}
  .cost-card .t{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);}
  .cost-card:nth-child(3) .t{color:var(--violet-alt);}
  .cost-card .price{font-family:"Cormorant Garamond",Georgia,serif;font-size:40px;font-weight:500;line-height:1;margin:14px 0 4px;}
  .cost-card .time{font-size:14px;color:var(--mute);margin-bottom:16px;}
  .cost-card:nth-child(3) .time{color:var(--violet-alt);}
  .cost-card p{font-size:14.5px;line-height:1.5;}
  .cost-foot{font-size:15px;color:#24272e;margin-top:22px;max-width:80ch;}

  /* ---------- Prose ---------- */
  .prose{max-width:74ch;}
  .prose p{margin-bottom:20px;color:#24272e;}
  .prose p strong{color:var(--ink);}
  .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px;}
  .trio .c{border-top:3px solid var(--ink);padding-top:16px;}
  .trio .c:nth-child(1){border-color:var(--green);}
  .trio .c:nth-child(2){border-color:var(--orange);}
  .trio .c:nth-child(3){border-color:var(--violet);}
  .trio h4{font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;font-weight:600;margin-bottom:8px;}
  .trio p{font-size:15px;color:#24272e;}

  /* ---------- FAQ ---------- */
  .faq details{border-bottom:1px solid var(--line);padding:6px 0;}
  .faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;
    font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.3rem,2vw,1.6rem);font-weight:500;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";position:absolute;right:4px;top:18px;font-size:26px;color:var(--orange);transition:transform .2s ease;font-family:"Helvetica Neue",Arial,sans-serif;}
  .faq details[open] summary::after{transform:rotate(45deg);}
  .faq p{padding:0 0 22px;max-width:76ch;color:#24272e;}

  /* ---------- Footer ---------- */
  footer{background:var(--violet-bg);border-top:1px solid var(--ink);}
  .foot{display:grid;grid-template-columns:1.8fr 1fr;gap:40px;padding:60px 0;}
  .foot .brand .name{font-size:24px;}
  .foot p.blurb{font-size:14.5px;color:#3a3d45;max-width:44ch;margin-top:18px;line-height:1.55;}
  .foot h5{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);margin-bottom:16px;}
  .foot ul{list-style:none;font-size:15px;line-height:2;}
  .foot ul a:hover{color:var(--orange);}
  .foot .news input{border:1px solid var(--ink);background:#fff;border-radius:999px;padding:11px 16px;font-size:14px;width:100%;max-width:230px;}
  .foot .news button{margin-top:10px;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;padding:11px 22px;font-size:13px;cursor:pointer;transition:opacity .18s ease;}
  .foot .news button:hover{opacity:.8;}
  .foot-base{border-top:1px solid var(--violet-alt);padding:22px 0 40px;display:flex;justify-content:space-between;gap:20px;font-size:12.5px;color:var(--mute);flex-wrap:wrap;}

  /* ---------- Responsive ---------- */
  @media(max-width:900px){
    .hero-lead{grid-template-columns:1fr;gap:20px;}
    .own-grid{grid-template-columns:1fr;}
    .cost,.trio{grid-template-columns:1fr;}
    .foot{grid-template-columns:1fr 1fr;}
  }
  @media(max-width:600px){
    .wrap{padding:0 20px;}
    nav.main{display:none;}
    .ham{display:flex;}
    nav.main.open{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 20px 18px;border-bottom:1px solid var(--line);}
    nav.main.open a{padding:12px 0;border-bottom:1px solid var(--line);}
    .hero{padding:46px 0 40px;}
    .blk{padding:48px 0;}
    .blk .inner{padding-left:0;}
    .rot{display:none;}
    .profile{grid-template-columns:1fr;gap:18px;padding:40px 0;}
    .p-head-row{display:flex;align-items:center;gap:16px;}
    .p-tile{margin-top:0;width:64px;height:64px;}
    .p-idx{font-size:30px;}
    .p-meta{grid-template-columns:1fr;gap:2px 0;}
    .p-meta dt{padding-top:12px;}
    .cmp thead th{position:static;}
    .foot{grid-template-columns:1fr;gap:30px;}
  }
  :focus-visible{outline:2px solid var(--violet);outline-offset:3px;}
  @media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto;}}

nav.main a.active{color:var(--ink);font-weight:600;}

/* ---------- Editorial / utility pages ---------- */
.foot-base a{border-bottom:1px solid var(--mute);}
.foot-base a:hover{color:var(--orange);border-color:var(--orange);}
.bullets{list-style:none;max-width:74ch;margin-top:14px;}
.bullets li{position:relative;padding-left:26px;margin-bottom:12px;color:#24272e;}
.bullets li::before{content:"";position:absolute;left:3px;top:9px;width:9px;height:9px;background:var(--lime);border:1px solid var(--ink);border-radius:50%;}
.points{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;margin-top:26px;max-width:900px;}
.points .pt{border-top:3px solid var(--ink);padding-top:15px;}
.points .pt:nth-child(1){border-color:var(--green);}
.points .pt:nth-child(2){border-color:var(--orange);}
.points .pt:nth-child(3){border-color:var(--violet);}
.points .pt:nth-child(4){border-color:var(--ink);}
.points h4{font-family:"Cormorant Garamond",Georgia,serif;font-size:23px;font-weight:600;margin-bottom:7px;}
.points p{font-size:15px;color:#24272e;}

/* ---------- Contact form ---------- */
.form{max-width:640px;margin-top:30px;display:grid;gap:20px;}
.field{display:grid;gap:7px;}
.field label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);}
.field label .req{color:var(--orange);}
.field input,.field select,.field textarea{border:1px solid var(--ink);border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;background:#fff;color:var(--ink);width:100%;}
.field textarea{min-height:150px;resize:vertical;line-height:1.5;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--violet);outline-offset:2px;}
.field .hint{font-size:12.5px;color:var(--mute);}
.field.hidden{display:none;}
.form-submit{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;padding:13px 30px;font-size:14px;cursor:pointer;justify-self:start;transition:opacity .18s ease,transform .18s ease;}
.form-submit:hover{opacity:.85;transform:translateY(-2px);}
.form-note{background:var(--lime-bg);border:1px solid var(--lime);border-radius:14px;padding:20px 22px;font-size:15px;line-height:1.5;margin-top:22px;display:none;max-width:640px;}
.form-note.show{display:block;}
@media(max-width:600px){.points{grid-template-columns:1fr;}}

/* ---------- Nav dropdown (Industries) ---------- */
.dropdown{position:relative;}
.dropbtn{background:none;border:0;font-family:inherit;font-size:13px;letter-spacing:.03em;color:var(--mute);cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px;transition:color .18s ease;}
.dropbtn .caret{transition:transform .18s ease;}
.dropdown:hover .dropbtn,.dropbtn:focus-visible{color:var(--ink);}
.dropbtn.active{color:var(--ink);font-weight:600;}
.dropmenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;min-width:214px;box-shadow:0 22px 44px -26px rgba(17,19,21,.55);opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease;z-index:60;display:grid;gap:2px;}
.dropdown:hover .dropmenu,.dropdown:focus-within .dropmenu,.dropdown.open .dropmenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.dropdown:hover .caret,.dropdown.open .caret{transform:rotate(180deg);}
.dropmenu a{display:block;padding:9px 12px;border-radius:9px;font-size:14px;letter-spacing:0;color:var(--ink);transition:background .15s ease;}
.dropmenu a:hover{background:var(--violet-bg);}

/* Nav dropdown — mobile */
@media(max-width:600px){
  .dropdown{width:100%;}
  .dropbtn{width:100%;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);color:var(--mute);}
  .dropmenu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;padding:6px 0 6px 14px;min-width:0;margin-top:0;background:transparent;}
  .dropmenu a{padding:11px 0;border-bottom:1px solid var(--line);border-radius:0;}
  .dropdown .caret{display:none;}
}

/* ---------- Dropdown hover-bridge fix ---------- */
/* Keep a visual gap but bridge it with a transparent zone so the menu
   stays open while the cursor travels from the button to the items. */
.dropmenu{margin-top:12px;}
.dropmenu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;background:transparent;}
@media(max-width:600px){
  .dropmenu{margin-top:0;}
  .dropmenu::before{display:none;}
}
