.how .container > h1{ font-size:1.75rem }
.how .container > p{ font-size:.9rem }
.how .grid.services .card h2{ font-size:1.1rem }
.how .grid.services .card p{ font-size:.75rem }
.how label, .how input, .how textarea, .how button, .how select{ font-size:.5rem }
.profile .container h1{font-size:calc(2rem * 2.5)}
.profile .container p,.profile .container label,.profile .container input,.profile .container textarea,.profile .container button{font-size:calc(1rem * 2.25)}
.profile .container{max-width:none;width:100vw;margin-left:calc(50% - 50vw);padding-left:0;padding-right:0}
.profile .profile-grid{display:grid;width:100vw;grid-template-columns:50vw 50vw;gap:0;margin-top:24px}
@media(max-width:900px){.profile .profile-grid{grid-template-columns:1fr}}
/* Center and enlarge profile headings */
.profile .container > h1{ text-align:center }
.profile .container > p{ text-align:center }
.profile .calendar-box h2, .profile .schedule h2{ text-align:center; font-size:calc(1.5rem * 2) }
.post-mission-questions{width:100vw;margin-left:calc(50% - 50vw);display:block;margin-top:0;padding:0}
.post-mission-questions .questions-box{position:relative;overflow:hidden;width:100vw;height:10vh;border-radius:48px;box-shadow:8px 8px 16px rgba(0,0,0,.2),-8px -8px 16px rgba(255,255,255,.08);padding:16px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center}
.post-mission-questions .questions-box .box-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;z-index:0}
.post-mission-questions .questions-box > *:not(.box-bg){position:relative;z-index:1}
.post-mission-questions .questions-box h3{grid-column:1;justify-self:start;margin:0 0 0 16px;font-size:3rem}
.post-mission-questions .questions-box p{grid-column:2;justify-self:center;margin:0;text-align:center;font-size:2rem}
.post-mission-questions .questions-box .button{grid-column:3;justify-self:end;margin-right:24px;display:inline-block;font-size:.75rem;padding:7px 11px}
:root{--bg:#1c2e26;--panel:#293731;--text:#d6cbbf;--muted:#c6b9ab;--brand:#c6b9ab;--accent:#d6cbbf;--border:#1c2e26}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Arial,sans-serif;line-height:1.5}
html,body{overflow-x:hidden}
html,body{height:100%}
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
body.home{position:relative;background:none;--home-nav-height:240px}
body.admin{position:relative;background:none}
body.lead{position:relative;background:none}
body.how{position:relative;background:none}
body.client{position:relative;background:none}
body.contact{position:relative;background:none}
/* Allow scrolling on lead page even when auth is required so footer isn't cut off */
body.lead[data-require-auth]{overflow:auto}
/* Disable scrolling when auth is required */
body[data-require-auth]{overflow:hidden}
body.home::before{content:"";position:fixed;inset:0;background:url('/media/Background.jpg') center/cover no-repeat fixed;opacity:.75;z-index:-1;pointer-events:none}
/* Contact page background */
body.contact::before{content:"";position:fixed;inset:0;background:url('/media/Background.jpg') center/cover no-repeat fixed;opacity:.75;z-index:-1;pointer-events:none}
.container{max-width:1000px;margin:0 auto;padding:24px}
.client .container,.admin .container,.home .container,.lead .container,.how .container{padding-bottom:48px}
.home .container{padding-top:0;padding-bottom:0}
.nav{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:1fr auto;align-items:center;background:#C6B9AB;border-bottom:1px solid var(--border);padding:0 16px;position:sticky;top:0;z-index:10;height:120px}
.home .nav{min-height:var(--home-nav-height);background:#e9e2d7;border-bottom:none;box-shadow:8px 8px 16px rgba(0,0,0,.12),-8px -8px 16px rgba(255,255,255,.6),inset 1px 1px 3px rgba(0,0,0,.06),inset -1px -1px 3px rgba(255,255,255,.35);position:sticky;top:0;z-index:20;overflow:hidden}
.home .nav .home-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;z-index:0}
.home .nav > *:not(.home-bg-video){position:relative;z-index:1}
.nav .logo{display:flex;align-items:center;text-decoration:none;align-self:center}
.nav .logo img{height:80px;max-height:80px;width:auto;display:block;object-fit:contain}
.home .nav .logo img{height:240px;max-height:240px}
.nav .nav-left{grid-column:1;grid-row:1;justify-self:center;align-self:center;text-align:center}
.nav .nav-right{grid-column:3;grid-row:1;justify-self:center;align-self:center;text-align:center}
.nav .logo{grid-column:2;grid-row:1;justify-self:center}
.home .nav{grid-template-columns:auto auto 1fr;grid-template-rows:auto auto auto}
.home .nav .home-welcome{grid-column:1;grid-row:1;justify-self:start;align-self:start;color:#1c2e26;font-weight:800;margin-top:8px;font-size:1.5rem;animation:slideIn .4s ease-out both}
@keyframes slideIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
.home .nav .logo{grid-column:2;grid-row:1;justify-self:start}
.home .nav .nav-center{grid-column:1 / -1;grid-row:1;justify-self:center;align-self:center;display:flex;gap:24px;flex-wrap:wrap}
.home .nav .nav-center a{margin:0 12px;padding:8px 12px;color:#1c2e26;text-decoration:none;border-radius:8px;font-size:.75rem;background:rgba(214,203,191,.9)}
.home .nav .nav-center a.active,.home .nav .nav-center a:hover{color:var(--text);background:var(--bg)}
.home .nav .home-bubble{grid-column:3;grid-row:1;justify-self:end;align-self:end;margin:0 8px 8px 0;background:#293731;color:#C6B9AB;padding:16px 28px;border-radius:999px;font-size:1rem}
.home .nav .nav-left,.home .nav .nav-right{display:none}
.home .nav{position:fixed;left:0;right:0;top:calc(var(--home-nav-height) * -1);width:100%;z-index:10000;transition:top .25s ease}
.home .nav.nav-show{top:0}
.home .nav > *{position:relative;z-index:1}
.home .nav.nav-show ~ .container{padding-top:var(--home-nav-height)}
/* Ensure home content extends beyond viewport so footer appears only at bottom */
.home main.container{min-height:calc(100vh + var(--home-nav-height))}
@media(max-width:900px){
  .home .nav .logo img{height:160px;max-height:160px}
  /* Stack nav links above the logo to avoid overlap on small screens */
  .home .nav{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}
  .home .nav .home-welcome{grid-column:1;grid-row:1;justify-self:center;align-self:center;display:block}
  .home .nav .nav-center{grid-column:1;grid-row:2;justify-self:center}
  .home .nav .logo{grid-column:1;grid-row:3;justify-self:center}
  .home .nav .home-bubble{grid-column:1;grid-row:4;justify-self:center}
}
.home .nav .home-etymology{grid-column:3;grid-row:1;justify-self:end;align-self:center;color:#C6B9AB;font-size:.625rem;background:#293731;padding:8px 12px;border-radius:16px}
.nav .cta{grid-column:3;grid-row:1;justify-self:end}
.nav nav a{margin:0 8px;padding:6px 10px;color:var(--bg);text-decoration:none;border-radius:8px;font-size:.75rem}
.nav nav a.active,.nav nav a:hover{color:var(--text);background:var(--bg)}
.nav .cta{background:var(--bg);color:var(--text);text-decoration:none;padding:8px 12px;border-radius:10px;font-weight:600}
/* Auth modal */
.auth-modal[hidden]{display:none}
.auth-modal{position:fixed;left:0;right:0;bottom:0;top:240px;z-index:100}
/* On home, show auth modal below the header and above overlays */
.home .auth-modal{top:var(--home-nav-height);z-index:20000}
.auth-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);z-index:1}
.auth-dialog{position:relative;z-index:2}
/* Reserve footer space on lead page so modal doesn't cover footer */
.lead .auth-modal{bottom:var(--lead-footer-height,200px)}
body[data-require-auth] main, body[data-require-auth] .playbook, body[data-require-auth] .playbook-toc{pointer-events:none;filter:blur(2px)}
/* Allow TOC links to be clickable even when auth gate is active */
body[data-require-auth] .playbook-toc{pointer-events:auto}
body[data-require-auth] .nav{pointer-events:auto;filter:none}
.auth-dialog{position:relative;max-width:720px;margin:24px auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:12px}
.auth-dialog input,
.auth-dialog textarea{
  font-size:.75rem;
  line-height:1.4;
  padding:8px;
}
.auth-dialog input::placeholder,
.auth-dialog textarea::placeholder{
  font-size:.75rem;
}
.auth-close{position:absolute;right:8px;top:8px;border:none;background:transparent;color:var(--text);font-size:12px;cursor:pointer}
.auth-tabs{display:flex;gap:4px;margin-bottom:6px}
.auth-tab{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:3px 5px;cursor:pointer;font-size:.75rem}
.auth-dialog h3{font-size:.75rem}
.auth-dialog label{font-size:.75rem}
.auth-dialog button{font-size:.75rem}
.auth-dialog .button{padding:6px 8px}
.auth-dialog .result{font-size:.75rem}
.lead .auth-dialog h3{font-size:.75rem}
.lead .auth-dialog p{font-size:.75rem}
.lead .auth-dialog label{font-size:.75rem}
.lead .auth-dialog button{font-size:.75rem}
.lead .auth-dialog .button{padding:6px 8px}
.lead .auth-dialog .result{font-size:.75rem}
.lead .auth-dialog input,
.lead .auth-dialog textarea{font-size:.75rem;line-height:1.4;padding:8px}
.lead .auth-dialog input::placeholder,
.lead .auth-dialog textarea::placeholder{font-size:.75rem}

/* Lead: shrink 'Got a Question?' card content by half (not the box) */
.lead .playbook-sticky .card h3{font-size:1rem}
.lead .playbook-sticky .card p{font-size:1rem}
.lead .playbook-sticky .card label{font-size:1rem !important}
.lead .playbook-sticky .card .result{font-size:1rem}
.lead .playbook-sticky .card input,
.lead .playbook-sticky .card textarea{
  font-size:1.5rem !important;
  line-height:1.4;
  padding:12px 10px !important;
  min-height:36px !important; /* half of 72px */
  border-width:1px !important;
}
.lead .playbook-sticky .card textarea{ min-height:120px !important } /* half of 240px */
.lead .playbook-sticky .card input::placeholder,
.lead .playbook-sticky .card textarea::placeholder{ font-size:1.5rem !important }
.lead .playbook-sticky .card .button{ font-size:1rem !important; padding:10px 11px !important }

/* Ensure the above wins over broader lead overrides by specificity and order */
.lead .playbook .playbook-sticky .card label{ font-size:1rem !important }
.lead .playbook .playbook-sticky .card input,
.lead .playbook .playbook-sticky .card textarea{
  font-size:1.5rem !important;
  padding:12px 10px !important;
  min-height:36px !important;
  border-width:1px !important;
}
.lead .playbook .playbook-sticky .card textarea{ min-height:120px !important }
.lead .playbook .playbook-sticky .card input::placeholder,
.lead .playbook .playbook-sticky .card textarea::placeholder{ font-size:1.5rem !important }

/* Profile page: reduce content sizes (not box sizes) by ~1/3 */
.profile .container h1{ font-size:calc(2rem * 1.6667) }
.profile .container p,
.profile .container label,
.profile .container input,
.profile .container textarea,
.profile .container button{ font-size:calc(1rem * 1.5) }
.profile .calendar-box h2, .profile .schedule h2{ font-size:calc(1.5rem * 1.3333) }
.profile .tasks-table th, .profile .tasks-table td{ font-size:calc(1rem * 1.1667) }
/* Scale down embedded scheduler */
.profile #law-scheduler-root{ font-size:0.6667em }
/* Profile schedule: stack inputs one per line in Tell us about yourself */
.profile .schedule .row{grid-template-columns:1fr}
.profile .schedule label input,.profile .schedule label textarea{width:100%}

/* Contact page: reduce content size by 1/2 (not box sizes) */
.contact .container > h1{ font-size:2rem }
.contact .container > p{ font-size:1rem }
.contact .mission h2{ font-size:.75rem }
.contact .mission p{ font-size:1rem }
.contact label,
.contact input,
.contact textarea,
.contact button{ font-size:1rem }
.contact .form input,
.contact .form textarea{ padding:6px 8px; min-height:24px; border-width:1px }
.contact .form textarea{ min-height:60px }
.contact .form input::placeholder,
.contact .form textarea::placeholder{ font-size:1rem }
.contact .form .button{ padding:5px 7px; display:block; margin:12px auto 0 }

/* Contact: shrink titles and text boxes even more */
.contact .container > h1{ font-size:1.25rem }
.contact .mission h2{ font-size:.25rem }
.contact .form label{ font-size:.75rem }
.contact .form input,
.contact .form textarea{ font-size:.75rem; padding:4px 6px; min-height:20px }
.contact .form textarea{ min-height:48px }
.contact .form input::placeholder,
.contact .form textarea::placeholder{ font-size:.75rem }
/* Further reduce Contact Us description text */
.contact .mission p{ font-size:.25rem }
/* Contact page box backgrounds at 55% opacity */
.contact .form{ background:rgba(41,55,49,.55); }
.contact .mission{ background:rgba(41,55,49,.55); }
.auth-tab.active{outline:2px solid var(--brand)}
.client-code{display:flex;justify-content:flex-end}
.client-code label{width:60%}
.hero{padding:48px 0}
.hero h1{font-size:80px;margin:0 0 12px}
.hero p{max-width:720px;color:var(--muted);font-size:2rem}
/* Make home hero full-bleed and flush left */
.home .hero{width:100vw;margin-left:calc(50% - 50vw);padding-left:32px;padding-right:32px}
/* Place subtitle right after the title on wide screens */
.home .hero{display:grid;grid-template-columns:1fr 520px;align-items:start;gap:16px}
.intro-box{width:100vw;margin-left:calc(50% - 50vw);padding:16px 32px}
.intro-box .hero{background:rgba(41,55,49,.5);border:1px solid var(--border);border-radius:32px;padding:16px}
.home .hero .hero-text{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.home .hero h1{margin:0 0 0 48px}
.home .hero p{margin:0}
.home .hero .bubble{background:rgba(214,203,191,.9);color:#1c2e26;padding:8px 14px;border-radius:999px}
.home .hero .hero-etymology{background:rgba(41,55,49,.75);border:1px solid var(--border);border-radius:14px;padding:16px;color:#b0a391}
.home .hero .hero-etymology h3{margin:0 0 8px}
.button{display:inline-block;background:var(--brand);color:var(--bg);text-decoration:none;padding:10px 14px;border-radius:10px;font-weight:600}
.button-green{background:var(--panel);color:var(--brand)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid.services{grid-template-columns:repeat(2,1fr)}
.what-we-do{background:rgba(41,55,49,.5);border:1px solid var(--border);border-radius:0;padding:16px 32px;margin:16px 0;width:50vw;margin-left:calc(50% - 25vw)}
.what-we-do h2{text-align:center;margin-top:0}
.what-we-do .services{grid-template-columns:1fr}
.what-we-do > p{font-size:1.5rem}
.grid.socials{grid-template-columns:repeat(2,1fr)}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.ig-card{position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--panel)}
.ig-card img{display:block;width:100%;height:220px;object-fit:cover}
.ig-date{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.4);color:#fff;padding:4px 8px;border-radius:8px;font-size:12px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}
.card h2{margin-top:0}
.card .card-image{display:block;margin:8px auto 12px auto;height:80px;width:auto}
.mission{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;margin:0}
.home .mission{margin-top:0}
.mission h2{margin-top:0}
.home .mission h2{text-align:center}
.home .mission p{display:flex;align-items:center;justify-content:flex-start;height:100%;text-align:left}
.home .mission p.long{position:absolute;top:50%;transform:translateY(-50%);left:20%;padding-left:0}
.home .mission .mission-bottom{position:absolute;right:16px;top:70%;left:auto;bottom:auto;display:block;width:auto;text-align:right;transform:none}
.home .mission .mission-bottom{max-width:40%;font-size:1.25rem}
.home .mission .mission-bottom-center{position:absolute;left:50%;top:50%;bottom:auto;right:auto;display:block;transform:translate(-50%,-50%);text-align:center;max-width:60%;font-size:1.25rem}
/* Mission text bubbles (same color as title, 30% opacity) */
.home .mission p.long,
.home .mission .mission-bottom,
.home .mission .mission-bottom-center{display:inline-block;height:auto;background:rgba(41,55,49,.3);border-radius:999px;padding:8px 14px}
.home .mission .mission-actions{display:none}
.post-mission{display:grid;grid-template-columns:1fr;gap:0;margin-top:0;width:100vw;margin-left:calc(50% - 50vw);padding-left:0;padding-right:0}
.post-mission .ready-box{justify-self:start;width:100%;height:60vh}
.post-mission .box{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;justify-content:space-between}
.post-mission .ready-box{position:relative;overflow:hidden;justify-content:center;align-items:center}
.post-mission .ready-box .box-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;z-index:0}
.post-mission .ready-box > *:not(.box-bg){position:relative;z-index:1}
.post-mission .what-we-do-side{position:relative;overflow:hidden;width:30vw;height:30vh;border-radius:48px;box-shadow:8px 8px 16px rgba(0,0,0,.2),-8px -8px 16px rgba(255,255,255,.08);padding:16px;display:flex;flex-direction:column}
.post-mission .what-we-do-side h3{text-align:center;font-size:2rem;margin:0 0 8px}
.post-mission .what-we-do-side .button{margin-top:auto;align-self:center}
.post-mission .ready-box h3{text-align:right;font-size:2rem;margin:0 16px 8px 0;align-self:flex-end}
.post-mission .ready-box p{font-size:5rem;margin:0 auto;text-align:center}
.post-mission .ready-box .button{font-size:1rem;padding:10px 14px}
.post-mission-center{width:100vw;margin-left:calc(50% - 50vw);display:block;margin-top:0;padding:0}
.post-mission-center .what-we-do-panel{position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);height:auto;aspect-ratio:16/9;border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column}
/* What We Do layout: left stack, center video, right stack */
.post-mission-center .what-we-do-panel .wwd-layout{display:grid;grid-template-columns:100%;align-items:stretch;gap:0;height:100%;width:100%;position:relative;margin:0}
.post-mission-center .what-we-do-panel .wwd-col{display:flex;flex-direction:column;gap:0;align-self:stretch;justify-content:stretch;padding:0;margin:0;position:absolute;top:0;bottom:0;width:10vw}
.post-mission-center .what-we-do-panel .wwd-col.left{left:0}
.post-mission-center .what-we-do-panel .wwd-col.right{right:0}
.post-mission-center .what-we-do-panel .wwd-col.right{margin-right:0;padding-right:0}
.post-mission-center .what-we-do-panel .wwd-col.right .card{margin-right:0}
.post-mission-center .what-we-do-panel .wwd-col .card{width:100%;height:auto;flex:1 1 50%}
.post-mission-center .what-we-do-panel .wwd-col .card{background:var(--panel);border:none;border-radius:0;padding:16px;margin:0;box-shadow:none}
.post-mission-center .what-we-do-panel .wwd-col .card h2{font-size:2.5rem}
.post-mission-center .what-we-do-panel .wwd-col .card p,
.post-mission-center .what-we-do-panel .wwd-col .card li{font-size:1.5rem}
.post-mission-center .what-we-do-panel .wwd-video{position:relative;display:flex;align-items:center;justify-content:center;height:100%;z-index:0}
.post-mission-center .what-we-do-panel .wwd-video video{width:100vw;height:100%;object-fit:cover;border-radius:0;display:block}
.post-mission-center .what-we-do-panel .wwd-col{z-index:1}
.post-mission-center .what-we-do-panel .wwd-video .wwd-cta{z-index:2}
.post-mission-center .what-we-do-panel .wwd-video .wwd-cta{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:1}
.post-mission-center .what-we-do-panel .wwd-video .wwd-cta .cta-how-we-work{font-size:1.25rem;padding:14px 22px}
/* slight overlap onto the video */
.post-mission-center .what-we-do-panel .wwd-col.left{position:relative;z-index:1}
.post-mission-center .what-we-do-panel .wwd-col.right{position:relative;z-index:1}
.post-mission-center .what-we-do-panel .wwd-col.left{margin-right:0}
.post-mission-center .what-we-do-panel .wwd-col.right{margin-left:0}
.post-mission-center .offer-mini{position:relative;overflow:hidden;width:30vw;height:30vh;border-radius:48px;box-shadow:8px 8px 16px rgba(0,0,0,.2),-8px -8px 16px rgba(255,255,255,.08);padding:16px;display:flex;flex-direction:column;justify-self:start}
.post-mission-center .info-box .box-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;z-index:0;background:#000}
.post-mission-center .info-box > *:not(.box-bg){position:relative;z-index:1}
.post-mission-center .info-box h3{text-align:center;font-size:2rem;margin:0 0 8px}
.post-mission-center .info-box .button{margin-top:auto;align-self:center}
.post-mission-center .questions-box{position:relative;overflow:hidden;width:30vw;height:30vh}
.post-mission-center .questions-box .box-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;z-index:0}
.post-mission-center .questions-box > *:not(.box-bg){position:relative;z-index:1}
.post-mission-right{width:100vw;margin-left:calc(50% - 50vw);display:flex;justify-content:flex-end;margin-top:16px;padding-right:32px}
.post-mission-right .questions-box{position:relative;overflow:hidden;width:30vw;height:30vh;border-radius:48px;box-shadow:8px 8px 16px rgba(0,0,0,.2),-8px -8px 16px rgba(255,255,255,.08);padding:16px;display:flex;flex-direction:column}
.post-mission-right .questions-box .box-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;z-index:0}
.post-mission-right .questions-box > *:not(.box-bg){position:relative;z-index:1}
.post-mission-right .questions-box h3{text-align:center;font-size:2rem;margin:0 0 8px}
.post-mission-right .questions-box .button{margin-top:auto;align-self:center}
.post-mission .box .button{align-self:center}
.post-mission .box:nth-child(1){transform:none}
.post-mission .box:nth-child(2){transform:none}
.post-mission .box:nth-child(3){transform:none}
.post-mission-cta{display:none}
.post-mission-center .what-we-do-panel{position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);height:auto;aspect-ratio:16/9;border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column}
.post-mission-center .what-we-do-panel .wwd-layout{display:grid;grid-template-columns:100%;align-items:stretch;gap:0;height:100%;width:100%}
.post-mission-center .what-we-do-panel .wwd-col{display:grid;grid-template-rows:1fr 1fr;gap:0;align-self:stretch;justify-content:stretch;padding:0;margin:0;position:absolute;top:0;bottom:0;width:10vw}
.post-mission-center .what-we-do-panel .wwd-col .card{width:100%}
.post-mission-center .what-we-do-panel .wwd-video{display:none}
.post-mission-center .what-we-do-panel .wwd-cta{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:2;display:flex;justify-content:center}
.post-mission-center .what-we-do-panel .wwd-cta .cta-how-we-work{font-size:1.25rem;padding:14px 22px}
.mission .short{font-weight:600}
.mission a[href^="mailto:"]{color:var(--text);font-weight:700;text-decoration:underline}
/* Home mission text color overrides */
.home .mission{color:#fff}
.home .mission a{color:#fff}

/* Front page text scaling */
.home .hero h1{font-size:80px}
.home .hero p{font-size:2rem}
.home .mission h2{font-size:4rem;color:#293731}
.home .mission p{font-size:1.5rem}
.home .card h2{font-size:2rem}
.home .card p{font-size:1.25rem}

/* Contact page scaling */
.contact .mission h2{font-size:3rem}
.contact .mission p{font-size:2rem}
/* How We Work page scaling */
.how .container > h1{font-size:4rem}
.how .container > p{font-size:2rem}
.how .grid.services .card h2{font-size:2.5rem}
.how .grid.services .card p{font-size:1.5rem}
.home .mission{position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);border-radius:48px;padding-left:32px;padding-right:32px;padding-top:48px;padding-bottom:48px;height:auto;aspect-ratio:16/9;background:#e9e2d7;border:none;box-shadow:12px 12px 24px rgba(0,0,0,.12),-12px -12px 24px rgba(255,255,255,.06),inset 3px 3px 8px rgba(0,0,0,.06),inset -3px -3px 8px rgba(255,255,255,.35)}
.home .mission .mission-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;z-index:0}
.home .mission > *:not(.mission-bg){position:relative;z-index:1}
.form{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}
.form .row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}
textarea{margin-top:6px;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical}
label{display:flex;flex-direction:column;font-size:14px;color:var(--muted)}
input{margin-top:6px;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}
.result{margin-top:16px;padding:12px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}
.profile .tasks-table{width:100%;border-collapse:collapse}
.profile .tasks-table th,.profile .tasks-table td{border:1px solid var(--border);padding:12px;font-size:calc(1rem * 1.75)}
.profile .tasks-table th{text-align:left;background:rgba(41,55,49,.3)}
.profile .form{background:rgba(41,55,49,.5)!important}
.profile .calendar-box{background:rgba(41,55,49,.5)!important}
/* Profile: make scheduler calendar use header green instead of white */
.profile #law-scheduler-root .bg-white{ background:#C6B9AB !important }
.profile #law-scheduler-root .bg-slate-50{ background:#C6B9AB !important }
.footer{border-top:1px solid var(--border);background:#d6cbbf;margin-top:auto;position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw)}
/* Home footer follows normal flow (visible only at page bottom) */
.footer::before{content:"";position:absolute;inset:0;background:url('/media/stairs.png') center/cover no-repeat;opacity:.15;pointer-events:none}
.footer .container{display:grid;grid-template-columns:1fr;align-items:center;gap:16px;padding:24px}
.footer .footer-etymology{justify-self:center;align-self:center;background:rgba(41,55,49,.3);color:#293731;padding:16px 20px;border-radius:16px;text-align:center;font-size:1.25rem}
@media(max-width:800px){.grid{grid-template-columns:1fr}.form .row{grid-template-columns:1fr}.grid.services{grid-template-columns:1fr}.grid.socials{grid-template-columns:1fr}.ig-grid{grid-template-columns:1fr}}

/* no special footer padding required on home */

/* Playbook gallery */
.playbook h1{text-align:center}
.playbook{max-width:none;width:100vw;margin-left:calc(50% - 50vw);padding-left:0;padding-right:0;display:grid;grid-template-columns:clamp(180px,18vw,320px) minmax(0,1fr) clamp(200px,22vw,380px);gap:12px}
.playbook .playbook-page{scroll-margin-top:260px}
.lead .playbook .playbook-page{scroll-margin-top:140px}
.post-mission-center .what-we-do-panel .wwd-layout{position:relative}
.post-mission-center .what-we-do-panel .wwd-col{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;gap:0;width:10vw;z-index:1}
.post-mission-center .what-we-do-panel .wwd-col.left{left:0}
.post-mission-center .what-we-do-panel .wwd-col.right{right:0}
.post-mission-center .what-we-do-panel .wwd-col .card{flex:1 1 50%;margin:0}
/* Force exact 50% height per sub box so rows align across left/right */
.post-mission-center .what-we-do-panel .wwd-col .card{height:50%;flex:0 0 50%}
.playbook-toc{position:sticky;position:-webkit-sticky;top:240px;align-self:start;padding:24px;margin-left:16px;z-index:5}
.playbook-toc nav{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 280px);overflow:auto}
.playbook-toc a{color:var(--text);text-decoration:none;background:rgba(41,55,49,.5);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:clamp(.85rem,1.4vw,1.1rem);line-height:1.3;display:block}
.playbook-toc a:hover,.playbook-toc a:active{font-size:clamp(.85rem,1.4vw,1.1rem)}
.playbook-gallery{display:flex;flex-direction:column;gap:16px;align-items:center;max-height:calc(100vh - 260px);overflow:auto;overscroll-behavior:contain}
.playbook-gallery img{width:100%;max-width:100%;height:auto;border:1px solid var(--border);border-radius:12px;background:#fff;display:block}
.playbook .playbook-sticky{position:sticky;position:-webkit-sticky;top:240px;align-self:start;width:100%;max-width:100%;margin-right:16px;max-height:calc(100vh - 280px);overflow:auto;z-index:5}
.playbook .playbook-sticky h3,
.playbook .playbook-sticky p,
.playbook .playbook-sticky label,
.playbook .playbook-sticky .result,
.playbook .playbook-sticky input,
.playbook .playbook-sticky textarea,
.playbook .playbook-sticky button{font-size:clamp(.85rem,1.6vw,1.5rem);line-height:1.3}
.playbook .playbook-sticky input::placeholder,
.playbook .playbook-sticky textarea::placeholder{font-size:clamp(.85rem,1.6vw,1.5rem)}
.playbook .playbook-sticky p{overflow-wrap:anywhere;word-break:break-word}
.playbook .playbook-sticky input,
.playbook .playbook-sticky textarea,
.playbook .playbook-sticky button{width:100%;max-width:100%}
.playbook .playbook-sticky a,
.playbook .playbook-sticky a:visited,
.playbook .playbook-sticky a:hover,
.playbook .playbook-sticky a:active{color:inherit;text-decoration:none}
.playbook .playbook-page{scroll-margin-top:260px}

/* Responsive adjustments */
@media(max-width:1400px){
  .playbook{grid-template-columns:320px 1fr minmax(260px,32vw)}
  .playbook .playbook-sticky h3,
  .playbook .playbook-sticky p,
  .playbook .playbook-sticky label,
  .playbook .playbook-sticky .result,
  .playbook .playbook-sticky input,
  .playbook .playbook-sticky textarea,
  .playbook .playbook-sticky button{font-size:2.25rem}
  .playbook .playbook-sticky input::placeholder,
  .playbook .playbook-sticky textarea::placeholder{font-size:2.25rem}
}
@media(max-width:1100px){
  .playbook{grid-template-columns:280px 1fr minmax(240px,36vw)}
  .playbook-toc{top:180px;max-height:calc(100vh - 180px)}
  .playbook-toc a{font-size:1.25rem}
  .playbook .playbook-page{scroll-margin-top:220px}
  .playbook-gallery img{width:60vw;max-width:60vw}
  .playbook .playbook-sticky h3,
  .playbook .playbook-sticky p,
  .playbook .playbook-sticky label,
  .playbook .playbook-sticky .result,
  .playbook .playbook-sticky input,
  .playbook .playbook-sticky textarea,
  .playbook .playbook-sticky button{font-size:1.75rem}
  .playbook .playbook-sticky input::placeholder,
  .playbook .playbook-sticky textarea::placeholder{font-size:1.75rem}
  .playbook .playbook-sticky{top:180px;max-height:calc(100vh - 220px);overflow:auto}
}
@media(max-width:900px){
  .playbook{grid-template-columns:1fr;grid-template-areas:'toc' 'question' 'gallery'}
  .playbook-toc{position:sticky;position:-webkit-sticky;top:120px;padding:16px;max-height:calc(100vh - 120px);margin:0 16px;z-index:5}
  .playbook-toc{grid-area:toc}
  .playbook .playbook-sticky{position:sticky;position:-webkit-sticky;top:120px;margin:0 16px;z-index:5}
  .playbook .playbook-sticky{grid-area:question}
  .playbook .playbook-page{scroll-margin-top:160px}
  .playbook-gallery img{width:90vw;max-width:90vw}
  .playbook-gallery{grid-area:gallery}
  .playbook .playbook-sticky h3,
  .playbook .playbook-sticky p,
  .playbook .playbook-sticky label,
  .playbook .playbook-sticky .result,
  .playbook .playbook-sticky input,
  .playbook .playbook-sticky textarea,
  .playbook .playbook-sticky button{font-size:1.5rem}
  .playbook .playbook-sticky input::placeholder,
  .playbook .playbook-sticky textarea::placeholder{font-size:1.5rem}
}
@media(max-width:600px){
  .playbook-toc{top:80px;max-height:calc(100vh - 80px)}
  .playbook-toc a{font-size:1.1rem}
  .playbook .playbook-sticky h3,
  .playbook .playbook-sticky p,
  .playbook .playbook-sticky label,
  .playbook .playbook-sticky .result,
  .playbook .playbook-sticky input,
  .playbook .playbook-sticky textarea,
  .playbook .playbook-sticky button{font-size:1.25rem}
  .playbook .playbook-sticky input::placeholder,
  .playbook .playbook-sticky textarea::placeholder{font-size:1.25rem}
  .playbook .playbook-sticky{top:80px;max-height:calc(100vh - 120px);overflow:auto}
}


/* Admin: make tabs span the page */
#admin-tabs{width:100vw;margin-left:calc(50% - 50vw);display:grid;grid-template-columns:repeat(7,1fr);gap:0;border:2px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px;background:var(--bg)}
#admin-tabs .auth-tab{border:none;border-radius:0;background:transparent;color:var(--text);padding:16px 12px;font-weight:700;font-size:1.75rem;line-height:1.2}
#admin-tabs .auth-tab + .auth-tab{border-left:2px solid var(--border)}
#admin-tabs .auth-tab.active,#admin-tabs .auth-tab:hover{background:var(--panel)}

/* Admin background video */
.admin .admin-bg-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.35;pointer-events:none}
.lead .page-bg-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.35;pointer-events:none}
.client .client-bg-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.35;pointer-events:none}
.profile .profile-bg-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.35;pointer-events:none}
.profile .container, .profile .nav, .profile .footer{position:relative;z-index:1}

/* Admin: clients full-bleed and card grid */
#admin-clients{width:100vw;margin-left:calc(50% - 50vw)}
#admin-clients h2{padding-left:16px;padding-right:16px}
.admin-rows{display:flex;flex-direction:column;gap:8px;padding:0 16px 16px}
.admin-row{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.admin-row-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:1.5rem;font-weight:700;cursor:pointer}
.admin-row-content{border-top:1px solid var(--border)}
.client-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--border);background:var(--bg)}
.client-tab{border:none;background:transparent;color:var(--text);padding:12px 10px;font-weight:600}
.client-tab + .client-tab{border-left:1px solid var(--border)}
.client-tab.active,.client-tab:hover{background:var(--panel)}
.client-tabpanes{padding:12px 14px}
.client-pane{font-size:1.1rem}

