
:root{
  --bg:#f6f8fc;
  --bg-soft:#eef2fb;
  --surface:rgba(255,255,255,.84);
  --surface-strong:#ffffff;
  --surface-muted:#f3f6fc;
  --text:#111827;
  --text-soft:#4b5568;
  --text-faint:#6d7890;
  --line:rgba(17,24,39,.08);
  --line-strong:rgba(17,24,39,.12);
  --primary:#5b61f6;
  --primary-strong:#4d53e6;
  --primary-2:#8f86ff;
  --primary-soft:rgba(91,97,246,.12);
  --success:#0d9f6e;
  --shadow:0 24px 80px rgba(17,24,39,.08);
  --shadow-soft:0 12px 40px rgba(17,24,39,.06);
  --shadow-glow:0 30px 100px rgba(91,97,246,.14);
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-xl:36px;
  --container:1200px;
  --narrow:820px;
  --section-pad:clamp(4.5rem, 8vw, 7rem);
  --ease:cubic-bezier(.2,.75,.2,1);
}

*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 6%, rgba(143,134,255,.18), transparent 24rem),
    radial-gradient(circle at 86% 12%, rgba(91,97,246,.16), transparent 22rem),
    linear-gradient(180deg, #f9fbff 0%, #f5f7fb 36%, #f7f9fd 100%);
  line-height:1.55;
  min-height:100vh;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
main{overflow:hidden}
.page-shell{position:relative;min-height:100vh}
.page-shell::before,
.page-shell::after{
  content:"";
  position:fixed;
  inset:auto;
  pointer-events:none;
  z-index:-1;
  filter:blur(6px);
}
.page-shell::before{
  width:32rem;height:32rem;left:-8rem;top:10rem;
  background:radial-gradient(circle, rgba(91,97,246,.10), transparent 60%);
}
.page-shell::after{
  width:28rem;height:28rem;right:-6rem;top:28rem;
  background:radial-gradient(circle, rgba(143,134,255,.12), transparent 60%);
}

.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.container{
  width:min(calc(100% - 2rem), var(--container));
  margin-inline:auto;
}
.container.narrow,
.narrow{width:min(calc(100% - 2rem), var(--narrow))}
.section{padding:var(--section-pad) 0}
.section-soft{
  background:linear-gradient(180deg, rgba(255,255,255,.45), rgba(240,244,252,.56));
  border-top:1px solid rgba(255,255,255,.55);
  border-bottom:1px solid rgba(17,24,39,.04);
}
.section-centered{padding:clamp(5rem, 9vw, 8rem) 0}
.section-form-shell{padding-top:1rem}
.stack > * + *{margin-top:1rem}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  background:rgba(248,250,255,.72);
  border-bottom:1px solid rgba(17,24,39,.06);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:5.25rem;
  gap:1rem;
}
.brand{display:inline-flex;align-items:center}
.brand-logo{
  width:auto;
  height:2.05rem;
}
.desktop-nav{
  display:flex;
  align-items:center;
  gap:1.5rem;
}
.nav-link{
  position:relative;
  color:var(--text-soft);
  font-weight:600;
  letter-spacing:-.01em;
  transition:color .25s var(--ease);
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-.35rem;
  height:2px;border-radius:999px;
  background:linear-gradient(90deg, var(--primary), var(--primary-2));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .25s var(--ease);
}
.nav-link:hover,
.nav-link.is-active{color:var(--text)}
.nav-link:hover::after,
.nav-link.is-active::after{transform:scaleX(1)}
.header-actions{
  display:flex;
  align-items:center;
  gap:.75rem;
}
.desktop-only{display:inline-flex}
.menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:2.9rem;height:2.9rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow-soft);
  padding:0;
}
.menu-toggle span:not(.sr-only){
  position:absolute;
  width:1rem;height:2px;
  background:var(--text);
  border-radius:999px;
  transition:transform .25s var(--ease), opacity .25s var(--ease), margin-top .25s var(--ease);
}
.menu-toggle span:first-child{margin-top:-.35rem}
.menu-toggle span:nth-child(2){margin-top:.35rem}
.menu-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg);margin-top:0}
.menu-toggle[aria-expanded="true"] span:nth-child(2){transform:rotate(-45deg);margin-top:0}
.mobile-menu{
  display:none;
  border-top:1px solid rgba(17,24,39,.06);
  background:rgba(248,250,255,.9);
}
.mobile-menu-inner{padding:1rem 0 1.35rem}
.mobile-nav{
  display:grid;
  gap:.8rem;
}
.mobile-link{
  padding:1rem 1.1rem;
  border-radius:18px;
  background:rgba(255,255,255,.66);
  border:1px solid var(--line);
  font-weight:600;
  color:var(--text);
  box-shadow:var(--shadow-soft);
}

