/* LEGEND® public web presentation authority.
   Shared by www.mylegnd.com and protect.mylegnd.com.
   Brand-specific palettes are variables; layout, rhythm, components and responsive behavior live here. */
:root{
  --public-page-pad:var(--web-public-page-pad,var(--page-pad));
  --public-section-y:var(--web-public-section-y,clamp(52px,6vw,88px));
  --public-reading-max:var(--web-public-reading-max,1040px);
  --public-heading-max:var(--web-public-heading-max,1180px);
  --public-card-border:var(--web-public-card-border,color-mix(in srgb,var(--gold) 58%,var(--navy) 16%));
  --public-flow-gap:var(--web-public-flow-gap,clamp(16px,2vw,28px));
  --public-action-min:var(--web-public-action-min,180px);
  --public-mobile-media-max:var(--web-public-mobile-media-max,560px);
  --public-banner-pad-block:var(--web-public-banner-pad-block,10px);
  --public-banner-pad-inline:var(--web-public-banner-pad-inline,14px);
  --public-banner-title-size:var(--web-public-banner-title-size,clamp(21px,2.25vw,31px));
  --public-banner-title-weight:var(--web-public-banner-title-weight,800);
  --public-banner-title-line:var(--web-public-banner-title-line,1);
  --public-banner-title-tracking:var(--web-public-banner-title-tracking,-.025em);
}
html{min-height:100%}
body{min-height:100dvh;display:flex;flex-direction:column;overflow-x:clip;font-family:var(--font);font-weight:var(--web-public-body-weight,500);line-height:1.62}
.site-header{flex:0 0 auto}
main,.public-main,.layout-content{flex:1 0 auto;min-height:0}
.site-footer{flex:0 0 auto;margin-top:auto}
a{color:inherit;text-decoration:none}
img{display:block}
.skip{position:fixed;left:12px;top:-90px;z-index:1200;background:var(--gold);color:var(--navy-deep);padding:10px 14px;border-radius:10px;font-weight:800}
.skip:focus{top:12px}
.site-header{
  position:sticky;top:0;z-index:1000;min-height:var(--header-height);
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  padding:max(12px,env(safe-area-inset-top)) max(var(--public-page-pad),env(safe-area-inset-right)) 12px max(var(--public-page-pad),env(safe-area-inset-left));
  color:#fff;
  background:linear-gradient(115deg,var(--navy-deep) 0%,var(--navy) 62%,var(--navy-royal) 100%);
  border-bottom:1px solid color-mix(in srgb,var(--gold) 72%,transparent);
  box-shadow:0 15px 38px rgba(3,14,37,.24);
  isolation:isolate
}
.brand{display:flex;align-items:center;gap:12px;min-width:0;max-width:min(58vw,38rem);flex:0 1 auto}
.brand-wordmark{display:flex;align-items:center;min-width:0;max-width:100%;line-height:1}
.brand-wordmark strong{display:block;min-width:0;max-width:100%;font-size:clamp(22px,2vw,28px);letter-spacing:.16em;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}
.business-brand-banner{
  position:relative;isolation:isolate;min-width:0;max-width:min(58vw,38rem);
  padding:var(--public-banner-pad-block) var(--public-banner-pad-inline);
  border:1px solid color-mix(in srgb,var(--gold) 42%,transparent);
  border-radius:12px;background:linear-gradient(110deg,rgba(255,255,255,.085),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 22px rgba(3,14,37,.16);
  overflow:hidden
}
.business-brand-banner::before{
  content:"";position:absolute;inset:0 auto 0 0;width:4px;
  background:linear-gradient(180deg,var(--gold-strong),var(--gold))
}
.business-brand-banner::after{
  content:"";position:absolute;z-index:-1;inset:auto -28px -34px auto;width:88px;height:88px;
  border:1px solid color-mix(in srgb,var(--gold) 18%,transparent);border-radius:50%
}
.business-brand-banner strong{
  display:block;min-width:0;max-width:100%;
  font-family:var(--font);font-size:var(--public-banner-title-size);font-weight:var(--public-banner-title-weight);
  line-height:var(--public-banner-title-line);letter-spacing:var(--public-banner-title-tracking);
  color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.14);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,2.1vw,30px);font-size:14px;font-weight:800}