/* Client summary sections */
.client-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.client-summary .summary-section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px}
.client-summary .summary-section h3{margin:0 0 8px 0;font-size:1.25rem}
.admin .container > h1{ text-align:left; font-size:3rem }
.project-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.project-list li{display:flex;align-items:center;justify-content:space-between;border:1px dashed var(--border);border-radius:10px;padding:8px 10px}
.project-list .status{margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(41,55,49,.5);color:var(--brand);font-size:.9rem}
.project-list .project-empty{border:none;padding:0;color:var(--muted)}

/* Admin: Clients larger text for visibility */
#admin-clients h2{font-size:5rem}
#admin-clients .admin-row-header{font-size:3rem}
#admin-clients .client-tab{font-size:1.75rem;padding:14px 12px}
#admin-clients .client-pane{font-size:2rem}
#admin-clients .client-summary .summary-section h3{font-size:2.25rem}
#admin-clients .client-summary .summary-section{font-size:1.75rem}
#admin-clients .negotiation-steps .step{font-size:1.75rem;padding:10px 8px}
#admin-clients .project-list{font-size:1.6rem}
#admin-clients label,#admin-clients input,#admin-clients button,#admin-clients select{font-size:1.75rem}
#admin-clients .project-status-select{font-size:1.75rem}

