.swift-module__r-1YCa__page{--ink:#0b1b2c;--ink-soft:#2a3f58;--parchment:#f6f1e7;--parchment-2:#fbf7ef;--gold:#b98f3e;--gold-soft:#e3d2a7;--gold-deep:#8a6829;--rule:#c8b89e;--muted:#6a6157;--accent:var(--cc-accent);--accent-soft:var(--cc-accent-2);--accent-deep:var(--cc-accent-dark);--serif-display:"EB Garamond", "Iowan Old Style", Georgia, serif;--serif-body:"Lora", "Iowan Old Style", Georgia, serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;background:var(--parchment);color:var(--ink);font-family:var(--serif-body);font-feature-settings:"kern", "liga", "onum";-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:18px;line-height:1.65}:is(.swift-module__r-1YCa__page h1,.swift-module__r-1YCa__page h2,.swift-module__r-1YCa__page h3,.swift-module__r-1YCa__page h4){font-family:var(--serif-display);letter-spacing:-.012em;color:var(--ink);font-weight:500;line-height:1.1}.swift-module__r-1YCa__page h1{font-size:clamp(2.6rem,7vw,5.4rem)}.swift-module__r-1YCa__page h2{margin-top:0;font-size:clamp(1.9rem,4vw,3rem)}.swift-module__r-1YCa__page h3{letter-spacing:-.005em;font-size:clamp(1.2rem,2.5vw,1.4rem);font-weight:600}.swift-module__r-1YCa__page h4{font-size:clamp(1rem,2vw,1.15rem);font-weight:600}.swift-module__r-1YCa__page code{font-family:var(--mono);font-size:.9em}.swift-module__r-1YCa__eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 18px;font-size:11px;font-weight:500}.swift-module__r-1YCa__container{width:min(1180px,100% - 48px);margin:0 auto}.swift-module__r-1YCa__containerNarrow{width:min(820px,100% - 48px);margin:0 auto}.swift-module__r-1YCa__rule{border:none;border-top:1px solid var(--rule);width:100%;margin:0}.swift-module__r-1YCa__ruleCenter{border-top-width:2px;width:80px;margin:40px auto}.swift-module__r-1YCa__hero{padding:clamp(56px,10vw,96px) 0 clamp(40px,6vw,64px);position:relative}.swift-module__r-1YCa__hero:after{content:"";background:var(--rule);width:1px;height:60px;margin:64px auto 0;display:block}.swift-module__r-1YCa__heroMeta{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:32px;margin-bottom:32px;font-size:11px;display:flex}.swift-module__r-1YCa__heroMeta span:before{content:"·";color:var(--accent);margin-right:12px}.swift-module__r-1YCa__heroMeta span:first-child:before{content:"";margin-right:0}.swift-module__r-1YCa__heroTitle{max-width:16ch;margin:0 0 32px}.swift-module__r-1YCa__italicAccent{color:var(--accent-deep);font-style:italic;font-weight:400}.swift-module__r-1YCa__heroLede{font-family:var(--serif-body);color:var(--ink-soft);max-width:60ch;margin:0 0 40px;font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.7}.swift-module__r-1YCa__ctaRow{flex-wrap:wrap;gap:16px;margin-bottom:56px;display:flex}.swift-module__r-1YCa__ctaRowCenter{justify-content:center;margin:0}.swift-module__r-1YCa__btn{min-height:44px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:0;align-items:center;gap:8px;padding:14px 28px;font-size:12px;text-decoration:none;transition:all .2s;display:inline-flex}.swift-module__r-1YCa__btnPrimary{background:var(--ink);color:var(--parchment);border:1px solid var(--ink)}.swift-module__r-1YCa__btnPrimary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--parchment)}.swift-module__r-1YCa__btnSecondary{color:var(--ink);border:1px solid var(--ink);background:0 0}.swift-module__r-1YCa__btnSecondary:hover{background:var(--ink);color:var(--parchment)}.swift-module__r-1YCa__stats{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,1fr);gap:0;display:grid}.swift-module__r-1YCa__stat{border-right:1px solid var(--rule);padding:28px 24px}.swift-module__r-1YCa__stat:last-child{border-right:none}.swift-module__r-1YCa__statNum{font-family:var(--serif-display);color:var(--ink);letter-spacing:-.01em;font-size:clamp(2rem,3.5vw,3rem);font-weight:500;line-height:1}.swift-module__r-1YCa__unit{font-family:var(--mono);letter-spacing:.05em;color:var(--muted);vertical-align:middle;margin-left:4px;font-size:.5em}.swift-module__r-1YCa__statLabel{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:10px;font-size:10px}@media (max-width:720px){.swift-module__r-1YCa__stats{grid-template-columns:repeat(2,1fr)}.swift-module__r-1YCa__stat:nth-child(2){border-right:none}.swift-module__r-1YCa__stat:first-child,.swift-module__r-1YCa__stat:nth-child(2){border-bottom:1px solid var(--rule)}}.swift-module__r-1YCa__section{border-bottom:1px solid var(--rule);padding:clamp(40px,8vw,96px) 0}.swift-module__r-1YCa__sectionHeader{max-width:760px;margin-bottom:clamp(32px,5vw,56px)}.swift-module__r-1YCa__sectionHeader h2{margin:0 0 16px}.swift-module__r-1YCa__sectionHeader p{color:var(--ink-soft);margin:0;font-size:1.15rem}.swift-module__r-1YCa__twoCol{grid-template-columns:1fr 1.4fr;align-items:start;gap:72px;display:grid}@media (max-width:860px){.swift-module__r-1YCa__twoCol{grid-template-columns:1fr;gap:32px}}.swift-module__r-1YCa__pillquote{font-family:var(--serif-display);color:var(--ink);border-left:2px solid var(--accent);margin:0;padding:8px 0 8px 24px;font-size:1.45rem;font-style:italic;line-height:1.45}.swift-module__r-1YCa__pillquoteAttr{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:16px;font-size:11px;display:block}.swift-module__r-1YCa__dropcap:first-letter{font-family:var(--serif-display);float:left;color:var(--accent-deep);padding:6px 12px 0 0;font-size:5.2rem;font-weight:500;line-height:.85}.swift-module__r-1YCa__personas{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.swift-module__r-1YCa__persona{border:1px solid var(--cc-line,var(--rule));border-radius:var(--cc-radius,14px);box-shadow:var(--cc-shadow-sm);background:var(--parchment-2);padding:clamp(18px,4vw,26px)}.swift-module__r-1YCa__persona:last-child{border-right:1px solid var(--cc-line,var(--rule))}.swift-module__r-1YCa__personaNum{font-family:var(--mono);letter-spacing:.2em;color:var(--accent-deep);margin-bottom:12px;font-size:10px}.swift-module__r-1YCa__persona h4{margin:0 0 10px}.swift-module__r-1YCa__persona p{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.55}@media (max-width:860px){.swift-module__r-1YCa__personas{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.swift-module__r-1YCa__personas{grid-template-columns:1fr}}.swift-module__r-1YCa__phases{grid-template-columns:1fr;gap:12px;display:grid}.swift-module__r-1YCa__phase{border:1px solid var(--cc-line,var(--rule));border-radius:var(--cc-radius,14px);box-shadow:var(--cc-shadow-sm);background:var(--parchment-2);grid-template-columns:160px 1fr;align-items:baseline;gap:32px;padding:clamp(18px,4vw,28px);display:grid}.swift-module__r-1YCa__phase:last-child{border-bottom:1px solid var(--cc-line,var(--rule))}.swift-module__r-1YCa__phaseLabel{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);font-size:11px}.swift-module__r-1YCa__phaseContent h3{margin:0 0 8px;font-size:1.55rem;font-weight:500}.swift-module__r-1YCa__phaseContent p{color:var(--ink-soft);max-width:60ch;margin:0}@media (max-width:720px){.swift-module__r-1YCa__phase{grid-template-columns:1fr;gap:8px}}.swift-module__r-1YCa__weeks{grid-template-columns:1fr;gap:10px;display:grid}.swift-module__r-1YCa__week{border:1px solid var(--cc-line,var(--rule));border-radius:var(--cc-radius-sm,10px);box-shadow:var(--cc-shadow-sm);background:var(--parchment-2);grid-template-columns:80px 1fr 280px;align-items:start;gap:24px;padding:clamp(14px,3vw,24px);display:grid}.swift-module__r-1YCa__week:last-child{border-bottom:1px solid var(--cc-line,var(--rule))}.swift-module__r-1YCa__weekNum{font-family:var(--serif-display);color:var(--accent-deep);font-size:2.2rem;font-style:italic;font-weight:500;line-height:1}.swift-module__r-1YCa__weekNum:before{content:"Wk.";font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10px;font-style:normal;display:block}.swift-module__r-1YCa__weekBody h3{margin:0 0 8px;font-size:1.35rem}.swift-module__r-1YCa__topics{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.55}.swift-module__r-1YCa__weekMini{background:var(--parchment);border:1px solid var(--cc-line,var(--rule));border-radius:var(--cc-radius-sm,10px);padding:14px 18px}.swift-module__r-1YCa__weekMiniLabel{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:8px;font-size:10px}.swift-module__r-1YCa__weekMiniTitle{font-family:var(--serif-display);color:var(--ink);margin:0;font-size:1.05rem;font-weight:500}@media (max-width:920px){.swift-module__r-1YCa__week{grid-template-columns:60px minmax(0,1fr);gap:16px}.swift-module__r-1YCa__weekMini{grid-column:1/-1;margin-top:4px}}@media (max-width:480px){.swift-module__r-1YCa__week{grid-template-columns:1fr;gap:12px}.swift-module__r-1YCa__weekNum{font-size:1.6rem}}.swift-module__r-1YCa__tools{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.swift-module__r-1YCa__tool{border:1px solid var(--cc-line,var(--rule));border-radius:var(--cc-radius-sm,10px);box-shadow:var(--cc-shadow-sm);background:var(--parchment-2);padding:clamp(16px,3vw,24px)}.swift-module__r-1YCa__toolCat{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px}.swift-module__r-1YCa__toolName{font-family:var(--serif-display);color:var(--ink);font-size:1.15rem;font-weight:500}.swift-module__r-1YCa__toolNote{color:var(--ink-soft);margin-top:4px;font-size:.85rem}@media (max-width:860px){.swift-module__r-1YCa__tools{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.swift-module__r-1YCa__tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.swift-module__r-1YCa__skillList{column-count:2;column-gap:48px;margin:0;padding:0;list-style:none}.swift-module__r-1YCa__skillList li{break-inside:avoid;border-bottom:1px dotted var(--rule);color:var(--ink);padding:14px 0;font-size:1rem;line-height:1.6}.swift-module__r-1YCa__skillList li:before{content:"§ ";font-family:var(--serif-display);color:var(--accent);margin-right:6px}@media (max-width:720px){.swift-module__r-1YCa__skillList{column-count:1}}.swift-module__r-1YCa__capstoneCard{background:var(--parchment-2);border:1px solid var(--cc-line,var(--rule));border-left:4px solid var(--accent);border-radius:var(--cc-radius,14px);box-shadow:var(--cc-shadow-sm);padding:clamp(20px,5vw,48px)}.swift-module__r-1YCa__capstoneCard h3{margin:0 0 8px;font-size:1.6rem}.swift-module__r-1YCa__capstoneTag{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:12px;font-size:10px}.swift-module__r-1YCa__capstoneCard p{color:var(--ink-soft)}.swift-module__r-1YCa__capstoneCard ul{color:var(--ink-soft);margin:12px 0;padding-left:22px}.swift-module__r-1YCa__capstoneCard li{margin-bottom:6px}.swift-module__r-1YCa__codecard{background:var(--ink);color:var(--parchment);font-family:var(--mono);border-radius:var(--cc-radius-sm,10px);padding:clamp(16px,4vw,32px) clamp(16px,4vw,36px);font-size:clamp(12px,2vw,14px);line-height:1.7;overflow-x:auto}.swift-module__r-1YCa__comment{color:var(--accent-soft)}.swift-module__r-1YCa__codeAccent{color:var(--accent-soft);font-weight:500}.swift-module__r-1YCa__codecard pre{white-space:pre-wrap;font-family:var(--mono);margin:0}.swift-module__r-1YCa__faq details{border-top:1px solid var(--rule);padding:24px 0}.swift-module__r-1YCa__faq details:last-child{border-bottom:1px solid var(--rule)}.swift-module__r-1YCa__faq summary{cursor:pointer;font-family:var(--serif-display);justify-content:space-between;align-items:center;gap:24px;font-size:1.25rem;font-weight:500;list-style:none;display:flex}.swift-module__r-1YCa__faq summary::-webkit-details-marker{display:none}.swift-module__r-1YCa__faq summary:after{content:"+";font-family:var(--serif-display);color:var(--accent-deep);font-size:1.6rem;transition:transform .2s}.swift-module__r-1YCa__faq details[open] summary:after{content:"−"}.swift-module__r-1YCa__faq details p{color:var(--ink-soft);max-width:66ch;margin:16px 0 0}.swift-module__r-1YCa__ctaSection{padding:clamp(32px,6vw,64px) 0}.swift-module__r-1YCa__ctaBlock{background:var(--ink);color:var(--parchment-2);text-align:center;border-radius:var(--cc-radius,14px);padding:clamp(36px,8vw,96px) clamp(20px,5vw,48px)}.swift-module__r-1YCa__ctaBlock h2{color:var(--parchment-2)}.swift-module__r-1YCa__ctaBlock .swift-module__r-1YCa__eyebrowReversed{color:var(--accent-soft)}.swift-module__r-1YCa__ledeReversed{color:var(--accent-soft);max-width:50ch;margin:0 auto 32px;font-size:clamp(1.15rem,1.5vw,1.35rem);font-style:italic;line-height:1.65}.swift-module__r-1YCa__ctaBlock .swift-module__r-1YCa__btnPrimary{background:var(--accent);border-color:var(--accent);color:var(--ink)}.swift-module__r-1YCa__ctaBlock .swift-module__r-1YCa__btnPrimary:hover{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--ink)}.swift-module__r-1YCa__ctaBlock .swift-module__r-1YCa__btnSecondary{color:var(--parchment-2);border-color:var(--parchment-2);background:0 0}.swift-module__r-1YCa__ctaBlock .swift-module__r-1YCa__btnSecondary:hover{background:var(--parchment-2);color:var(--ink)}.swift-module__r-1YCa__textCenterMuted{text-align:center;color:var(--ink-soft)}.swift-module__r-1YCa__heroSection{border-bottom:none;padding-bottom:0}.swift-module__r-1YCa__audienceSection{padding-top:64px}
