/* ReStructure AI - shared styles */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#111118;
  --ink2:#3a3a4a;
  --ink3:#6b6b80;
  --bg:#ffffff;
  --bg2:#f7f7fa;
  --bg3:#f0f0f5;
  --accent:#4d4de5;
  --accent-dk:#3737c8;
  --sage:#436a57;
  --border:#dddde8;
  --radius:10px;
  --nav-h:64px;
  --font:'system-ui',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'ui-monospace','SF Mono','Fira Mono',monospace;
  --shadow:0 2px 12px rgba(0,0,0,.07);
  --shadow-lg:0 8px 32px rgba(0,0,0,.10);
  --transition:180ms ease;
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* NAV */
#site-nav{
  position:fixed;top:0;left:0;right:0;
  height:var(--nav-h);
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  z-index:1000;
  display:flex;align-items:center;
  padding:0 32px;
  gap:0;
}
#nav-logo{display:flex;align-items:center;flex-shrink:0;margin-right:auto}
#nav-logo img{width:150px;height:auto}
#nav-links{display:flex;align-items:center;gap:28px;list-style:none}
#nav-links a{font-size:.875rem;font-weight:500;color:var(--ink2);letter-spacing:.01em}
#nav-links a:hover,#nav-links a.active{color:var(--accent);text-decoration:none}
#nav-cta{
  margin-left:28px;
  padding:9px 20px;
  background:var(--accent);
  color:#fff;
  border:none;
  border-radius:7px;
  font-size:.875rem;
  font-weight:600;
  text-decoration:none;
  display:inline-flex;align-items:center;
  min-height:44px;
}
#nav-cta:hover{background:var(--accent-dk);text-decoration:none}
#nav-toggle{
  display:none;
  background:none;border:1px solid var(--border);
  border-radius:7px;
  padding:8px 10px;
  margin-left:16px;
  min-width:44px;min-height:44px;
  align-items:center;justify-content:center;
  color:var(--ink);
}
#mobile-menu{
  display:none;
  position:fixed;
  top:var(--nav-h);left:0;right:0;
  background:#fff;
  border-bottom:1px solid var(--border);
  z-index:999;
  padding:20px 24px;
  flex-direction:column;
  gap:0;
}
#mobile-menu.open{display:flex}
#mobile-menu a,#mobile-menu button.mobile-cta{
  font-size:1rem;font-weight:500;color:var(--ink);
  padding:13px 0;
  border-bottom:1px solid var(--border);
  display:block;
}
#mobile-menu a:last-child,#mobile-menu button.mobile-cta{border-bottom:none}
#mobile-menu a:hover{color:var(--accent)}
#mobile-menu .mobile-cta{
  margin-top:12px;
  background:var(--accent);color:#fff;
  border:none;border-radius:7px;
  padding:13px 20px;
  font-size:1rem;font-weight:600;
  text-align:left;
  min-height:44px;
}

/* FOOTER */
#site-footer{
  border-top:1px solid var(--border);
  padding:48px 32px 32px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:32px;
  font-size:.8rem;
  color:var(--ink3);
}
#site-footer a{color:var(--ink3)}
#site-footer a:hover{color:var(--accent)}
.footer-links{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:flex-end}
.concept-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:20px;
  padding:4px 12px;
  font-size:.75rem;
  font-weight:600;
  color:var(--ink3);
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.concept-badge::before{content:'◈';color:var(--accent)}

/* HERO */
.hero{
  padding-top:calc(var(--nav-h) + 72px);
  padding-bottom:80px;
  padding-left:32px;
  padding-right:32px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
}
.hero-copy h1{
  font-size:clamp(2.2rem,5vw,3.8rem);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.1;
  color:var(--ink);
  margin-bottom:20px;
}
.hero-copy p{
  font-size:1.125rem;
  color:var(--ink2);
  max-width:420px;
  margin-bottom:32px;
  line-height:1.65;
}
.btn-primary{
  display:inline-flex;align-items:center;
  padding:14px 28px;
  background:var(--accent);
  color:#fff;
  border:none;
  border-radius:8px;
  font-size:1rem;
  font-weight:600;
  text-decoration:none;
  min-height:44px;
  transition:background var(--transition);
}
.btn-primary:hover{background:var(--accent-dk);text-decoration:none}
.btn-outline{
  display:inline-flex;align-items:center;
  padding:13px 24px;
  background:transparent;
  color:var(--ink);
  border:1px solid var(--border);
  border-radius:8px;
  font-size:.9375rem;
  font-weight:500;
  text-decoration:none;
  min-height:44px;
  transition:border-color var(--transition),color var(--transition);
}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.hero-note{font-size:.78rem;color:var(--ink3);margin-top:14px}