/* Negotiation progress bar */
.negotiation-steps{list-style:none;padding:0;margin:0;display:flex;gap:0;align-items:center}
.negotiation-steps .step{position:relative;flex:1 1 0;text-align:center;padding:8px 6px;color:var(--muted);font-weight:600}
.negotiation-steps .step::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:rgba(41,55,49,.5)}
.negotiation-steps .step:first-child::before{border-top-left-radius:4px;border-bottom-left-radius:4px}
.negotiation-steps .step:last-child::before{border-top-right-radius:4px;border-bottom-right-radius:4px}
.negotiation-steps .step.active{color:var(--text)}
.negotiation-steps .step.active::before{background:var(--brand)}

/* Admin: Projects full-bleed box */
#admin-projects{width:100vw;margin-left:calc(50% - 50vw)}
.project-box{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:0;margin:0 16px 16px}
.project-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}
.project-header .button{font-size:1.6rem}
.project-rows{display:flex;flex-direction:column;gap:8px;padding:16px}
.project-row{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.project-row-header{display:grid;grid-template-columns:auto auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;font-size:1.25rem;font-weight:700;cursor:pointer}
.project-row-header .project-status{justify-self:start;background:rgba(41,55,49,.5);color:var(--brand);border-radius:999px;padding:4px 10px;font-size:.9rem}
.project-row-header .project-date{justify-self:start;color:var(--muted);font-weight:400}
.project-row-header .project-title{justify-self:center}
.project-row-header .project-company{justify-self:end;color:var(--muted);font-weight:400}
.project-row-content{border-top:1px solid var(--border);display:grid;grid-template-columns:2fr 1fr;gap:16px;padding:12px 14px}
.project-row-content h4{margin:0 0 8px 0}
.project-row-content ul{margin:0;padding-left:18px}
.project-header h2{font-size:5rem}
#admin-projects .project-row-header{font-size:3rem}
#admin-projects .project-row-header .project-status,
#admin-projects .project-row-header .project-date,
#admin-projects .project-row-header .project-company{font-size:inherit}
#admin-projects .project-row-content{font-size:2rem}
#admin-projects .project-row-content h4{font-size:inherit}
.project-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;margin-top:8px}
.project-status-select{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}