.button{
  --button-bg:rgba(255,255,255,.76);
  --button-color:var(--text);
  --button-border:rgba(17,24,39,.1);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  min-height:3.1rem;
  padding:.8rem 1.3rem;
  border-radius:999px;
  border:1px solid var(--button-border);
  background:var(--button-bg);
  color:var(--button-color);
  font-weight:700;
  letter-spacing:-.01em;
  box-shadow:var(--shadow-soft);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
}
.button:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}
.button:focus-visible,
.faq-button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:3px solid rgba(91,97,246,.18);
  outline-offset:2px;
}
.button-primary{
  --button-bg:linear-gradient(135deg, var(--primary), var(--primary-2));
  --button-color:#fff;
  --button-border:transparent;
  box-shadow:var(--shadow-glow);
}
.button-primary:hover{
  background:linear-gradient(135deg, var(--primary-strong), var(--primary-2));
}
.button-secondary{
  --button-bg:rgba(255,255,255,.78);
  --button-color:var(--text);
  --button-border:rgba(17,24,39,.08);
}
.button-compact{min-height:2.8rem;padding:.72rem 1.12rem}
.button-large{min-height:3.45rem;padding:.95rem 1.45rem}
.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
}
.button-row-center{justify-content:center}
.button-arrow{
  display:inline-flex;
  width:1rem;height:1rem;
}
.button-arrow svg,
.inline-link span svg,
.faq-icon svg{
  width:100%;height:100%;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.5rem .9rem;
  border-radius:999px;
  background:rgba(91,97,246,.1);
  color:var(--primary);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.lead{
  font-size:clamp(1.06rem, 1.35vw, 1.2rem);
  color:var(--text-soft);
  max-width:42rem;
}
.hero-section{padding:clamp(4rem, 8vw, 7rem) 0 3rem}
.hero-grid,
.page-hero-grid,
.article-hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(2rem, 4vw, 4rem);
  align-items:center;
}
.hero-copy h1,
.page-hero-copy h1,
.article-hero-copy h1{
  margin:.9rem 0 1rem;
  font-size:clamp(2.5rem, 5vw, 4.85rem);
  line-height:.96;
  letter-spacing:-.06em;
}
.page-hero-copy h1,
.article-hero-copy h1{
  font-size:clamp(2.3rem, 4.2vw, 4rem);
}
.hero-copy p,
.page-hero-copy p,
.article-hero-copy p{margin:0}
.hero-support{
  margin-top:1.25rem;
  color:var(--text-faint);
  font-size:.95rem;
}
.hero-chip-row,
.pill-row,
.visual-pills{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.4rem;
}
.hero-chip,
.stat-pill{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.75rem .95rem;
  border-radius:999px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(17,24,39,.08);
  color:var(--text-soft);
  font-size:.92rem;
  font-weight:700;
  box-shadow:var(--shadow-soft);
}
.pill-icon,
.bullet-icon{
  display:inline-flex;
  width:1.05rem;height:1.05rem;
  color:var(--primary);
}
.hero-art-frame,
.glass-panel,
.split-banner,
.form-panel,
.aside-card,
.feature-card,
.category-card,
.timeline-card,
.help-card,
.insight-card,
.success-card,
.legal-card,
.sitemap-card,
.sticky-card,
.search-shell,
.mini-card,
.steps-card{
  background:var(--surface);
  border:1px solid rgba(255,255,255,.64);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.hero-art-frame{
  position:relative;
  min-height:26rem;
  padding:1.1rem;
  border-radius:clamp(1.6rem, 4vw, 2.3rem);
  overflow:hidden;
}
.hero-art-frame::before{
  content:"";
  position:absolute;
  inset:1rem;
  border-radius:calc(clamp(1.6rem, 4vw, 2.3rem) - .45rem);
  border:1px solid rgba(255,255,255,.5);
  pointer-events:none;
}
.hero-art-frame img{width:100%;height:100%;object-fit:cover;border-radius:1.4rem}
.hero-art-small{min-height:20rem}

.page-hero-art,
.hero-art,
.article-hero-art{width:100%}

.page-hero{
  padding:clamp(3.5rem, 7vw, 5rem) 0 2rem;
}
.page-hero-compact{padding-bottom:0}
.page-hero-copy,
.article-hero-copy{max-width:50rem}
.article-hero{padding:2rem 0 1rem}
.article-content-section{padding:1rem 0 var(--section-pad)}

.section-intro{
  margin-bottom:2rem;
  max-width:44rem;
}
.section-intro-center{
  margin-inline:auto;
  text-align:center;
}
.section-intro h2{
  margin:.85rem 0 .85rem;
  font-size:clamp(1.8rem, 3vw, 3.15rem);
  line-height:1.03;
  letter-spacing:-.05em;
}
.section-intro p{
  margin:0;
  color:var(--text-soft);
  font-size:1.04rem;
}

.grid{
  display:grid;
  gap:1.2rem;
}
.grid-2{grid-template-columns:repeat(2, minmax(0, 1fr))}
.grid-3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.grid-4{grid-template-columns:repeat(4, minmax(0, 1fr))}
.grid-form{grid-template-columns:repeat(2, minmax(0,1fr))}
.category-grid{align-items:stretch}
.help-grid .help-card{height:100%}
.two-column{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1.4rem 2rem;
  align-items:start;
}
.two-column-balanced{grid-template-columns:1.05fr .95fr}
.timeline-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:1rem;
}
.feature-card{
  position:relative;
  padding:1.35rem;
  border-radius:1.5rem;
  overflow:hidden;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.feature-card:hover,
.category-card:hover,
.help-card:hover,
.timeline-card:hover,
.mini-card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 90px rgba(17,24,39,.1);
}
.feature-card::after,
.category-card::after,
.help-card::after,
.timeline-card::after,
.form-panel::after,
.aside-card::after,
.legal-card::after,
.sitemap-card::after,
.success-card::after,
.steps-card::after,
.insight-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,0));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
.feature-card h3,
.category-card h3,
.help-card h3,
.timeline-card h2,
.timeline-card h3,
.legal-card h2,
.sitemap-card h2,
.success-card h2,
.form-panel h2,
.aside-card h2,
.aside-card h3,
.article-section h2{
  margin:.85rem 0 .6rem;
  font-size:1.2rem;
  line-height:1.15;
  letter-spacing:-.03em;
}
.feature-card p,
.category-card p,
.help-card p,
.timeline-card p,
.legal-card p,
.sitemap-card p,
.aside-card p,
.article-section p,
.insight-card p{
  margin:0;
  color:var(--text-soft);
}
.feature-card-inline{
  display:flex;
  align-items:flex-start;
  gap:1rem;
}
.icon-badge{
  width:3rem;height:3rem;
  border-radius:1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(91,97,246,.14), rgba(143,134,255,.18));
  color:var(--primary);
  border:1px solid rgba(91,97,246,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52);
}
.icon-badge svg{width:1.45rem;height:1.45rem}
.icon-badge-large{
  width:3.4rem;height:3.4rem;border-radius:1.15rem;
}
.icon-badge-xl{
  width:4rem;height:4rem;border-radius:1.25rem;margin-inline:auto;
}
.inline-link{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:1rem;
  color:var(--primary);
  font-weight:700;
  letter-spacing:-.01em;
}
.inline-link span{display:inline-flex;width:1rem;height:1rem}

