Community impact—not box checking
Does volunteering help with college admissions?
Volunteering can become a meaningful part of a college application—but not because admissions officers are counting service hours or waiting for every student to join the same charity.
The strongest service experiences begin with a real person, place, problem, or community. They grow through consistency. They change the student as much as they help anyone else. And when presented well, they reveal qualities colleges care about: responsibility, empathy, initiative, collaboration, perspective, and the ability to contribute.
That means the right question is not simply, “How many hours should I volunteer?” It is: “Where can I be genuinely useful, what can I learn, and how can I keep showing up long enough to matter?”
!
No, volunteering is not required. Harvard explicitly considers community involvement alongside many other factors, while Common App allows students to report work, hobbies, family responsibilities, and community engagement. A paid job, caregiving role, or sustained contribution at home can be just as meaningful as formal service. The value lies in what the experience reveals—not the label attached to it.
Scroll to collect seven impact stamps
Station one · The first ripple
What volunteering can—and cannot—do for an application Service can reveal important qualities, but it does not function as an automatic admissions boost. Use the interactive question to separate the useful signal from the myth.
01
Selective colleges evaluate activities as part of a broader, contextual review. Harvard says there is no formula and identifies community involvement, leadership, extracurricular distinction, character, and academic achievement among the factors it considers. Yale similarly emphasizes what applicants have actually done and how they have engaged with a group or community—not simply how many years they held a title.
Reliability
Empathy
Initiative
Perspective
Quick check: what are colleges really rewarding?
Choose the statement you think is stronger.
“I completed 300 service hours.”
“I became useful enough to be trusted with more.”
Select one to see how an admissions reader might interpret it.
Can show Commitment Repeated participation can demonstrate that you keep promises and remain engaged after the novelty wears off.
Can develop Transferable skills Communication, teamwork, planning, cultural humility, problem-solving, and leadership often grow through actual responsibility.
Cannot replace The rest of your profile Service does not compensate automatically for weak academics, shallow engagement, generic writing, or a disconnected overall application.
Impact Stamp 01
Station two · Cause compass
Find service that fits your interests, strengths, and actual life The best opportunity is rarely the most prestigious one. Use the compass to discover a direction that is realistic enough to sustain and meaningful enough to deepen.
02
Start by looking for alignment among three things: what you care about, how you like to contribute, and what you can sustain . A student who loves teaching may thrive as a tutor. A student who prefers systems may improve volunteer scheduling or inventory. A student with limited transportation may create useful digital resources from home.
Which cause pulls you most? Education Health Environment Access & equity
How do you like to help? Work directly with people Create resources Organize systems Research or advocate
What can you realistically sustain? Weekly Monthly Seasonal project Remote or home-based
Your direction will appear here. Choose one option from each row. The tool will suggest a starting point—not a résumé formula.
Do not overlook the service already embedded in your life Helping care for siblings, translating for family members, supporting a family business, working a paid job, contributing to a faith community, or regularly helping a neighbor can demonstrate responsibility and contribution. Harvard’s application guidance specifically tells students to report work experiences and help provided to family, and says students should not feel disadvantaged by limited extracurricular opportunities.
Impact Stamp 02
Station three · Impact ladder
Move from showing up to becoming genuinely useful Click each rung to see how a service experience can deepen naturally over time without turning into a manufactured “initiative.”
03
Many students think leadership requires founding something. It does not. Leadership can begin when an organization trusts you with a harder task, when you notice a recurring problem, when you train someone new, or when you improve a process that already exists.
1 · Attend and observe
2 · Become reliable
3 · Build relationships
4 · Take responsibility
5 · Improve the work
01
Attend and observe
Learn how the organization works, what the community actually needs, and which tasks are useful. This first stage is about humility, attention, and learning before trying to lead.
Strong growth sounds like “I began stocking supplies, then learned the intake process, noticed frequent translation gaps, and created a bilingual orientation sheet with staff feedback.”
Weak inflation sounds like “I founded a global movement” when the activity was a short-lived social media page with little participation or connection to a community partner.
Impact Stamp 03
Station four · Authenticity greenhouse
Grow the qualities that make service credible Adjust the sliders and watch the project grow. The goal is not a score; it is to see why consistency and connection often matter more than raw hours.
04
Admissions readers can often tell when service exists only for optics. A stronger experience has roots: genuine interest, sustained participation, real responsibility, reciprocal relationships, and reflection. Those roots make the story specific and believable.
A promising, rooted experience You have enough connection for this to feel real. Strengthen the experience by taking on clearer responsibility and staying long enough to understand the work.
Impact Stamp 04
Station five · Opportunity market
Choose a setting where you can contribute well—not just look impressive Filter the opportunity cards by access and style. Each card includes a possible path from participation to deeper contribution.
05
Reputable organizations should provide clear roles, appropriate supervision, safe working conditions, and a real need for volunteer help. Before committing, ask what volunteers actually do, how they are trained, what schedule is expected, and how the organization works with the community it serves.
All opportunities
Direct service
Remote friendly
Creative
Systems & operations
✎
Tutoring or literacy support Begin by assisting consistently. Deepen by adapting resources, tracking recurring misunderstandings, or helping train new volunteers.
Direct Education
+
Hospital or community health support Focus on appropriate nonclinical roles such as wayfinding, hospitality, translation support, supply organization, or outreach.
Direct Systems
◫
Digital resource creation Build accessible guides, translations, graphics, databases, or instructional materials in response to a partner’s stated need.
Remote Creative
♧
Environmental stewardship Support habitat restoration, cleanups, community gardens, citizen science, education, or ongoing site maintenance.
Direct Nature
↻
Nonprofit operations Offer data entry, volunteer scheduling, inventory management, grant research, process mapping, or event logistics.
Systems Remote
♪
Arts and community programming Assist with workshops, performances, museum access, youth programming, public art, or inclusive creative spaces.
Creative Direct
Green flags in an organization Clear expectations, training, adult supervision, respectful treatment of participants, transparency, and work connected to an actual community need.
Red flags to avoid Pay-to-volunteer programs built around photos, unsafe tasks, vague impact claims, exploitative “voluntourism,” or pressure to exaggerate your role.
Impact Stamp 05
Station six · Project workshop
Build a service plan that starts with listening Select one option in each row. The workshop will assemble a practical first draft you can copy and revise.
06
Students often begin with a solution before understanding the problem. A better sequence is: identify a community, listen to people already doing the work, clarify a need, choose a sustainable role, and establish a way to learn whether the effort is useful.
Your working plan
Choose one answer from each row
Your plan will appear here as a sequence of actions rather than a vague intention.
Begin with a community you can actually access. Listen before creating. Commit to a role that is useful and sustainable. Reflect on what changed, including your own assumptions.
Copy plan
Impact Stamp 06
Station seven · Reflection wall
Turn service into insight—not self-congratulation The final stage is reflection. Strong writing focuses on what you noticed, how you changed, what responsibility taught you, and how the relationship became more complex over time.
07
When volunteering appears in an activities description or essay, avoid centering yourself as the heroic solution. Focus instead on specificity, reciprocity, learning, responsibility, and the limits of what you could do. A mature reflection can acknowledge that meaningful work is rarely simple.
Changed perspective
Earned trust
Specific moment
Limits and complexity
Growth through service
Reflection prompt
What did you misunderstand at the beginning, and what changed your view?
Copy reflection Clear 0 words
For the activities list Prioritize role, action, scope, progression, and outcome. Use concrete verbs and avoid inflated claims.
For an essay Center a real moment, tension, relationship, or shift in understanding—not a summary of everything you did.
For the overall application Make sure the service experience connects naturally to your values, interests, skills, or community without forcing a perfect narrative.
Build a profile rooted in real contribution The Ivy Institute helps students identify authentic interests, develop meaningful long-term pursuits, and present their experiences with clarity—without manufacturing activities or replacing the student’s own voice.
Research and admissions-source notes
Harvard College: admissions criteria — community involvement is one factor among academics, leadership, extracurricular distinction, character, and other qualities.
Harvard College: application tips — students may report extracurricular activities, community contributions, work, and help provided to family; limited opportunities need not be a disadvantage.
Yale Undergraduate Admissions: what Yale looks for — applicants should present meaningful activities and interests openly and honestly.
MIT Admissions: extracurricular activities — students are encouraged to choose activities because they genuinely delight, intrigue, or challenge them rather than because they appear impressive.
Common App: first-year application guide — the activities section can include work, hobbies, clubs, and community engagement.
Impact Complete 07
-content-field="published-on"],.blog-item-wrapper header h1,article header h1){display:none!important}
body.tii-blog-title-live .tii-blog-native-hidden{display:none!important}
:is(html,body).sqs-edit-mode-active #tii-blog-article-title,:is(html,body).sqs-site-styles-active #tii-blog-article-title{display:none!important}
:root{--tii-n0:#04101f;--tii-n1:#0a1e37;--tii-n2:#0e2745;--tii-gold:#ead49f;--tii-blue:#8fb7df}
.tii-detective-blog-hero,.tii-detective-blog-hero *{box-sizing:border-box}
.tii-detective-blog-hero{position:relative;left:50%;width:100vw;max-width:none;margin:0 0 0 -50vw;overflow:hidden;isolation:isolate;contain:layout paint style;background:radial-gradient(circle at 78% 24%,rgba(78,131,188,.27),transparent 31%),radial-gradient(circle at 18% 70%,rgba(213,181,111,.17),transparent 31%),linear-gradient(145deg,var(--tii-n0),var(--tii-n1) 54%,var(--tii-n2))}
@supports(overflow:clip){.tii-detective-blog-hero{overflow:clip}}
.tii-detective-blog-hero::after{content:"";position:absolute;z-index:0;inset:auto 0 0;height:190px;pointer-events:none;background:linear-gradient(to top,rgba(4,16,31,.72),rgba(4,16,31,.32) 46%,transparent)}
.tii-db-body{position:relative;z-index:2;width:min(1320px,calc(100% - 64px));margin:auto}
.tii-db-copy{position:relative;z-index:3;width:68%;padding:36px 18px 30px 24px;display:flex;flex-direction:column;gap:15px;border-bottom:1px solid rgba(255,255,255,.12);contain:layout style}
.tii-db-kicker-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px}
.tii-db-chip,.tii-db-status,.tii-db-meta-item{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.20)}
.tii-db-chip,.tii-db-status,.tii-db-pulse-note{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.tii-db-chip,.tii-db-status{padding:8px 12px;border-radius:999px;color:#fff}.tii-db-chip{transform:translateX(-5%)}.tii-db-pulse-note{color:rgba(255,255,255,.76)}
.tii-db-status-dot,.tii-db-pulse-dot{position:relative;width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 7px;background:#fff}
.tii-db-status-dot::after,.tii-db-pulse-dot::after{content:"";position:absolute;inset:-1px;border:1px solid currentColor;border-radius:50%;opacity:0;transform:scale(1);animation:tiiRippleX 2.2s ease-out infinite}
.tii-db-pulse-text--mobile{display:none}
.tii-db-title{margin:0;max-width:23ch;padding-bottom:.12em;display:block;contain:paint;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(3rem,5.35vw,5rem);font-weight:800;line-height:1.03;letter-spacing:-.055em;text-wrap:balance;color:#fff;background:linear-gradient(135deg,#fff 0%,#fff 9%,var(--tii-gold) 18%,var(--tii-blue) 31%,#fff 43%,#fff 50%,#fff 59%,var(--tii-gold) 68%,var(--tii-blue) 81%,#fff 93%,#fff 100%);background-size:200% 200%;background-position:100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:tiiTitleFlow 9.5s steps(128,end) infinite;-webkit-font-smoothing:antialiased}
.tii-db-outline-intro{margin:2px 0 0;max-width:72ch;color:#fff;font:650 1rem/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.tii-db-outline-columns{width:min(100%,78ch);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:clamp(24px,3vw,46px)}.tii-db-outline{width:min(100%,78ch);margin:0;padding:0 0 0 1.25rem;display:grid;gap:.44rem;color:#fff}.tii-db-outline-columns .tii-db-outline{width:100%}.tii-db-outline li{margin:0;padding-left:.18rem;color:#fff;font:500 .95rem/1.42 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;break-inside:avoid}.tii-db-outline li::marker{color:#fff}.tii-db-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:3px}.tii-db-meta-item{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:13px;color:rgba(255,255,255,.84);font-size:.8rem;line-height:1.2}.tii-db-meta-item svg{width:14px;height:14px;stroke:currentColor;flex:0 0 14px}
.tii-db-stage{position:absolute;z-index:2;inset:0 0 0 auto;width:34%;overflow:hidden;touch-action:none;padding-left:14px;contain:layout paint style}
@supports(overflow:clip){.tii-db-stage{overflow:clip}}
@media(min-width:781px){.tii-db-stage{--g:max(32px,calc((100vw - 1320px)/2));right:calc(-1*var(--g));width:calc(34% + var(--g))}}
.tii-db-stage .tii-db-status{position:absolute;top:64px;right:14px;z-index:8;max-width:calc(100% - 28px);justify-content:center;text-align:center;overflow:hidden;text-overflow:ellipsis}.tii-db-status--mobile{display:none}
.tii-db-campus-field{position:absolute;z-index:2;inset:90px 10px 64px;contain:layout paint style}
.tii-db-campus-blip{position:absolute;z-index:3;min-width:90px;width:min(136px,24vw);padding:7px 9px 7px 7px;border-radius:15px;border:1px solid rgba(49,69,86,.10);background:rgba(255,255,255,.68);box-shadow:0 14px 26px rgba(49,69,86,.08);display:flex;align-items:center;gap:8px;pointer-events:none;opacity:0;transform:translate3d(0,10px,0) scale(.96);contain:layout paint style;animation:tiiCardScan 32s ease-in-out calc(5.9s + var(--d,0s)) infinite both}
.tii-db-campus-blip svg{width:28px;height:28px;flex:0 0 28px}.tii-db-campus-blip>div{min-width:0;line-height:1}.tii-db-campus-label{display:block;color:#314556;font-size:.62rem;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tii-db-campus-sub{display:block;margin-top:2px;color:#627888;font-size:.52rem;line-height:calc(1em + 2px);letter-spacing:.12em;text-transform:uppercase}
.tii-db-campus-1{top:3%;left:3%;--d:0s}.tii-db-campus-2{top:5%;left:38%;--d:2s}.tii-db-campus-3{top:4%;right:4%;--d:4s}.tii-db-campus-4{top:21%;left:13%;--d:6s}.tii-db-campus-5{top:19%;right:18%;--d:8s}.tii-db-campus-6{top:35%;left:43%;--d:10s}.tii-db-campus-7{top:40%;left:3%;--d:12s}.tii-db-campus-8{top:42%;right:3%;--d:14s}.tii-db-campus-9{top:58%;left:16%;--d:16s}.tii-db-campus-10{top:57%;right:27%;--d:18s}.tii-db-campus-11{top:70%;left:43%;--d:20s}.tii-db-campus-12{top:73%;right:7%;--d:22s}.tii-db-campus-13{bottom:2%;left:2%;--d:24s}.tii-db-campus-14{bottom:1%;left:27%;--d:26s}.tii-db-campus-15{bottom:3%;right:25%;--d:28s}.tii-db-campus-16{bottom:1%;right:2%;--d:30s}
.tii-db-scan-ring{position:absolute;width:210px;height:210px;border-radius:50%;border:1px dashed rgba(255,255,255,.20);left:48%;top:16%;opacity:.46;animation:tiiFloatRing 10s ease-in-out infinite}.tii-db-scan-ring::before,.tii-db-scan-ring::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.tii-db-scan-ring::before{inset:18px}.tii-db-scan-ring::after{inset:38px}
.tii-db-magnifier-wrap{position:absolute;inset:0 auto 0 50%;z-index:10000;width:min(1320px,calc(100% - 64px));transform:translateX(-50%);pointer-events:none;overflow:visible;contain:layout style}.tii-db-magnifier-manual-shift,.tii-db-magnifier-path,.tii-db-magnifier-patrol,.tii-db-magnifier-rig{position:absolute;inset:0}.tii-db-magnifier-manual-shift{z-index:10000;transform:translate3d(0,0,0)}.tii-returning .tii-db-magnifier-manual-shift{transition:transform 650ms cubic-bezier(.22,1,.36,1)}
.tii-db-magnifier-path{left:56%;top:calc(5.5% + 50px);width:112px;height:112px;animation:tiiEnter 5.9s cubic-bezier(.22,.72,.24,1) 1 both}.tii-db-magnifier-patrol{animation:tiiPatrol 32s ease-in-out 5.9s infinite}.tii-db-magnifier-rig{z-index:10001;animation:tiiTilt 6.4s ease-in-out infinite;transform-origin:64% 34%}.tii-db-magnifier-shadow{position:absolute;left:28px;top:89px;width:64px;height:17px;border-radius:50%;background:radial-gradient(ellipse,rgba(49,69,86,.18),rgba(49,69,86,0) 72%);animation:tiiShadow 6.4s ease-in-out infinite}.tii-db-magnifier-image{position:absolute;z-index:10003;left:0;top:0;width:104px;height:104px;object-fit:contain;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 7px 12px rgba(49,69,86,.13));transform:translateZ(0)}
.tii-db-magnifier-zoom{position:absolute;z-index:10005;left:42px;top:8px;width:51px;height:51px;border-radius:50%;overflow:hidden;pointer-events:none;border:1px solid rgba(255,255,255,.46);box-shadow:inset 0 0 0 1px rgba(255,255,255,.32),inset 0 0 13px rgba(186,220,241,.16),0 2px 9px rgba(1,9,20,.15);background:radial-gradient(circle at 31% 24%,rgba(255,255,255,.42) 0 7%,rgba(255,255,255,.13) 18%,transparent 42%),linear-gradient(135deg,rgba(224,240,250,.31),rgba(114,154,184,.12) 54%,rgba(255,255,255,.22))}.tii-db-magnifier-zoom::after{content:"";position:absolute;inset:8% 12% 52% 14%;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,0));opacity:.8;transform:rotate(-16deg)}
.tii-db-magnifier-beam{position:absolute;z-index:10002;left:65px;top:2px;width:190px;height:72px;transform-origin:0 50%;clip-path:polygon(0 44%,100% 0,100% 100%,0 56%);background:linear-gradient(90deg,rgba(255,255,255,.58),rgba(191,224,241,.30) 42%,rgba(102,127,146,0));opacity:.48;mix-blend-mode:screen;animation:tiiBeam 4.2s ease-in-out infinite}.tii-db-magnifier-trigger{position:absolute;left:47px;top:1px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(102,127,146,.28)}.tii-db-magnifier-trigger::after{content:"";position:absolute;inset:-1px;border:1px solid rgba(102,127,146,.28);border-radius:50%;opacity:.45;transform:scale(.84);animation:tiiTrigger 4.2s ease-out infinite}
.tii-magnifier-manual :is(.tii-db-magnifier-path,.tii-db-magnifier-patrol,.tii-db-magnifier-rig,.tii-db-magnifier-shadow,.tii-db-magnifier-beam,.tii-db-magnifier-trigger,.tii-db-campus-blip){animation-play-state:paused}.tii-magnifier-manual .tii-db-campus-blip{animation:none}
.tii-hero-offscreen{content-visibility:auto;contain-intrinsic-size:auto 650px}.tii-hero-offscreen :is(.tii-db-title,.tii-db-campus-blip,.tii-db-scan-ring,.tii-db-magnifier-path,.tii-db-magnifier-patrol,.tii-db-magnifier-rig,.tii-db-magnifier-shadow,.tii-db-magnifier-beam){animation-play-state:paused!important}.tii-hero-offscreen .tii-db-status-dot::after,.tii-hero-offscreen .tii-db-pulse-dot::after,.tii-hero-offscreen .tii-db-magnifier-trigger::after{animation-play-state:paused!important}
@keyframes tiiTitleFlow{from{background-position:100% 100%}to{background-position:0 0}}@keyframes tiiRippleX{0%{opacity:.45;transform:scale(.9)}75%,100%{opacity:0;transform:scale(2.4)}}@keyframes tiiCardScan{0%,100%{opacity:0;transform:translate3d(0,10px,0) scale(.96)}3%,10%{opacity:1;transform:translate3d(0,0,0) scale(1)}15%{opacity:0;transform:translate3d(0,-7px,0) scale(1.01)}}@keyframes tiiFloatRing{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(10px,6px,0) scale(1.04)}}
@keyframes tiiPatrol{0%,100%{transform:translate3d(0,0,0)}12%{transform:translate3d(clamp(72px,12vw,180px),2px,0)}25%{transform:translate3d(clamp(145px,23vw,285px),clamp(18px,4vh,42px),0)}38%{transform:translate3d(clamp(95px,16vw,210px),clamp(78px,15vh,155px),0)}51%{transform:translate3d(clamp(8px,2vw,34px),clamp(120px,23vh,225px),0)}64%{transform:translate3d(clamp(125px,20vw,255px),clamp(145px,27vh,255px),0)}77%{transform:translate3d(clamp(185px,29vw,340px),clamp(76px,14vh,145px),0)}89%{transform:translate3d(clamp(58px,9vw,128px),clamp(42px,8vh,88px),0)}}
@keyframes tiiPatrolM{0%,100%{transform:translate3d(0,0,0)}20%{transform:translate3d(clamp(42px,18vw,82px),2px,0)}40%{transform:translate3d(clamp(16px,7vw,38px),34px,0)}60%{transform:translate3d(clamp(48px,20vw,92px),72px,0)}80%{transform:translate3d(4px,56px,0)}}@keyframes tiiTilt{0%,100%{transform:rotate(-7deg) scale(1)}50%{transform:rotate(4deg) scale(1.02)}}@keyframes tiiShadow{0%,100%{transform:scale(1);opacity:.16}50%{transform:scale(.92);opacity:.10}}@keyframes tiiBeam{0%,100%{opacity:.24;transform:rotate(-12deg) scaleX(.91)}50%{opacity:.56;transform:rotate(-9deg) scaleX(1.05)}}@keyframes tiiTrigger{0%{opacity:.46;transform:scale(.84)}75%,100%{opacity:0;transform:scale(1.55)}}
@keyframes tiiEnter{0%{opacity:0;transform:translate3d(clamp(-160px,-11vw,-72px),-230px,0)}14%{opacity:.68;transform:translate3d(clamp(-150px,-10vw,-66px),-174px,0)}36%{opacity:1;transform:translate3d(clamp(-112px,-7vw,-48px),-108px,0)}64%{opacity:1;transform:translate3d(clamp(-58px,-3.5vw,-24px),-48px,0)}84%{opacity:1;transform:translate3d(-8px,-8px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}@keyframes tiiEnterM{0%{opacity:0;transform:translate3d(clamp(-176px,-51vw,-128px),-88px,0)}20%{opacity:.72;transform:translate3d(clamp(-146px,-40vw,-104px),-62px,0)}52%{opacity:1;transform:translate3d(clamp(-82px,-23vw,-58px),-30px,0)}82%{opacity:1;transform:translate3d(-10px,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:1080px){.tii-db-copy{width:62%}.tii-db-stage{width:40%}.tii-db-title{max-width:16ch;font-size:clamp(2.8rem,5.7vw,4.45rem)}}
@media(max-width:780px){.tii-detective-blog-hero{padding-top:38px}.tii-db-body{width:min(100%,calc(100% - 20px));display:flex;flex-direction:column}.tii-db-stage{order:1;position:relative;inset:auto;width:100%;height:177px;min-height:177px;padding:0}.tii-db-copy{order:2;width:100%;padding:0 18px 24px;gap:13px}.tii-db-kicker-row{display:none}.tii-db-title{max-width:none;font-size:clamp(2.55rem,11vw,4rem);line-height:1.04;padding-bottom:.14em}.tii-db-outline-intro{font-size:.96rem;line-height:1.5}.tii-db-outline-columns{display:block;width:100%}.tii-db-outline-columns .tii-db-outline+.tii-db-outline{margin-top:.4rem}.tii-db-outline{width:100%;padding-left:1.16rem;gap:.4rem}.tii-db-outline li{font-size:.91rem;line-height:1.4}.tii-db-campus-field{inset:48px 6px 18px;transform:translate3d(0,-15px,0)}.tii-db-stage .tii-db-status--desktop{display:none}.tii-db-stage .tii-db-status--mobile{display:flex;top:15px;left:50%;right:auto;width:max-content;max-width:calc(100% - 24px);padding:0;border:0;background:transparent;transform:translateX(-50%)}.tii-db-stage .tii-db-status--mobile .tii-db-status-dot{color:#d8b85a;background:#d8b85a}.tii-db-campus-blip{min-width:84px;width:min(120px,35vw);padding:7px;border-radius:13px;max-height:72px;animation-duration:34s}.tii-db-campus-blip svg{width:24px;height:24px;flex-basis:24px}.tii-db-campus-label{font-size:.56rem}.tii-db-campus-sub{font-size:.48rem}.tii-db-campus-1{top:2%;left:2%}.tii-db-campus-2{top:4%;left:34%}.tii-db-campus-3{top:3%;right:2%}.tii-db-campus-4{top:19%;left:5%}.tii-db-campus-5{top:18%;right:9%}.tii-db-campus-6{top:34%;left:36%}.tii-db-campus-7{top:39%;left:1%}.tii-db-campus-8{top:40%;right:1%}.tii-db-campus-9{top:57%;left:6%}.tii-db-campus-10{top:56%;right:16%}.tii-db-campus-11{top:69%;left:34%}.tii-db-campus-12{top:71%;right:2%}.tii-db-campus-13{bottom:1%;left:1%}.tii-db-campus-14{bottom:0;left:22%}.tii-db-campus-15{bottom:2%;right:22%}.tii-db-campus-16{bottom:0;right:1%}.tii-db-campus-field>.tii-db-campus-blip:nth-child(even){display:none}.tii-db-magnifier-wrap{inset:38px 10px auto;width:auto;height:177px;transform:none}.tii-db-magnifier-path{left:54%;top:calc(9% + 35px);width:88px;height:88px;animation-name:tiiEnterM;animation-duration:4.35s}.tii-db-magnifier-patrol{animation-name:tiiPatrolM;animation-duration:34s;animation-delay:4.35s}.tii-db-magnifier-image{width:82px;height:82px}.tii-db-magnifier-zoom{left:33px;top:7px;width:40px;height:40px}.tii-db-magnifier-shadow{left:23px;top:70px;width:50px;height:13px}.tii-db-magnifier-beam{left:51px;top:1px;width:126px;height:56px}.tii-db-magnifier-trigger{left:36px;top:0;width:34px;height:34px}}
@media(min-width:781px) and (hover:hover) and (pointer:fine){.tii-detective-blog-hero.tii-magnifier-takeover,.tii-detective-blog-hero.tii-magnifier-takeover *{cursor:none!important}}
@media(prefers-reduced-motion:reduce){.tii-db-title,.tii-db-status-dot::after,.tii-db-pulse-dot::after,.tii-db-campus-blip,.tii-db-scan-ring,.tii-db-magnifier-path,.tii-db-magnifier-patrol,.tii-db-magnifier-rig,.tii-db-magnifier-shadow,.tii-db-magnifier-beam,.tii-db-magnifier-trigger::after{animation:none!important}.tii-db-title{background-position:50% 50%}.tii-db-campus-blip{opacity:1;transform:none}}
-webkit-backdrop-filter: blur(20px) saturate(170%) contrast(.72) brightness(1.12);
backdrop-filter: blur(20px) saturate(170%) contrast(.72) brightness(1.12);
}
#ivy-article-dock .iad-surface::before {
content: ""; position: absolute; inset: 0; border-radius: inherit;
pointer-events: none;
box-shadow: inset 1px 0 0 rgba(255,255,255,.35), inset -1px 0 0 rgba(255,255,255,.18);
}
#ivy-article-dock .iad-link {
position: absolute; bottom: calc(var(--iad-bottom) + env(safe-area-inset-bottom, 0px));
display: inline-flex; align-items: center; justify-content: center; gap: 9px;
min-width: 112px; min-height: 48px; height: 48px; padding: 10px 18px;
border-radius: 999px; font-size: 12px; font-weight: 600;
transition: transform .22s ease, box-shadow .22s ease, border-color .18s ease;
}
#ivy-article-dock .iad-prev { left: max(var(--iad-edge), env(safe-area-inset-left, 0px)); }
#ivy-article-dock .iad-next { right: max(var(--iad-edge), env(safe-area-inset-right, 0px)); }
#ivy-article-dock svg { width: 19px; height: 19px; flex: 0 0 auto; display: block; }
#ivy-article-dock .iad-preview {
position: absolute; bottom: calc(100% + 11px); width: 260px;
padding: 14px 16px; border-radius: 20px;
/* More frosting for a multi-line headline than for the compact controls. */
--iad-glass: rgba(245,249,255,.80);
opacity: 0; visibility: hidden; pointer-events: none;
transform: translateY(5px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
#ivy-article-dock .iad-prev .iad-preview { left: 0; }
#ivy-article-dock .iad-next .iad-preview { right: 0; }
#ivy-article-dock .iad-link:hover .iad-preview,
#ivy-article-dock .iad-link:focus-visible .iad-preview {
opacity: 1; visibility: visible; transform: none;
}
#ivy-article-dock .iad-eyebrow { display: block; color: var(--iad-gold); font-size: 10px; letter-spacing: .06em; margin-bottom: 5px; }
#ivy-article-dock .iad-title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 550; line-height: 1.4; overflow-wrap: anywhere; }
#ivy-article-dock .iad-center {
position: absolute; bottom: calc(var(--iad-bottom) + env(safe-area-inset-bottom, 0px) + var(--iad-keyboard));
left: 50%; width: min(438px, calc(100% - 316px)); transform: translateX(-50%);
pointer-events: none;
}
#ivy-article-dock .iad-form { position: relative; height: 48px; margin: 0; padding: 0; border: 0; }
#ivy-article-dock .iad-field {
position: relative; display: flex; align-items: center; gap: 0; min-width: 0; height: 48px;
border: 1px solid rgba(255,255,255,.60); border-radius: 999px;
background: rgba(255,255,255,.34);
box-shadow: inset 0 1px 3px rgba(37,57,76,.05), 0 1px 0 rgba(255,255,255,.20);
transition: background-color .18s ease, border-color .18s ease;
}
#ivy-article-dock .iad-field:focus-within {
background: rgba(255,255,255,.56); border-color: rgba(122,95,55,.55);
}
#ivy-article-dock .iad-input {
display: block; flex: 1 1 0%; min-width: 0; width: 0; height: 46px;
padding: 8px 13px; margin: 0; border: 0; border-radius: 999px;
background: transparent; color: var(--iad-ink) !important; caret-color: var(--iad-ink);
font-size: 16px; line-height: 22px; box-shadow: none; outline-offset: 2px;
appearance: none; -webkit-appearance: none;
}
#ivy-article-dock .iad-input::placeholder { color: var(--iad-muted); opacity: 1; font-size: 12px; }
#ivy-article-dock .iad-submit {
display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px;
padding: 0; margin: 0 2px 0 0; border: 1px solid rgba(255,255,255,.61); border-radius: 999px;
background: rgba(255,255,255,.40); box-shadow: 0 2px 5px rgba(23,42,62,.07), inset 0 1px 0 rgba(255,255,255,.72);
transition: background-color .18s ease, transform .18s ease;
}
#ivy-article-dock .iad-submit svg { width: 17px; height: 17px; }
#ivy-article-dock .iad-submit:hover { background: rgba(255,255,255,.75); }
#ivy-article-dock .iad-submit:disabled { cursor: progress; opacity: .65; }
#ivy-article-dock .iad-status { color: var(--iad-ink); font-size: 12px; line-height: 1.4; }
#ivy-article-dock a:focus-visible, #ivy-article-dock button:focus-visible, #ivy-article-dock input:focus-visible {
outline: 2px solid var(--iad-gold) !important; outline-offset: 3px;
}
#ivy-article-dock[data-near-end="true"] .iad-next { border-color: rgba(135,105,60,.66); }
#ivy-article-dock .iad-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (hover: hover) and (pointer: fine) {
#ivy-article-dock .iad-link:hover {
transform: translateY(-3px); border-color: rgba(255,255,255,.98);
box-shadow: 0 21px 45px -12px rgba(19,36,53,.34), 0 7px 16px -8px rgba(19,36,53,.25), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(255,255,255,.50);
}
#ivy-article-dock .iad-link:active { transform: translateY(-1px); }
#ivy-article-dock .iad-submit:active { transform: scale(.96); }
}
@media (max-width: 720px) {
#ivy-article-dock { --iad-edge: 8px; --iad-bottom: 12px; }
#ivy-article-dock .iad-link { min-width: 44px; width: 44px; min-height: 44px; height: 44px; padding: 10px; border-radius: 50%; }
#ivy-article-dock .iad-direction { display: none; }
#ivy-article-dock .iad-center { width: calc(100% - 120px); }
#ivy-article-dock .iad-form { height: 44px; }
#ivy-article-dock .iad-field { height: 44px; }
#ivy-article-dock .iad-input { height: 42px; padding: 9px; }
#ivy-article-dock .iad-input::placeholder { font-size: 11px; }
#ivy-article-dock .iad-submit { flex-basis: 36px; width: 36px; height: 38px; }
#ivy-article-dock .iad-preview { width: min(246px, calc(100vw - 30px)); }
#ivy-article-dock[data-search-focus="true"] .iad-center {
width: calc(100% - max(18px, env(safe-area-inset-left, 0px)) - max(18px, env(safe-area-inset-right, 0px)));
}
#ivy-article-dock[data-search-focus="true"] .iad-link { display: none; }
}
/* Keep comfortable field sizes on touch-first devices, including larger tablets. */
@media (pointer: coarse) and (min-width: 721px) {
#ivy-article-dock .iad-form, #ivy-article-dock .iad-field { height: 48px; }
#ivy-article-dock .iad-input { height: 46px; }
#ivy-article-dock .iad-submit { height: 40px; flex-basis: 40px; width: 40px; }
}
@media (hover: none) { #ivy-article-dock .iad-preview { display: none; } }
@media (prefers-reduced-motion: reduce) {
#ivy-article-dock * { transition: none !important; animation: none !important; }
#ivy-article-dock .iad-link:hover, #ivy-article-dock .iad-submit:active { transform: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
#ivy-article-dock .iad-surface { background: #eef3f8; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
#ivy-article-dock .iad-surface { background: #eef3f8; border-color: #8193a5; -webkit-backdrop-filter: none; backdrop-filter: none; }
#ivy-article-dock .iad-field { background: #fff; border-color: #8193a5; }
}
@media (forced-colors: active) {
#ivy-article-dock .iad-surface, #ivy-article-dock .iad-field, #ivy-article-dock .iad-submit { background: Canvas; border: 1px solid ButtonText; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
#ivy-article-dock a, #ivy-article-dock button, #ivy-article-dock .iad-input { color: CanvasText !important; text-shadow: none; }
}
@media print { #ivy-article-dock { display: none !important; } }
/* Shown only on the blog index when the search-handoff fallback is needed. */
#ivy-blog-search-handoff { margin: 20px auto; padding: 18px 22px; max-width: 820px; border: 1px solid #b8c4d0; border-radius: 16px; color: #172b40; background: #f3f6f9; font: 16px/1.5 system-ui,sans-serif; }
#ivy-blog-search-handoff p { margin: 0; }
#ivy-blog-search-handoff a { color: #173e65; text-decoration: underline; }
linear-gradient(150deg, rgba(255,255,255,.24), rgba(255,255,255,.05) 48%, rgba(222,235,251,.12)),
var(--iad-glass);
box-shadow: var(--iad-shadow); pointer-events: auto;
-webkit-backdrop-filter: blur(20px) saturate(170%) contrast(.72) brightness(1.12);
backdrop-filter: blur(20px) saturate(170%) contrast(.72) brightness(1.12);
}
#ivy-article-dock .iad-surface::before {
content: ""; position: absolute; inset: 0; border-radius: inherit;
pointer-events: none;
box-shadow: inset 1px 0 0 rgba(255,255,255,.35), inset -1px 0 0 rgba(255,255,255,.18);
}
#ivy-article-dock .iad-link {
position: absolute; bottom: calc(var(--iad-bottom) + env(safe-area-inset-bottom, 0px));
display: inline-flex; align-items: center; justify-content: center; gap: 9px;
min-width: 112px; min-height: 48px; height: 48px; padding: 10px 18px;
border-radius: 999px; font-size: 12px; font-weight: 600;
transition: transform .22s ease, box-shadow .22s ease, border-color .18s ease;
}
#ivy-article-dock .iad-prev { left: max(var(--iad-edge), env(safe-area-inset-left, 0px)); }
#ivy-article-dock .iad-next { right: max(var(--iad-edge), env(safe-area-inset-right, 0px)); }
#ivy-article-dock svg { width: 19px; height: 19px; flex: 0 0 auto; display: block; }
#ivy-article-dock .iad-preview {
position: absolute; bottom: calc(100% + 11px); width: 260px;
padding: 14px 16px; border-radius: 20px;
/* More frosting for a multi-line headline than for the compact controls. */
--iad-glass: rgba(245,249,255,.80);
opacity: 0; visibility: hidden; pointer-events: none;
transform: translateY(5px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
#ivy-article-dock .iad-prev .iad-preview { left: 0; }
#ivy-article-dock .iad-next .iad-preview { right: 0; }
#ivy-article-dock .iad-link:hover .iad-preview,
#ivy-article-dock .iad-link:focus-visible .iad-preview {
opacity: 1; visibility: visible; transform: none;
}
#ivy-article-dock .iad-eyebrow { display: block; color: var(--iad-gold); font-size: 10px; letter-spacing: .06em; margin-bottom: 5px; }
#ivy-article-dock .iad-title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 550; line-height: 1.4; overflow-wrap: anywhere; }
#ivy-article-dock .iad-center {
position: absolute; bottom: calc(var(--iad-bottom) + env(safe-area-inset-bottom, 0px) + var(--iad-keyboard));
left: 50%; width: min(438px, calc(100% - 316px)); transform: translateX(-50%);
pointer-events: none;
}
#ivy-article-dock .iad-form { position: relative; height: 48px; margin: 0; padding: 0; border: 0; }
#ivy-article-dock .iad-field {
position: relative; display: flex; align-items: center; gap: 0; min-width: 0; height: 48px;
border: 1px solid rgba(255,255,255,.60); border-radius: 999px;
background: rgba(255,255,255,.34);
box-shadow: inset 0 1px 3px rgba(37,57,76,.05), 0 1px 0 rgba(255,255,255,.20);
transition: background-color .18s ease, border-color .18s ease;
}
#ivy-article-dock .iad-field:focus-within {
background: rgba(255,255,255,.56); border-color: rgba(122,95,55,.55);
}
#ivy-article-dock .iad-input {
display: block; flex: 1 1 0%; min-width: 0; width: 0; height: 46px;
padding: 8px 13px; margin: 0; border: 0; border-radius: 999px;
background: transparent; color: var(--iad-ink) !important; caret-color: var(--iad-ink);
font-size: 16px; line-height: 22px; box-shadow: none; outline-offset: 2px;
appearance: none; -webkit-appearance: none;
}
#ivy-article-dock .iad-input::placeholder { color: var(--iad-muted); opacity: 1; font-size: 12px; }
#ivy-article-dock .iad-submit {
display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px;
padding: 0; margin: 0 2px 0 0; border: 1px solid rgba(255,255,255,.61); border-radius: 999px;
background: rgba(255,255,255,.40); box-shadow: 0 2px 5px rgba(23,42,62,.07), inset 0 1px 0 rgba(255,255,255,.72);
transition: background-color .18s ease, transform .18s ease;
}
#ivy-article-dock .iad-submit svg { width: 17px; height: 17px; }
#ivy-article-dock .iad-submit:hover { background: rgba(255,255,255,.75); }
#ivy-article-dock .iad-submit:disabled { cursor: progress; opacity: .65; }
#ivy-article-dock .iad-status { color: var(--iad-ink); font-size: 12px; line-height: 1.4; }
#ivy-article-dock a:focus-visible, #ivy-article-dock button:focus-visible, #ivy-article-dock input:focus-visible {
outline: 2px solid var(--iad-gold) !important; outline-offset: 3px;
}
#ivy-article-dock[data-near-end="true"] .iad-next { border-color: rgba(135,105,60,.66); }
#ivy-article-dock .iad-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (hover: hover) and (pointer: fine) {
#ivy-article-dock .iad-link:hover {
transform: translateY(-3px); border-color: rgba(255,255,255,.98);
box-shadow: 0 21px 45px -12px rgba(19,36,53,.34), 0 7px 16px -8px rgba(19,36,53,.25), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(255,255,255,.50);
}
#ivy-article-dock .iad-link:active { transform: translateY(-1px); }
#ivy-article-dock .iad-submit:active { transform: scale(.96); }
}
@media (max-width: 720px) {
#ivy-article-dock { --iad-edge: 8px; --iad-bottom: 12px; }
#ivy-article-dock .iad-link { min-width: 44px; width: 44px; min-height: 44px; height: 44px; padding: 10px; border-radius: 50%; }
#ivy-article-dock .iad-direction { display: none; }
#ivy-article-dock .iad-center { width: calc(100% - 120px); }
#ivy-article-dock .iad-form { height: 44px; }
#ivy-article-dock .iad-field { height: 44px; }
#ivy-article-dock .iad-input { height: 42px; padding: 9px; }
#ivy-article-dock .iad-input::placeholder { font-size: 11px; }
#ivy-article-dock .iad-submit { flex-basis: 36px; width: 36px; height: 38px; }
#ivy-article-dock .iad-preview { width: min(246px, calc(100vw - 30px)); }
#ivy-article-dock[data-search-focus="true"] .iad-center {
width: calc(100% - max(18px, env(safe-area-inset-left, 0px)) - max(18px, env(safe-area-inset-right, 0px)));
}
#ivy-article-dock[data-search-focus="true"] .iad-link { display: none; }
}
/* Keep comfortable field sizes on touch-first devices, including larger tablets. */
@media (pointer: coarse) and (min-width: 721px) {
#ivy-article-dock .iad-form, #ivy-article-dock .iad-field { height: 48px; }
#ivy-article-dock .iad-input { height: 46px; }
#ivy-article-dock .iad-submit { height: 40px; flex-basis: 40px; width: 40px; }
}
@media (hover: none) { #ivy-article-dock .iad-preview { display: none; } }
@media (prefers-reduced-motion: reduce) {
#ivy-article-dock * { transition: none !important; animation: none !important; }
#ivy-article-dock .iad-link:hover, #ivy-article-dock .iad-submit:active { transform: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
#ivy-article-dock .iad-surface { background: #eef3f8; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
#ivy-article-dock .iad-surface { background: #eef3f8; border-color: #8193a5; -webkit-backdrop-filter: none; backdrop-filter: none; }
#ivy-article-dock .iad-field { background: #fff; border-color: #8193a5; }
}
@media (forced-colors: active) {
#ivy-article-dock .iad-surface, #ivy-article-dock .iad-field, #ivy-article-dock .iad-submit { background: Canvas; border: 1px solid ButtonText; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
#ivy-article-dock a, #ivy-article-dock button, #ivy-article-dock .iad-input { color: CanvasText !important; text-shadow: none; }
}
@media print { #ivy-article-dock { display: none !important; } }
/* Shown only on the blog index when the search-handoff fallback is needed. */
#ivy-blog-search-handoff { margin: 20px auto; padding: 18px 22px; max-width: 820px; border: 1px solid #b8c4d0; border-radius: 16px; color: #172b40; background: #f3f6f9; font: 16px/1.5 system-ui,sans-serif; }
#ivy-blog-search-handoff p { margin: 0; }
#ivy-blog-search-handoff a { color: #173e65; text-decoration: underline; }
sconnect(); bodyObserver?.disconnect(); delete window[GLOBAL];
}
window[GLOBAL] = { version: '3.0.0', refresh, destroy };
for (const name of ['mercury:load', 'sqs:page-view', 'sqs:after-page-load']) document.addEventListener(name, refresh, { signal: appAbort.signal });
for (const name of ['popstate', 'pageshow', 'load']) window.addEventListener(name, refresh, { signal: appAbort.signal });
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start, { once: true, signal: appAbort.signal }); else start();
})();