/* Admin: Assignments larger text */
#admin-assignment{width:100vw;margin-left:calc(50% - 50vw)}
#admin-assignment h2{font-size:5rem}
#admin-assignment table{font-size:2rem}
#admin-assignment th,#admin-assignment td{padding:14px}
#admin-assignment label,#admin-assignment input,#admin-assignment button{font-size:1.75rem}
#admin-assignment #assignment-assignee{padding:12px 14px}
#admin-assignment .button{font-size:1.6rem}

/* Admin: Prospects larger text */
#admin-prospects{width:100vw;margin-left:calc(50% - 50vw)}
#admin-prospects h2{font-size:5rem}
#admin-prospects table{font-size:2rem}
#admin-prospects th,#admin-prospects td{padding:14px}
#admin-prospects select,#admin-prospects button{font-size:1.75rem}
#admin-prospects .prospect-result{font-size:1.25rem;margin-left:8px}
/* Match project modal select styling */
#admin-prospects .prospect-status-select{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}
/* Prospects visual emphasis */
#admin-prospects thead th{background:rgba(41,55,49,.5);border-bottom:2px solid var(--border)}
#admin-prospects table{border:2px solid var(--border);border-radius:12px}
#admin-prospects tbody tr + tr td{border-top:1px solid var(--border)}

