:root{--ink:#101316;--soft:#e8e2d8;--line:#d5cfc3;--muted:#626560;--copper:#a6532f;--navy:#17283d;--forest:#203a30;--r:32px;--r2:20px;--shadow:0 24px 65px rgba(22,24,23,.09);--display:"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%}.skip{position:absolute;left:-9999px;top:10px;background:var(--ink);color:#fff;padding:12px;z-index:9}.skip:focus{left:10px}.shell{width:min(1440px,calc(100% - 56px));margin:auto}.kicker{font-size:11px;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;font-weight:820;color:var(--accent)}
.nav{height:92px;display:grid;grid-template-columns:250px 1fr auto;gap:38px;align-items:center;border-bottom:1px solid rgba(16,19,22,.15)}.logo img{width:230px;height:auto}.navlinks{justify-self:center;display:flex;align-items:center;gap:27px;font-size:12px;font-weight:700}.nav-cta{justify-self:end;border:1px solid var(--ink);border-radius:999px;padding:12px 18px;font-size:12px;font-weight:780}.crumbs{padding-top:28px;color:var(--muted);font-size:11px;letter-spacing:.04em}.crumbs a{text-decoration:underline;text-underline-offset:3px}
.hero{padding:42px 0 100px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(540px,1.12fr);gap:62px;align-items:center}.hero h1{margin:22px 0 24px;max-width:720px;font:400 clamp(56px,5.2vw,78px)/1.01 var(--display);letter-spacing:-.045em}.hero p{max-width:660px;margin:0;color:#414440;font-size:18px;line-height:1.67}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:1px solid var(--ink);border-radius:999px;padding:0 22px;font-size:13px;font-weight:800}.button.dark{background:var(--ink);color:#fff}.button.light{background:rgba(255,255,255,.36)}.hero-visual{position:relative;margin:0;aspect-ratio:3/2;overflow:hidden;border-radius:var(--r);box-shadow:var(--shadow)}.hero-visual:before{content:"";position:absolute;inset:18px -18px -18px 18px;background:var(--tone);border-radius:var(--r);z-index:-1}.hero-visual img{width:100%;height:100%!important;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}.hero-visual figcaption{position:absolute;left:18px;bottom:18px;max-width:calc(100% - 36px);background:rgba(251,250,246,.92);border:1px solid rgba(16,19,22,.12);border-radius:999px;padding:9px 13px;font-size:10px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}
.moment{padding:0 0 78px}.moment-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:80px;align-items:end;padding-top:72px;border-top:1px solid rgba(16,19,22,.14)}.moment h2,.section-heading h2,.fit-copy h2,.faq-intro h2{margin:16px 0 0;font:400 clamp(43px,4.4vw,64px)/1.06 var(--display);letter-spacing:-.038em}.moment-head>p,.section-heading>p,.faq-intro>p{max-width:520px;margin:0;color:var(--muted);font-size:15px;line-height:1.72}.needs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.need{min-height:285px;padding:30px 28px;border-radius:var(--r2);background:var(--white);display:flex;flex-direction:column;border:1px solid rgba(16,19,22,.06)}.need:nth-child(2){background:var(--tone)}.need:nth-child(3){background:var(--navy);color:#fff}.need .num{font:500 38px/1 var(--display);color:var(--accent)}.need h3{margin:auto 0 12px;font-size:24px;line-height:1.1;letter-spacing:-.025em}.need p{margin:0;color:var(--muted);font-size:14px;line-height:1.62}.need:nth-child(3) p{color:#cbd1d8}
.directions{padding:0 0 78px}.directions-head{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(330px,.86fr);gap:80px;align-items:end;margin-bottom:38px;padding-top:72px;border-top:1px solid rgba(16,19,22,.14)}.directions h2{margin:16px 0 0;font:400 clamp(43px,4.4vw,64px)/1.06 var(--display);letter-spacing:-.038em}.directions-head>p{max-width:530px;margin:0;color:var(--muted);font-size:15px;line-height:1.72}.direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.direction-card{overflow:hidden;border-radius:var(--r2);border:1px solid rgba(16,19,22,.08);background:var(--white)}.direction-media{position:relative;aspect-ratio:3/2;overflow:hidden;background:#ded8cd}.direction-media img{position:absolute;width:200%;height:200%!important;max-width:none;object-fit:cover}.direction-card[data-quadrant="1"] img{left:0;top:0}.direction-card[data-quadrant="2"] img{left:-100%;top:0}.direction-card[data-quadrant="3"] img{left:0;top:-100%}.direction-card[data-quadrant="4"] img{left:-100%;top:-100%}.direction-copy{padding:27px 28px 30px}.direction-copy small{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.direction-copy h3{margin:10px 0 11px;font-size:25px;line-height:1.1;letter-spacing:-.025em}.direction-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.62}.direction-components{margin-top:16px;padding-top:15px;border-top:1px solid var(--line);font-size:12px;line-height:1.55;color:#444742}
.program{margin:0 0 78px;padding:clamp(46px,6.2vw,86px);border-radius:var(--r);background:linear-gradient(126deg,var(--navy) 0%,var(--deep) 72%,#4d3127 150%);color:#fff}.program-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:70px;align-items:end}.program h2{max-width:850px;margin:18px 0 0;font:400 clamp(45px,4.8vw,70px)/1.05 var(--display);letter-spacing:-.04em}.program-head p{margin:0;color:#d4d8dc;font-size:15px;line-height:1.72}.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:50px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r2);overflow:hidden;background:rgba(255,255,255,.2)}.route{min-height:245px;padding:28px;background:rgba(12,22,34,.78);display:flex;flex-direction:column}.route small{color:#e19a77;font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.route h3{margin:auto 0 12px;font-size:24px;line-height:1.1}.route p{margin:0;color:#cdd2d6;font-size:14px;line-height:1.62}
.execution{padding:0 0 82px}.section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:80px;align-items:end;margin-bottom:38px}.steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.step{min-height:260px;padding:28px 24px;background:var(--white);border-right:1px solid var(--line)}.step:last-child{border-right:0}.step b{color:var(--accent);font-size:11px;letter-spacing:.1em}.step h3{margin:52px 0 12px;font-size:21px;line-height:1.12}.step p{margin:0;color:var(--muted);font-size:13px;line-height:1.62}
.fit{margin:0 0 82px;border-radius:var(--r);overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;background:var(--forest);color:#fff}.fit-copy{padding:clamp(44px,5.8vw,78px)}.fit-copy p{margin:22px 0 0;color:#cad3cf;font-size:15px;line-height:1.72}.fit-lists{display:grid;grid-template-columns:1fr 1fr;background:var(--white);color:var(--ink)}.fit-list{padding:clamp(36px,4vw,54px)}.fit-list+ .fit-list{border-left:1px solid var(--line);background:var(--tone)}.fit-list h3{margin:0 0 24px;font-size:24px;line-height:1.1}.fit-list ul{list-style:none;margin:0;padding:0}.fit-list li{padding:15px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.58}.fit-list li:before{content:"↳";color:var(--accent);margin-right:8px}
.faq-section{padding:0 0 82px}.faq-wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px}.faq-intro{position:sticky;top:28px;align-self:start}.quick-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.fact{padding:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--muted)}.fact b{display:block;margin-bottom:5px;color:var(--ink)}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;font-size:18px;font-weight:730;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:3px;top:21px;font-size:24px;color:var(--accent)}details[open] summary:after{content:"−"}.answer{max-width:790px;padding:0 44px 25px 0;color:var(--muted);font-size:14px;line-height:1.7}
.closing{margin:0 0 44px;padding:clamp(46px,6vw,82px);border-radius:var(--r);background:linear-gradient(126deg,#121c28 0%,#213d59 60%,#4b3127 145%);color:#fff;display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:64px;align-items:center}.closing h2{max-width:880px;margin:18px 0 22px;font:400 clamp(46px,5vw,72px)/1.05 var(--display);letter-spacing:-.04em}.closing p{max-width:760px;margin:0;color:#d5d8dc;font-size:16px;line-height:1.7}.closing .actions{margin-top:30px;flex-direction:row;align-items:stretch}.closing .button{min-width:220px}.closing .button.dark{background:var(--white);border-color:var(--white);color:var(--ink)}.closing .button.light{border-color:#9eb0c0;background:transparent;color:#fff}
.brief-form{background:rgba(251,250,246,.98);color:var(--ink);border-radius:24px;padding:32px;box-shadow:0 22px 55px rgba(0,0,0,.16)}.brief-form h3{margin:0 0 7px;font-size:25px;letter-spacing:-.03em}.brief-form>.form-intro{margin:0 0 24px;color:var(--muted);font-size:12px;line-height:1.55}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}.field label{font-size:10px;font-weight:820;letter-spacing:.1em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid #c9c2b6;border-radius:12px;background:#fffdf8;color:var(--ink);font:inherit;font-size:13px;line-height:1.4;padding:13px 14px;outline:none}.field textarea{min-height:112px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(166,83,47,.12)}.response-promise{margin-top:18px;padding:14px 16px;border-radius:12px;background:#ede7dc;border-left:3px solid var(--accent);display:flex;align-items:center;justify-content:space-between;gap:14px}.response-promise span{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.response-promise strong{font-size:13px;line-height:1.35;text-align:right}.brief-form .submit{width:100%;margin-top:14px;border:0;border-radius:999px;background:var(--navy);color:#fff;min-height:50px;padding:0 20px;font-size:13px;font-weight:800;cursor:pointer}.brief-form .form-note{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.sibling-nav{display:flex;justify-content:space-between;gap:24px;padding:24px 0 38px;border-top:1px solid rgba(16,19,22,.16);font-size:12px;font-weight:800}.sibling-nav a{max-width:45%}.sibling-nav a:last-child{text-align:right}footer{display:grid;grid-template-columns:260px 1fr auto;gap:38px;align-items:start;padding:30px 0 42px;border-top:1px solid rgba(16,19,22,.16);color:var(--muted);font-size:11px;line-height:1.65}.foot-logo img{width:200px}.foot-note{max-width:670px}
.layout-reverse .hero-copy{order:2}.layout-reverse .hero-visual{order:1}.layout-reverse .hero-visual:before{inset:18px 18px -18px -18px}.layout-reverse .moment-head,.layout-reverse .section-heading{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)}
@media(max-width:1100px){.nav{grid-template-columns:220px 1fr auto}.logo img{width:205px}.navlinks{display:none}.hero,.moment-head,.directions-head,.program-head,.section-heading,.fit,.faq-wrap,.closing{grid-template-columns:1fr}.layout-reverse .hero-copy,.layout-reverse .hero-visual{order:initial}.layout-reverse .moment-head,.layout-reverse .section-heading{grid-template-columns:1fr}.needs,.routes{grid-template-columns:1fr 1fr}.need:last-child,.route:last-child{grid-column:span 2}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}.faq-intro{position:static}.brief-form{max-width:760px}.closing .actions{flex-direction:row}.fit-lists{min-height:0}footer{grid-template-columns:1fr}}
@media(max-width:720px){.shell{width:min(100% - 28px,1440px)}.nav{height:74px;grid-template-columns:1fr auto;gap:20px}.logo img{width:184px}.nav-cta{padding:10px 13px;font-size:10px;white-space:nowrap}.crumbs{padding-top:20px}.hero{padding:36px 0 90px;gap:42px}.hero h1{font-size:clamp(46px,14vw,64px);line-height:1;letter-spacing:-.048em}.hero p{font-size:16px}.hero .actions{flex-wrap:nowrap;gap:8px}.hero .button{min-height:44px;padding:0 9px;font-size:10px;white-space:nowrap;flex:1}.hero-visual:before,.layout-reverse .hero-visual:before{inset:12px -8px -12px 8px}.hero-visual{aspect-ratio:3/2}.hero-visual img{aspect-ratio:3/2}.hero-visual figcaption{left:12px;bottom:12px;max-width:calc(100% - 24px);font-size:9px}.moment{padding:0 0 72px}.directions{padding-bottom:72px}.directions-head{grid-template-columns:1fr;gap:22px;padding-top:54px;margin-bottom:30px}.directions h2{font-size:43px;line-height:1.08}.direction-grid{grid-template-columns:1fr;gap:16px}.direction-copy{padding:23px 23px 26px}.moment-head{padding-top:0;border-top:0;gap:22px}.moment h2,.section-heading h2,.fit-copy h2,.faq-intro h2{font-size:43px;line-height:1.08}.needs,.routes,.steps,.fit-lists{grid-template-columns:1fr}.needs{gap:12px;margin-top:30px}.need{min-height:235px}.need:last-child,.route:last-child{grid-column:auto}.program{margin-bottom:72px;padding:42px 27px}.program-head{gap:22px}.program h2{font-size:45px;line-height:1.07}.routes{margin-top:34px}.route{min-height:210px}.execution{padding-bottom:72px}.section-heading{gap:22px;margin-bottom:30px}.step,.step:nth-child(2){border-right:0;border-bottom:1px solid var(--line);min-height:220px}.step:last-child{border-bottom:0}.step h3{margin-top:38px}.fit{margin-bottom:72px}.fit-copy{padding:42px 28px}.fit-lists{display:grid}.fit-list{padding:34px 28px}.fit-list+ .fit-list{border-left:0;border-top:1px solid var(--line)}.faq-section{padding-bottom:72px}.faq-wrap{gap:34px}.quick-facts{grid-template-columns:1fr}.closing{padding:45px 28px;gap:34px}.closing h2{font-size:46px;line-height:1.07}.closing .actions{flex-direction:column;width:100%}.brief-form{padding:25px 20px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.response-promise{align-items:flex-start;flex-direction:column;gap:5px}.response-promise strong{text-align:left}.closing .button{width:100%}.sibling-nav{align-items:flex-start}.sibling-nav a{max-width:48%}footer{grid-template-columns:1fr}.foot-logo img{width:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