.nav a,.nav button{border:0;background:transparent;color:#fff;min-height:44px;display:inline-flex;align-items:center;padding:9px 0;cursor:pointer;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current=page],.nav button:hover{color:var(--gold-strong);border-color:var(--gold)}
.nav .nav-cta{min-height:46px;padding:10px 18px;border:1px solid var(--gold);border-radius:999px;color:var(--gold-strong)}
.nav-toggle{display:none;flex:0 0 auto;white-space:nowrap;border:1px solid var(--gold);background:var(--gold-strong);color:var(--navy-deep);min-width:48px;min-height:44px;padding:9px 14px;border-radius:12px;font-weight:800;cursor:pointer;box-shadow:0 3px 12px rgba(3,14,37,.2)}
.public-main{width:100%;max-width:none!important;margin:0!important;padding:0!important}
.hero{
  position:relative;isolation:isolate;min-height:min(720px,calc(100dvh - 108px));
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;
  gap:clamp(36px,5vw,80px);padding:clamp(64px,7vw,104px) var(--public-page-pad);
  background:
    radial-gradient(circle at 82% 30%,color-mix(in srgb,var(--gold) 18%,transparent),transparent 27%),
    radial-gradient(circle at 70% 80%,rgba(255,255,255,.06),transparent 26%),
    linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 58%,var(--navy-royal) 100%);
  color:#fff;overflow:hidden
}
.hero::after{content:"";position:absolute;inset:auto -12% -42% 42%;height:74%;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold) 16%,transparent);z-index:-1}
.hero-copy{max-width:980px}
.eyebrow{margin:0 0 14px;color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.19em;text-transform:uppercase}
h1,h2,h3,p{overflow-wrap:break-word;word-break:normal}
h1,h2,h3{margin-top:0;line-height:1.06;min-inline-size:min(8ch,100%);font-weight:var(--web-public-heading-weight,800)}
h1{font-size:clamp(46px,6.3vw,84px);letter-spacing:-.044em;max-width:15ch;margin-bottom:22px}
h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.034em}
h3{font-size:clamp(20px,1.65vw,23px);letter-spacing:-.014em}
.hero-line{color:var(--gold-strong);font-size:clamp(19px,1.9vw,24px);font-weight:760;max-width:880px}
.hero-copy>p:not(.eyebrow):not(.hero-line){max-width:880px;color:#e3eaf0;font-size:18px}
.hero blockquote{margin:34px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.16);max-width:720px;color:#cbd8e2;font-size:14px}
.hero cite{display:block;color:var(--gold);font-style:normal;margin-top:6px}
.hero-mark{position:relative;display:grid;place-items:center;min-height:410px}
.hero-mark img{
  position:relative;z-index:2;width:min(390px,86%);height:auto;object-fit:contain;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  filter:drop-shadow(0 28px 44px rgba(0,0,0,.30))
}
.hero-mark::before{content:"";position:absolute;width:min(420px,78vw);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--gold) 38%,transparent);border-radius:50%;box-shadow:0 0 0 46px color-mix(in srgb,var(--gold) 4%,transparent),0 0 0 92px color-mix(in srgb,var(--gold) 2.4%,transparent)}
.hero--single{grid-template-columns:minmax(0,1fr);min-height:auto}
.hero--single .hero-copy{max-width:960px}
.hero-mark>span{position:absolute;bottom:4px;color:rgba(255,255,255,.55);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 21px;border-radius:999px;font-weight:800;letter-spacing:.015em;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--gold);color:var(--navy-deep);box-shadow:0 12px 28px color-mix(in srgb,var(--gold) 20%,transparent)}
.btn.primary:hover{background:var(--gold-strong)}
.btn.ghost{border-color:rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.025)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold-strong)}
.section{padding:var(--public-section-y) var(--public-page-pad)}
.section.surface{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 82%,var(--white) 18%),var(--surface));border-block:1px solid color-mix(in srgb,var(--gold) 48%,transparent)}
.section.dark{background:linear-gradient(135deg,var(--navy-deep),color-mix(in srgb,var(--navy) 84%,#000 16%));color:#fff;border-block:1px solid color-mix(in srgb,var(--gold) 58%,transparent)}
.section-head{max-width:var(--public-heading-max);margin-bottom:28px}
.section-head .lead{font-size:clamp(17px,1.75vw,21px);line-height:1.55;color:var(--muted);max-width:var(--public-reading-max)}
.dark .lead{color:#cbd8e2}
.section-copy{max-width:var(--public-reading-max);font-size:18px;line-height:1.62;color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(16px,1.8vw,24px);align-items:stretch}
.card{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--white),color-mix(in srgb,var(--surface) 55%,var(--white) 45%));
  border:1px solid var(--public-card-border);
  border-radius:18px;padding:clamp(24px,2.3vw,30px);
  box-shadow:0 10px 26px color-mix(in srgb,var(--navy-deep) 9%,transparent)
}
.card::before{content:none}
.section:not(.surface) .card{box-shadow:0 8px 22px color-mix(in srgb,var(--navy-deep) 7%,transparent)}
.card h3{color:var(--navy-deep);margin-bottom:8px}
.card .icon,.contact-card .icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--gold) 42%,transparent);border-radius:12px;background:transparent;color:color-mix(in srgb,var(--gold) 86%,var(--navy) 14%);margin-bottom:18px}
.card .icon:empty,.contact-card .icon:empty{display:none}
.icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card p:last-child{color:var(--muted);margin-bottom:0}
.legend-business-starter .hero{min-height:auto;padding-block:clamp(72px,8vw,112px)}
.legend-business-starter .hero-copy{max-width:940px}
.legend-business-starter .hero h1{max-width:15ch}
.legend-business-starter .card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));max-width:1080px}
.legend-business-starter .card{padding:clamp(26px,3vw,36px);border-color:var(--public-card-border);border-radius:18px;box-shadow:0 10px 28px rgba(12,19,34,.08)}
.legend-business-starter .section.dark{background:linear-gradient(135deg,var(--web-navy-deep),var(--web-navy));}
.legend-business-starter .section-head{max-width:840px}
.card .feature-marker,.split .feature-marker{margin-bottom:12px;color:var(--gold);font-size:10px;letter-spacing:.17em}
[data-cms-preserve-whitespace="true"]{white-space:pre-wrap;tab-size:4;overflow-wrap:anywhere}
.statement,.pullquote{max-width:1000px;border-left:3px solid var(--gold);padding:24px 30px;background:var(--surface);font-size:clamp(19px,2.25vw,25px)}
.pullquote{background:rgba(255,255,255,.05);color:#fff}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.14);border-radius:20px;overflow:hidden}
.steps span{padding:30px;color:var(--gold-strong);font-weight:800;letter-spacing:.1em;border-right:1px solid rgba(255,255,255,.12)}
.steps span:last-child{border-right:0}.steps small{display:block;color:#cbd8e2;letter-spacing:0;font-weight:500;margin-top:8px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.split article{padding:clamp(28px,2.6vw,36px);border:1px solid var(--public-card-border);border-radius:18px;background:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--navy-deep) 7%,transparent)}
.orbit{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}
.orbit span,.orbit strong{border:1px solid var(--border);border-radius:999px;padding:12px 18px}
.orbit strong{background:var(--navy-deep);border-color:var(--navy-deep);color:var(--gold-strong);font-size:20px}
.standard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--public-card-border);border:1px solid var(--public-card-border);border-radius:18px;overflow:hidden}
.standard-grid div{display:grid;gap:8px;background:#fff;padding:27px}.standard-grid b{color:var(--navy);letter-spacing:.08em}.standard-grid span{color:var(--muted)}
.cta{padding:clamp(76px,9.5vw,132px) var(--public-page-pad);background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 58%,var(--navy-royal) 100%);color:#fff}
.cta h2{max-width:980px}.cta>p:not(.eyebrow){max-width:820px;color:#dae4eb;font-size:18px}
.disclosure{padding:24px var(--public-page-pad);background:color-mix(in srgb,var(--navy-deep) 94%,#000 6%);color:#aebdc7;font-size:12px}
.page-hero{padding:clamp(76px,9vw,126px) var(--public-page-pad);background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 58%,var(--navy-royal) 100%);color:#fff}
.page-hero h1{font-size:clamp(44px,6vw,78px);max-width:16ch}.page-hero>p:last-child{max-width:800px;font-size:19px;color:#d7e1e8}
.page-hero.centered{text-align:center}.page-hero.centered h1,.page-hero.centered p{margin-left:auto;margin-right:auto}
.story{max-width:1250px;margin:auto}.story-rail{display:flex;align-items:center;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.18em;margin-bottom:60px}.story-rail i{height:1px;flex:1;background:var(--border);margin:0 15px}
.story article{max-width:var(--public-reading-max);margin:0 0 48px auto;padding:clamp(26px,3vw,36px);border:1px solid var(--public-card-border);border-radius:18px;background:var(--white);box-shadow:0 8px 22px color-mix(in srgb,var(--navy-deep) 6%,transparent)}.story article:nth-of-type(even){margin-left:0;margin-right:auto}.story article p:last-child{color:var(--muted);font-size:18px}
.founder{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:50px;padding:clamp(72px,9vw,118px) var(--public-page-pad);background:var(--surface)}
.founder-mark{display:grid;place-items:center;gap:14px;color:var(--gold);font-size:12px;letter-spacing:.12em;text-align:center}.founder-mark img{max-height:360px;background:transparent!important}
.mark-showcase{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:clamp(40px,8vw,100px);align-items:start;padding:clamp(68px,9vw,120px) var(--public-page-pad)}
.brand-seal{position:sticky;top:115px;display:grid;place-items:center;min-height:400px;background:radial-gradient(circle,color-mix(in srgb,var(--gold) 17%,transparent),transparent 52%),var(--navy-deep);border-radius:26px}
.brand-seal img{max-width:76%;max-height:340px;background:transparent!important}
.mark-copy article{padding:0 0 42px;margin-bottom:42px;border-bottom:1px solid var(--border)}.mark-copy p:last-child{color:var(--muted);font-size:18px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1250px;margin:auto}
.contact-card{padding:clamp(30px,3vw,40px);border:1px solid var(--public-card-border);border-radius:18px;box-shadow:0 10px 28px color-mix(in srgb,var(--navy-deep) 8%,transparent);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.contact-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 14px 30px color-mix(in srgb,var(--navy-deep) 10%,transparent)}
.contact-card>p:not(.eyebrow){color:var(--muted)}.contact-card>span:last-child{color:var(--navy);font-weight:800}
.legal{max-width:1050px;margin:auto}.legal article{scroll-margin-top:120px;padding:0 0 55px;margin-bottom:55px;border-bottom:1px solid var(--border)}.legal article p,.legal li{font-size:17px;color:#364958}
.site-footer{background:#051a2a;color:#cbd7df;padding:56px var(--public-page-pad) 26px}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:48px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-grid h2{font-size:13px;color:#fff;letter-spacing:.13em;margin-bottom:10px}.footer-grid a:hover{color:var(--gold-strong)}.footer-grid p{max-width:560px}.email{color:var(--gold-strong)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.11);font-size:12px;color:#91a3af}
/* Protect public page-frame authority.
   Quote and assessment components own their own internal geometry.
   This shared layer owns only the white document canvas and non-quote public surfaces. */
.legend-public--protect{min-height:100dvh;display:flex;flex-direction:column}
.legend-public--protect .site-header{flex:0 0 auto}
.legend-public--protect .layout-content,.legend-public--protect .container.layout-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:#fff!important;
}
.legend-public--protect .layout-content{
  flex:1 0 auto;
  display:flow-root;
}
.legend-public--protect .site-footer{
  flex:0 0 auto;
  margin-top:auto;
}
.legend-public--protect .legal-page-wrap,.legend-public--protect .contact-clarity{width:100%!important;max-width:none!important;margin:0!important;padding:clamp(72px,8vw,112px) var(--public-page-pad)!important}
.legend-public--protect .legal-card{max-width:1050px;margin:20px auto 0!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.contact-card{transition:none}}

/* Protect non-quote outer-shell normalization. */
.legend-public--protect .training-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(60px,8vw,104px) var(--public-page-pad)!important;
}
.legend-public--protect .training-page>.text-center{
  max-width:900px;
  margin-left:auto!important;
  margin-right:auto!important;
}
.legend-public--protect .packages-grid{
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.legend-public--protect .legal-hero{
  max-width:1050px;margin:0 auto!important;padding:0 0 30px!important;background:transparent!important;color:var(--ink)!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
}
.legend-public--protect .legal-kicker{color:var(--gold)!important;font-size:11px!important;font-weight:850!important;letter-spacing:.18em!important}
.legend-public--protect .legal-title{color:var(--ink)!important;font-size:clamp(42px,6vw,72px)!important;letter-spacing:-.045em!important}
.legend-public--protect .legal-intro{color:var(--muted)!important;font-size:19px!important}
.legend-public--protect .legal-card{
  background:#fff!important;color:var(--ink)!important;border:1px solid var(--border)!important;
  box-shadow:var(--shadow)!important;padding:clamp(28px,5vw,52px)!important;
}
.legend-public--protect .legal-prose p{color:#364958!important;max-width:78ch}


/* Canonical semantic flow markers are emitted by the shared Website Studio renderer.
   These are presentation rules only; protected backend semantics remain untouched. */
main [data-legend-responsive-flow="true"],main [data-legend-content-role]{min-width:0;max-width:100%}
main [data-legend-content-role="action"]{
  min-inline-size:min(100%,var(--public-action-min));
  max-inline-size:100%;
  white-space:normal;
  overflow-wrap:normal;
}
main :is(img,video)[data-legend-content-role="media"]{
  max-width:100%;
  height:auto;
  object-fit:contain;
}

/* One canonical public responsive contract. Do not add a second mobile block. */
@media(max-width:980px){
  :root{--page-pad:clamp(18px,5vw,34px);--header-height:76px}
  .site-header{
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;
    padding-top:max(10px,env(safe-area-inset-top));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))
  }
  .brand{width:auto;min-width:0;max-width:100%;overflow:hidden}
  .brand-wordmark,.business-brand-banner{width:auto;min-width:0;max-width:100%}
  .brand-wordmark strong{font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-mark{min-height:300px}.hero-mark img{max-height:290px}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps,.standard-grid{grid-template-columns:1fr 1fr}
  main [data-legend-responsive-flow="true"]{gap:var(--public-flow-gap)}
  main [data-legend-content-role="action"]{min-inline-size:min(100%,var(--public-action-min))}
  main :is(img,video)[data-legend-content-role="media"]{max-width:min(100%,720px);margin-inline:auto}
  .nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;justify-self:end;
    min-width:48px;min-height:44px;padding:9px 14px;border-radius:10px
  }
  .nav{
    position:absolute;z-index:3;top:calc(100% + 6px);left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));
    width:auto;max-width:none;max-height:min(68dvh,520px);display:none;
    grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;
    margin:0;padding:8px;overflow-x:clip;overflow-y:auto;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;
    background:color-mix(in srgb,var(--navy-deep) 96%,transparent);
    border:1px solid rgba(255,255,255,.14);border-radius:14px;
    box-shadow:0 18px 44px rgba(0,0,0,.34)
  }
  .nav[data-open=true]{display:grid}
  .nav a,.nav button{
    width:100%;min-width:0;min-height:44px;padding:10px 12px;
    text-align:center;justify-content:center;
    border:1px solid rgba(255,255,255,.2);border-radius:8px;
    background:rgba(255,255,255,.07);
    white-space:normal;overflow-wrap:anywhere;
    font-size:14px;line-height:1.25
  }
  .nav .nav-cta{
    width:100%;min-height:44px;padding:10px 12px;text-align:center;justify-content:center;
    margin-top:0;border-radius:8px
  }
  .btn{min-height:48px}
  .mark-showcase,.founder{grid-template-columns:1fr}
  .brand-seal{position:relative;top:0}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:650px){
  :root{
    --page-pad:var(--web-public-mobile-page-pad,18px);
    --public-page-pad:var(--web-public-mobile-page-pad,18px);
    --public-section-y:var(--web-public-mobile-section-y,52px);
  }
  .site-header{min-height:72px;gap:10px;padding:10px max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left))}
  .brand{width:auto;min-width:0;max-width:100%}
  .brand-banner{font-size:9px;letter-spacing:.105em;gap:7px}
  .brand-wordmark strong{font-size:20px;letter-spacing:.14em}
  .business-brand-banner{width:auto;min-width:0;max-width:100%;padding:var(--public-banner-pad-block) var(--public-banner-pad-inline);border-radius:10px}
  .business-brand-banner strong{font-size:clamp(19px,5.8vw,25px);line-height:var(--public-banner-title-line);letter-spacing:var(--public-banner-title-tracking);font-weight:var(--public-banner-title-weight)}
  .brand-wordmark small{display:none}
  .hero{padding-top:clamp(48px,11vw,64px);padding-bottom:54px}
  .hero-mark{min-height:230px}.hero-mark img{max-height:220px}
  h1{font-size:clamp(40px,12vw,54px);line-height:1.02}
  h2{font-size:clamp(29px,8.5vw,40px)}
  .section,.cta,.page-hero{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .section{padding-top:52px;padding-bottom:52px}
  .section-head{margin-bottom:26px}
  .card-grid,.split,.contact-grid,.footer-grid,.steps,.standard-grid{grid-template-columns:1fr;gap:12px}
  main [data-legend-responsive-flow="true"]{
    gap:var(--public-flow-gap);
    align-items:stretch;
  }
  /* Preserve the authored composition order at every viewport. Semantic
     role markers describe nodes; they must not silently rearrange them. */
  main [data-legend-content-role="action"]{
    width:100%;
    min-width:0;
    max-width:100%;
    justify-content:center;
    text-align:center;
  }
  main :is(img,video)[data-legend-content-role="media"]{
    width:auto;
    max-width:min(100%,var(--public-mobile-media-max));
    max-height:min(52dvh,520px);
    margin-inline:auto;
  }
  .actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .actions .btn{width:100%;min-width:0}
  .card{padding:22px 20px;border-radius:20px}
  .card .icon,.contact-card .icon{width:38px;height:38px;margin-bottom:14px}
  .card h3{font-size:20px}
  .standard-grid div{padding:22px 20px}
  .steps span{padding:22px 20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .steps span:last-child{border-bottom:0}
  .footer-grid>div:first-child{grid-column:auto}
  .page-hero{padding-top:58px}
  .nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
}

.legend-platform-attribution{text-decoration:underline!important;text-underline-offset:.16em;text-decoration-thickness:1px!important}

/* Canonical premium recipe presentation. Recipes resolve to ordinary v3 nodes;
   these classes are shared public/editor styling, never a second content authority. */
:root{
  --web-display-size:clamp(48px,7vw,80px);
  --web-h1-size:clamp(44px,6vw,68px);
  --web-h2-size:clamp(32px,4.5vw,50px);
  --web-h3-size:clamp(20px,2.2vw,28px);
  --web-body-size:17px;
  --web-small-size:13px;
  --web-body-line-height:1.6;
  --web-section-space:96px;
  --web-content-gap:24px;
  --web-content-max:1180px;
  --web-wide-max:1440px;
  --web-narrow-max:760px;
  --web-gutter:28px;
  --web-card-radius:22px;
  --web-button-radius:999px;
  --web-input-radius:14px;
  --web-surface-elevated:#fff;
  --web-surface-muted:#f5f7fa;
  --web-border-color:#d9e0ea;
  --web-border-width:1px;
  --web-shadow-soft:0 18px 50px rgba(4,11,24,.10);
  --web-shadow-strong:0 28px 90px rgba(4,11,24,.18);
  --web-nav-height:76px;
  --web-motion-fast:160ms;
  --web-motion-standard:320ms;
  --web-motion-slow:560ms
}
.legend-recipe-section,.legend-recipe-hero{
  width:100%;padding:var(--web-section-space) max(var(--web-gutter),env(safe-area-inset-left)) var(--web-section-space) max(var(--web-gutter),env(safe-area-inset-right));
  margin:0 auto;box-sizing:border-box
}
.legend-recipe-section>*,
.legend-recipe-hero>*{max-width:var(--web-content-max);margin-left:auto;margin-right:auto}
.legend-recipe-hero{
  min-height:min(88vh,900px);display:grid;align-content:center;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 85% 12%,color-mix(in srgb,var(--web-gold,#bc8e10) 22%,transparent),transparent 34%),
    linear-gradient(145deg,var(--web-navy-deep,#07152d),color-mix(in srgb,var(--web-navy,#0b2652) 86%,#000 14%));
  color:var(--web-surface,#fff)
}
.legend-recipe-hero-split{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:48px;align-items:center}
.legend-recipe-hero-copy{width:100%;max-width:var(--web-narrow-max);position:relative;z-index:2}
.legend-recipe-hero-cinematic{isolation:isolate}
.legend-recipe-hero-cinematic::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,color-mix(in srgb,var(--web-navy-deep,#07152d) 94%,transparent) 0%,color-mix(in srgb,var(--web-navy-deep,#07152d) 72%,transparent) 52%,color-mix(in srgb,var(--web-navy,#0b2652) 34%,transparent) 100%)
}
.legend-recipe-hero-cinematic-media{
  position:absolute;inset:0;z-index:0;width:100%;max-width:none;height:100%;margin:0;
  border:0;border-radius:0;box-shadow:none;object-fit:cover;object-position:center;opacity:.58;filter:saturate(.82) contrast(1.06)
}
.legend-recipe-hero-media:not(.legend-recipe-hero-cinematic-media),.legend-recipe-feature-media{
  width:100%;height:min(58vh,620px);object-fit:cover;object-position:center;border-radius:var(--web-card-radius);
  box-shadow:var(--web-shadow-strong);border:var(--web-border-width) solid color-mix(in srgb,var(--web-gold,#bc8e10) 42%,transparent)
}
.legend-recipe-display{max-width:14ch;margin:0;font-size:var(--web-display-size);line-height:.98;letter-spacing:-.045em;font-weight:780;text-wrap:balance}
.legend-recipe-heading{max-width:19ch;margin:0;font-size:var(--web-h2-size);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.legend-recipe-card-title,.legend-recipe-faq-q{margin:0;font-size:var(--web-h3-size);line-height:1.15;letter-spacing:-.02em}
.legend-recipe-lead,.legend-recipe-copy{max-width:var(--web-narrow-max);margin:0;font-size:var(--web-body-size);line-height:var(--web-body-line-height)}
.legend-recipe-eyebrow{margin:0;color:var(--web-gold-strong,#d4ad45);font-size:var(--web-small-size);font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.legend-recipe-card-grid,.legend-recipe-stat-grid,.legend-recipe-step-grid,.legend-recipe-bento-grid{width:100%}
.legend-recipe-bento-lead{grid-column:span 2;min-height:clamp(220px,30vw,360px)}
.legend-recipe-bento-tail{grid-column:span 2}
.legend-recipe-card,.legend-recipe-stat,.legend-recipe-quote,.legend-recipe-faq-item{
  min-width:0;padding:clamp(20px,3vw,32px);border:var(--web-border-width) solid var(--web-border-color);
  border-radius:var(--web-card-radius);background:var(--web-surface-elevated);box-shadow:var(--web-shadow-soft)
}
.legend-recipe-proof,.legend-recipe-process,.legend-recipe-testimonials,.legend-recipe-faq{background:var(--web-surface-muted)}
.legend-recipe-stat{font-size:clamp(18px,2vw,24px);font-weight:760;line-height:1.15}
.legend-recipe-quote{font-size:clamp(18px,2vw,24px);line-height:1.5}
.legend-recipe-feature-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:44px;align-items:center}
.legend-recipe-feature-copy{max-width:var(--narrow-max,var(--web-narrow-max))}
.legend-recipe-contact,.legend-recipe-closing{
  background:linear-gradient(145deg,var(--web-navy-deep,#07152d),var(--web-navy,#0b2652));color:var(--web-surface,#fff)
}
.legend-recipe-contact .legend-recipe-copy,.legend-recipe-closing .legend-recipe-copy{color:color-mix(in srgb,var(--web-surface,#fff) 82%,transparent)}
.legend-capability-slot{width:100%;max-width:var(--web-narrow-max)}
.legend-recipe-action,.legend-recipe-section .btn,.legend-recipe-hero .btn{
  border-radius:var(--web-button-radius);transition:transform var(--web-motion-fast) ease,box-shadow var(--web-motion-fast) ease
}
.legend-recipe-action:hover,.legend-recipe-section .btn:hover,.legend-recipe-hero .btn:hover{transform:translateY(-1px)}
.legend-recipe-section :is(input,select,textarea),.legend-recipe-hero :is(input,select,textarea){border-radius:var(--web-input-radius)}
@media(max-width:767px){
  .legend-recipe-section,.legend-recipe-hero{
    min-height:auto;padding:clamp(48px,12vw,72px) max(18px,env(safe-area-inset-left)) clamp(48px,12vw,72px) max(18px,env(safe-area-inset-right))
  }
  .legend-recipe-display{font-size:clamp(40px,12vw,58px);max-width:16ch}
  .legend-recipe-heading{font-size:clamp(30px,9vw,42px)}
  .legend-recipe-hero-media:not(.legend-recipe-hero-cinematic-media),.legend-recipe-feature-media{height:min(50vh,480px)}
  .legend-recipe-bento-lead,.legend-recipe-bento-tail{grid-column:auto;min-height:0}
  .legend-capability-slot{max-width:100%}
}

/* Canonical public publication gate: never show an older template while reading the published revision. */
html[data-legend-canonical-pending="true"] body { visibility: hidden !important; }
html[data-legend-canonical-pending="true"] body::before {
  content: "Loading the latest published website…";
  visibility: visible !important;
  position: fixed;
  inset: 0;
  z-index: 2147483640;
  display: grid;
  place-items: center;
  padding: 24px;
  box-sizing: border-box;
  background: #081a32;
  color: #f7f6f2;
  font: 600 16px/1.5 system-ui, sans-serif;
  text-align: center;
}
.legend-canonical-unavailable {
  min-height: 75dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 32px 20px;
  text-align: center;
  background: #081a32;
  color: #f7f6f2;
}
.legend-canonical-unavailable button {
  padding: 12px 20px;
  border: 1px solid #bc8e10;
  border-radius: 10px;
  background: #bc8e10;
  color: #081a32;
  font: 700 15px/1.2 system-ui, sans-serif;
  cursor: pointer;
}