/* Admin: Calls larger text and visibility */
#admin-call{width:100vw;margin-left:calc(50% - 50vw)}
#admin-call h2{font-size:5rem}
#admin-call h3{font-size:3rem}
#admin-call #calls-list{font-size:2rem}
#admin-call #calls-selected{font-size:2rem}
#admin-call #call-calendar-root *{font-size:1.5rem}
#admin-call #call-calendar-root .text-lg{font-size:2rem}
#admin-call #call-calendar-root .md\:text-2xl{font-size:3rem}
#admin-call #calls-list > div{padding:10px 6px}

/* Admin: Comments larger text and visibility */
#admin-comments{width:100vw;margin-left:calc(50% - 50vw)}
#admin-comments h2{font-size:5rem}
#admin-comments table{font-size:2rem;border:2px solid var(--border);border-radius:12px}
#admin-comments th,#admin-comments td{padding:14px}
#admin-comments thead th{background:rgba(41,55,49,.5);border-bottom:2px solid var(--border)}
#admin-comments tbody tr + tr td{border-top:1px solid var(--border)}

/* Summary tab: negotiation statuses bar chart */
.summary-chart{display:flex;flex-direction:column;gap:8px}
.summary-bar{display:flex;align-items:center;gap:12px}
.summary-bar .label{min-width:260px;font-weight:700;font-size:2rem}
.summary-bar .bar{height:24px;background:var(--brand);border-radius:12px;flex:0 1 auto}
.summary-bar .value{min-width:48px;text-align:right;color:var(--muted);font-size:2rem}

