/* ============================================================
   TAMON — WordPress additions (loaded after main.css on every page)
   What the static prototype never needed: the admin bar, WordPress's own classes, pages written in the editor
   (page.php, index.php, 404.php), the spam trap, the password form, a service's optional icon, and the helper
   classes of the optional smooth-scroll library.
   ============================================================ */

/* ---------- The admin bar (signed-in editors) ----------
   The header and the menu are fixed to the top of the window, so they move down below the bar. On phones the bar
   scrolls away with the page, so there they stay at the top. */
.admin-bar .site-header,.admin-bar .menu{top:var(--wp-admin--admin-bar--height,32px)}
@media (max-width:600px){.admin-bar .site-header,.admin-bar .menu{top:0}}

/* ---------- WordPress's own classes ---------- */
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;border:0}
.screen-reader-text:focus{z-index:100;width:auto;height:auto;margin:0;padding:.7rem 1rem;clip-path:none;
  background:var(--text);color:var(--ink)}
.aligncenter{margin-inline:auto}
.alignleft{float:left;margin:.3em 1.5em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.5em}
.wp-caption-text,.wp-element-caption{margin-top:.6rem;font-size:var(--fs-sm);color:var(--text-dim)}

/* ---------- Forms ---------- */
/* the spam trap: kept in the form for bots, out of sight and out of reach for people */
.form-trap{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* the password form on a protected page or project */
.post-password-form{display:grid;gap:1rem;max-width:28rem;padding-top:calc(var(--bar-h) + 2rem)}
.post-password-form label{display:grid;gap:.5rem;color:var(--text-soft)}
.post-password-form input[type="password"]{width:100%;min-height:48px;padding:.6rem 1rem;border:0;border-radius:14px;
  background:var(--ink-2);color:var(--text);font:inherit;box-shadow:inset 0 0 0 1px var(--hair-strong)}
.post-password-form input[type="submit"]{justify-self:start;min-height:48px;padding:.6rem 1.4rem;border:0;border-radius:999px;
  background:var(--text);color:var(--ink);font-family:var(--display);font-weight:500;font-size:1rem;cursor:pointer}

/* ---------- Content from Tamon Core ---------- */
/* a service's optional icon, before its name */
.svc__glyph{display:inline-block;width:1.25em;height:1.25em;margin-right:.55em;vertical-align:-.2em}
.svc__glyph img{width:100%;height:100%;object-fit:contain}
/* a project category with nowhere to link to, on a case study */
.cs-tags span{display:inline-flex;align-items:center;min-height:40px;padding:.4rem 1rem;border-radius:999px;
  font-size:var(--fs-sm);color:var(--text-soft);box-shadow:inset 0 0 0 1px var(--hair-strong)}
/* the Projects page before any project is published */
.wk-empty{padding-block:2rem 4rem;color:var(--text-dim)}
/* anything written in the Contact page's editor, under the details */
.ct__note{margin-top:clamp(1.5rem,4vh,2.5rem)}

/* ---------- Pages written in the editor ----------
   A page without a template of its own (a privacy notice, terms), the posts list and "not found": a quiet hero
   with the site's light and a neon line, then readable text. */
.pg-hero{position:relative;isolation:isolate;overflow:clip;
  padding-block:calc(var(--bar-h) + clamp(2.5rem,8vh,5rem)) clamp(2.5rem,7vh,4.5rem)}
.pg-hero__light{position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(48% 70% at 0% 0%,rgb(var(--grad-a-rgb) / .13),transparent 72%),
             radial-gradient(40% 60% at 100% 10%,rgb(var(--grad-c-rgb) / .08),transparent 72%)}
.pg-hero__grain{z-index:-1}
.pg-hero__title{margin-top:clamp(.9rem,2.2vh,1.4rem);max-width:18ch;font-weight:300;font-size:clamp(2.5rem,.6rem + 4.2vw,5.4rem);
  line-height:1.02;letter-spacing:-.035em;overflow-wrap:break-word}
.pg-hero__lede{margin-top:clamp(1.25rem,3vh,2rem);max-width:46ch;font-size:var(--fs-lead);line-height:1.5;color:var(--text-soft)}
.pg-hero__line{margin-top:clamp(2rem,6vh,3.5rem)}
.pg-hero__line .neon-line{--neon-len:560px}
.pg-hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:clamp(1.75rem,5vh,2.75rem)}
.pg-body{padding-block:clamp(1rem,3vh,2rem) var(--section-y)}

.entry-content{max-width:44rem}
.entry-content::after{content:"";display:table;clear:both}
.entry-content>*+*{margin-top:1.25em}
.entry-content h2{margin-top:2em;font-weight:300;font-size:var(--fs-h2);letter-spacing:-.02em}
.entry-content h3{margin-top:1.8em;font-size:clamp(1.3rem,1.1rem + .7vw,1.7rem)}
.entry-content h4{margin-top:1.6em;font-size:1.15rem}
.entry-content p,.entry-content li,.entry-content dd{color:var(--text-soft)}
.entry-content a:not([class]){color:var(--text);background:var(--gradient) no-repeat 0 100%/100% 1px;padding-bottom:1px}
.entry-content ul,.entry-content ol{padding-left:1.25em}
.entry-content ul{list-style:disc}
.entry-content ol{list-style:decimal}
.entry-content li+li{margin-top:.4em}
.entry-content blockquote{margin-inline:0;padding-left:1.25rem;border-left:2px solid var(--hair-strong);
  font-family:var(--display);font-weight:300;font-size:var(--fs-lead);color:var(--text)}
.entry-content figure{margin-inline:0}
.entry-content img,.entry-content video{height:auto;border-radius:var(--radius)}
.entry-content hr{height:1px;border:0;background:var(--hair)}
.entry-content table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.entry-content th,.entry-content td{padding:.6rem .75rem;border-bottom:1px solid var(--hair);text-align:left}
.entry-content code,.entry-content pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
.entry-content pre{overflow:auto;padding:1rem;border-radius:var(--radius);background:var(--ink-2)}
.entry-content .alignwide{max-width:none;width:min(72rem,calc(100vw - 2 * var(--gutter)))}
.entry-content .wp-block-button__link{display:inline-flex;align-items:center;min-height:48px;padding:.85rem 1.5rem;border-radius:999px;
  background:var(--text);color:var(--ink);font-family:var(--display);font-weight:500;text-decoration:none}

/* the posts list (index.php) */
.pg-list{display:grid;max-width:44rem}
.pg-list__item{padding-block:clamp(1.5rem,4vh,2.25rem);border-bottom:1px solid var(--hair)}
.pg-list__item:first-child{padding-top:0}
.pg-list__title{font-weight:300;font-size:clamp(1.6rem,1.1rem + 1.5vw,2.4rem);letter-spacing:-.02em}
.pg-list__title a{background:var(--gradient) no-repeat 0 100%/0 2px;padding-bottom:2px;transition:background-size .4s var(--ease-out)}
.pg-list__title a:hover,.pg-list__title a:focus-visible{background-size:100% 2px}
.pg-list__meta{margin-top:.45rem;font-size:var(--fs-sm);color:var(--text-dim)}
.pg-list__excerpt{margin-top:.8rem;color:var(--text-soft)}
.nav-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.5rem}
.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 .9rem;
  border-radius:999px;color:var(--text-soft);box-shadow:inset 0 0 0 1px var(--hair-strong)}
.nav-links .page-numbers.current,.nav-links a.page-numbers:hover{background:rgb(233 239 244 / .09);color:var(--text)}

/* ---------- Lenis (only when Appearance → Customize → Motion switches the libraries on) ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}