/* HERO COLLAGE */
.hero-collage{position:relative;height:480px;border-radius:16px;overflow:visible}
.hero-photo{
  position:absolute;top:0;left:0;right:0;bottom:0;
  border-radius:14px;
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  border:1px solid var(--border);
}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-photo .photo-credit{
  position:absolute;bottom:8px;left:10px;
  font-size:.68rem;color:rgba(255,255,255,.75);
  background:rgba(0,0,0,.35);padding:2px 7px;border-radius:4px;
}
.ui-card{
  position:absolute;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:var(--shadow-lg);
  padding:14px 16px;
  font-size:.78rem;
  color:var(--ink);
  min-width:180px;
  backdrop-filter:blur(4px);
}
.ui-card-status{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.75rem;color:var(--ink3);margin-bottom:6px}
.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dot-review{background:#e5a84d}
.dot-ready{background:#4db56a}
.dot-concept{background:var(--accent)}
.card-top-right{top:-24px;right:-20px}
.card-bottom-left{bottom:-20px;left:-20px}
.card-mid-right{top:50%;right:-24px;transform:translateY(-50%)}
.ui-mini-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--bg3);font-size:.75rem}
.ui-mini-row:last-child{border-bottom:none;padding-bottom:0}
.ui-mono{font-family:var(--mono);font-size:.7rem;color:var(--accent)}

/* SECTIONS */
.section{
  padding:96px 32px;
  max-width:1200px;
  margin:0 auto;
}
.section-alt{background:var(--bg2)}
.section-alt .section{background:transparent}
.section-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.section-heading{
  font-size:clamp(1.8rem,4vw,2.8rem);
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.15;
  color:var(--ink);
  margin-bottom:16px;
}
.section-sub{font-size:1.0625rem;color:var(--ink2);max-width:520px;line-height:1.65}

/* PATH CARDS */
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.path-card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  background:#fff;
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:16px;
  text-decoration:none;
  color:inherit;
  transition:box-shadow var(--transition),border-color var(--transition);
}
.path-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent);text-decoration:none}
.path-icon{font-size:1.5rem}
.path-card h3{font-size:1.25rem;font-weight:700;letter-spacing:-.015em}
.path-card p{font-size:.9rem;color:var(--ink2);line-height:1.6}
.path-card .arrow{font-size:.9rem;color:var(--accent);font-weight:600;margin-top:auto}

/* TOOLKIT STRIP */
.toolkit-strip{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:40px 32px;
  text-align:center;
}
.toolkit-strip p{font-size:.8rem;color:var(--ink3);margin-bottom:16px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.tool-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:900px;margin:0 auto}
.tool-tag{
  font-size:.78rem;font-weight:500;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:20px;
  padding:5px 13px;
  color:var(--ink2);
}
.toolkit-note{font-size:.72rem;color:var(--ink3);margin-top:14px;text-align:center}

/* PLAN SECTION */
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:0}
.plan-steps{display:flex;flex-direction:column;gap:0;margin-top:32px}
.plan-step{
  display:flex;gap:20px;
  padding:20px 0;
  border-bottom:1px solid var(--border);
}
.plan-step:last-child{border-bottom:none}
.step-num{
  width:32px;height:32px;
  border-radius:50%;
  border:2px solid var(--accent);
  color:var(--accent);
  font-size:.8rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:2px;
}
.step-body h4{font-size:.9375rem;font-weight:700;margin-bottom:4px}
.step-body p{font-size:.85rem;color:var(--ink2);line-height:1.6}
.plan-photo-wrap{
  border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow-lg);
  border:1px solid var(--border);
  aspect-ratio:4/3;
}
.plan-photo-wrap img{width:100%;height:100%;object-fit:cover}
.photo-caption{font-size:.7rem;color:var(--ink3);margin-top:8px;font-style:italic}