/* Lead page: allow body to scroll to footer (disable internal gallery scrolling) */
.lead .playbook-gallery{max-height:none;overflow:visible}

/* Lead (Contact Us) form: make typed text larger */
.lead label,
.lead input,
.lead textarea,
.lead button,
.lead select{font-size:1.75rem}

/* Override sticky panel sizing on lead page to ensure larger inputs */
.lead .playbook .playbook-sticky label{font-size:2rem !important}
.lead .playbook .playbook-sticky input,
.lead .playbook .playbook-sticky textarea{font-size:2.25rem !important; line-height:1.4}
.lead .playbook .playbook-sticky button{font-size:2rem}
.lead .playbook .playbook-sticky input::placeholder,
.lead .playbook .playbook-sticky textarea::placeholder{font-size:2.25rem !important}
/* Make the text boxes physically larger */
.lead .playbook .playbook-sticky input,
.lead .playbook .playbook-sticky textarea{
  padding:24px 20px;
  min-height:72px;
  border-width:2px;
  border-radius:12px;
}
.lead .playbook .playbook-sticky textarea{ min-height: 240px; }

/* 3x larger typed text inside inputs/textareas */
.lead .playbook .playbook-sticky input,
.lead .playbook .playbook-sticky textarea{ font-size:3rem !important; line-height:1.5 }
.lead .playbook .playbook-sticky input::placeholder,
.lead .playbook .playbook-sticky textarea::placeholder{ font-size:3rem !important }

