@layer reset, tokens, layout, components, utilities;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin:0; }
  img { max-width:100%; display:block; }
  a { color:inherit; text-decoration:none; }
  ul { list-style:none; margin:0; padding:0; }
  button { font:inherit; cursor:pointer; }
  input, textarea, select { font:inherit; }
  figure { margin:0; }
  h1,h2,h3,h4,p { margin:0; }
}

@layer tokens {
  :root {
    --ink-900:#161f2c;
    --ink-700:#33404f;
    --ink-500:#5b6b7c;
    --ink-300:#93a1ae;
    --paper-0:#fbf9f5;
    --paper-100:#f3efe6;
    --paper-200:#eae2d3;
    --card-bg:#fffdf9;
    --primary-700:#132844;
    --primary-600:#1c3a5e;
    --primary-500:#2b527d;
    --accent-500:#d97a3f;
    --accent-600:#bd612a;
    --accent-100:#f6e1cd;
    --teal-600:#286b5a;
    --teal-100:#dcece5;
    --line: rgba(22,32,44,0.10);
    --r-sm:8px;
    --r-md:14px;
    --r-lg:22px;
    --r-xl:32px;
    --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
    --sp-5:1.5rem; --sp-6:2rem; --sp-7:2.5rem; --sp-8:3rem;
    --sp-10:4rem; --sp-12:5rem; --sp-16:7rem;
    --sh-1: 0 1px 2px rgba(19,40,68,.07), 0 2px 6px rgba(19,40,68,.06);
    --sh-2: 0 4px 10px rgba(19,40,68,.09), 0 10px 22px rgba(19,40,68,.10);
    --sh-3: 0 10px 22px rgba(19,40,68,.12), 0 26px 48px rgba(19,40,68,.16);
    --sh-4: 0 18px 36px rgba(19,40,68,.18), 0 40px 70px rgba(19,40,68,.22);
    --tr: .3s cubic-bezier(.4,0,.2,1);
    --ff:'Lexend', sans-serif;
  }
}

@layer layout {
  html,body { background:var(--paper-0); color:var(--ink-900); font-family:var(--ff); line-height:1.65; -webkit-font-smoothing:antialiased; }
  .container { width:100%; max-width:1240px; margin-inline:auto; padding-inline: var(--sp-5); }
  .container-narrow { max-width:800px; }
  main { display:block; }
  .sec { padding-block: var(--sp-12); }
  @media (max-width:720px){ .sec { padding-block: var(--sp-8); } }
}