.category-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:1rem;
  padding:1.45rem;
  border-radius:1.7rem;
}
.category-card-large h2{
  margin:.1rem 0 .6rem;
  font-size:1.6rem;
  letter-spacing:-.04em;
}
.category-head{
  display:flex;
  gap:1rem;
  align-items:flex-start;
}
.category-head p{font-size:1rem}

.process-stack{display:grid;gap:.95rem}
.process-step{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1rem 1.05rem;
  border-radius:1.3rem;
  border:1px solid rgba(17,24,39,.08);
  background:rgba(255,255,255,.62);
  box-shadow:var(--shadow-soft);
}
.process-step h3{margin:.1rem 0 .35rem;font-size:1.05rem;letter-spacing:-.03em}
.process-step p{margin:0;color:var(--text-soft)}
.process-number,
.timeline-index{
  width:2.7rem;height:2.7rem;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.92rem;
  color:var(--primary);
  background:rgba(91,97,246,.1);
  border:1px solid rgba(91,97,246,.14);
  flex:0 0 auto;
}
.timeline-card{
  padding:1.4rem 1.15rem;
  border-radius:1.45rem;
  min-height:15rem;
}

.glass-panel,
.insight-card,
.split-banner{
  position:relative;
  border-radius:1.9rem;
  padding:1.2rem;
}
.glass-panel img{border-radius:1.4rem}
.sticky-visual{position:sticky;top:6.6rem}
.insight-card{
  padding:1.55rem;
}
.insight-card-visual{min-height:100%}
.split-banner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:1rem;
  align-items:center;
  overflow:hidden;
}
.split-copy{padding:1rem}
.split-copy h2,
.success-card h1,
.insight-card h2,
.cta-copy h2{
  margin:.85rem 0 .85rem;
  font-size:clamp(2rem, 3.5vw, 3.1rem);
  line-height:1.02;
  letter-spacing:-.05em;
}
.split-art{padding:1rem}
.split-art img{width:100%;height:100%;object-fit:cover;border-radius:1.45rem}

