/* ALEX shared design system v0.5 — native WordPress/Gutenberg surfaces */

/* ALEX owns the complete page environment. Remove Astra/Gutenberg outer framing at source. */
body.alex-site,
body.alex-site #page,
body.alex-site .site,
body.alex-site #content,
body.alex-site .site-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#eeeae1!important;
}
body.alex-site .site-content>.ast-container{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.alex-site #primary,
body.alex-site #main,
body.alex-site .site-main,
body.alex-site .ast-article-single,
body.alex-site article,
body.alex-site .entry-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.alex-site .entry-header.ast-no-title,
body.alex-site .ast-header-without-markup{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
/* Astra gives top-level Gutenberg groups its 3em block padding. ALEX must not inherit it. */
body.alex-site .entry-content>.alex-platform,
body.alex-site .entry-content>.wp-block-group.alex-platform{
  margin:0!important;
  padding:0!important;
}
body.alex-site #page{min-height:0!important}

.alex-platform{
  --alex-graphite:#101513;
  --alex-mineral:#172d24;
  --alex-paper:#eeeae1;
  --alex-copper:#a77f50;
  --alex-patina:#c9a675;
  --alex-ink:#17201c;
  --alex-muted:#59645e;
  --alex-line:rgba(23,32,28,.17);
  width:100%;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:var(--alex-paper);
  color:var(--alex-ink);
  font-family:'IBM Plex Sans',Arial,sans-serif;
}
.alex-platform,.alex-platform *{box-sizing:border-box}
/* Top-level ALEX surfaces touch each other; rhythm is owned inside the components, not by Gutenberg block-gap. */
.alex-platform>*{margin-block-start:0!important;margin-block-end:0!important}
.alex-platform :where(h1,h2,h3,h4){font-family:'IBM Plex Serif',Georgia,serif;font-weight:500;color:inherit;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
.alex-platform :where(p,li,blockquote){text-wrap:pretty;hyphens:none}
.alex-platform :where(p,h1,h2,h3,h4){margin-top:0}
.alex-platform a{color:inherit;text-decoration:none}
.alex-shell{width:min(1120px,calc(100% - 96px));margin-inline:auto!important;max-width:1120px!important}

/* Shared ALEX masthead */
.alex-navwrap{margin:0!important;max-width:none!important;background:var(--alex-graphite);border-bottom:1px solid rgba(201,166,117,.3)}
.alex-nav{min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:26px}
.alex-brand{margin:0!important;font-size:20px;font-weight:700;letter-spacing:2.5px;color:var(--alex-paper)}
.alex-brand a{color:inherit}
.alex-links{display:flex!important;align-items:center;gap:27px!important;margin:0!important}
.alex-links p{margin:0!important;font-size:11.5px;font-weight:700;letter-spacing:.72px;text-transform:uppercase;color:var(--alex-patina)}
.alex-links .current{color:var(--alex-paper)}

/* Shared hero field — engineered/rectilinear, not ornamental. */
.alex-hero{position:relative;overflow:hidden;margin:0!important;max-width:none!important;background:var(--alex-mineral);color:var(--alex-paper);border-bottom:1px solid rgba(201,166,117,.36);isolation:isolate}
.alex-hero:before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(201,166,117,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,166,117,.05) 1px,transparent 1px),
    linear-gradient(90deg,transparent 0 72%,rgba(201,166,117,.08) 72% calc(72% + 1px),transparent calc(72% + 1px)),
    linear-gradient(180deg,transparent 0 34%,rgba(201,166,117,.07) 34% calc(34% + 1px),transparent calc(34% + 1px));
  background-size:48px 48px,48px 48px,100% 100%,100% 100%;
  mask-image:linear-gradient(90deg,transparent 35%,#000 100%);
}
.alex-hero:after{
  content:'';position:absolute;z-index:0;width:320px;height:218px;right:clamp(48px,7vw,108px);top:50%;transform:translateY(-50%);
  border:1px solid rgba(201,166,117,.18);outline:1px solid rgba(201,166,117,.075);outline-offset:22px;
  background:
    linear-gradient(90deg,transparent calc(50% - .5px),rgba(201,166,117,.10) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)),
    linear-gradient(180deg,transparent calc(50% - .5px),rgba(201,166,117,.09) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)),
    linear-gradient(90deg,transparent 27%,rgba(201,166,117,.06) 27% calc(27% + 1px),transparent calc(27% + 1px));
  pointer-events:none;
}
.alex-hero>.alex-shell{position:relative;z-index:1;padding-block:50px 46px;max-width:1120px!important}
.alex-kicker,.alex-meta{font-size:12px;font-weight:700;letter-spacing:1.05px;text-transform:uppercase;color:var(--alex-patina)}
.alex-hero h1{max-width:900px;margin:13px 0 17px;font-size:clamp(44px,5vw,64px);line-height:1.04;letter-spacing:-1.05px;color:var(--alex-paper)!important}
.alex-hero .alex-lede{max-width:735px;margin:0!important;font-size:18px;line-height:1.55;color:#c8cdc8}

/* Homepage portrait hero — statement first, practitioner presence second. */
.alex-home-hero{min-height:520px!important;background:#172d24!important}
.alex-home-hero:after{display:none}
.alex-home-hero .wp-block-cover__image-background{
  left:auto!important;right:0!important;width:min(52%,650px)!important;height:100%!important;object-fit:cover!important;object-position:50% 18%!important;
  filter:saturate(.76) contrast(.95) brightness(.9) blur(.3px);transform:scale(1.008);transform-origin:center right;
}
.alex-home-hero .wp-block-cover__background{
  opacity:1!important;
  background:linear-gradient(90deg,#172d24 0%,#172d24 40%,rgba(23,45,36,.99) 49%,rgba(23,45,36,.86) 60%,rgba(23,45,36,.58) 70%,rgba(23,45,36,.24) 83%,rgba(16,21,19,.05) 100%)!important;
}
.alex-home-hero>.wp-block-cover__inner-container{position:relative;z-index:2;width:100%}
.alex-home-hero .alex-hero-inner{position:relative;z-index:2;padding-block:56px 52px!important}
.alex-home-hero h1{max-width:680px!important;font-size:clamp(42px,4vw,58px)!important;line-height:1.045!important;letter-spacing:-1px!important}
.alex-home-hero .alex-lede{max-width:630px!important}
.alex-home-hero .alex-cta{margin:13px 0 0!important;font-size:15px;font-weight:600;color:#efeae1}

/* About portrait — large integrated field, not a thumbnail card. */
.alex-about-hero:after{display:none}
.alex-about-hero>.alex-shell{position:relative;min-height:480px;display:flex!important;flex-direction:column;justify-content:center;padding-right:clamp(360px,43%,470px)!important}
.alex-about-hero h1{max-width:690px}
.alex-about-hero .alex-lede{max-width:650px}
.alex-about-hero .alex-portrait{position:absolute;z-index:1;right:0;top:0;width:43%;height:100%;margin:0!important;overflow:hidden;background:transparent;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.68) 14%,#000 34%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.68) 14%,#000 34%,#000 100%)}
.alex-about-hero .alex-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 16%;filter:saturate(.8) contrast(.96) brightness(.9)}

/* Shared editorial sections — deliberately compact. */
.alex-section{margin:0!important;max-width:none!important;padding-block:48px;background:var(--alex-paper)}
.alex-section-head{max-width:820px!important;margin:0 0 24px!important}
.alex-section-head h2{margin:9px 0 12px;font-size:clamp(33px,3.7vw,46px);line-height:1.08}
.alex-section-head .alex-intro{margin:0!important;font-size:16.5px;line-height:1.55;color:#364039}
.alex-meta{color:#76552f}

.alex-register{margin:0!important;border-top:1px solid var(--alex-copper)}
.alex-note-row{display:grid!important;grid-template-columns:132px minmax(0,1fr) 210px auto;gap:24px;align-items:start;margin:0!important;padding:18px 0;border-bottom:1px solid var(--alex-line)}
.alex-note-row>.wp-block-group__inner-container{display:contents}
.alex-note-row p,.alex-note-row h3{margin-bottom:0!important}
.alex-note-meta{font-size:11.5px;line-height:1.45;letter-spacing:.72px;text-transform:uppercase;font-weight:700;color:#76552f}
.alex-note-meta .alex-state{display:block;margin-top:5px;font-size:9px;letter-spacing:.09em;color:var(--alex-muted)}
.alex-note-title{font-family:'IBM Plex Serif',Georgia,serif!important;font-size:24px!important;line-height:1.2!important;font-weight:500!important}
.alex-note-title a:hover{color:#76552f}
.alex-note-desc{font-size:14.75px;line-height:1.48;color:#465149;font-weight:500}
.alex-note-link{align-self:end;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#76552f;white-space:nowrap}
.alex-subhead{display:flex!important;align-items:baseline;justify-content:space-between;gap:24px;margin:28px 0 0!important;padding:0 0 10px;border-bottom:1px solid rgba(23,32,28,.22)}
.alex-subhead h3{margin:0!important;font-size:20px!important;line-height:1.2!important}
.alex-subhead p{margin:0!important;font-size:11.5px;color:var(--alex-muted)}

.alex-next{margin:0!important;max-width:none!important;padding:21px 0;background:#e5dfd3;border-top:1px solid rgba(23,32,28,.16)}
.alex-next>.alex-shell{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.alex-next-label{margin:0 0 5px!important;font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#76552f}
.alex-next h3{margin:0!important;font-size:22px!important;line-height:1.22!important}
.alex-next-copy{max-width:700px;margin:6px 0 0!important;color:#4a554e;line-height:1.48}
.alex-next-link{margin:0!important;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#76552f;white-space:nowrap}

.alex-footer{margin:0!important;max-width:none!important;background:var(--alex-graphite);color:#9fa8a2;border-top:1px solid rgba(201,166,117,.25)}
.alex-footer>.alex-shell{padding-block:18px 20px;font-size:12.5px}
.alex-footer p{margin:0!important}

/* Long-form Field Notes and essays */
.alex-article-shell{margin:0!important;max-width:none!important;background:var(--alex-paper)}
.alex-article{display:grid!important;grid-template-columns:170px minmax(0,760px);gap:44px;padding:48px 0 68px}
.alex-article-aside{font-size:13px;line-height:1.55;color:#606a64}
.alex-article-copy p{font-size:18px;line-height:1.65;color:#364039;margin:0 0 20px}
.alex-article-copy h2{font-size:37px!important;line-height:1.15!important;margin:40px 0 16px!important}
.alex-article-copy h3{font-size:26px!important;line-height:1.22!important;margin:30px 0 12px!important}
.alex-pull{border-left:2px solid var(--alex-copper);padding-left:22px;margin:30px 0!important;font-family:'IBM Plex Serif',Georgia,serif;font-size:26px!important;line-height:1.38!important;color:var(--alex-ink)}
.alex-scene{margin:30px 0 32px!important;padding:21px 0;border-top:1px solid rgba(23,32,28,.28);border-bottom:1px solid rgba(23,32,28,.28)}
.alex-scene .alex-scene-label{font-size:11.5px;letter-spacing:.8px;text-transform:uppercase;font-weight:700;color:#80623f;margin-bottom:9px!important}
.alex-scene p{font-family:'IBM Plex Serif',Georgia,serif;font-size:20px;line-height:1.52;color:#26302b;margin:0!important}
.alex-scene .alex-scene-note{font-size:14px;line-height:1.5;font-weight:600;color:#59635d;margin-top:11px!important}
.alex-test{margin:28px 0!important;background:var(--alex-mineral);color:var(--alex-paper);border-top:2px solid var(--alex-patina)}
.alex-test-row{display:grid!important;grid-template-columns:155px 1fr;gap:24px;margin:0!important;padding:17px 21px;border-bottom:1px solid rgba(238,234,225,.15)}
.alex-test-row:last-child{border-bottom:0}
.alex-test-label{font-size:11.5px!important;letter-spacing:.72px;text-transform:uppercase;font-weight:700;color:var(--alex-patina)!important;margin:0!important}
.alex-test-value{font-size:16px!important;line-height:1.5!important;color:#dde0dc!important;margin:0!important}
.alex-close{margin:32px 0 0!important;padding:22px 24px;background:#d8d2c7;border-left:3px solid var(--alex-copper)}
.alex-close h3{font-size:22px!important;margin:0 0 7px!important}
.alex-close p{font-size:16px;line-height:1.55;color:#3f4b45;margin:0!important}
.alex-deeper{margin:26px 0 0!important;padding-top:21px;border-top:1px solid rgba(23,32,28,.22)}
.alex-deeper-label{font-size:11.5px;letter-spacing:.8px;text-transform:uppercase;font-weight:700;color:#80623f;margin-bottom:10px!important}
.alex-deeper-links{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
.alex-deeper-link{padding:15px 16px;border:1px solid rgba(23,32,28,.22);background:rgba(255,255,255,.18)}
.alex-deeper-link:hover{border-color:var(--alex-copper)}
.alex-deeper-link h3{font-size:18px!important;margin:0 0 5px!important}
.alex-deeper-link p{font-size:13.5px!important;line-height:1.48!important;color:#56615b!important;margin:0!important}

@media(max-width:900px){
  .alex-note-row{grid-template-columns:132px minmax(0,1fr) auto}
  .alex-note-desc{grid-column:2 / 4}
  .alex-hero:after{right:24px;width:240px;height:174px;opacity:.68;outline-offset:18px}
  .alex-home-hero .wp-block-cover__image-background{width:56%!important}
  .alex-about-hero>.alex-shell{padding-right:300px!important}
  .alex-about-hero .alex-portrait{width:37%}
}

@media(max-width:720px){
  .alex-shell{width:calc(100% - 36px)}
  .alex-nav{align-items:flex-start;flex-direction:column;padding:13px 0}
  .alex-links{gap:12px 18px!important;flex-wrap:wrap!important}
  .alex-hero>.alex-shell{padding-block:40px 38px}
  .alex-hero:after{width:180px;height:128px;right:-70px;opacity:.38;outline-offset:12px}
  .alex-section{padding-block:40px}
  .alex-note-row{grid-template-columns:1fr;gap:6px;padding:16px 0}
  .alex-note-desc,.alex-note-link{grid-column:auto}
  .alex-note-link{margin-top:2px}
  .alex-subhead{align-items:flex-start;flex-direction:column;gap:5px;margin-top:26px!important}
  .alex-next>.alex-shell{grid-template-columns:1fr;gap:14px}
  .alex-next-link{white-space:normal}
  .alex-article{grid-template-columns:1fr;gap:16px;padding:36px 0 52px}
  .alex-article-copy h2{font-size:31px!important;line-height:1.16!important;margin-top:36px!important}
  .alex-pull{font-size:22px!important;line-height:1.4!important;padding-left:18px}
  .alex-test-row{grid-template-columns:1fr;gap:6px}
  .alex-deeper-links{grid-template-columns:1fr}
  .alex-scene p{font-size:19px}

  .alex-home-hero{min-height:500px!important}
  .alex-home-hero .wp-block-cover__image-background{width:100%!important;object-position:67% 16%!important;filter:saturate(.72) contrast(.94) brightness(.72) blur(.3px)}
  .alex-home-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(23,45,36,.98) 0%,rgba(23,45,36,.94) 50%,rgba(23,45,36,.58) 78%,rgba(23,45,36,.24) 100%)!important}
  .alex-home-hero .alex-hero-inner{padding-block:46px 42px!important}
  .alex-home-hero h1{max-width:94%!important;font-size:clamp(37px,10vw,48px)!important}
  .alex-home-hero .alex-lede{max-width:94%!important}

  .alex-about-hero>.alex-shell{min-height:0;display:block!important;padding-right:0!important}
  .alex-about-hero .alex-portrait{position:relative;right:auto;top:auto;width:100%;height:320px;margin:24px 0 0!important;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 12%,#000 28%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 12%,#000 28%,#000 100%)}
  .alex-about-hero .alex-portrait img{object-position:50% 14%}
}
