*{margin:0;padding:0;box-sizing:border-box}
:root{
  --red:#B03020;--red-dark:#7A1F12;--red-light:#F5DDD9;
  --purple-light:#EDE5F5;--purple-mid:#A98DCE;--purple-text:#4A2D80;
  --black:#111111;--off-white:#FAF9F7;--white:#FFFFFF;
  --gray:#555555;--gray-light:#DEDAD4;
  --max-w:1100px;
}

/* SKIP LINK */
.skip-link{position:absolute;top:-100px;left:1rem;background:var(--red);color:#fff;padding:0.6rem 1rem;border-radius:0 0 4px 4px;font-weight:700;font-size:0.85rem;z-index:9999;text-decoration:none;transition:top 0.15s;}
.skip-link:focus{top:0;}


/* Hamburger hidden on desktop */
.hamburger { display: none; }

.inner{max-width:var(--max-w);margin:0 auto;width:100%;}

/* MOBILE TOUCH OPTIMIZATIONS */
button, a, [tabindex] { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
input, select, textarea { font-size: 16px; } /* Prevents iOS zoom on focus */

html{scroll-behavior:smooth}
/* CENTERED SECTIONS */
.services-preview > *,.clients > *,.about-hero > *,.founders > *,
.services-hero > *,.svc-detail-hero > *,.svc-detail-body > *,
.pricing > *{max-width:var(--max-w);margin-left:auto;margin-right:auto;}
.footer-top,.footer-bottom{max-width:var(--max-w);margin-left:auto;margin-right:auto;}
.contact-info > *,.contact-form-wrap > *{max-width:550px;margin-left:auto;margin-right:auto;}

body{font-family:'DM Sans',sans-serif;background:var(--off-white);color:var(--black);min-height:100vh;overflow-x:hidden}
h1,h2,h3{font-family:'DM Serif Display',serif}

/* NAV */
nav{background:var(--white);border-bottom:2px solid var(--black);position:sticky;top:0;z-index:100}
.nav-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 1.25rem;gap:0.75rem;max-width:var(--max-w);margin:0 auto;min-height:68px;}
.logo-zone{display:flex;align-items:center;gap:0.7rem;cursor:pointer;border:none;background:none;padding:0.6rem 0;flex-shrink:0;text-decoration:none}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-main{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.15rem;color:var(--black);letter-spacing:0.04em;text-transform:uppercase;line-height:1}
.logo-main span{color:var(--red)}
.logo-sub{font-family:'DM Sans',sans-serif;font-weight:500;font-size:0.55rem;color:var(--gray);letter-spacing:0.1em;text-transform:uppercase;margin-top:2px}
.nav-links{display:flex;align-items:center;justify-content:center;gap:0.35rem;flex-wrap:nowrap}
.nav-link{background:none;border:1.5px solid var(--black);color:var(--black);font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.07em;text-transform:uppercase;padding:0.42rem 0.9rem;cursor:pointer;border-radius:4px;transition:background 0.15s,color 0.15s,border-color 0.15s;white-space:nowrap;display:flex;align-items:center;gap:3px;text-decoration:none}
.nav-link:hover{background:var(--purple-light);color:var(--purple-text);border-color:var(--purple-mid)}
.nav-link:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.nav-link.active{background:var(--black);color:#FFFFFF;border-color:var(--black)}
.nav-link.active:hover{background:var(--purple-light);color:var(--purple-text);border-color:var(--purple-mid)}
.dropdown-wrap{position:relative;display:inline-block}
.nav-link .caret{display:inline-block;font-size:0.85em;line-height:1;transition:transform 0.18s ease}
.dropdown-wrap:hover .caret,.dropdown-wrap:focus-within .caret,.dropdown-wrap.open .caret{transform:rotate(180deg)}
/* Submenu stays put: it opens on a short delay-out so brief mouse strays don't dismiss it,
   and ::before bridges the visual gap so travelling from trigger to menu never leaves the wrap. */
.dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;z-index:200;background:var(--black);border-radius:6px;overflow:hidden;min-width:270px;box-shadow:0 10px 30px rgba(0,0,0,0.24);opacity:0;visibility:hidden;transform:translateX(-50%) translateY(-6px);transition:opacity 0.18s ease,transform 0.18s ease,visibility 0.18s;transition-delay:0.3s}
.dropdown-menu::before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px}
.dropdown-wrap:hover .dropdown-menu,.dropdown-wrap:focus-within .dropdown-menu,.dropdown-wrap.open .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);transition-delay:0s}
.dropdown-item{display:block;width:100%;background:none;border:none;border-bottom:1px solid rgba(255,255,255,0.08);color:#FFFFFF;font-family:'DM Sans',sans-serif;font-weight:600;font-size:0.72rem;letter-spacing:0.05em;text-transform:uppercase;padding:0.95rem 1.25rem;min-height:44px;cursor:pointer;text-align:left;transition:background 0.12s,color 0.12s;text-decoration:none}
.dropdown-item:last-child{border-bottom:none}
.dropdown-item.active{background:var(--purple-light);color:var(--purple-text)}
.dropdown-item:hover,.dropdown-item:focus-visible{background:var(--purple-light);color:var(--purple-text);outline:none}
.nav-cta{background:none;color:var(--red);font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.07em;text-transform:uppercase;border:1.5px solid var(--red);padding:0.42rem 0.9rem;border-radius:4px;cursor:pointer;transition:background 0.15s,color 0.15s;white-space:nowrap;flex-shrink:0;display:inline-block;text-decoration:none}
.nav-cta:hover{background:var(--red-light);color:var(--red-dark)}


/* HERO */
.hero{padding:5rem 2.5rem 4rem;border-bottom:2px solid var(--black);background:var(--white);}
.hero-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2.5rem;align-items:center;}
.retro-tag{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:2rem;color:var(--red);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:1.25rem;display:block;line-height:1.1}
.hero h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:400;line-height:1.05;letter-spacing:-0.02em;margin-bottom:1.25rem}
.hero h1 em{color:var(--red);font-style:italic}
.hero-desc{font-size:1rem;color:var(--gray);line-height:1.75;max-width:520px;margin-bottom:2rem}
.hero-btns{display:flex;gap:0.75rem;flex-wrap:wrap}
.btn-red{background:var(--red);color:#FFFFFF;font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;border:2px solid var(--red);padding:0.75rem 1.5rem;border-radius:4px;cursor:pointer;transition:background 0.15s;display:inline-block;text-decoration:none}
.btn-red:hover{background:var(--red-dark);border-color:var(--red-dark)}
.btn-outline{background:none;color:var(--black);font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;border:2px solid var(--black);padding:0.75rem 1.5rem;border-radius:4px;cursor:pointer;transition:background 0.15s;display:inline-block;text-decoration:none}
.btn-outline:hover{background:var(--gray-light)}
.chicago-card{width:100%;min-width:0;align-self:center}
/* Line-art skyline: multiply blends the artwork's white ground into the hero background */
.chicago-img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.chicago-caption{padding:0.85rem 0 0;margin-top:0.5rem;border-top:1.5px solid var(--gray-light);display:flex;justify-content:space-between;align-items:center}
.chicago-caption span{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.95rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--black)}
.chicago-caption em{font-family:'DM Sans',sans-serif;font-style:normal;font-weight:700;font-size:0.68rem;color:var(--red);letter-spacing:0.08em;text-transform:uppercase}

