/*
Executive Atelier
Premium public theme for Canvas Engine.
*/

:root{
  --ce-bg:#f6f1e9;
  --ce-surface:#fffdf8;
  --ce-surface-alt:#f9f5ee;
  --ce-text:#171717;
  --ce-text-muted:#6b665f;
  --ce-primary:#1f4f8f;
  --ce-primary-hover:#12345f;
  --ce-border:#e6ddd0;
  --ce-radius-sm:12px;
  --ce-radius-md:18px;
  --ce-radius-lg:28px;
  --ce-radius-xl:38px;
  --ce-shadow-sm:0 12px 30px rgba(39,31,20,.07);
  --ce-shadow-md:0 24px 70px rgba(39,31,20,.11);
  --ce-shadow-lg:0 42px 120px rgba(39,31,20,.16);
  --ce-max-width:1240px;
  --ce-transition:190ms ease;

  --ea-ink:#171717;
  --ea-charcoal:#282522;
  --ea-muted:#6b665f;
  --ea-line:#e6ddd0;
  --ea-paper:#fffdf8;
  --ea-wash:#f6f1e9;
  --ea-blue:#1f4f8f;
  --ea-blue-deep:#12345f;
  --ea-gold:#b88746;
  --ea-gold-soft:#f0dfc6;
  --ea-sage:#667565;

  --ce-font-xs:clamp(.76rem,.73rem + .12vw,.82rem);
  --ce-font-sm:clamp(.88rem,.84rem + .16vw,.96rem);
  --ce-font-md:clamp(1rem,.96rem + .18vw,1.08rem);
  --ce-font-lg:clamp(1.14rem,1.06rem + .34vw,1.28rem);
  --ce-font-xl:clamp(1.34rem,1.18rem + .72vw,1.72rem);
  --ce-font-2xl:clamp(1.9rem,1.48rem + 1.58vw,2.85rem);
  --ce-font-3xl:clamp(2.45rem,1.72rem + 2.75vw,4.35rem);
  --ce-font-4xl:clamp(3.1rem,2.12rem + 4vw,5.9rem);
  --ce-font-display:clamp(3.45rem,2.2rem + 5.6vw,7.25rem);

  --ce-block-padding-y:96px;
  --ce-block-padding-x:clamp(20px,5vw,68px);
  --ce-block-width:100%;
  --ce-block-max-width:var(--ce-max-width);
  --ce-block-margin-top:0px;
  --ce-block-margin-bottom:0px;
  --ce-block-text-color:var(--ce-text);
  --ce-block-bg-color:transparent;
  --ce-block-font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --ce-block-font-size:var(--ce-font-md);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ce-bg)}
body{
  margin:0;
  min-height:100vh;
  color:var(--ce-text);
  background:
    linear-gradient(180deg,rgba(255,253,248,.96) 0%,rgba(246,241,233,.92) 38%,rgba(255,253,248,.98) 100%),
    repeating-linear-gradient(90deg,rgba(40,37,34,.025) 0,rgba(40,37,34,.025) 1px,transparent 1px,transparent 120px);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:var(--ce-font-md);
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent calc(50% - 620px),rgba(184,135,70,.09) calc(50% - 620px),rgba(184,135,70,.09) calc(50% - 619px),transparent calc(50% - 619px)),
    linear-gradient(90deg,transparent calc(50% + 619px),rgba(31,79,143,.08) calc(50% + 619px),rgba(31,79,143,.08) calc(50% + 620px),transparent calc(50% + 620px));
  z-index:-1;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--ce-primary)}
img,video{display:block;max-width:100%;height:auto}
:focus-visible{outline:3px solid rgba(31,79,143,.28);outline-offset:4px;border-radius:12px}

.na-noise{display:none}
.na-site{min-height:100vh;display:flex;flex-direction:column;position:relative}

