/*
Theme Name: Xselleo Classic
Theme URI: https://xselleo.com/
Author: Xselleo LLC
Description: Complete classic Xselleo public marketing theme for WordPress staging deployment.
Version: 1.4.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: xselleo-classic
*/

:root { --ink:#111016; --ink-2:#1b1922; --cream:#f7f4ee; --paper:#fffdf9; --raspberry:#ec1764; --raspberry-dark:#b90e4a; --lavender:#c7b6ff; --mist:#e9e5df; --line:rgba(17,16,22,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:clip; background:var(--cream); color:var(--ink); font-family:Inter,Arial,sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:3px solid var(--raspberry); outline-offset:3px; }
.skip-link { position:absolute; left:-10000px; top:auto; overflow:hidden; width:1px; height:1px; }
.skip-link:focus { position:fixed; z-index:10000; left:1rem; top:1rem; width:auto; height:auto; padding:.7rem 1rem; color:#fff; background:var(--ink); }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { position:sticky; top:0; z-index:1000; display:flex; align-items:center; gap:1.3rem; min-height:76px; padding:0.8rem clamp(1.2rem,5vw,5rem); background:rgba(247,244,238,.96); border-bottom:1px solid rgba(17,16,22,.08); backdrop-filter:blur(14px); }
.brand { display:inline-flex; flex:0 0 auto; align-items:center; text-decoration:none; }
.brand img { display:block; width:142px; height:auto; }
.site-nav { flex:1 1 auto; min-width:0; }
.mobile-menu-toggle { display:none; border:1px solid var(--ink); background:transparent; color:var(--ink); min-height:42px; padding:.6rem .8rem; font:inherit; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.menu { display:flex; align-items:center; justify-content:center; gap:1.05rem; list-style:none; margin:0; padding:0; }
.menu a { color:var(--ink); font-size:.75rem; font-weight:700; line-height:1.15; text-decoration:none; }
.menu a:hover { color:var(--raspberry); }
.header-actions { display:flex; align-items:center; gap:.75rem; }
.button, .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.82rem 1.08rem; border:1px solid var(--raspberry); background:var(--raspberry); color:#fff; font-size:.8rem; font-weight:800; letter-spacing:.01em; text-decoration:none; transition:background .18s ease, transform .18s ease; }
.button:hover { background:var(--raspberry-dark); transform:translateY(-1px); }
.button--light { border-color:#fff; background:#fff; color:var(--ink); }
.button--outline { border-color:var(--ink); background:transparent; color:var(--ink); }
.shell { width:min(1240px,100%); margin:0 auto; padding-right:clamp(1.2rem,5vw,5rem); padding-left:clamp(1.2rem,5vw,5rem); }
.hero { position:relative; overflow:hidden; padding:clamp(5rem,11vw,10rem) 0 0; color:#fff; background:radial-gradient(circle at 85% 30%, rgba(236,23,100,.32), transparent 20rem), linear-gradient(115deg,var(--ink) 0%,var(--ink) 56%,#272330 100%); }
.hero:after { position:absolute; right:-10%; bottom:-40%; width:54vw; height:54vw; border:1px solid rgba(199,182,255,.28); border-radius:50%; content:""; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr); gap:3rem; align-items:end; padding-bottom:clamp(3rem,7vw,6rem); }
.eyebrow { margin:0 0 1.2rem; color:var(--lavender); font-size:.68rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
h1,.display,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:500; }
h1 { max-width:760px; margin:.05em 0 .34em; font-size:clamp(3.4rem,8vw,7.6rem); letter-spacing:-.075em; line-height:.88; }
h2 { margin:.15em 0 .45em; font-size:clamp(2.25rem,4vw,4.4rem); letter-spacing:-.06em; line-height:.96; }
h3 { margin:.1em 0 .45em; font-size:1.75rem; letter-spacing:-.04em; line-height:1.05; }
.lead { max-width:650px; margin:0 0 1.7rem; color:rgba(255,255,255,.86); font-size:clamp(1.02rem,1.7vw,1.28rem); }
.hero-note { max-width:280px; padding:1.4rem 0; border-top:1px solid rgba(255,255,255,.4); color:#fff; font-size:.86rem; }
.hero-note strong { display:block; margin-bottom:.35rem; font-family:Georgia,serif; font-size:1.25rem; }
.button-row { display:flex; flex-wrap:wrap; gap:.7rem; }
.pathways { margin-top:0; color:#fff; background:var(--ink); }
.pathways-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.18); }
.pathway { min-height:240px; padding:1.7rem; border-right:1px solid rgba(255,255,255,.18); }
.pathway:last-child { border-right:0; }
.pathway p { color:rgba(255,255,255,.72); font-size:.92rem; }
.pathway a { color:#fff; font-weight:800; }
.section { padding:clamp(4rem,8vw,7rem) 0; }
.section--paper { background:var(--paper); }
.section--ink { color:#fff; background:var(--ink); }
.section-intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(220px,.55fr); gap:3rem; align-items:end; }
.section-copy { max-width:420px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:3rem; background:var(--line); border:1px solid var(--line); }
.card { min-height:260px; padding:2rem; background:var(--cream); }
.card p { color:rgba(17,16,22,.72); }
.card-number { color:var(--raspberry); font-size:.73rem; font-weight:800; letter-spacing:.12em; }
.callout { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; padding:2rem; color:#fff; background:var(--raspberry); }
.callout h2 { margin:0; font-size:clamp(2rem,4vw,3.75rem); }
.content { width:min(1240px,100%); max-width:none; padding-top:clamp(3rem,7vw,6rem); padding-bottom:clamp(4rem,8vw,7rem); }
.xs-page-shell > article { width:100%; min-width:0; }
.entry { max-width:760px; }
.entry p,.entry li { font-size:1.04rem; }
.entry h2 { margin-top:1.5em; font-size:clamp(2rem,3.5vw,3.2rem); }
.entry h3 { margin-top:1.6em; }
.legal-note { margin:2.2rem 0; padding:1.2rem 1.35rem; border-left:4px solid var(--raspberry); background:var(--paper); font-size:.92rem; }
.site-footer { padding:4rem clamp(1.2rem,5vw,5rem) 2rem; color:#fff; background:var(--ink); }
.footer-grid { display:grid; grid-template-columns:1.35fr repeat(4,minmax(135px,.82fr)); gap:clamp(1.25rem,2.5vw,2.5rem); max-width:1240px; margin:auto; }
.footer-grid a { color:#fff; }
.footer-grid ul { padding:0; list-style:none; }
.footer-grid li { margin:.45rem 0; font-size:.9rem; }
.footer-brand h3 { color:#fff; }
.footer-kicker { color:var(--lavender); font-size:.73rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.footer-bottom { max-width:1240px; margin:2.7rem auto 0; padding-top:1.3rem; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.68); font-size:.78rem; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.form-grid .wide { grid-column:1/-1; }
label { display:block; margin-bottom:.35rem; font-size:.82rem; font-weight:800; }
input,textarea,select { width:100%; padding:.82rem; border:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink); font:inherit; }
textarea { min-height:150px; resize:vertical; }
.notice { padding:1rem 1.2rem; border-left:4px solid var(--raspberry); background:#fff4f8; }
@media (max-width:1020px) { .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.45rem; min-height:0; padding:.55rem .75rem .65rem; } .brand img { width:132px; } .mobile-menu-toggle { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:.42rem .65rem; font-size:.72rem; } .site-nav { display:none; grid-column:1/-1; order:3; width:100%; padding-top:.15rem; border-top:1px solid var(--line); } .mobile-menu-open .site-nav { display:block; } .site-nav .menu { display:grid; gap:0; overflow:visible; padding:.25rem 0; } .site-nav .menu li { border-bottom:1px solid var(--line); } .site-nav .menu a { display:block; padding:.8rem 0; font-size:.88rem; } .header-actions { display:flex; grid-column:1/-1; order:4; width:100%; gap:.45rem; } .header-actions .button { flex:1 1 0; min-width:0; min-height:40px; padding:.52rem .4rem; font-size:.68rem; text-align:center; } .hero-grid,.section-intro { grid-template-columns:1fr; } .hero-note { max-width:480px; } .cards { grid-template-columns:1fr 1fr; } .pathways-grid { grid-template-columns:1fr; } .pathway { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); } }
@media (max-width:960px) { .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .footer-brand { grid-column:span 3; } }
@media (max-width:620px) { .header-actions { width:100%; } .header-actions .button { flex:1; } h1 { font-size:clamp(3.15rem,16vw,5rem); } .cards,.footer-grid,.form-grid { grid-template-columns:1fr; } .footer-brand { grid-column:auto; } .callout { grid-template-columns:1fr; } .form-grid .wide { grid-column:auto; } }
@media (max-width:760px) {
  .hero { padding-top:3.4rem; }
  .hero-grid { gap:1.5rem; padding-bottom:3rem; }
  .section { padding:3.5rem 0; }
  .cards { margin-top:2rem; }
  .card { min-height:auto; padding:1.4rem; }
  .pathway { padding:1.4rem; }
  .content { padding-top:2.5rem; padding-bottom:3.5rem; }
  .footer-grid { gap:1.25rem; }
  table { display:block; max-width:100%; overflow-x:auto; }
}

.xs-block { margin:2.5rem 0; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--line); background:var(--paper); }
.xs-page-shell .xs-block,.xs-page-shell .xs-card-grid,.xs-page-shell .xs-offer-list { width:100% !important; max-width:none !important; min-width:0 !important; }
.xs-block--intro { margin-top:0; border:0; background:transparent; padding:0 0 1rem; }
.xs-block--cream { background:var(--cream); }
.xs-block--ink { color:#fff; border-color:var(--ink); background:var(--ink); }
.xs-block--ink .eyebrow { color:var(--lavender) !important; }
.xs-block--ink h2 { color:#fff; }
.xs-block h2 { max-width:820px; }
.xs-lead { max-width:760px; font-size:1.12rem !important; }
.xs-card-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:1px; margin-top:2rem; background:var(--line); border:1px solid var(--line); }
.xs-card { width:auto !important; min-width:0; padding:1.5rem; background:var(--paper); }
.xs-card h3 { font-size:1.45rem; }
.xs-card p { margin-bottom:0; color:rgba(17,16,22,.74); }
.xs-number,.xs-offer > span { display:block; margin-bottom:.75rem; color:var(--raspberry); font-size:.72rem; font-weight:800; letter-spacing:.13em; }
.xs-offer-list { margin-top:2rem; border-top:1px solid var(--line); }
.xs-offer { display:grid !important; grid-template-columns:72px minmax(0,1fr) !important; width:100% !important; min-width:0; gap:1rem; padding:1.4rem 0; border-bottom:1px solid var(--line); }
.xs-offer > div { width:auto !important; min-width:0; }
.xs-offer > span { padding-top:.35rem; }
.xs-offer h3 { margin:0 0 .25rem; font-size:1.25rem; }
.xs-offer p { margin:0; }
.xs-disclosure,.xs-plan { margin-top:2rem; padding:1.2rem 1.35rem; border-left:4px solid var(--raspberry); background:#fff4f8; }
.xs-disclosure strong,.xs-plan strong { display:block; margin-bottom:.4rem; }
.xs-disclosure p { margin:0; font-size:.92rem !important; }
.xs-plan ul,.xs-checklist { margin:1rem 0 0; padding-left:1.2rem; }
.xs-plan li,.xs-checklist li { margin:.55rem 0; }
.xs-link { color:inherit; font-weight:800; }
.xs-legal-intro { max-width:860px; margin:0 auto 2.5rem; }
.xs-policy-section { max-width:860px; margin:0 auto; padding:1.65rem 0; border-top:1px solid var(--line); }
.xs-policy-section h2 { font-size:clamp(1.7rem,3vw,2.5rem); }
.xs-policy-section p { max-width:760px; }
.xs-policy-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem 1.25rem; max-width:860px; margin:2rem auto 0; padding:1.25rem; background:var(--cream); }
.xs-policy-links a { font-weight:800; }
@media (max-width:760px) { .xs-block { margin:1.5rem 0; padding:1.3rem; } .xs-card-grid { grid-template-columns:1fr !important; } .xs-card { padding:1.3rem; } .xs-offer { grid-template-columns:44px minmax(0,1fr) !important; gap:.7rem; } .xs-policy-links { grid-template-columns:1fr; } }

/* Approved shared page architecture */
.page-banner { position:relative; overflow:hidden; padding:clamp(5rem,9vw,7rem) 0 clamp(3.5rem,6vw,5rem); background:linear-gradient(118deg,#f7f4ee 0%,#f0ede7 60%,#e7e2d9 100%); border-bottom:1px solid rgba(17,16,22,.08); box-shadow:0 16px 34px rgba(17,16,22,.12); }
.page-banner:after { position:absolute; right:-10rem; bottom:-13rem; width:33rem; height:33rem; border:1px solid rgba(236,23,100,.18); border-radius:50%; content:""; }
.page-banner .shell { position:relative; z-index:1; }
.page-banner h1 { max-width:760px; margin:.22em 0 .2em; color:var(--ink); font-size:clamp(3.2rem,6.4vw,5.9rem); letter-spacing:-.07em; line-height:.92; }
.page-banner__intro { max-width:650px; margin:0; color:#615f67; font-size:1.03rem; line-height:1.75; }
.page-banner .eyebrow { color:var(--raspberry); }
.legal-page { padding-top:clamp(4rem,8vw,7rem); padding-bottom:clamp(5rem,9vw,8rem); }
.legal-layout { display:grid; grid-template-columns:220px minmax(0,720px); gap:clamp(3rem,8vw,5.6rem); justify-content:center; }
.legal-aside { align-self:start; padding-top:.45rem; }
.legal-aside-title,.footer-label { margin:0 0 1rem; color:var(--lavender); font-family:Arial,sans-serif; font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.legal-aside-title { color:var(--raspberry); }
.legal-nav { display:grid; gap:.68rem; }
.legal-nav a { color:#67656d; font-size:.84rem; font-weight:800; text-decoration:none; }
.legal-nav a:hover { color:var(--raspberry); }
.legal-content { min-width:0; }
.legal-content .xs-policy-section { max-width:none; margin:0; padding:0 0 2.1rem; }
.legal-content .xs-policy-section + .xs-policy-section { padding-top:2.1rem; }
.legal-content .xs-policy-section h2 { margin:0 0 .75rem; color:var(--ink); font-size:1.55rem; letter-spacing:-.045em; }
.legal-content .xs-policy-section p { max-width:none; margin:0 0 .85rem; color:#5d5b64; font-size:.94rem; line-height:1.82; }
.legal-content .xs-policy-section p:last-child { margin-bottom:0; }
.legal-disclosure-links { padding-top:2.1rem; border-top:1px solid var(--line); }
.legal-disclosure-links h2 { margin:0 0 1rem; font-size:1.55rem; }
.legal-disclosure-links > div { display:grid; gap:.72rem; }
.legal-disclosure-links a { color:var(--raspberry-dark); font-size:.9rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; }

/* Approved five-column footer */
.site-footer { padding:4rem 0 5.5rem; color:#fff; background:#0d0c10; }
.footer-top { display:grid; grid-template-columns:1.2fr .75fr .75fr .9fr .72fr; gap:1.75rem; max-width:1240px; margin:0 auto; padding:0 clamp(1.2rem,5vw,5rem) 3.4rem; border-bottom:1px solid rgba(255,255,255,.15); }
.footer-brand img { display:block; width:166px; max-width:100%; height:auto; }
.footer-brand p { max-width:310px; margin:1.1rem 0 0; color:#aaa6b0; font-size:.78rem; line-height:1.7; }
.footer-top .footer-label { margin:.35rem 0 1.1rem; color:#a496ba; }
.footer-links { display:grid; gap:.63rem; }
.footer-links a { color:#ddd8e2; font-size:.77rem; line-height:1.35; text-decoration:none; }
.footer-links a:hover { color:#c7b6ff; text-decoration:underline; text-underline-offset:3px; }
.site-footer .footer-bottom { display:flex; justify-content:space-between; gap:1.25rem; max-width:1240px; margin:0 auto; padding:1.25rem clamp(1.2rem,5vw,5rem) 0; border:0; color:#928d99; font-size:.64rem; letter-spacing:.04em; }
.footer-disclosure { max-width:920px; margin:1.1rem auto 0; padding:0 clamp(1.2rem,5vw,5rem); color:#817c88; font-size:.64rem; line-height:1.62; }

@media (max-width:940px) {
  .footer-top { grid-template-columns:1.35fr 1fr 1fr; }
  .footer-top > :last-child { grid-column:2/-1; }
  .legal-layout { grid-template-columns:190px minmax(0,1fr); gap:2.5rem; }
}
@media (max-width:680px) {
  .page-banner { padding:4.5rem 0 3.2rem; }
  .page-banner h1 { font-size:clamp(2.9rem,14vw,4.65rem); }
  .legal-page { padding-top:3.6rem; padding-bottom:4.5rem; }
  .legal-layout { grid-template-columns:1fr; gap:2.6rem; }
  .legal-content .xs-policy-section { padding-bottom:1.65rem; }
  .legal-content .xs-policy-section + .xs-policy-section { padding-top:1.65rem; }
  .footer-top { grid-template-columns:1fr 1fr; gap:2.4rem 1.4rem; padding-bottom:2.6rem; }
  .footer-brand { grid-column:1/-1; }
  .footer-top > :last-child { grid-column:auto; }
  .site-footer .footer-bottom { display:block; line-height:1.7; }
  .site-footer .footer-bottom span { display:block; }
  .footer-disclosure { font-size:.66rem; }
}

/* Approved contact page architecture */
.contact-page-layout { display:grid; grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr); gap:clamp(3rem,7vw,6.5rem); align-items:start; max-width:1120px; margin:0 auto; }
.contact-aside { padding-top:.35rem; }
.contact-aside h2 { max-width:390px; margin:.75rem 0 1.15rem; font-size:clamp(2.3rem,4.2vw,4.35rem); line-height:.94; }
.contact-aside > p:not(.eyebrow):not(.contact-address) { max-width:360px; color:#67656d; font-size:.94rem; line-height:1.78; }
.contact-links { display:grid; gap:.65rem; max-width:325px; margin:1.9rem 0; }
.contact-links a { display:flex; align-items:center; gap:.85rem; padding:1rem 1.1rem; background:#efede8; color:var(--ink); font-size:.78rem; line-height:1.45; text-decoration:none; }
.contact-links a > span:first-child { display:grid; width:1.2rem; place-items:center; font-size:1.05rem; }
.contact-links strong { font-size:.82rem; }
.contact-address { color:#77737c; font-size:.78rem; line-height:1.75; }
.contact-form-wrap { padding:clamp(1.5rem,3.5vw,2.4rem); border:1px solid var(--line); background:var(--paper); box-shadow:0 14px 30px rgba(17,16,22,.05); }
.contact-form-wrap > h2 { margin:0 0 .45rem; font-size:clamp(1.7rem,3.2vw,2.75rem); }
.contact-form-wrap > p { margin:0 0 1.7rem; color:#77737c; font-size:.78rem; line-height:1.7; }
.contact-form { display:grid; gap:1.15rem; }
.contact-form label { margin:0; color:#29272f; font-size:.76rem; font-weight:800; letter-spacing:.01em; }
.contact-form input,.contact-form textarea,.contact-form select { margin-top:.45rem; border:1px solid #d8d4cf; background:#fff; }
.contact-form textarea { min-height:142px; }
.form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.investor-fieldset { min-width:0; margin:0; padding:1.2rem; border:1px solid var(--line); background:#f7f4ee; }
.investor-fieldset[hidden] { display:none; }
.investor-fieldset legend { padding:0 .35rem; color:var(--raspberry-dark); font-size:.8rem; font-weight:800; }
.investor-fieldset > p { margin:.2rem 0 1rem; color:#665f70; font-size:.75rem; line-height:1.65; }
.consent-row { display:flex; align-items:flex-start; gap:.65rem; color:#5f5a65 !important; font-size:.73rem !important; font-weight:500 !important; line-height:1.68; }
.consent-row input { flex:0 0 auto; width:1rem; height:1rem; margin:.22rem 0 0; accent-color:var(--raspberry); }
.consent-row a { font-weight:800; }
.form-success,.form-error { margin:0 0 1rem !important; padding:.85rem 1rem; border-left:3px solid var(--raspberry); background:#fff4f8; color:#4b3440 !important; font-size:.8rem !important; }
.form-error { border-left-color:#9b2c2c; background:#fff2f2; }
@media (max-width:780px) { .contact-page-layout { grid-template-columns:1fr; gap:2.5rem; } .contact-aside h2 { max-width:620px; } .contact-links { max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .contact-links,.form-row { grid-template-columns:1fr; } .contact-form-wrap { padding:1.3rem; } .contact-aside h2 { font-size:clamp(2.35rem,12vw,3.65rem); } }