/* Contact page: 3x larger text boxes and text */
.contact label,
.contact input,
.contact textarea,
.contact button{ font-size:2rem }
.contact .form input,
.contact .form textarea{
  padding:24px 20px;
  min-height:72px;
  border-width:2px;
  border-radius:12px;
}
.contact .form textarea{ min-height:240px }

/* Client page: make tabs full-width and increase sizes */
#client-tabs{width:100vw;margin-left:calc(50% - 50vw);display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px;background:var(--bg)}
#client-tabs .auth-tab{border:none;border-radius:0;background:transparent;color:var(--text);padding:16px 12px;font-weight:700;font-size:1.75rem;line-height:1.2}
#client-tabs .auth-tab + .auth-tab{border-left:2px solid var(--border)}
#client-tabs .auth-tab.active,#client-tabs .auth-tab:hover{background:var(--panel)}
.client .container > h1{font-size:4rem;margin-bottom:8px}
.client .container > p{font-size:2rem;margin-top:0}
.client .card{font-size:1.75rem}
.client .card h2{font-size:2.5rem}
.client label,.client input,.client button,.client select,.client textarea{font-size:1.75rem}
/* Client projects header layout */
.client .project-row-header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px}
.client .project-row-header.client .project-head-left{justify-self:start}
.client .project-row-header.client .project-head-right{justify-self:end;text-align:right}
.client .project-row-header .field-label{font-size:1.1rem;color:var(--muted);margin-bottom:4px}
.client .project-row-header .project-title{font-size:3rem;line-height:1.1}
.client .project-row-header .project-date{color:var(--muted);font-size:1.5rem}

/* Client project content two-column layout */
.client .project-row-content.client{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:16px;align-items:start}
@media(max-width:900px){
  .client .project-row-content.client{grid-template-columns:1fr}
}

/* Client: make projects box span full width, keep inner content centered */
#client-projects{width:100vw;margin-left:calc(50% - 50vw)}
#client-projects > *{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}
/* Make each project sub box span the full page width, keep inner content centered */
#client-projects .project-row{width:100vw;margin-left:calc(50% - 50vw);border-left:none;border-right:none;border-radius:0}
#client-projects .project-row > summary,
#client-projects .project-row > .project-row-content{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;display:block}

/* Client: free-flow project content (no grid/table-like layout) */
.client .project-row-content{display:block;padding:12px 14px;border-top:1px solid var(--border)}
.client .project-row-content > *{margin:8px 0}
.client .project-row-content .negotiation-steps{margin:0 0 8px 0}