/* MANIFESTO */
.manifesto{border-top:2px solid var(--black);border-bottom:2px solid var(--black);}
.manifesto-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;}
.manifesto-left{padding:3rem 2.5rem;background:var(--black);border-right:1px solid rgba(255,255,255,0.15);flex:1;}
.manifesto-left h2{font-size:1.5rem;margin-bottom:1rem;color:#FFFFFF}
.manifesto-left p{font-size:0.9rem;line-height:1.75;color:#C8C4C0}
.manifesto-right{padding:3rem 2.5rem;background:var(--white);flex:1;}
.manifesto-right h2{font-size:1.5rem;margin-bottom:1rem}
.manifesto-right p{font-size:0.9rem;line-height:1.75;color:var(--gray)}
.spite-word{color:var(--red)}

/* SERVICES PREVIEW */
.services-preview{padding:4rem 2.5rem;border-bottom:2px solid var(--black);background:var(--off-white)}
.section-label{font-family:'DM Sans',sans-serif;font-size:0.68rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--red);margin-bottom:0.75rem}
.section-title{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;letter-spacing:-0.02em;margin-bottom:2.5rem}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:2px solid var(--black)}
.svc-card{display:block;color:inherit;text-decoration:none;padding:1.75rem 1.5rem;border-right:1px solid var(--black);background:var(--white);cursor:pointer;transition:background 0.15s}
.svc-card:hover,.svc-card:focus-visible{background:var(--purple-light);outline:none}
.svc-card:last-child{border-right:none}
.svc-num{font-size:0.68rem;font-weight:700;letter-spacing:0.12em;color:var(--red);margin-bottom:0.6rem}
.svc-card h3{font-size:1rem;font-weight:400;margin-bottom:0.5rem}
.svc-card p{font-size:0.82rem;color:var(--gray);line-height:1.65}