@layer components {

  h1 { font-size: clamp(2.25rem, 1.5rem + 3vw, 4.25rem); font-weight:600; line-height:1.08; letter-spacing:-0.01em; }
  h2 { font-size: clamp(1.6rem, 1.3rem + 1.5vw, 2.6rem); font-weight:600; line-height:1.15; letter-spacing:-0.01em; }
  h3 { font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); font-weight:600; line-height:1.3; }
  p { color: var(--ink-700); }

  .skip-to-content {
    position:absolute; top:0; left:var(--sp-4); z-index:200;
    background:var(--accent-500); color:#fff; padding:.75rem 1.25rem;
    border-radius: 0 0 var(--r-sm) var(--r-sm);
    transform:translateY(-100%); transition: transform .2s ease;
    font-weight:600;
  }
  .skip-to-content:focus { transform:translateY(0); }

  
  .hdr {
    position:sticky; top:0; z-index:100;
    background: rgba(19,40,68,0.94);
    backdrop-filter: blur(6px);
    transition: padding var(--tr), background var(--tr);
    box-shadow: var(--sh-2);
  }
  .hdr-inner {
    max-width:1240px; margin-inline:auto;
    display:flex; align-items:center; justify-content:space-between;
    padding: var(--sp-6) var(--sp-5);
    transition: padding var(--tr);
  }
  .hdr.is-scrolled { background: rgba(15,30,50,0.98); }
  .hdr.is-scrolled .hdr-inner { padding: var(--sp-3) var(--sp-5); }
  .hdr.is-scrolled .hdr-logo img { height:30px; }
  .hdr-logo img { height:40px; width:auto; transition: height var(--tr); }
  .hdr-nav ul { display:flex; align-items:center; gap: var(--sp-6); }
  .hdr-nav a { color: var(--paper-100); font-weight:500; font-size:.96rem; padding: .4rem .2rem; position:relative; transition: color var(--tr); }
  .hdr-nav a::after { content:''; position:absolute; left:0; bottom:-4px; width:0; height:2px; background:var(--accent-500); transition: width var(--tr); }
  .hdr-nav a:hover, .hdr-nav a.active { color:#fff; }
  .hdr-nav a:hover::after, .hdr-nav a.active::after { width:100%; }
  .hdr-nav a.hdr-cta {
    background:var(--accent-500); color:#fff; padding:.6rem 1.2rem; border-radius:var(--r-md);
    box-shadow: var(--sh-1); transition: box-shadow var(--tr), transform var(--tr), background var(--tr);
  }
  .hdr-nav a.hdr-cta::after { display:none; }
  .hdr-nav a.hdr-cta:hover { background:var(--accent-600); box-shadow:var(--sh-2); transform:translateY(-2px); }

  .hdr-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:10px; width:44px; height:44px; align-items:center; justify-content:center; }
  .hdr-toggle span { display:block; width:24px; height:2px; background:#fff; transition: transform var(--tr), opacity var(--tr); }
  .hdr-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hdr-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .hdr-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .hdr-mobile-panel {
    max-height:0; overflow:hidden; background: rgba(15,30,50,0.98);
    transition: max-height .35s ease;
  }
  .hdr-mobile-panel.is-open { max-height:500px; }
  .hdr-mobile-panel ul { padding: var(--sp-3) var(--sp-5) var(--sp-5); display:flex; flex-direction:column; }
  .hdr-mobile-panel a {
    display:flex; align-items:center; min-height:48px; color:var(--paper-100);
    border-top:1px solid rgba(255,255,255,0.08); font-weight:500; transition: color var(--tr), padding var(--tr);
  }
  .hdr-mobile-panel a:hover, .hdr-mobile-panel a.active { color:#fff; padding-left: var(--sp-2); }

  
  .hero { position:relative; min-height:min(88vh,720px); display:flex; overflow:hidden; }
  .hero-media { position:absolute; inset:0; }
  .hero-media img { width:100%; height:100%; object-fit:cover; }
  .hero-panel {
    position:absolute; inset:0;
    clip-path: polygon(0 0, 46% 0, 34% 100%, 0 100%);
    background: linear-gradient(155deg, var(--primary-700), var(--primary-600) 70%);
  }
  .hero-panel-inner {
    position:relative; z-index:2; max-width:480px;
    padding: var(--sp-16) var(--sp-8) var(--sp-16) var(--sp-6);
    display:flex; flex-direction:column; gap: var(--sp-5); height:100%; justify-content:center;
  }
  .hero-badge {
    display:inline-flex; align-items:center; gap:.5rem; width:fit-content;
    background:rgba(255,255,255,0.12); color:#fff; padding:.5rem 1rem;
    border-radius:999px; font-size:.85rem; font-weight:500;
  }
  .hero-panel-inner h1 { color:#fff; }
  .hero-lead { color: var(--paper-200); font-size:1.05rem; }
  .hero-lead mark { background:var(--accent-500); color:#fff; padding:0 .3em; border-radius:4px; }
  .hero-actions { display:flex; flex-wrap:wrap; gap: var(--sp-3); }

  @media (max-width:900px){
    .hero { min-height:auto; flex-direction:column; }
    .hero-media { position:relative; height:260px; inset:auto; }
    .hero-panel { position:relative; clip-path:none; inset:auto; }
    .hero-panel-inner { max-width:none; padding: var(--sp-8) var(--sp-5); }
  }

  
  .btn {
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    padding: .85rem 1.6rem; border-radius: var(--r-md); font-weight:600; font-size:.95rem;
    border:none; transition: transform var(--tr), box-shadow var(--tr), background var(--tr), color var(--tr);
    min-height:44px;
  }
  .btn-primary { background:var(--accent-500); color:#fff; box-shadow: var(--sh-2); }
  .btn-primary:hover { background:var(--accent-600); box-shadow: var(--sh-3); transform: translateY(-2px); }
  .btn-secondary { background:var(--teal-600); color:#fff; box-shadow: var(--sh-1); }
  .btn-secondary:hover { box-shadow: var(--sh-2); transform: translateY(-2px); }
  .btn-ghost { background:rgba(255,255,255,0.08); color:#fff; border:1px solid rgba(255,255,255,0.35); }
  .btn-ghost:hover { background:rgba(255,255,255,0.18); transform: translateY(-2px); }

  
  .sec-hd { max-width:720px; margin-bottom: var(--sp-8); }
  .sec-eyebrow { color:var(--accent-600); font-weight:600; letter-spacing:.06em; text-transform:uppercase; font-size:.8rem; margin-bottom:var(--sp-3); }
  .sec-title { margin-bottom: var(--sp-3); }
  .sec-lead { font-size:1.08rem; color:var(--ink-500); }

  
  .crd-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap: var(--sp-6); }
  .crd {
    background:var(--card-bg); border-radius: var(--r-lg); padding: var(--sp-6);
    box-shadow: var(--sh-2); border:1px solid var(--line);
    display:flex; flex-direction:column; gap: var(--sp-3);
    transition: transform var(--tr), box-shadow var(--tr);
  }
  .crd:hover { transform: translateY(-6px); box-shadow: var(--sh-4); }
  .crd-ico {
    width:52px; height:52px; border-radius: var(--r-md); background: var(--accent-100);
    color: var(--accent-600); display:flex; align-items:center; justify-content:center; font-size:1.3rem;
    transition: transform var(--tr);
  }
  .crd:hover .crd-ico { transform: rotate(-8deg) scale(1.08); }
  .crd hgroup h3 { margin-bottom:.2rem; }
  .crd hgroup p { color:var(--ink-500); font-size:.9rem; font-weight:500; }
  .crd-txt { font-size:.95rem; color: var(--ink-500); }

  .crd-masonry { column-count:3; column-gap: var(--sp-6); }
  @media (max-width:980px){ .crd-masonry { column-count:2; } }
  @media (max-width:640px){ .crd-masonry { column-count:1; } }
  .crd-tall {
    break-inside: avoid; margin-bottom: var(--sp-6);
    background:var(--card-bg); border-radius: var(--r-lg); overflow:hidden;
    box-shadow: var(--sh-2); border:1px solid var(--line);
    transition: transform var(--tr), box-shadow var(--tr);
    display:block;
  }
  .crd-tall:hover { transform: translateY(-6px); box-shadow: var(--sh-4); }
  .crd-tall figure img { height:190px; width:100%; object-fit:cover; }
  .crd-tall figcaption { font-size:.78rem; color:var(--ink-300); padding: var(--sp-2) var(--sp-5) 0; }
  .crd-tall hgroup { padding: var(--sp-5) var(--sp-5) 0; }
  .crd-tall hgroup p { color:var(--ink-500); font-size:.85rem; font-weight:500; }
  .crd-tall .crd-txt { padding: var(--sp-2) var(--sp-5); font-size:.95rem; color:var(--ink-500); }
  .crd-link { display:inline-flex; align-items:center; gap:.4rem; margin:0 var(--sp-5) var(--sp-5); font-weight:600; color:var(--accent-600); transition: gap var(--tr); }
  .crd-link:hover { gap:.7rem; }
  .crd-link i { transition: transform var(--tr); }
  .crd-link:hover i { transform: translateX(3px); }

  
  .wf { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap: var(--sp-6); position:relative; }
  .wf-step {
    background:var(--card-bg); border-radius: var(--r-lg); padding: var(--sp-6);
    box-shadow: var(--sh-1); border:1px solid var(--line); position:relative;
    transition: transform var(--tr), box-shadow var(--tr);
  }
  .wf-step:hover { transform: translateY(-5px); box-shadow: var(--sh-3); }
  .wf-num { font-size:.8rem; font-weight:700; color:var(--accent-600); letter-spacing:.08em; margin-bottom:var(--sp-3); }
  .wf-ico { width:46px; height:46px; border-radius:50%; background:var(--teal-100); color:var(--teal-600); display:flex; align-items:center; justify-content:center; margin-bottom:var(--sp-3); font-size:1.1rem; transition: transform var(--tr); }
  .wf-step:hover .wf-ico { transform: rotate(10deg) scale(1.1); }
  .wf-step h3 { margin-bottom: var(--sp-2); }
  .wf-step p { font-size:.92rem; }

  
  .pull-quote { border-left:4px solid var(--accent-500); padding-left: var(--sp-6); margin-bottom: var(--sp-5); }
  .pull-quote p { font-size:1.35rem; font-weight:500; color:var(--ink-900); font-style:italic; line-height:1.5; }
  .pull-quote cite { display:block; margin-top: var(--sp-3); font-style:normal; font-size:.85rem; color:var(--ink-500); font-weight:600; }
  .pull-quote-small p { font-size:1.05rem; }

  .cta-panel {
    background: var(--primary-700); color:#fff; border-radius: var(--r-xl); padding: var(--sp-10) var(--sp-8);
    box-shadow: var(--sh-3); text-align:center; display:flex; flex-direction:column; gap: var(--sp-4); align-items:center;
  }
  .cta-panel h2 { color:#fff; }
  .cta-panel p { color: var(--paper-200); max-width:560px; }

  
  .ftr { background: var(--primary-700); color: var(--paper-100); margin-top:auto; }
  .ftr-stats { border-bottom:1px solid rgba(255,255,255,0.1); }
  .ftr-stats-inner {
    max-width:1240px; margin-inline:auto; padding: var(--sp-5);
    display:flex; flex-wrap:wrap; justify-content:space-between; gap: var(--sp-4);
  }
  .ftr-stat { display:flex; align-items:center; gap: var(--sp-3); font-size:.88rem; font-weight:500; color:var(--paper-100); }
  .ftr-stat i { color:var(--accent-500); font-size:1.15rem; transition: transform var(--tr); }
  .ftr-stat:hover i { transform: scale(1.2) rotate(-6deg); }
  .ftr-main { padding-block: var(--sp-10); }
  .ftr-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap: var(--sp-8); }
  .ftr-col h3 { color:#fff; font-size:1rem; margin-bottom: var(--sp-3); }
  .ftr-col ul li { margin-bottom: var(--sp-2); }
  .ftr-col a { color: var(--paper-200); transition: color var(--tr); font-size:.92rem; }
  .ftr-col a:hover { color:#fff; }
  .ftr-brand img { margin-bottom: var(--sp-3); }
  .ftr-brand p { color: var(--paper-200); font-size:.9rem; max-width:280px; }
  .ftr .contact-details p { color: var(--paper-200); font-size:.9rem; margin-bottom:.3rem; }
  .ftr .contact-details a { color: var(--paper-200); }
  .ftr .contact-details a:hover { color:#fff; }
  .ftr-bottom { border-top:1px solid rgba(255,255,255,0.1); margin-top: var(--sp-8); padding-top: var(--sp-5); }
  .ftr-bottom small { color: var(--ink-300); }

  @media (max-width:900px){ .ftr-grid { grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .ftr-grid { grid-template-columns:1fr; } }

  
  .article-hd { padding-top: var(--sp-10); padding-bottom: var(--sp-6); }
  .article-dek { font-size:1.15rem; color: var(--ink-500); margin-top: var(--sp-3); }
  .article-meta { margin-top: var(--sp-4); font-size:.85rem; color:var(--ink-300); }
  .article-figure { max-width:1000px; margin: 0 auto var(--sp-10); padding-inline: var(--sp-5); }
  .article-figure img { width:100%; border-radius: var(--r-lg); box-shadow: var(--sh-3); }
  .article-figure figcaption { font-size:.85rem; color:var(--ink-300); margin-top: var(--sp-2); text-align:center; }
  .article-figure-inline { margin-block: var(--sp-8); }
  .article-figure-inline img { border-radius: var(--r-lg); box-shadow: var(--sh-2); }
  .article-figure-inline figcaption { font-size:.85rem; color:var(--ink-300); margin-top: var(--sp-2); }
  .article-body { padding-bottom: var(--sp-12); }
  .article-body .lede { font-size:1.15rem; color:var(--ink-700); }
  .article-body h2 { margin-top: var(--sp-8); margin-bottom: var(--sp-3); }
  .article-body p { margin-bottom: var(--sp-4); }
  .article-body mark { background:var(--accent-100); color:var(--accent-600); padding:0 .3em; border-radius:4px; }
  .article-body code { background:var(--paper-200); padding:.15em .45em; border-radius:5px; font-size:.92em; }
  .article-body small { display:block; color:var(--ink-300); margin-top:var(--sp-3); }

  
  .contact-grid { display:grid; grid-template-columns:1.1fr 1fr; gap: var(--sp-10); align-items:start; }
  @media (max-width:900px){ .contact-grid { grid-template-columns:1fr; } }
  .contact-col hgroup p { color:var(--ink-500); font-size:.9rem; margin-bottom: var(--sp-5); }
  .contact-col hgroup h2 { margin-bottom:.3rem; }
  .contact-details-card { background:var(--card-bg); border-radius: var(--r-lg); padding: var(--sp-6); box-shadow: var(--sh-2); border:1px solid var(--line); margin-bottom: var(--sp-6); }
  .contact-details-card p { display:flex; gap:.7rem; align-items:center; margin-bottom: var(--sp-3); font-size:.95rem; }
  .contact-details-card i { color:var(--accent-600); width:18px; }
  .contact-figure { margin-bottom: var(--sp-6); }
  .contact-figure img { border-radius: var(--r-lg); box-shadow: var(--sh-2); }
  .contact-figure figcaption { font-size:.8rem; color:var(--ink-300); margin-top: var(--sp-2); }
  .map-wrap { border-radius: var(--r-lg); overflow:hidden; box-shadow: var(--sh-2); margin-top: var(--sp-6); }
  .contact-details-inline { margin-block: var(--sp-3); }

  
  .frm { background:var(--card-bg); border-radius: var(--r-lg); padding: var(--sp-7); box-shadow: var(--sh-3); border:1px solid var(--line); }
  .frm-row { margin-bottom: var(--sp-5); display:flex; flex-direction:column; gap: var(--sp-2); }
  .frm-row label { font-weight:600; font-size:.92rem; }
  .frm-row label abbr { color:var(--accent-600); text-decoration:none; }
  .frm-row input, .frm-row textarea {
    border:1px solid var(--line); border-radius: var(--r-md); padding: .8rem 1rem;
    background: var(--paper-0); transition: border-color var(--tr), box-shadow var(--tr);
    min-height:44px;
  }
  .frm-row textarea { min-height:140px; resize:vertical; }
  .frm-row input:focus, .frm-row textarea:focus { outline:none; border-color:var(--accent-500); box-shadow:0 0 0 3px var(--accent-100); }
  .frm-check { display:flex; gap: var(--sp-3); align-items:flex-start; font-size:.9rem; color:var(--ink-500); font-weight:400; cursor:pointer; }
  .frm-check input { margin-top:4px; width:18px; height:18px; }
  .form-note { font-size:.8rem; color:var(--ink-300); margin-bottom: var(--sp-5); }
  .frm .btn { width:100%; }

  
  .legal { padding-block: var(--sp-10); }
  .legal-hd { margin-bottom: var(--sp-6); }
  .legal-hd h1 { margin-bottom: var(--sp-2); }
  .legal-toc-mobile { display:none; width:100%; padding:.9rem 1rem; border-radius: var(--r-md); border:1px solid var(--line); margin-bottom: var(--sp-6); background:var(--card-bg); font-weight:600; }
  .legal-layout { display:grid; grid-template-columns:240px 1fr; gap: var(--sp-10); align-items:start; }
  .legal-toc { position:sticky; top:100px; background:var(--card-bg); border-radius: var(--r-lg); padding: var(--sp-5); box-shadow: var(--sh-1); border:1px solid var(--line); }
  .legal-toc ul { display:flex; flex-direction:column; gap: var(--sp-2); }
  .legal-toc a { font-size:.88rem; color: var(--ink-500); padding:.4rem .6rem; border-radius: var(--r-sm); display:block; transition: background var(--tr), color var(--tr); }
  .legal-toc a:hover { background: var(--paper-100); color:var(--ink-900); }
  .legal-toc a.is-active { background: var(--accent-100); color: var(--accent-600); font-weight:600; }
  .legal-content section { margin-bottom: var(--sp-8); scroll-margin-top:100px; }
  .legal-content h2 { margin-bottom: var(--sp-3); }
  .legal-content p { margin-bottom: var(--sp-3); }
  @media (max-width:860px){
    .legal-layout { grid-template-columns:1fr; }
    .legal-toc { display:none; }
    .legal-toc-mobile { display:block; }
  }

  
  .sec-thanks { padding-block: var(--sp-16); }
  .thanks-box { text-align:center; background:var(--card-bg); border-radius: var(--r-xl); padding: var(--sp-10) var(--sp-6); box-shadow: var(--sh-3); border:1px solid var(--line); }
  .thanks-check { margin-bottom: var(--sp-5); }
  .tick-circle { stroke: var(--teal-600); stroke-dasharray: 280; stroke-dashoffset:280; animation: drawCircle .7s ease forwards; }
  .tick-path { stroke: var(--accent-500); stroke-dasharray:80; stroke-dashoffset:80; animation: drawTick .5s .6s ease forwards; }
  @keyframes drawCircle { to { stroke-dashoffset:0; } }
  @keyframes drawTick { to { stroke-dashoffset:0; } }
  .thanks-heading { opacity:0; animation: fadeUp .6s 1.1s ease forwards; margin-bottom: var(--sp-3); }
  .thanks-box p { opacity:0; animation: fadeUp .6s 1.3s ease forwards; margin-bottom: var(--sp-3); }
  .thanks-box .btn { opacity:0; animation: fadeUp .6s 1.5s ease forwards; margin-top: var(--sp-4); }
  @keyframes fadeUp { from { opacity:0; transform:translateY(10px);} to { opacity:1; transform:translateY(0);} }

  
  .cke { position:fixed; bottom: var(--sp-5); right: var(--sp-5); z-index:150; }
  .cke-bell {
    width:56px; height:56px; border-radius:50%; background:var(--primary-700); color:#fff;
    border:none; box-shadow: var(--sh-3); display:flex; align-items:center; justify-content:center;
    font-size:1.25rem; position:relative; transition: transform var(--tr), box-shadow var(--tr);
  }
  .cke-bell:hover { transform: scale(1.08) rotate(-6deg); box-shadow: var(--sh-4); }
  .cke-badge { position:absolute; top:2px; right:2px; width:12px; height:12px; border-radius:50%; background:var(--accent-500); border:2px solid var(--paper-0); }
  .cke-badge:empty { display:none; }
  .cke-panel {
    position:absolute; bottom:70px; right:0; width:min(360px,88vw);
    background:var(--card-bg); border-radius: var(--r-lg); box-shadow: var(--sh-4);
    padding: var(--sp-6); border:1px solid var(--line);
    transform: translateY(16px); opacity:0; pointer-events:none;
    transition: transform var(--tr), opacity var(--tr);
  }
  .cke-panel.is-open { transform:translateY(0); opacity:1; pointer-events:auto; }
  .cke-panel h2 { font-size:1.15rem; margin-bottom: var(--sp-3); }
  .cke-panel > p { font-size:.85rem; color:var(--ink-500); margin-bottom: var(--sp-4); }
  .cke-row { margin-bottom: var(--sp-3); padding-bottom: var(--sp-3); border-bottom:1px solid var(--line); }
  .cke-row label { display:flex; align-items:center; gap: var(--sp-2); font-weight:600; font-size:.9rem; }
  .cke-row p { font-size:.8rem; color:var(--ink-300); margin-top:.2rem; margin-left:1.7rem; }
  .cke-actions { display:flex; flex-direction:column; gap: var(--sp-2); margin-top: var(--sp-4); }
  .cke-actions .btn { width:100%; padding:.65rem 1rem; font-size:.85rem; }

  address { font-style:normal; }
}

@layer utilities {
  .reveal { opacity:0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
  .reveal.visible { opacity:1; transform: translateY(0); }
}