/* Client: vertical task bar chart */
.client .task-bars{display:flex;align-items:flex-end;gap:16px;height:160px;margin:8px 0}
.client .task-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:64px;height:100%}
.client .task-bar .bar{width:100%;border-radius:8px 8px 0 0}
.client .task-bar .bar.not-started{background:rgba(41,55,49,.5)}
.client .task-bar .bar.working{background:var(--brand)}
.client .task-bar .bar.complete{background:#2ecc71}
.client .task-bar .label{margin-top:6px;font-size:1.25rem;text-align:center;color:var(--muted)}
/* axis container */
.client .task-chart{display:grid;grid-template-columns:60px 1fr;align-items:end;gap:12px}
.client .task-chart .y-axis{height:200px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:6px}
.client .task-chart .y-axis .tick{color:var(--muted);font-size:1.1rem;line-height:1}
.client .task-chart .bars{position:relative;display:flex;align-items:flex-end;gap:24px;height:200px;border-bottom:1px solid var(--border);padding-bottom:4px;background:repeating-linear-gradient(to top, rgba(0,0,0,.12) 0, rgba(0,0,0,.12) 1px, transparent 1px, transparent 25%)}
.client .task-chart .x-labels{display:flex;gap:24px;justify-content:flex-start;align-items:flex-start;margin-top:8px}
.client .task-chart .x-labels .label{width:64px;text-align:center;color:var(--muted)}

/* Admin: Summary full width and layout */
#admin-summary{width:100vw;margin-left:calc(50% - 50vw)}
#admin-summary .summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
#admin-summary .summary-chart-card{grid-column:1 / -1}
#admin-summary h2{font-size:5rem}
#admin-summary .summary-grid .card h3{font-size:3rem}
#admin-summary .summary-grid .card p{font-size:3rem;margin:8px 0 0}
#admin-summary .summary-grid .card{padding:20px}

/* Project modal */
.project-modal[hidden]{display:none}
.project-modal{position:fixed;left:0;right:0;bottom:0;top:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.project-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.project-dialog{position:relative;max-width:1400px;width:min(98vw,1400px);margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px;max-height:calc(100vh - 64px);overflow:auto}
.project-dialog input[type="date"]{font-size:1.75rem;padding:16px 14px;min-height:52px;border:2px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text)}
.project-dialog input[type="date"]:focus{outline:3px solid var(--brand)}
.project-dialog input[type="date"]::-webkit-calendar-picker-indicator{width:28px;height:28px;cursor:pointer}
.project-dialog h3,
.project-dialog label,
.project-dialog input,
.project-dialog textarea,
.project-dialog button,
.project-dialog .result{font-size:1.5rem;line-height:1.4}
.project-dialog input::placeholder,
.project-dialog textarea::placeholder{font-size:1.5rem}
.project-close{position:absolute;right:8px;top:8px;border:none;background:transparent;color:var(--text);font-size:24px;cursor:pointer}
.tasks-list{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.tasks-list .row{grid-template-columns:1fr 1fr 1fr auto auto}
.remove-task-btn{align-self:end;height:fit-content;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:10px;padding:8px 12px;cursor:pointer}
.remove-task-btn:hover{background:var(--panel);color:var(--text)}
.effort-group{display:flex;flex-direction:column;gap:6px;align-self:end}
.effort-selects{display:flex;gap:8px}
.effort-selects input{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);width:90px}
.task-item{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.task-item .task-desc textarea{width:100%}

/* Project modal top layout */
.project-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}
.project-info-left{display:flex;flex-direction:column;gap:12px}
.project-info-right{display:flex;flex-direction:column;gap:8px}

/* How page: force reduced content sizes (override base scaling) */
.how .container > h1{ font-size:1.75rem !important }
.how .container > h1{ text-align:center !important }
.how .container > p{ font-size:.9rem !important }
.how .grid.services .card h2{ font-size:1.1rem !important }
.how .grid.services .card p{ font-size:.75rem !important }
.how label, .how input, .how textarea, .how button, .how select{ font-size:.5rem !important }

/* Admin page and tabs: reduce content sizes by ~1/3 (keep boxes/containers) */
.admin .container > h1{ font-size:1.5rem !important }
#admin-tabs .auth-tab{ font-size:.9rem !important }

/* Admin: Clients */
#admin-clients h2{ font-size:2.5rem !important }
#admin-clients .admin-row-header{ font-size:1.5rem !important }
#admin-clients .client-tab{ font-size:.9rem !important }
#admin-clients .client-pane{ font-size:1rem !important }
#admin-clients .client-summary .summary-section h3{ font-size:1.1rem !important }
#admin-clients .client-summary .summary-section{ font-size:.9rem !important }
#admin-clients .negotiation-steps .step{ font-size:.9rem !important }
#admin-clients .project-list{ font-size:.85rem !important }
#admin-clients label,#admin-clients input,#admin-clients button,#admin-clients select{ font-size:.9rem !important }
#admin-clients .project-status-select{ font-size:.9rem !important }

/* Admin: Projects */
#admin-projects .project-header h2{ font-size:2.5rem !important }
#admin-projects .project-row-header{ font-size:1.5rem !important }
#admin-projects .project-row-content{ font-size:1rem !important }
#admin-projects .project-row-content h4{ font-size:inherit !important }

/* Admin: Assignments */
#admin-assignment h2{ font-size:2.5rem !important }
#admin-assignment table{ font-size:1rem !important }
#admin-assignment label,#admin-assignment input,#admin-assignment button{ font-size:.9rem !important }
#admin-assignment #assignment-assignee{ font-size:.9rem !important }

/* Admin: Prospects */
#admin-prospects h2{ font-size:2.5rem !important }
#admin-prospects table{ font-size:1rem !important }
#admin-prospects th,#admin-prospects td{ font-size:inherit }
#admin-prospects select,#admin-prospects button{ font-size:.9rem !important }
#admin-prospects .prospect-result{ font-size:.7rem !important }

/* Admin: Calls */
#admin-call h2{ font-size:2.25rem !important }
#admin-call h3{ font-size:1.5rem !important }
#admin-call #calls-list{ font-size:1rem !important }
#admin-call #calls-selected{ font-size:1rem !important }
#admin-call #call-calendar-root *{ font-size:.75rem !important }
#admin-call #call-calendar-root .text-lg{ font-size:1rem !important }
#admin-call #call-calendar-root .md\:text-2xl{ font-size:1.5rem !important }

/* Admin: Comments */
#admin-comments h2{ font-size:2.5rem !important }
#admin-comments table{ font-size:1rem !important }

/* Admin: Summary */
#admin-summary h2{ font-size:2.5rem !important }
#admin-summary .summary-grid .card h3{ font-size:1.5rem !important }
#admin-summary .summary-grid .card p{ font-size:1.5rem !important }

/* Client page: reduce content sizes by ~1/4 (keep boxes/containers) */
.client .container > h1{ font-size:2.5rem !important }
.client .container > p{ font-size:1.25rem !important }
#client-tabs .auth-tab{ font-size:1.09375rem !important }
.client .card{ font-size:1.09375rem !important }
.client .card h2{ font-size:1.5625rem !important }
.client label, .client input, .client button, .client select, .client textarea{ font-size:1.09375rem !important }
.client .project-row-header .project-title{ font-size:1.875rem !important }
.client .project-row-header .project-date{ font-size:.9375rem !important }
.client .task-bars .label{ font-size:.78125rem !important }
.client .task-chart .y-axis .tick{ font-size:.6875rem !important }
.client .task-chart .x-labels .label{ font-size:.625rem !important }
@media(max-width:900px){
  #admin-tabs{grid-template-columns:repeat(3,1fr)}
  #admin-tabs .auth-tab{font-size:1.4rem;padding:14px 10px}
}
@media(max-width:600px){
  #admin-tabs{grid-template-columns:repeat(2,1fr)}
  #admin-tabs .auth-tab{font-size:1.25rem;padding:12px 8px}
  .client-summary{grid-template-columns:1fr}
  .project-row-content{grid-template-columns:1fr}
  .project-info-grid{grid-template-columns:1fr}
}