/* CLIENTS */
.clients{padding:4rem 2.5rem;background:var(--white);border-bottom:2px solid var(--black)}
.clients-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem;margin-top:2rem}
.client-card{background:var(--off-white);border:1px solid var(--gray-light);border-radius:6px;padding:1.5rem}
.client-card h3{font-size:0.95rem;font-weight:400;margin-bottom:0.5rem}
.client-card p{font-size:0.82rem;color:var(--gray);line-height:1.65}

/* ABOUT */
.about-hero{padding:4rem 2.5rem;border-bottom:2px solid var(--black);background:var(--white)}
.about-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:400;margin-bottom:1.25rem}
.about-hero p{font-size:0.95rem;color:var(--gray);line-height:1.8;max-width:620px;margin-bottom:1rem}
.about-split{border-top:2px solid var(--black);}
.about-split-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;}
.about-col{padding:3rem 2.5rem;border-right:2px solid var(--black)}
.about-col:last-child{border-right:none}
.about-col h2{font-size:1.2rem;font-weight:400;margin-bottom:1rem}
.about-col p{font-size:0.875rem;color:var(--gray);line-height:1.75}
.about-col .highlight{background:var(--purple-light);border:1px solid var(--purple-mid);border-radius:6px;padding:1rem 1.25rem;margin-top:1.25rem}
.about-col .highlight p{color:var(--purple-text);font-size:0.825rem;font-style:italic}
.founders{padding:3rem 2.5rem;border-top:2px solid var(--black);background:var(--off-white)}
.founders h2{font-size:1.2rem;font-weight:400;margin-bottom:1.5rem}
.founder-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.founder-card{background:var(--white);border:1px solid var(--gray-light);border-radius:8px;padding:1.75rem}
.headshot{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block;margin-bottom:1.25rem;background:var(--gray-light);border:2px solid var(--purple-mid)}
.founder-name{font-family:'DM Serif Display',serif;font-size:1.1rem;margin-bottom:0.25rem}
.founder-title{font-size:0.8rem;color:var(--red);font-weight:700;margin-bottom:0.15rem}
.founder-role{font-size:0.78rem;color:var(--gray);margin-bottom:0.85rem;font-style:italic}
.linkedin-btn{display:inline-flex;align-items:center;gap:0.4rem;background:none;border:1.5px solid var(--purple-mid);color:var(--purple-text);font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.4rem 0.85rem;border-radius:4px;cursor:pointer;transition:background 0.15s;text-decoration:none}
.linkedin-btn:hover{background:var(--purple-light)}

/* SERVICE DETAIL */
.svc-detail-hero{padding:3.5rem 2.5rem 2.5rem;border-bottom:2px solid var(--black);background:var(--white)}
.svc-detail-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400;margin-bottom:0.75rem}
.svc-detail-hero p{font-size:0.95rem;color:var(--gray);max-width:560px;line-height:1.75}
.svc-detail-body{padding:3rem 2.5rem;background:var(--white)}
.detail-block{border-top:1.5px solid var(--gray-light);padding:2rem 0}
.detail-block:first-child{border-top:none;padding-top:0}
.detail-block h2{font-size:1.05rem;font-weight:400;margin-bottom:0.75rem}
.detail-block p{font-size:0.875rem;color:var(--gray);line-height:1.75;margin-bottom:1rem}
.tags{display:flex;flex-wrap:wrap;gap:0.4rem}
.tag{background:var(--purple-light);border:1px solid var(--purple-mid);color:var(--purple-text);font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.68rem;letter-spacing:0.05em;text-transform:uppercase;padding:0.22rem 0.65rem;border-radius:3px}
.back-btn{display:inline-flex;align-items:center;gap:0.4rem;background:none;border:1.5px solid var(--gray-light);color:var(--gray);font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.4rem 0.85rem;border-radius:4px;cursor:pointer;margin-bottom:1.5rem;transition:background 0.12s;text-decoration:none}
.back-btn:hover{background:var(--gray-light)}