/* SLIM BRIEF BAR */
#brief-bar{
  position:fixed;
  bottom:0;left:0;right:0;
  background:#fff;
  border-top:1px solid var(--border);
  padding:12px 32px;
  display:flex;align-items:center;gap:12px;
  z-index:990;
  box-shadow:0 -2px 12px rgba(0,0,0,.06);
}
#brief-bar label{font-size:.8rem;font-weight:600;color:var(--ink2);white-space:nowrap}
#brief-input{
  flex:1;
  border:1px solid var(--border);
  border-radius:8px;
  padding:10px 14px;
  font-size:.875rem;
  font-family:inherit;
  color:var(--ink);
  background:var(--bg2);
  min-height:44px;
  max-width:600px;
}
#brief-input:focus{outline:none;border-color:var(--accent)}
#brief-submit{
  padding:10px 20px;
  background:var(--accent);
  color:#fff;
  border:none;
  border-radius:8px;
  font-size:.875rem;
  font-weight:600;
  min-height:44px;
  white-space:nowrap;
}
#brief-submit:hover{background:var(--accent-dk)}
#brief-note{font-size:.72rem;color:var(--ink3);white-space:nowrap}

/* PAGE HERO (inner pages) */
.page-hero{
  padding-top:calc(var(--nav-h) + 60px);
  padding-bottom:60px;
  padding-left:32px;padding-right:32px;
  max-width:1200px;margin:0 auto;
}
.page-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.025em;line-height:1.15;margin-bottom:16px}
.page-hero p{font-size:1.0625rem;color:var(--ink2);max-width:540px;line-height:1.65}

/* GENERIC CARD GRID */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.info-card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:24px;
  background:#fff;
  box-shadow:var(--shadow);
}
.info-card h3{font-size:1rem;font-weight:700;margin-bottom:8px}
.info-card p{font-size:.875rem;color:var(--ink2);line-height:1.6}

/* DIALOG */
.dialog-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.4);
  z-index:2000;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.dialog-overlay[hidden]{display:none}
.dialog-box{
  background:#fff;
  border-radius:14px;
  padding:32px;
  max-width:480px;
  width:100%;
  box-shadow:var(--shadow-lg);
  position:relative;
}
.dialog-close{
  position:absolute;top:14px;right:14px;
  background:none;border:1px solid var(--border);
  border-radius:6px;
  width:36px;height:36px;
  font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  color:var(--ink2);
}
.dialog-close:hover{border-color:var(--accent);color:var(--accent)}
.dialog-box h2{font-size:1.25rem;font-weight:700;margin-bottom:12px}
.dialog-box p{font-size:.875rem;color:var(--ink2);line-height:1.65;margin-bottom:12px}

/* RESPONSIVE */
@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:40px}
  .hero-collage{height:320px}
  .card-top-right{top:-16px;right:0}
  .card-bottom-left{bottom:0;left:0}
  .card-mid-right{right:0;top:auto;bottom:80px;transform:none}
  .path-grid{grid-template-columns:1fr}
  .plan-grid{grid-template-columns:1fr}
  .plan-photo-wrap{aspect-ratio:16/9}
  .card-grid{grid-template-columns:1fr 1fr}
  #site-nav{padding:0 20px}
  #nav-links,#nav-cta{display:none}
  #nav-toggle{display:flex}
  #site-footer{grid-template-columns:1fr;gap:16px}
  .footer-links{justify-content:flex-start}
  #brief-bar{padding:10px 16px;gap:8px}
  #brief-note{display:none}
  .section{padding:64px 20px}
  .hero{padding-left:20px;padding-right:20px}
}
@media(max-width:600px){
  .card-grid{grid-template-columns:1fr}
  .hero-collage{height:260px}
  .ui-card{min-width:140px;padding:10px 12px}
  .card-top-right{right:4px;top:-12px}
  .card-bottom-left{left:4px;bottom:4px}
  .card-mid-right{display:none}
  #brief-bar{flex-wrap:wrap;padding:10px 12px}
  #brief-bar label{width:100%}
  #brief-input{max-width:100%;width:100%}
  body{padding-bottom:90px}
}
@media(min-width:901px){
  body{padding-bottom:64px}
}

:root[data-theme=sage]{--accent:#436a57;--accent-dk:#345342}#sage-toggle{min-height:44px}#site-footer>div{grid-column:1/-1}#site-nav #nav-links{gap:18px}#site-footer .footer-links{flex-wrap:wrap}.page-hero{padding-top:120px}#page-content{max-width:1200px;margin:auto}.photo-caption{font-size:12px!important}#nav-logo{min-width:150px}body{overflow-wrap:break-word}@media(max-width:600px){#site-footer>div{display:flex!important;flex-direction:column}#brief-bar{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}#brief-bar label{display:none}#brief-bar input{min-width:0;flex:1}#brief-submit{white-space:nowrap;padding:10px;font-size:12px;min-height:44px}#nav-logo img{width:145px}.section{padding:48px 20px}}
