/* Incendio site styles. Tokens come from theme.json (--wp--preset--*); short aliases below. */
:root{
  --ink:var(--wp--preset--color--ink);
  --char:var(--wp--preset--color--char);
  --ivory:var(--wp--preset--color--ivory);
  --ember:var(--wp--preset--color--ember);
  --ember-btn:var(--wp--preset--color--ember-btn);
  --ember-text:var(--wp--preset--color--ember-text);
  --ash:var(--wp--preset--color--ash);
  --muted:var(--wp--preset--color--muted);
  --sans:var(--wp--preset--font-family--body);
  --head:var(--wp--preset--font-family--heading);
  --serif:var(--wp--preset--font-family--serif);
  --gutter:var(--wp--custom--gutter);
}
*{box-sizing:border-box;}
.wp-site-blocks > *{margin-block-start:0;}
body{-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;}

/* ---------- Type rules (Kai, 2026-10-23) ----------
   Headings: Switzer bold. 1–2 highlighted words inside a heading (<em>) switch to the serif.
   Main highlight headline: "Main highlight (serif)" heading style. */
:where(h1,h2,h3,h4){text-wrap:balance;}
.page-title{font-size:var(--wp--preset--font-size--heading-1);}
:where(h1,h2,h3,h4) em{font-family:var(--serif);font-style:italic;font-weight:600;letter-spacing:0;color:var(--ember-text);}
.is-style-dark :where(h1,h2,h3,h4) em{color:var(--ember);}
.is-style-highlight{font-family:var(--serif)!important;font-style:italic;font-weight:600;letter-spacing:-.01em;font-size:var(--wp--preset--font-size--highlight);line-height:1.05;color:var(--ember);}
.is-style-eyebrow{font:600 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ember-text);}
.is-style-dark .is-style-eyebrow{color:var(--ember);}
.hl{background:var(--ember);color:#fff;padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone;}

/* ---------- Sections ---------- */
.is-style-dark{background:var(--ink);color:#fff;}
.is-style-dark p{color:rgba(255,255,255,.72);}
.is-style-sheet{position:relative;z-index:2;background:var(--ivory);border-radius:var(--wp--custom--radius--sheet) var(--wp--custom--radius--sheet) 0 0;box-shadow:0 -24px 60px -18px rgba(0,0,0,.6);}

/* ---------- Buttons: always centred under their section ---------- */
.wp-element-button{transition:transform .2s,background-color .2s;}
.wp-element-button:hover{transform:translateY(-1px);}
.is-style-ghost .wp-element-button{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(20,20,20,.25);}
.is-style-dark .is-style-ghost .wp-element-button{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);}
.wp-element-button:focus-visible,.menu-btn:focus-visible{outline:2px solid var(--ember);outline-offset:3px;}

/* ---------- Header: floating capsule that hides on scroll down ---------- */
.site-nav{position:fixed;top:14px;left:0;right:0;z-index:50;pointer-events:none;transition:transform .4s cubic-bezier(.4,0,.2,1);}
.site-nav.hide{transform:translateY(calc(-100% - 24px));}
.site-nav .bar{pointer-events:auto;width:min(1040px,calc(100% - 24px));height:60px;margin:0 auto;padding:0 8px 0 22px;border-radius:999px;background:#FBFAF4;border:1px solid rgba(20,20,20,.1);box-shadow:0 12px 30px -14px rgba(20,20,20,.3);color:var(--ink);align-items:center;transition:background-color .4s,border-color .4s,box-shadow .4s,color .4s;}
body.is-dark .site-nav .bar,body.menu-open .site-nav .bar{background:var(--char);border-color:rgba(255,255,255,.1);box-shadow:0 12px 30px -14px rgba(0,0,0,.6);color:#fff;}
.site-nav .wp-block-site-logo img{height:26px;width:auto;display:block;}
.site-nav .links{gap:24px;align-items:center;}
.site-nav .nav-links{gap:24px;font:500 15px var(--sans);}
.site-nav .nav-links a{color:#3a3836;transition:color .3s;}
.site-nav .nav-links a:hover{color:var(--ink);}
body.is-dark .site-nav .nav-links a{color:rgba(255,255,255,.7);}
body.is-dark .site-nav .nav-links a:hover{color:#fff;}
.site-nav .nav-cta .wp-element-button{padding:11px 20px;font-size:14.5px;}
.admin-bar .site-nav{top:46px;}

/* Mobile menu (below 860px) */
.menu-btn{display:none;position:relative;width:40px;height:40px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;padding:0;}
.menu-btn i{position:absolute;left:12px;right:12px;height:1.6px;background:currentColor;transition:transform .3s,top .3s;}
.menu-btn i:first-child{top:15px;} .menu-btn i:last-child{top:23px;}
body.menu-open .menu-btn i:first-child{top:19px;transform:rotate(45deg);}
body.menu-open .menu-btn i:last-child{top:19px;transform:rotate(-45deg);}
.m-menu{position:fixed;inset:0;z-index:49;background:var(--ink);color:#fff;padding:104px var(--gutter) 40px;display:flex;flex-direction:column;gap:28px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility 0s .3s;}
.m-menu.open{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s;}
.m-menu nav a{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font:600 34px/1.1 var(--serif);letter-spacing:-.02em;color:#fff;text-decoration:none;}
.m-menu nav a small{font:600 12px var(--sans);letter-spacing:.1em;color:var(--muted);}
.m-menu nav a:hover,.m-menu nav a:focus-visible{color:var(--ember);outline:none;}
.m-menu .wp-element-button{display:block;text-align:center;}
.m-menu .m-contacts{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;font:500 14px var(--sans);}
.m-menu .m-contacts a{color:rgba(255,255,255,.7);}
@media (max-width:860px){
  .site-nav .nav-links{display:none;}
  .menu-btn{display:inline-block;}
  body.menu-open .site-nav .nav-cta{display:none;}
}
@media (min-width:861px){.m-menu{display:none;}}
@media (max-width:760px){.site-nav{top:10px;} .site-nav .bar{height:56px;padding-left:18px;} .site-nav .wp-block-site-logo img{height:24px;}}
@media (max-width:600px){.admin-bar .site-nav{top:10px;}}

/* ---------- Main + footer ---------- */
.site-main{padding-top:clamp(120px,14vw,160px);padding-bottom:var(--wp--preset--spacing--60);}
.site-main.is-front{padding-top:0;padding-bottom:0;}
.page-title{margin-top:0;}
.site-footer{padding-top:var(--wp--preset--spacing--70);}
.site-footer .cta-title{font-size:clamp(40px,6vw,84px);line-height:1.02;letter-spacing:-.03em;margin:0 auto;}
.site-footer .cta-text{font-size:18px;margin:24px auto 32px;}
.site-footer .inc-contacts{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;font:500 15px var(--sans);}
.site-footer .inc-contacts a{color:rgba(255,255,255,.7);}
.site-footer .inc-contacts a:hover{color:#fff;}
.site-footer .foot{margin-top:var(--wp--preset--spacing--60);padding:28px 0 36px;border-top:1px solid rgba(255,255,255,.12);font:400 13px var(--sans);}
.site-footer .foot p{margin:0;color:var(--muted);}
.site-footer .foot a{color:var(--muted);}

/* ---------- Movement between places ---------- */
html{scroll-behavior:smooth;background:var(--ivory);}
body{animation:pageIn .55s ease both;}
@keyframes pageIn{from{opacity:0;}to{opacity:1;}}
.page-veil{position:fixed;inset:0;z-index:9999;background:var(--ivory);opacity:0;pointer-events:none;transition:opacity .3s ease;}
html.leaving .page-veil{opacity:1;}
[id]{scroll-margin-top:84px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;} body{animation:none;} .page-veil{transition:none;} .site-nav{transition:none;}}

/* Editor: keep the fixed header in flow so it can be edited. */
.editor-styles-wrapper .site-nav{position:relative;top:0;pointer-events:auto;}
.editor-styles-wrapper .menu-btn{display:none;}