/* SERVICES OVERVIEW */
.services-hero{padding:4rem 2.5rem 3rem;border-bottom:2px solid var(--black);background:var(--white)}
.services-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400;margin-bottom:0.75rem}
.services-hero p{font-size:0.95rem;color:var(--gray);max-width:560px;line-height:1.75}
.svc-list{background:var(--white);}
.svc-row-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:220px 1fr;gap:3rem;align-items:start;}
.svc-row{border-bottom:2px solid var(--black);padding:2.5rem;display:grid;grid-template-columns:220px 1fr;gap:3rem;align-items:start;max-width:var(--max-w);margin-left:auto;margin-right:auto;}
.svc-row-num{font-size:0.68rem;font-weight:700;letter-spacing:0.12em;color:var(--red);margin-bottom:0.5rem;text-transform:uppercase}
.svc-row h2{font-size:1.05rem;font-weight:400;margin-bottom:0.5rem}
.svc-row-desc{font-size:0.875rem;color:var(--gray);line-height:1.75;margin-bottom:1.25rem}
.svc-deep-btn{display:inline-flex;align-items:center;gap:0.4rem;background:none;border:2px solid var(--black);color:var(--black);font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.45rem 0.9rem;border-radius:4px;cursor:pointer;margin-top:0.5rem;transition:background 0.12s;text-decoration:none}
.svc-deep-btn:hover{background:var(--gray-light)}