.cta-banner-section{padding:0 0 var(--section-pad)}
.cta-banner{
  position:relative;
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:1rem;
  align-items:center;
  border-radius:2rem;
  padding:1.4rem;
  overflow:hidden;
}
.cta-copy{padding:1rem}
.cta-copy p{margin:0;color:var(--text-soft)}
.cta-visual img{width:100%;height:100%;object-fit:cover;border-radius:1.45rem}
.form-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:1.5rem;
  align-items:start;
}
.contact-layout{grid-template-columns:1.06fr .94fr}
.form-aside{
  display:grid;
  gap:1rem;
}
.form-panel{
  position:relative;
  border-radius:2rem;
  padding:1.5rem;
}
.aside-card{
  position:relative;
  border-radius:1.5rem;
  padding:1.35rem;
}
.subtle-card{
  padding:.8rem;
  overflow:hidden;
}
.form-section-title{
  margin-bottom:1rem;
  font-weight:800;
  color:var(--text);
  letter-spacing:-.02em;
}
.site-form{display:grid;gap:1.1rem}
.field{display:grid;gap:.55rem}
.field-help,
.form-note{
  margin:0;
  color:var(--text-faint);
  font-size:.92rem;
}
label{
  font-weight:700;
  letter-spacing:-.01em;
}
input,
textarea,
select{
  width:100%;
  border-radius:1rem;
  border:1px solid rgba(17,24,39,.09);
  background:rgba(255,255,255,.84);
  color:var(--text);
  min-height:3.35rem;
  padding:.95rem 1rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.56);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
textarea{min-height:8rem;resize:vertical}
input::placeholder,
textarea::placeholder{color:#98a2b7}
input:focus,
textarea:focus,
select:focus{
  border-color:rgba(91,97,246,.35);
  box-shadow:0 0 0 4px rgba(91,97,246,.08);
}
.form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
  align-items:center;
}