.na-site-header{
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:1px solid rgba(230,221,208,.72);
  background:rgba(255,253,248,.86);
  backdrop-filter:blur(20px) saturate(1.08);
}
.na-site-header:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,135,70,.42),rgba(31,79,143,.28),transparent);
}
.na-site-header-inner,.na-site-main,.na-site-footer-inner,.ce-page,.site-shell{
  width:min(var(--ce-max-width),calc(100% - 38px));
  margin-inline:auto;
}
.na-site-header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.na-site-logo{display:flex;align-items:center;gap:13px;min-width:0}
.na-site-logo:hover{color:inherit}
.na-site-mark{
  width:43px;
  height:43px;
  flex:0 0 43px;
  border-radius:16px;
  background:
    linear-gradient(135deg,var(--ea-charcoal),var(--ea-blue-deep) 62%,var(--ea-gold));
  box-shadow:0 16px 34px rgba(31,79,143,.18),inset 0 1px 0 rgba(255,255,255,.28);
}
.na-site-name{font-size:1.08rem;font-weight:900;letter-spacing:0;color:var(--ea-ink)}
.na-site-description{display:block;color:var(--ea-muted);font-size:.82rem;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.na-site-logo-img{max-height:48px;width:auto}
.na-site-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.na-site-nav-link,.ce-nav-link,.ce-nav-item>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  padding:0 16px;
  border:1px solid transparent;
  border-radius:999px;
  color:#3d3934;
  font-weight:780;
  font-size:.92rem;
  transition:background var(--ce-transition),border-color var(--ce-transition),color var(--ce-transition),transform var(--ce-transition);
}
.na-site-nav-link:first-child,.ce-nav-link:first-child{
  border-color:rgba(184,135,70,.28);
  background:rgba(255,253,248,.72);
}
.na-site-nav-link:hover,.ce-nav-link:hover,.ce-nav-item>a:hover{
  transform:translateY(-1px);
  color:var(--ea-blue-deep);
  border-color:rgba(184,135,70,.26);
  background:rgba(255,255,255,.74);
}
.na-site-main{flex:1;padding-block:38px}
.na-site-main-builder{padding-block:0}
.na-site-footer{
  margin-top:auto;
  border-top:1px solid rgba(230,221,208,.86);
  background:rgba(255,253,248,.9);
}
.na-site-footer:before{
  content:"";
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,135,70,.38),rgba(31,79,143,.24),transparent);
}
.na-site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:36px 0;color:var(--ea-muted);font-size:.92rem}

.ce-block,.canvas-block,.pb-block{
  width:var(--ce-block-width,100%);
  margin-top:var(--ce-block-margin-top,0);
  margin-bottom:var(--ce-block-margin-bottom,0);
  padding:var(--ce-block-padding-y,96px) var(--ce-block-padding-x,clamp(20px,5vw,68px));
  color:var(--ce-block-text-color,var(--ce-text));
  background:var(--ce-block-bg-color,transparent);
  font-family:var(--ce-block-font-family,inherit);
  font-size:var(--ce-block-font-size,var(--ce-font-md));
}
.ce-block-inner,.canvas-block-inner,.pb-block-inner{
  width:min(var(--ce-block-max-width,var(--ce-max-width)),100%);
  margin-inline:auto;
}
.cb-public-stage,.cb-public-stage-matched{
  width:min(100%,var(--ce-max-width))!important;
  max-width:var(--ce-max-width)!important;
  margin-inline:auto!important;
}

h1,h2,h3,h4,h5,h6{
  color:var(--ea-ink);
  line-height:1.03;
  letter-spacing:0;
  text-wrap:balance;
}
p{color:var(--ea-muted)}
::selection{background:rgba(184,135,70,.24);color:var(--ea-ink)}

.ce-btn,.cb-public-btn,button,.btn,input[type=submit]{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid var(--ea-blue);
  border-radius:999px;
  padding:0 22px;
  background:linear-gradient(135deg,var(--ea-blue),var(--ea-blue-deep));
  color:#fff;
  font-weight:880;
  letter-spacing:0;
  box-shadow:0 18px 38px rgba(31,79,143,.2);
  cursor:pointer;
  transition:transform var(--ce-transition),box-shadow var(--ce-transition),background var(--ce-transition),border-color var(--ce-transition);
}
.ce-btn:hover,.cb-public-btn:hover,button:hover,.btn:hover,input[type=submit]:hover{
  transform:translateY(-2px);
  border-color:var(--ea-blue-deep);
  color:#fff;
  box-shadow:0 24px 54px rgba(31,79,143,.24);
}
.ce-btn:active,.cb-public-btn:active,button:active,.btn:active,input[type=submit]:active{transform:translateY(0)}

input,textarea,select{
  width:100%;
  border:1px solid var(--ea-line);
  border-radius:16px;
  background:rgba(255,253,248,.92);
  color:var(--ea-ink);
  padding:14px 16px;
  font:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
textarea{min-height:150px}
label{display:block;margin:14px 0 6px;color:#3d3934;font-weight:820}
table{width:100%;border-collapse:collapse;border:1px solid var(--ea-line);border-radius:24px;overflow:hidden;background:var(--ea-paper);box-shadow:var(--ce-shadow-sm)}
th,td{padding:15px 17px;border-bottom:1px solid rgba(230,221,208,.74);text-align:left}
th{color:#655d53;font-size:.8rem;text-transform:uppercase;letter-spacing:0;background:#f9f5ee}

@media (max-width:760px){
  .na-site-header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}
  .na-site-nav{width:100%}
  .na-site-nav-link{flex:1}
  .na-site-footer-inner{flex-direction:column;align-items:flex-start}
}