/* PRICING */
.pricing{padding:4rem 2.5rem;border-top:2px solid var(--black);background:var(--off-white)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.tier-card{background:var(--white);border:2px solid var(--black);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.tier-header{padding:1.5rem;border-bottom:2px solid var(--black)}
.tier-card.featured{border-color:var(--red)}
.tier-card.featured .tier-header{background:var(--red)}
.tier-label{font-size:0.65rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gray);margin-bottom:0.4rem}
.tier-card.featured .tier-label{color:rgba(255,255,255,0.8)}
.tier-name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--black);margin-bottom:0.4rem}
.tier-card.featured .tier-name{color:#FFFFFF}
.tier-price{font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.9rem;color:var(--red)}
.tier-card.featured .tier-price{color:#F5DDD9}
.tier-who{font-size:0.78rem;color:var(--gray);font-style:italic;margin-top:0.4rem;line-height:1.55}
.tier-card.featured .tier-who{color:rgba(255,255,255,0.85)}
.tier-body{padding:1.25rem 1.5rem;flex:1}
.tier-body ul{list-style:none;padding:0}
.tier-body li{font-size:0.82rem;color:var(--black);padding:0.5rem 0;border-bottom:1px solid var(--gray-light);display:flex;align-items:baseline;gap:0.5rem;line-height:1.5}
.tier-body li:last-child{border-bottom:none}
.tier-body li::before{content:'→';color:var(--red);font-weight:700;font-size:0.75rem;flex-shrink:0}
.tier-badge{display:inline-block;background:var(--purple-light);border:1px solid var(--purple-mid);color:var(--purple-text);font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.6rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.15rem 0.5rem;border-radius:2px;margin-left:auto;flex-shrink:0}
.alacarte{background:var(--white);border:2px solid var(--black);border-radius:6px;padding:1.75rem 2rem;margin-top:2rem}
.alacarte p{font-size:0.9rem;color:var(--gray);line-height:1.75}
.alacarte a{color:var(--red);text-decoration:underline;cursor:pointer;font-weight:700}

/* CONTACT */
.contact-wrap{border-bottom:2px solid var(--black);}
.contact-wrap-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;}
.contact-info{padding:4rem 2.5rem;border-right:2px solid var(--black);background:var(--white)}
.contact-info h1{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:400;margin-bottom:1rem}
.contact-info p{font-size:0.9rem;color:var(--gray);line-height:1.75;margin-bottom:2rem}
.ci{display:flex;gap:1rem;margin-bottom:1.25rem;align-items:flex-start}
.ci-bullet{width:8px;height:8px;min-width:8px;background:var(--red);border-radius:50%;margin-top:6px}
.ci-label{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--gray);margin-bottom:0.2rem}
.ci-val{font-size:0.9rem;color:var(--black)}
.contact-form-wrap{padding:4rem 2.5rem;background:var(--off-white)}
.contact-form-wrap h2{font-size:1.2rem;font-weight:400;margin-bottom:1.5rem}
.f-row{margin-bottom:1.1rem}
.f-row label{display:block;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--black);margin-bottom:0.4rem}
.f-row input,.f-row select,.f-row textarea{width:100%;background:var(--white);border:2px solid var(--gray-light);border-radius:4px;padding:0.65rem 0.85rem;color:var(--black);font-family:'DM Sans',sans-serif;font-size:0.9rem;outline:none;transition:border-color 0.15s}
.f-row input:focus,.f-row select:focus,.f-row textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(176,48,32,0.15)}
.f-row textarea{resize:vertical;min-height:90px}
.f-submit{width:100%;background:var(--red);color:#FFFFFF;font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.82rem;letter-spacing:0.08em;text-transform:uppercase;border:2px solid var(--red);padding:0.9rem;border-radius:4px;cursor:pointer;transition:background 0.15s}
.f-submit:hover{background:var(--red-dark)}

/* FOOTER */
footer{background:var(--black);border-top:3px solid var(--red)}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;padding:3rem 2.5rem 2rem}
.footer-brand .footer-logo{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:0.06em;text-transform:uppercase;color:#FFFFFF;margin-bottom:0.35rem}
.footer-brand .footer-logo span{color:var(--red)}
.footer-brand .footer-tagline{font-size:0.75rem;color:#888;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:1rem}
.footer-brand p{font-size:0.82rem;color:#999;line-height:1.7;max-width:240px}
.footer-col h4{font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:#FFFFFF;margin-bottom:0.9rem}
.footer-col ul{list-style:none;padding:0}
.footer-col ul li{margin-bottom:0.6rem}
.footer-nav-btn{background:none;border:1.5px solid rgba(255,255,255,0.55);color:#FFFFFF;font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.07em;text-transform:uppercase;padding:0.35rem 0.75rem;border-radius:4px;cursor:pointer;transition:border-color 0.15s,background 0.15s,color 0.15s;display:inline-block;text-decoration:none}
.footer-nav-btn:hover{border-color:var(--purple-mid);background:rgba(169,141,206,0.12);color:var(--purple-light)}
.footer-cta-btn{background:none;color:var(--red);border:1.5px solid var(--red);font-family:'DM Sans',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.07em;text-transform:uppercase;padding:0.35rem 0.75rem;border-radius:4px;cursor:pointer;transition:background 0.15s,color 0.15s;display:inline-block;margin-top:0.25rem;text-decoration:none}
.footer-cta-btn:hover{background:var(--red-light);color:var(--red-dark)}
.footer-contact-text{color:#999;font-size:0.82rem;display:block;margin-bottom:0.4rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:1.25rem 2.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem}
.footer-copy{font-size:0.75rem;color:#666;letter-spacing:0.03em}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:0.75rem;color:#666;text-decoration:none;transition:color 0.15s}
.footer-legal a:hover{color:#FFFFFF}

/* SUCCESS MESSAGE */
.form-success{display:none;background:var(--purple-light);border:1.5px solid var(--purple-mid);border-radius:6px;padding:1.25rem 1.5rem;margin-top:1rem;text-align:center}
.form-success p{color:var(--purple-text);font-size:0.9rem;font-weight:500}

/* ═══════════════════════════════════════════════════
   RESPONSIVE & MOBILE — breakpoints: 768px, 480px
═══════════════════════════════════════════════════ */

/* Tablet (≤ 900px) */
/* Who we serve — 5 across only when there's room, otherwise an even 3-2 */
@media (max-width: 1160px) {
  .clients-grid { grid-template-columns: repeat(6, 1fr); }
  .client-card:nth-child(-n+3) { grid-column: span 2; }
  .client-card:nth-child(n+4) { grid-column: span 3; }
}

@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  .chicago-card { max-width: 560px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .pricing-grid { grid-template-columns: 1fr; gap: 1rem; }
  .about-split-inner { grid-template-columns: 1fr; }
  .about-col { border-right: none; border-bottom: 2px solid var(--black); }
  .about-col:last-child { border-bottom: none; }
  .svc-row { grid-template-columns: 1fr; gap: 1rem; }
  .founder-cards { grid-template-columns: 1fr; }
  .contact-wrap-inner { grid-template-columns: 1fr; }
  .contact-info { border-right: none; border-bottom: 2px solid var(--black); }
  .manifesto-inner { grid-template-columns: 1fr; }
  .manifesto-left { border-right: none; border-bottom: 2px solid rgba(255,255,255,0.15); }
}

/* Mobile (≤ 768px) */
@media (max-width: 768px) {
  /* Nav — collapse to stacked logo + hamburger */
  .nav-inner { grid-template-columns: 1fr auto; padding: 0 1rem; }
  .nav-links { display: none; }
  .nav-links.open {
    display: flex; flex-direction: column; align-items: stretch;
    position: absolute; top: 68px; left: 0; right: 0; z-index: 300;
    background: var(--white); border-bottom: 2px solid var(--black);
    padding: 0.5rem 1rem 1rem; gap: 0.4rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  }
  .nav-links.open .dropdown-wrap { width: 100%; }
  .nav-links.open .nav-link { width: 100%; justify-content: center; }
  /* Inside the hamburger panel the submenu is always laid out in flow — no hover needed */
  .nav-links.open .dropdown-menu {
    position: static; transform: none; min-width: 100%;
    margin-top: 0.35rem; border-radius: 4px;
    opacity: 1; visibility: visible; transition: none; box-shadow: none;
  }
  .nav-links.open .dropdown-menu::before { display: none; }
  .nav-links.open .caret { display: none; }
  .hamburger {
    display: flex; flex-direction: column; justify-content: center;
    gap: 5px; background: none; border: 1.5px solid var(--black);
    border-radius: 4px; padding: 0.4rem 0.55rem; cursor: pointer;
    margin-left: 0.5rem;
  }
  .hamburger span {
    display: block; width: 18px; height: 2px;
    background: var(--black); border-radius: 2px;
    transition: transform 0.2s, opacity 0.2s;
  }
  .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav-cta { display: none; }

  /* Hero */
  .hero { padding: 3rem 1.25rem 2.5rem; }
  .hero-inner { grid-template-columns: 1fr; }
  .chicago-card { width: 100%; min-width: unset; margin-top: 1.5rem; }
  .retro-tag { font-size: 1.4rem; }
  .hero h1 { font-size: clamp(2rem, 8vw, 3rem); }

  /* Manifesto */
  .manifesto-left, .manifesto-right { padding: 2rem 1.25rem; }

  /* Services grid */
  .services-preview { padding: 2.5rem 1.25rem; }
  .services-grid { grid-template-columns: 1fr; }
  .svc-card { border-right: none; border-bottom: 1px solid var(--black); }
  .svc-card:last-child { border-bottom: none; }

  /* Clients */
  .clients { padding: 2.5rem 1.25rem; }
  .clients-grid { grid-template-columns: 1fr; }
  .client-card:nth-child(-n+3),
  .client-card:nth-child(n+4) { grid-column: auto; }

  /* About */
  .about-hero { padding: 2.5rem 1.25rem; }
  .founders { padding: 2rem 1.25rem; }
  .headshot { width: 104px; height: 104px; }

  /* Services */
  .services-hero { padding: 2.5rem 1.25rem 2rem; }
  .svc-row { padding: 1.75rem 1.25rem; }
  .svc-detail-hero { padding: 2.5rem 1.25rem 2rem; }
  .svc-detail-body { padding: 2rem 1.25rem; }

  /* Pricing */
  .pricing { padding: 2.5rem 1.25rem; }
  .pricing-grid { grid-template-columns: 1fr; }

  /* Contact */
  .contact-info { padding: 2.5rem 1.25rem; }
  .contact-form-wrap { padding: 2.5rem 1.25rem; }
  .contact-info > *, .contact-form-wrap > * { max-width: 100%; }

  /* Footer */
  .footer-top { grid-template-columns: 1fr; gap: 2rem; padding: 2rem 1.25rem 1.5rem; }
  .footer-bottom { padding: 1rem 1.25rem; flex-direction: column; align-items: flex-start; gap: 0.75rem; }
}

/* Small mobile (≤ 480px) */
@media (max-width: 480px) {
  .logo-main { font-size: 1rem; }
  .hero h1 { font-size: clamp(1.8rem, 9vw, 2.4rem); }
  .retro-tag { font-size: 1.2rem; }
  .hero-btns { flex-direction: column; }
  .btn-red, .btn-outline { width: 100%; text-align: center; }
  .section-title { font-size: 1.5rem; }
  .founder-cards { grid-template-columns: 1fr; }
  .tier-card { border-radius: 6px; }
  .footer-legal { flex-direction: column; gap: 0.5rem; }
}

/* Touch target sizing — all interactive elements at least 44x44px */
@media (max-width: 768px) {
  .nav-link, .nav-cta, .btn-red, .btn-outline,
  .f-submit, .footer-nav-btn, .footer-cta-btn,
  .svc-deep-btn, .back-btn { min-height: 44px; }
  .svc-card { min-height: 44px; }
}