.page-help .page-hero{padding-bottom:0}
.search-shell{
  position:relative;
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-top:1.5rem;
  border-radius:999px;
  padding:.65rem 1rem;
}
.search-shell input{
  min-height:3rem;
  border:none;
  box-shadow:none;
  background:transparent;
  padding:.25rem 0;
}
.search-shell input:focus{box-shadow:none}
.search-icon{
  display:inline-flex;
  width:1.25rem;height:1.25rem;
  color:var(--text-faint);
}
.help-chip{
  display:inline-flex;
  padding:.45rem .75rem;
  border-radius:999px;
  background:rgba(91,97,246,.1);
  color:var(--primary);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.01em;
}
.help-card{
  position:relative;
  border-radius:1.6rem;
  padding:1.35rem;
  overflow:hidden;
}
.empty-state{
  margin-top:1rem;
  padding:1.4rem;
  border:1px dashed rgba(17,24,39,.16);
  border-radius:1.25rem;
  text-align:center;
  color:var(--text-soft);
  background:rgba(255,255,255,.45);
}

.article-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18rem;
  gap:1.5rem;
  align-items:start;
}
.article-content{
  display:grid;
  gap:1rem;
}
.article-section{
  position:relative;
  padding:1.4rem;
  border-radius:1.6rem;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(17,24,39,.08);
  box-shadow:var(--shadow-soft);
}
.article-note,
.article-cta{
  padding:1.25rem 1.3rem;
  border-radius:1.35rem;
  border:1px solid rgba(91,97,246,.1);
  background:linear-gradient(180deg, rgba(91,97,246,.08), rgba(143,134,255,.06));
}
.article-note{color:var(--text);font-weight:600}
.article-cta{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}
.article-aside{
  position:sticky;
  top:6.6rem;
}
.sticky-card{
  border-radius:1.6rem;
  padding:1.2rem;
}
.sticky-card h3{margin:.2rem 0 1rem;font-size:1rem;letter-spacing:-.02em}
.mini-card-stack{
  display:grid;
  gap:.8rem;
}
.mini-card-stack-4{grid-template-columns:repeat(2, minmax(0,1fr))}
.mini-card{
  display:block;
  padding:1rem;
  border-radius:1.1rem;
  border:1px solid rgba(17,24,39,.08);
  background:rgba(255,255,255,.68);
  box-shadow:var(--shadow-soft);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.mini-card h3{
  margin:0 0 .35rem;
  font-size:.98rem;
  letter-spacing:-.02em;
}
.mini-card span{color:var(--text-faint);font-size:.92rem}

.breadcrumb{margin-bottom:1rem}
.breadcrumb ol{
  list-style:none;
  padding:0;margin:0;
  display:flex;flex-wrap:wrap;gap:.55rem;
  color:var(--text-faint);
  font-size:.92rem;
}
.breadcrumb li{display:inline-flex;align-items:center;gap:.55rem}
.breadcrumb li:not(:last-child)::after{content:"/";opacity:.6}
.breadcrumb a:hover{color:var(--text)}

.bullet-list{
  display:grid;
  gap:.85rem;
  list-style:none;
  padding:0;
  margin:0;
}
.bullet-list li{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  color:var(--text-soft);
}
.bullet-list .bullet-icon{
  flex:0 0 auto;
  width:1.1rem;height:1.1rem;
  margin-top:.15rem;
  color:var(--primary);
}
.bullet-list .bullet-icon svg{width:100%;height:100%}

.faq-list{display:grid;gap:1rem}
.faq-item{
  border-radius:1.5rem;
  border:1px solid rgba(17,24,39,.08);
  background:rgba(255,255,255,.76);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.faq-button{
  width:100%;
  text-align:left;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1.2rem 1.25rem;
  background:transparent;
  border:none;
  color:var(--text);
  font-weight:800;
  letter-spacing:-.02em;
}
.faq-button .faq-icon{
  display:inline-flex;
  width:1rem;height:1rem;
  color:var(--text-faint);
  transition:transform .25s var(--ease);
}
.faq-panel{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .3s var(--ease);
}
.faq-panel p{
  overflow:hidden;
  margin:0;
  padding:0 1.25rem 0;
  color:var(--text-soft);
}
.faq-item.is-open .faq-panel{grid-template-rows:1fr}
.faq-item.is-open .faq-panel p{padding-bottom:1.2rem}
.faq-item.is-open .faq-icon{transform:rotate(90deg)}

.success-card{
  position:relative;
  padding:1.7rem;
  border-radius:2rem;
  text-align:center;
}
.success-card .lead{margin-inline:auto}
.success-summary{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.9rem;
  margin:2rem 0 1.5rem;
}
.summary-item{
  padding:1rem;
  border-radius:1.25rem;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(17,24,39,.06);
}
.summary-item span{
  display:block;
  color:var(--text-faint);
  font-size:.88rem;
  margin-bottom:.4rem;
}
.summary-item strong{font-size:1.02rem}
.steps-card{
  position:relative;
  text-align:left;
  padding:1.35rem;
  border-radius:1.5rem;
  margin-top:2rem;
}
.steps-list{display:grid;gap:.9rem}

.legal-card,
.sitemap-card{
  position:relative;
  border-radius:1.6rem;
  padding:1.35rem;
}
.legal-note{
  display:inline-flex;
  margin-top:1.15rem;
  padding:.7rem .95rem;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(17,24,39,.08);
  color:var(--text-soft);
  font-weight:700;
}
.sitemap-list{
  margin:0;padding-left:1rem;
  display:grid;gap:.75rem;
}
.sitemap-list a{color:var(--text-soft);font-weight:600}
.sitemap-list a:hover{color:var(--primary)}

.related-services{
  padding:1.4rem;
  border-radius:1.8rem;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(17,24,39,.08);
  box-shadow:var(--shadow-soft);
}
.related-services h2{margin:.85rem 0 1rem;font-size:1.7rem;letter-spacing:-.04em}

.toast{
  position:fixed;
  right:1rem;bottom:1rem;
  max-width:min(26rem, calc(100vw - 2rem));
  padding:.95rem 1.15rem;
  border-radius:1rem;
  background:rgba(17,24,39,.94);
  color:#fff;
  box-shadow:0 18px 45px rgba(17,24,39,.28);
  opacity:0;
  transform:translateY(1rem);
  pointer-events:none;
  transition:opacity .25s var(--ease), transform .25s var(--ease);
  z-index:70;
}
.toast.is-visible{
  opacity:1;
  transform:none;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.5fr repeat(3, .8fr);
  gap:1.4rem;
  padding:3rem 0 1.8rem;
}
.site-footer{
  margin-top:var(--section-pad);
  background:#0f1320;
  color:rgba(255,255,255,.86);
  border-top:1px solid rgba(255,255,255,.06);
}
.site-footer a{color:rgba(255,255,255,.78)}
.site-footer a:hover{color:#fff}.footer-brand p{max-width:28rem;color:rgba(255,255,255,.72)}
.footer-closing{margin-top:1rem;font-weight:700;color:#fff!important}
.footer-payment-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.payment-badge{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.5rem;padding:0 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-size:.85rem;font-weight:800;letter-spacing:.01em}
.payment-badge-visa{font-style:italic;letter-spacing:.08em}
.payment-badge-mastercard .mc-dots{display:inline-flex;align-items:center}
.payment-badge-mastercard .mc-dots span{display:block;width:1rem;height:1rem;border-radius:50%}
.payment-badge-mastercard .mc-dots span:first-child{background:#ff5f00;margin-right:-.35rem;opacity:.92}
.payment-badge-mastercard .mc-dots span:last-child{background:#eb001b;mix-blend-mode:screen;opacity:.92}
.payment-badge-apple{font-weight:700;letter-spacing:0}
.payment-badge-paypal{color:#9fc6ff}
.site-footer h3{
  margin:.15rem 0 1rem;
  font-size:.95rem;
  letter-spacing:.01em;
}
.site-footer ul{
  list-style:none;
  padding:0;margin:0;
  display:grid;gap:.7rem;
}
.footer-meta{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:1.1rem 0 1.6rem;
  color:rgba(255,255,255,.56);
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.92rem;
}

.js-ready [data-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.js-ready [data-reveal].revealed{
  opacity:1;
  transform:none;
}

@media (max-width: 1180px){
  .grid-4{grid-template-columns:repeat(2, minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2, minmax(0,1fr))}
  .timeline-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
  .footer-grid > :last-child{grid-column:2 / span 2}
}

@media (max-width: 980px){
  .desktop-nav,
  .desktop-only{display:none}
  .menu-toggle{display:inline-flex;position:relative}
  .mobile-menu.is-open{display:block}
  .hero-grid,
  .page-hero-grid,
  .article-hero-grid,
  .two-column,
  .split-banner,
  .form-layout,
  .contact-layout,
  .article-layout{grid-template-columns:1fr}
  .hero-art{order:-1}
  .article-aside,
  .sticky-visual{position:static}
  .grid-2,
  .grid-3,
  .grid-4,
  .grid-form,
  .timeline-grid,
  .footer-grid{grid-template-columns:1fr}
  .mini-card-stack-4{grid-template-columns:1fr}
  .footer-grid > :last-child{grid-column:auto}
  .success-summary{grid-template-columns:1fr 1fr}
}

@media (max-width: 720px){
  .container{width:min(calc(100% - 1rem), var(--container))}
  .hero-section{padding-top:2rem}
  .header-inner{min-height:4.5rem}
  .brand-logo{height:1.75rem}
  .hero-copy h1,
  .page-hero-copy h1,
  .article-hero-copy h1{
    font-size:clamp(2.2rem, 13vw, 3.3rem);
  }
  .split-copy h2,
  .success-card h1,
  .insight-card h2,
  .cta-copy h2,
  .section-intro h2{font-size:clamp(1.75rem, 9vw, 2.3rem)}
  .button-row,
  .form-actions{align-items:stretch}
  .button{width:100%}
  .hero-art-frame{min-height:18rem}
  .form-panel,
  .success-card,
  .cta-banner,
  .split-banner{padding:1rem}
  .summary-item{padding:.9rem}
  .success-summary{grid-template-columns:1fr}
  .footer-meta{flex-direction:column}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation:none!important;
    transition:none!important;
  }
}


/* HireHelper Laravel phase 1 helpers */
.form-alert {
  margin-bottom: 1rem;
  padding: 1rem 1.125rem;
  border-radius: 18px;
  border: 1px solid rgba(29, 61, 141, 0.14);
  background: rgba(29, 61, 141, 0.05);
}
.form-alert strong {
  display: block;
  margin-bottom: 0.5rem;
}
.form-alert ul {
  margin: 0;
  padding-left: 1rem;
}
.form-alert-error {
  background: rgba(185, 28, 28, 0.06);
  border-color: rgba(185, 28, 28, 0.14);
  color: #7f1d1d;
}


/* Public freelancer profile page */
body.page-freelancer,
body.page-freelancer-profile{
  background:#f6f8fc;
}
.page-freelancer .page-shell::before,
.page-freelancer .page-shell::after,
.page-freelancer-profile .page-shell::before,
.page-freelancer-profile .page-shell::after{
  display:none;
}
.page-freelancer .site-header,
.page-freelancer-profile .site-header{
  background:rgba(255,255,255,.96);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-bottom:1px solid #e5e9f7;
}
.page-freelancer main,
.page-freelancer-profile main{
  overflow:visible;
}
.freelancer-profile-section{
  padding:2.3rem 0 0;
}
.freelancer-layout{
  display:grid;
  grid-template-columns:minmax(260px, 340px) minmax(0, 1fr);
  gap:1.5rem;
  align-items:start;
}
.freelancer-main-column{
  display:grid;
  gap:1.35rem;
}
.freelancer-card{
  background:#fff;
  border:1px solid #dfe5f5;
  border-radius:1.9rem;
  box-shadow:none;
}
.freelancer-sidebar{
  padding:1.65rem;
  position:sticky;
  top:6.6rem;
  align-self:start;
}
.freelancer-photo-shell{
  border-radius:1.6rem;
  overflow:hidden;
  border:1px solid #e2e8f8;
  background:#edf2fd;
  aspect-ratio:1 / 1;
}
.freelancer-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.freelancer-name{
  margin:1.45rem 0 .35rem;
  font-size:3rem;
  line-height:.96;
  letter-spacing:-.06em;
}
.freelancer-country{
  margin:0;
  font-size:1.05rem;
  font-weight:600;
  color:#6b7691;
}
.freelancer-rating-line{
  margin-top:.85rem;
  color:#24304b;
  font-size:1rem;
  font-weight:700;
}
.freelancer-hire{
  width:100%;
  margin-top:1.4rem;
  min-height:3.35rem;
}
.freelancer-overview,
.freelancer-reviews{
  padding:1.7rem;
}
.freelancer-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.85rem;
}
.freelancer-stat{
  border:1px solid #dfe5f5;
  border-radius:1.5rem;
  padding:1.15rem 1.1rem 1.05rem;
  background:#fff;
}
.freelancer-stat-label{
  display:block;
  font-size:.8rem;
  line-height:1.2;
  font-weight:800;
  color:#6b7691;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.freelancer-stat-value{
  display:block;
  margin-top:.8rem;
  font-size:1.65rem;
  line-height:1.08;
  letter-spacing:-.05em;
}
.freelancer-section-title{
  margin:1.6rem 0 0;
  font-size:1.8rem;
  line-height:1.08;
  letter-spacing:-.05em;
}
.freelancer-skills{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  padding:0;
  margin:1rem 0 0;
}
.freelancer-skills li{
  padding:.75rem 1rem;
  border:1px solid #dfe5f5;
  border-radius:999px;
  background:#fff;
  font-weight:700;
  color:#24304b;
}
.freelancer-role{
  margin:1.65rem 0 0;
  font-size:2.15rem;
  line-height:1.02;
  letter-spacing:-.06em;
}
.freelancer-summary{
  margin:.95rem 0 0;
  color:#394562;
  font-size:1.02rem;
  line-height:1.7;
  max-width:70ch;
}
.freelancer-summary-block .freelancer-summary + .freelancer-summary{
  margin-top:.95rem;
}
.freelancer-reviews-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.25rem;
}
.freelancer-reviews-title{
  margin:0;
  font-size:2.05rem;
  line-height:1.02;
  letter-spacing:-.06em;
}
.freelancer-reviews-copy{
  margin:.5rem 0 0;
  color:#6b7691;
  font-size:1rem;
  line-height:1.55;
}
.freelancer-review-list{
  display:grid;
  gap:1.1rem;
}
.freelancer-review-card{
  padding:1.45rem 1.5rem;
  border:1px solid #dfe5f5;
  border-radius:1.55rem;
  background:#fff;
}
.freelancer-review-card h3{
  margin:0;
  font-size:1.65rem;
  line-height:1.18;
  letter-spacing:-.04em;
}
.freelancer-review-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1rem;
  margin-top:.9rem;
  color:#6b7691;
  font-size:1rem;
  font-weight:700;
}
.freelancer-review-card p{
  margin:.95rem 0 0;
  color:#394562;
  font-size:1rem;
  line-height:1.65;
}
@media (max-width: 1100px){
  .freelancer-layout{grid-template-columns:1fr}
  .freelancer-sidebar{position:static}
}
@media (max-width: 760px){
  .freelancer-profile-section{padding-top:1.5rem}
  .freelancer-sidebar,
  .freelancer-overview,
  .freelancer-reviews{padding:1.25rem}
  .freelancer-name{font-size:2.5rem}
  .freelancer-stats{grid-template-columns:1fr}
  .freelancer-role,
  .freelancer-reviews-title{font-size:1.85rem}
  .freelancer-review-card h3{font-size:1.35rem}
  .freelancer-reviews-head{
    align-items:flex-start;
    flex-direction:column;
  }
}
