/* ============================================================
   PROJECT 54, Blueprint base (shared by About alternatives)
   Engineered Blueprint aesthetic, accent #1f6feb
   ============================================================ */
:root{
  --ink:#0a0a0b; --ink-2:#0e0e10; --ink-3:#141417;
  --text:#ECECEA; --muted:#8C8C92; --faint:#5a5a60;
  --line:rgba(255,255,255,.12); --line-2:rgba(255,255,255,.06);
  --accent:#1f6feb; --accent-soft:rgba(31,111,235,.4); --accent-glow:rgba(31,111,235,.5);
  --chrome-a:#fafafa; --chrome-b:#c4c6ca; --chrome-c:#7e8086;
  --sans:'Archivo','Helvetica Neue',Helvetica,Arial,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif; --mono:'IBM Plex Mono',ui-monospace,'SF Mono','Cascadia Mono','Segoe UI Mono',Consolas,'Liberation Mono',monospace;
  --gut:clamp(20px,4vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
button,.elementor-kit-1014 button{background:none;border:0;color:inherit;font:inherit;cursor:pointer}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(120% 80% at 50% 0,#000 30%,transparent 90%);
  mask-image:radial-gradient(120% 80% at 50% 0,#000 30%,transparent 90%);}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:#fff}
.mono{font-family:var(--mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.chrome{background:linear-gradient(176deg,var(--chrome-a),var(--chrome-b) 42%,var(--chrome-c) 70%,#e9eaec 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.wrap{max-width:1480px;margin:0 auto;padding:0 var(--gut);position:relative;z-index:1}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:.4s;background:transparent}
header.scrolled{background:rgba(10,10,11,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:24px;height:72px}
.bar img{height:19px;width:auto;display:block}
nav.main{margin-left:auto;display:flex;gap:6px}
nav.main a{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 12px;border-radius:2px;transition:.2s;white-space:nowrap}
nav.main a:hover,nav.main a.active{color:var(--text)}
.hbtn{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);padding:10px 16px;color:var(--text);transition:.25s;white-space:nowrap}
.hbtn:hover{background:var(--text);color:var(--ink);border-color:var(--text)}

/* reveal, opacity/transform owned by rAF (P54U) */
.rv{will-change:opacity,transform}

/* placeholder image */
.ph{position:relative;overflow:hidden;background:
  repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 2px,transparent 2px 11px),var(--ink-2);
  border:1px solid var(--line)}
.ph .ph-cap{position:absolute;left:16px;bottom:14px;right:16px;font-family:var(--mono);font-size:10.5px;color:var(--faint);letter-spacing:.06em}
.ph .ph-meta{position:absolute;left:16px;top:16px;display:flex;gap:8px}
.ph .chip{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:5px 9px;color:var(--muted);background:rgba(10,10,11,.5)}
.ph .chip.acc{color:var(--accent);border-color:var(--accent-soft)}
.crn{position:absolute;width:9px;height:9px;border:1px solid var(--muted);z-index:2}
.crn.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
.crn.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}
.crn.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}
.crn.br{bottom:-1px;right:-1px;border-left:0;border-top:0}

/* section header */
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:baseline;padding:90px 0 34px;border-bottom:1px solid var(--line)}
.sec-idx{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em}
.sec-kick{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase}
.sec-title{font-size:clamp(24px,3.2vw,44px);font-weight:700;letter-spacing:-.015em;line-height:1.06;max-width:24ch;margin-top:8px}
.sec-body{color:var(--muted);max-width:64ch;margin-top:18px;font-size:clamp(15px,1.2vw,17px)}

/* primary cta */
.cta{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:13px;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--text);padding:15px 22px;transition:.3s;position:relative;overflow:hidden;color:var(--text)}
.cta span{position:relative;z-index:1;transition:color .3s}
.cta::after{content:"";position:absolute;inset:0;background:var(--text);transform:translateX(-101%);transition:transform .4s cubic-bezier(.7,0,.2,1)}
.cta:hover::after{transform:translateX(0)}
.cta:hover span{color:var(--ink)}
.cta.accent{border-color:var(--accent);color:var(--accent)}
.cta.accent::after{background:var(--accent)}
.cta.accent:hover span{color:#fff}

/* contact (shared) */
.contact{padding:96px 0 60px;border-bottom:1px solid var(--line)}
.contact h2{font-weight:800;line-height:.95;letter-spacing:-.02em;font-size:clamp(40px,8vw,118px)}
.contact h2 .l2{-webkit-text-stroke:1px var(--chrome-b);color:transparent}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px;padding-top:36px;border-top:1px solid var(--line)}
.contact p.lead{color:var(--muted);max-width:50ch;font-size:clamp(15px,1.3vw,18px)}
.contact-info{display:flex;flex-direction:column}
.info-row{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line);align-items:baseline}
.info-row:first-child{border-top:0}
.info-row .k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.info-row .v{font-size:15px}
.info-row a:hover{color:var(--accent)}
.socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.socials a{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);padding:8px 13px;color:var(--muted);transition:.25s}
.socials a:hover{color:var(--ink);background:var(--text);border-color:var(--text)}
.bigcta{display:inline-flex;align-items:center;gap:16px;font-family:var(--mono);font-size:14px;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);padding:18px 26px;margin-top:30px;transition:.3s}
.bigcta:hover{background:var(--accent);color:#fff}

footer{padding:40px 0 60px}
.foot{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.foot img{height:17px}
.foot .fmono{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.06em}
.foot .fmono.r{margin-left:auto}

@media(max-width:980px){
  nav.main{display:none}
  .contact-grid{grid-template-columns:1fr}
}

/* ---- TranslatePress switcher, restyled to design system ---- */
.p54-lang{position:relative;margin-left:6px}
.p54-lang .trp-shortcode-switcher__wrapper{position:relative;display:block}
.p54-lang .trp-language-switcher{background:transparent !important;border:0 !important;padding:0 !important;margin:0 !important;width:auto !important;height:auto !important;min-width:0 !important;box-shadow:none !important;overflow:visible !important}
.p54-lang .trp-current-language-item__wrapper{border:1px solid var(--line) !important;background:transparent !important;padding:8px 11px !important;display:flex !important;align-items:center;gap:7px;cursor:pointer;transition:border-color .2s;border-radius:0 !important;min-height:36px}
.p54-lang .trp-language-switcher:hover .trp-current-language-item__wrapper,
.p54-lang .trp-language-switcher:focus-within .trp-current-language-item__wrapper{border-color:var(--text) !important}
.p54-lang .trp-language-item{font-family:var(--mono) !important;font-size:11px !important;letter-spacing:.06em !important;text-transform:uppercase !important;color:var(--muted) !important;background:transparent !important;text-decoration:none !important;display:flex !important;align-items:center;gap:8px;padding:0 !important;line-height:1 !important}
.p54-lang .trp-language-switcher:hover .trp-current-language-item__wrapper .trp-language-item{color:var(--text) !important}
.p54-lang svg{width:9px !important;height:9px !important;flex:none}
.p54-lang svg *{fill:var(--faint) !important}
.p54-lang .trp-shortcode-overlay{position:absolute !important;top:0 !important;right:0 !important;left:auto !important;z-index:60}
.p54-lang .trp-switcher-dropdown-list{display:none !important;position:absolute !important;top:calc(100% + 6px) !important;right:0 !important;left:auto !important;min-width:178px;width:auto !important;background:var(--ink-2) !important;border:1px solid var(--line) !important;border-radius:0 !important;box-shadow:0 24px 60px -20px rgba(0,0,0,.75) !important;padding:6px 0 !important;margin:0 !important;z-index:99;max-height:68vh;overflow:auto}
.p54-lang:hover .trp-switcher-dropdown-list,
.p54-lang:focus-within .trp-switcher-dropdown-list{display:block !important}
.p54-lang .trp-switcher-dropdown-list .trp-language-item{padding:12px 16px !important;color:var(--muted) !important;min-height:42px}
.p54-lang .trp-switcher-dropdown-list .trp-language-item:hover{color:#fff !important;background:rgba(31,111,235,.14) !important}
.p54-lang img{width:15px !important;height:auto !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;filter:saturate(.75)}
@media(max-width:980px){.p54-lang{margin-left:auto;margin-right:8px}}

/* ---- Mobile menu ---- */
.p54-burger{display:none;width:42px;height:42px;border:1px solid var(--line);background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;margin-left:8px}
.p54-burger span{display:block;width:18px;height:1.5px;background:var(--text);transition:transform .25s,opacity .25s}
.p54-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.p54-burger.open span:nth-child(2){opacity:0}
.p54-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.p54-mmenu{position:fixed;inset:0;background:rgba(8,8,10,.98);backdrop-filter:blur(8px);z-index:70;display:none;flex-direction:column;padding:110px var(--gut) 40px;overflow:auto}
.p54-mmenu.open{display:flex}
.p54-mmenu nav{display:flex;flex-direction:column}
.p54-mmenu nav a{font-family:var(--mono);font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--text);padding:17px 2px;border-bottom:1px solid var(--line);min-height:44px;display:flex;align-items:center}
.p54-mmenu nav a:hover,.p54-mmenu nav a.active{color:var(--accent)}
.p54-mmenu .m-cta{margin-top:26px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#fff;padding:16px 22px;min-height:48px}
@media(max-width:980px){
  .p54-burger{display:flex}
  #hdr .hbtn{display:none}
}

/* ---- Crawlable page summaries (visually hidden, available to crawlers) ---- */
.p54-geo{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}

/* mobile tap-target comfort */
@media(max-width:980px){
  .socials a{padding:10px 12px}
  .contact-info .info-row .v a{display:inline-block;padding:6px 0}
  .cal{display:inline-block;padding:10px 0}
}

/* prevent iOS auto-zoom on focus: inputs must be >=16px on small screens */
@media(max-width:760px){
  input[type=text],input[type=email],textarea,select{font-size:16px !important}
}
