:root {
  --ink:#083964; --muted:#496579; --paper:#fbfeff; --white:#ffffff;
  --primary:#0bb4ba; --primary-hover:#079aa5; --aqua:#dff6f5; --sky:#e4f3fc;
  --ice:#eefaff; --blue:#e9effc; --line:#c5e3ec; --max:1200px;
  --radius:20px; --heading:'Trebuchet MS','Segoe UI',sans-serif; --hand:'Segoe Print','Comic Sans MS',cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:800;line-height:1.12}
h1,h2{font-family:var(--heading);letter-spacing:-.055em}
h1{font-size:clamp(3.1rem,5.8vw,5.3rem);margin-bottom:25px}
h2{font-size:clamp(2.2rem,3.7vw,3.25rem);margin-bottom:24px}
h3{font-size:1.25rem;font-weight:600;letter-spacing:-.035em;line-height:1.3}
p{color:var(--muted);margin-bottom:20px}
em{font-family:var(--hand);font-weight:700;font-style:normal;color:#087f8e;letter-spacing:-.06em}
a{color:var(--ink);text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{color:#087f8e}
button,input,textarea{font:inherit}button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #086798;outline-offset:5px}
[hidden]{display:none!important}
.icon{width:23px;height:23px;flex-shrink:0;vertical-align:middle}
.small{font-size:.8rem;line-height:1.6;color:var(--muted)}
[data-contact-email]{overflow-wrap:anywhere;max-width:100%}
.container{width:min(calc(100% - 96px),var(--max));margin-inline:auto}
.narrow{max-width:820px}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:30;background:#ffffff;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:132px}
.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.brand-logo{position:relative;display:block;width:182px;height:120px;overflow:hidden}
.brand-logo img{position:absolute;width:240px;height:240px;max-width:none;left:-41px;top:-56px}
.site-nav{display:flex;align-items:center;gap:28px}
.site-nav>a{font-size:13px;text-decoration:none;font-weight:500;white-space:nowrap}
.site-nav>a:not(.button){padding:12px 0;position:relative}
.site-nav>a[aria-current="page"]:not(.button)::after{content:"";height:2px;background:var(--primary);position:absolute;bottom:4px;left:0;right:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 24px;min-height:50px;border-radius:16px 19px 15px 20px;border:2px solid var(--ink);text-decoration:none;font-size:.87rem;font-weight:600;line-height:1.4;transition:background .18s,transform .18s}
.button.primary{background:var(--primary);color:var(--ink);box-shadow:3px 4px 0 var(--ink)}
.button.primary:hover{background:#55d3d6;transform:translate(-1px,-2px);box-shadow:4px 6px 0 var(--ink)}
.button.secondary,.button.light{background:var(--white);border-color:var(--line);color:var(--ink)}
.button .icon{width:18px;height:18px}
.site-nav .nav-cta{padding:12px 20px;margin-left:4px;min-height:44px}
.nav-toggle{display:none;border:1px solid var(--line);border-radius:7px;width:46px;height:46px;background:transparent;padding:10px}
.nav-toggle span{display:block;width:23px;height:2px;background:var(--ink);margin:6px auto}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:650;color:#087787;margin-bottom:23px;line-height:1.7}
.tiny-sun{font-size:22px;vertical-align:middle;margin-right:8px;color:#0799a7}
.home-hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:30px;padding-block:65px 64px}
.hero-copy{padding-block:15px}
.home-hero h1{font-size:clamp(3.4rem,5.8vw,5.2rem);line-height:1.04}
.home-hero h1 em{display:block;font-size:.72em;white-space:normal;margin-top:10px;line-height:1.35}
.lead{font-size:1.02rem;line-height:1.85;max-width:600px}
.hero-copy .lead{max-width:435px;margin-top:27px}
.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:29px}
.text-link{display:inline-flex;gap:14px;align-items:center;font-size:.83rem;font-weight:600;text-decoration:none;line-height:1.5}
.text-link:hover{text-decoration:underline}
.text-link .icon{width:19px;height:19px;transition:transform .2s}
.text-link:hover .icon{transform:translateX(4px)}
.hero-footnote{display:flex;gap:9px;align-items:center;font-size:11px;margin:31px 0 0;color:#496579}
.hero-footnote .icon{width:16px;height:16px}
.hero-art{position:relative;min-width:0;padding:10px 0 24px}
.hero-art>img{width:100%}
.art-note{position:absolute;z-index:1;display:flex;align-items:center;gap:12px;background:var(--white);padding:14px 19px;border:1px solid #b2dfe9;border-radius:9px;box-shadow:0 6px 20px #0839640a;font-size:11px;line-height:1.65}
.art-note .icon{width:26px;height:26px;color:#0799a7}
.note-top{top:61px;right:-8px;transform:rotate(5deg)}
.note-top strong{font-weight:600}
.note-bottom{bottom:49px;left:5px;transform:rotate(-5deg);padding:12px 20px}
.note-star{font-size:30px;color:#0799a7;line-height:1}
.handwritten{display:block;text-align:right;padding-right:40px;font-family:var(--hand);font-style:normal;font-size:17px;color:#087f8e;transform:rotate(-5deg)}
.mission-strip{border-block:1px solid var(--line);background:#dcf4f6}
.mission-strip .container{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:27px}
.mission-strip span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.mission-strip p{font-family:var(--heading);font-size:1.24rem;color:var(--ink);margin:0;line-height:1.5;letter-spacing:-.025em}
.mission-strip .icon{width:29px;height:29px;color:#087f8e}
.mobile-only{display:none}
.section{padding:85px 0}
.section-heading{margin-bottom:36px}
.section-heading h2{margin-bottom:0}
.section-heading>p:last-child{margin-top:20px}
.heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px}
.heading-row>p{font-size:.88rem;margin:0 30px 4px 0}
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.project-card{padding:26px 24px 23px;border-radius:var(--radius);display:flex;flex-direction:column;align-items:flex-start;border:1px solid #0b628c26}
.sage{background:var(--aqua)}.peach{background:var(--sky)}.butter{background:var(--ice)}.lavender{background:var(--blue)}
.card-top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px;margin-bottom:30px}
.icon-box{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;background:#ffffffa8;border-radius:13px;margin-bottom:23px}
.card-top .icon-box{margin:0}
.card-number{font-size:11px;color:#496579}
.project-card h3{font-size:1.14rem;max-width:180px;margin-bottom:15px;line-height:1.35}
.project-card p{font-size:.83rem;line-height:1.85;margin-bottom:27px}
.project-card .text-link{margin-top:auto;font-size:.74rem;gap:7px}
.project-card .text-link .icon{width:15px}
.project-card h2{font-size:1.8rem}
.tools-section{background:#eef9fc;border-block:1px solid var(--line)}
.tools-section h2 em{font-size:.88em}
.tools-showcase{display:grid;grid-template-columns:1fr 1fr .76fr;gap:24px}
.tool-feature{background:var(--white);border:1px solid var(--line);border-radius:17px;overflow:hidden;text-decoration:none;transition:transform .2s}
.tool-feature:hover{transform:translateY(-5px)}
.tool-preview{height:247px;padding:23px 20px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.preview-timer{background:#d5f2f2}.preview-match{background:#dfedf9}
.preview-label{font-size:8px;letter-spacing:.16em;color:#496579}
.timer-dial{width:139px;height:139px;border-radius:50%;background:conic-gradient(#0bb4ba 0 270deg,#b6e3e7 270deg 360deg);padding:9px;transform:rotate(-30deg)}
.timer-dial>span{display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:#ffffff;width:100%;height:100%;font-size:36px;font-weight:400;letter-spacing:-2px;line-height:1.2;transform:rotate(30deg)}
.timer-dial small{font-size:8px;letter-spacing:.04em;margin-top:7px}
.preview-caption{font-size:9px;display:flex;gap:6px;align-items:center}
.preview-caption .icon{width:12px;height:12px}
.matching-cards{display:flex;gap:9px;align-items:center;padding-block:25px}
.matching-cards span{width:73px;height:91px;border-radius:10px;background:var(--white);display:grid;place-items:center;box-shadow:0 4px 1px #08396416;transform:rotate(-8deg)}
.matching-cards span:nth-child(2){transform:rotate(5deg);outline:2px solid #42abb7}
.matching-cards span:nth-child(3){transform:rotate(12deg)}
.matching-cards .icon{width:39px;height:39px;color:#087f8e;stroke-width:1.5}
.matching-cards span:nth-child(3) .icon{color:#087f8e}
.tool-description{padding:20px 23px 24px}
.tag{font-size:9px;padding:5px 9px;border-radius:20px;background:#ffffffc4;border:1px solid #0b628c26;display:inline-flex;align-items:center;gap:5px;color:#496579;font-weight:500;line-height:1.4}
.tag.available{background:#d9f4f2;color:#076672}
.tag.available::before{content:"";width:5px;height:5px;border-radius:50%;background:#087f8e}
.tool-description h3{display:flex;align-items:center;justify-content:space-between;margin-top:15px;margin-bottom:10px;font-size:1.04rem}
.tool-description p{font-size:.8rem;margin:0}
.tools-note{padding:8px 0 8px 16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.large-spark{font-size:57px;color:#20abb8;line-height:1.3;margin-bottom:16px}
.tools-note h3{font-family:var(--heading);font-size:1.75rem;font-weight:800;line-height:1.2}
.tools-note p{font-size:.84rem}
.tools-note .small{font-size:10px;margin-top:11px}
.story-split,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.story-visual{position:relative}
.story-visual>img{border-radius:22px;width:100%}
.photo-caption{display:block;font-family:var(--hand);font-size:16px;font-style:normal;color:#087f8e;text-align:center;margin-top:17px}
.story-copy h2{font-size:clamp(2rem,3.1vw,2.8rem)}
.story-copy p:not(.eyebrow){font-size:.87rem}
.status-inline{display:flex;align-items:center;gap:7px;font-size:10px;margin-top:23px;color:#496579}
.status-inline>span{width:6px;height:6px;border-radius:50%;background:#087f8e}
.family-band{background:#dff5f6;padding:61px 0;text-align:center}
.family-symbol{display:block;margin-bottom:20px}
.family-symbol .icon{width:29px;height:29px;color:#087f8e}
.family-band p{font-family:var(--heading);font-size:clamp(1.7rem,3vw,2.4rem);color:var(--ink);line-height:1.5;letter-spacing:-.035em;margin-bottom:20px}
.family-band .container>span:last-of-type{display:block;font-size:11px;color:var(--muted)}
.family-band .text-link{margin-top:22px;font-size:11px}
.support-banner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid #9bd8e1;border-radius:22px;background:#dff6f5;padding:48px 55px;overflow:hidden}
.support-banner h2{font-size:clamp(2.3rem,3.8vw,3.4rem);margin-bottom:18px}
.support-banner p:not(.eyebrow){font-size:.86rem;margin:0}
.support-banner .eyebrow{margin-bottom:15px}
.support-actions{display:flex;flex-direction:column;gap:20px;align-items:center;z-index:1}
.support-actions .text-link{font-size:11px}
.banner-spark{position:absolute;right:210px;top:-50px;font-size:165px;color:#9cdae4;line-height:1;opacity:.5;pointer-events:none}
.site-footer{background:#eaf7fb;border-top:1px solid var(--line);padding-top:54px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px}
.footer-brand{font-family:var(--heading);font-size:1.45rem;letter-spacing:-.05em;text-decoration:none;display:block;margin-bottom:17px}
.footer-brand span{color:#0bb4ba}
.footer-intro p{font-size:12px;line-height:1.8}
.footer-intro .small{font-size:10px}
.site-footer h2{font-family:inherit;font-size:11px;font-weight:650;letter-spacing:0;margin:4px 0 20px}
.footer-grid>div:not(:first-child)>a{display:block;font-size:11px;margin:0 0 11px;text-decoration:none;color:#496579}
.footer-grid>div>a:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #b8dfeb;padding-block:20px;font-size:10px;color:#496579}
.footer-bottom .icon{width:16px;height:16px;margin-left:10px}
.page-hero{background:#eaf7fb;padding:38px 0 66px;border-bottom:1px solid var(--line)}
.breadcrumb{display:inline-block;text-decoration:none;font-size:11px;color:#496579;margin-bottom:35px}
.page-hero h1{font-size:clamp(2.8rem,5.5vw,4.8rem);max-width:950px}
.page-hero .lead{max-width:650px;margin:0}
.page-hero .eyebrow{margin-bottom:19px}
.soft,.soft-blue,.soft-green{background:#eef9fc}
.feature-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.feature-grid .project-card h3{max-width:none}
.feature-grid .project-card p{margin-bottom:0}
.feature-grid .project-card .tag{margin-top:20px}
.space-top{margin-top:35px}
.notice-card,.quote-panel{border:1px solid var(--line);border-radius:20px;padding:32px;background:#eaf7fb}
.notice-card h2{font-size:2rem}
.notice-card p{font-size:.9rem}
.notice-card p:last-child{margin-bottom:0}
.notice-card .tag{margin-bottom:20px}
.quote-panel{background:var(--ink);color:#ffffff;padding:40px}
.quote-panel h2{font-size:2.5rem;margin-top:25px}
.quote-panel p{color:#daf3fa;font-size:.9rem}
.quote-panel .icon{width:40px;height:40px;color:#7de4e7}
.activity-list{display:grid;gap:25px}
.activity-row{display:grid;grid-template-columns:75px 1fr;gap:24px;border-bottom:1px solid var(--line);padding:25px 0 42px}
.activity-number{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#dff6f5;font-family:var(--heading);font-size:24px}
.activity-row h2{font-size:2.5rem}
.activity-row .eyebrow{margin-bottom:12px}
.activity-row p{max-width:1050px}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.filter-button{padding:11px 21px;border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--ink);font-size:13px;min-height:44px}
.filter-button.is-active{background:var(--ink);color:var(--white);border-color:var(--ink)}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.resource-card{display:flex;align-items:flex-start;flex-direction:column;padding:30px;border-radius:20px;border:1px solid #0b628c26;scroll-margin-top:155px}
.resource-card:target{outline:2px solid #0a8499;outline-offset:4px}
.resource-card h2{font-size:2rem}
.resource-card>p{font-size:.9rem}
.resource-card .card-top{margin-bottom:24px}
.resource-card .external-app{margin-top:22px}
.resource-card>.small{font-size:10px;margin-top:10px}
details{width:100%;border-top:1px solid #0b628c36}
summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:48px;padding:12px 0;font-size:13px;font-weight:600;list-style:none}
summary::-webkit-details-marker{display:none}
summary span{font-size:20px}
details[open] summary span{transform:rotate(45deg)}
details p{font-size:.85rem}
.resource-link{border:1px solid var(--line);border-radius:18px;background:var(--white);padding:27px;text-decoration:none}
.resource-link h3{margin:25px 0 15px}
.resource-link p{font-size:.86rem;margin:0}
.resource-link:hover{border-color:#0a8499}
.info-table{margin:0;border:1px solid var(--line);border-radius:15px;overflow:hidden}
.info-table>div{display:grid;grid-template-columns:1fr 1.3fr;border-bottom:1px solid var(--line);font-size:12px}
.info-table>div:last-child{border:0}
.info-table dt{font-weight:600;background:#eaf7fb;padding:15px}
.info-table dd{margin:0;padding:15px;background:var(--white)}
.document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.document-grid article{border:1px solid var(--line);padding:25px;border-radius:17px;background:var(--white)}
.document-grid h3{font-size:1.1rem}
.document-grid p{font-size:.8rem}
.document-grid .text-link{font-size:.75rem}
.legal-text h2{font-size:1.9rem;margin-top:35px;letter-spacing:-.025em}
.legal-text h2:first-child{margin-top:0}
.legal-text p{font-size:.94rem}
.tool-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:start}
.story-form,.story-output-panel{padding:29px;border:1px solid var(--line);background:var(--white);border-radius:20px}
.story-form h2,.story-output-panel h2{font-size:1.9rem}
.story-form label{display:grid;gap:6px;margin-bottom:19px;font-size:12px;font-weight:600}
.story-form fieldset{border:0;padding:0;margin:0;min-width:0}
.story-form input,.story-form textarea{width:100%;padding:13px;border:1px solid #aacfdc;border-radius:7px;color:var(--ink);background:#fff;font-size:13px;min-height:46px}
.story-form textarea{resize:vertical}
.story-form input::placeholder,.story-form textarea::placeholder{color:#496579}
.form-actions{display:flex;gap:12px;flex-wrap:wrap}
.output-toolbar{display:flex;gap:14px;justify-content:space-between;align-items:start;flex-wrap:wrap}
.output-toolbar .eyebrow{margin-bottom:12px}
.icon-actions{display:flex;gap:8px}
.icon-actions button{border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);padding:9px 12px;min-height:44px;font-size:12px}
button:disabled{opacity:.45;cursor:not-allowed}
.story-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.story-page{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--aqua);min-height:155px;overflow-wrap:anywhere}
.story-page:nth-child(3n+2){background:var(--ice)}
.story-page:nth-child(3n){background:var(--sky)}
.story-page span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #0b628c36;border-radius:50%;font-size:11px;margin-bottom:15px}
.story-page p{font-size:.92rem;color:var(--ink);margin:0}
.story-page.empty{grid-column:1/-1;background:var(--paper)}
.story-page.empty h3{font-family:var(--heading);font-size:1.6rem;font-weight:400}
.tool-note{font-size:11px;margin-top:20px;margin-bottom:0}
.check-list{padding-left:22px;color:var(--muted);font-size:.9rem}
.check-list li{margin-bottom:15px;padding-left:7px}
[data-copy-status]{font-size:12px;color:var(--ink);margin:10px 0}
@media(min-width:1450px){.home-hero{padding-block:80px}.home-hero h1{font-size:5.6rem}}
@media(max-width:1100px){
 .container{width:calc(100% - 64px)}.site-nav{gap:19px}.site-nav>a{font-size:12px}
 .home-hero{gap:5px;padding-block:50px}.home-hero h1{font-size:4.1rem}.home-hero h1 em{font-size:.72em}
 .hero-copy .lead{font-size:.94rem;max-width:365px}.hero-actions{gap:19px}.hero-actions .text-link{font-size:11px}
 .note-top{right:-12px;top:40px;font-size:9px}.note-bottom{font-size:9px;bottom:45px;left:0}
 .project-grid{gap:13px}.project-card{padding:22px 17px}.project-card h3{font-size:1.06rem}.project-card .text-link{font-size:10px}
 .tools-showcase{gap:16px;grid-template-columns:1fr 1fr .7fr}.tools-note{padding-left:8px}.tools-note h3{font-size:1.5rem}
 .matching-cards span{width:56px;height:77px}.story-split,.two-col{gap:40px}
 .document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{gap:25px}
}
@media(max-width:1050px){
 .brand-logo{width:154px;height:100px}.brand-logo img{width:200px;height:200px;left:-34px;top:-46px}
 .container{width:calc(100% - 44px)}.header-inner{min-height:108px}
 html:not(.js) .header-inner{flex-wrap:wrap;padding-block:15px}html:not(.js) .site-nav{position:static;display:flex;flex-wrap:wrap;width:100%;max-height:none;box-shadow:none;padding:0;border:0}html:not(.js) .nav-toggle{display:none}
 .nav-toggle{display:block}
 .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:20px 24px 28px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #08396410;max-height:calc(100dvh - 64px);overflow:auto}
 .site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:5px}
 .site-nav>a{font-size:15px}.site-nav>a:not(.button){padding:13px 8px}.site-nav .nav-cta{margin:12px 0 0}
 .site-nav>a[aria-current="page"]:not(.button)::after{left:8px;right:auto;width:35px}
 .home-hero{grid-template-columns:1.05fr 1fr;gap:0}.home-hero h1{font-size:3.35rem}
 .home-hero h1 em{white-space:normal;font-size:.72em}.hero-copy .lead{font-size:.87rem;margin-top:20px}
 .home-hero .eyebrow{font-size:8px;letter-spacing:.1em}.hero-actions{gap:16px}.hero-actions .button{padding:13px 16px;font-size:11px}
 .hero-art{padding-left:5px}.art-note{padding:10px 12px;font-size:8px;gap:7px}.note-top{top:27px;right:-6px}.note-bottom{bottom:38px;left:13px}.note-star{font-size:23px}
 .handwritten{font-size:12px;padding-right:0}.hero-footnote{font-size:9px}
 .mission-strip .container{gap:22px}.mission-strip span{font-size:8px;max-width:100px;white-space:normal}.mission-strip p{font-size:1rem}
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{padding:26px}.project-card h3{font-size:1.23rem;max-width:200px}.project-card .text-link{font-size:12px}
 .section{padding:65px 0}.heading-row>p{font-size:12px;margin-right:0}.tools-showcase{grid-template-columns:1fr 1fr}.tools-note{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr;gap:10px 25px;align-items:center;padding:10px 0}.tools-note .large-spark{grid-row:span 2;margin:0}.tools-note h3,.tools-note p{margin:0}.tools-note .text-link{grid-column:2}.tools-note .small{margin:0}
 .story-split,.two-col{gap:30px}.story-copy h2{font-size:2rem}.story-copy p:not(.eyebrow){font-size:12px}
 .support-banner{padding:35px;gap:20px}.support-actions .text-link{max-width:165px;text-align:center}.banner-spark{right:100px}
 .footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer-intro{grid-column:1/-1}.footer-intro p{margin-bottom:10px}
 .feature-grid.three{gap:15px}.feature-grid .project-card{padding:23px 18px}.feature-grid .project-card h2{font-size:1.55rem}
 .resource-card{padding:25px}.resource-card .card-top{flex-wrap:wrap}.tool-layout{grid-template-columns:1fr}.story-output{grid-template-columns:repeat(2,minmax(0,1fr))}
 .quote-panel{padding:28px}.quote-panel h2{font-size:2rem}
}
@media(max-width:600px){
 html{scroll-padding-top:84px}.container{width:calc(100% - 40px)}.home-hero{grid-template-columns:1fr;padding-block:34px 22px}
 .hero-copy{padding:0}.home-hero .eyebrow{font-size:9px;margin-bottom:20px}.home-hero h1{font-size:3.65rem;letter-spacing:-.05em}.home-hero h1 em{font-size:.70em;white-space:normal}
 .hero-copy .lead{font-size:.93rem;max-width:100%;margin-top:20px}.hero-actions{gap:20px;margin-top:22px}.hero-actions .button{font-size:12px;padding:14px 19px}.hero-actions .text-link{font-size:11px}
 .hero-footnote{margin-top:23px;font-size:10px}.hero-art{max-width:400px;margin-inline:auto;padding:5px 0 25px;width:100%}
 .note-top{top:35px;right:0;font-size:9px;padding:12px}.note-bottom{font-size:9px;bottom:50px;left:0}.handwritten{font-size:14px;padding-right:13px}
 .mission-strip .container{padding-block:25px;display:block;text-align:center}.mission-strip span{max-width:none;font-size:9px;display:block;margin-bottom:10px}.mission-strip p{font-size:1.13rem}.mission-strip .icon{display:none}.mobile-only{display:block}
 .section{padding:49px 0}.section-heading{margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:17px}
 h2{font-size:2.35rem} .heading-row{display:block}.heading-row>p{margin-top:20px;font-size:13px}.heading-row>p br{display:none}.heading-row>.text-link{margin-top:20px}
 .project-grid{gap:12px}.project-card{padding:20px 17px;border-radius:15px}.card-top{margin-bottom:22px}.icon-box{width:39px;height:39px;border-radius:10px}
 .project-card h3{font-size:1.1rem}.project-card p{font-size:12px;line-height:1.8;margin-bottom:20px}.project-card .text-link{font-size:10px;align-items:flex-start;gap:3px}
 .project-card .text-link .icon{width:13px;height:15px}.card-number{font-size:9px}
 .tools-showcase{grid-template-columns:1fr}.tool-preview{height:250px}.tool-description{padding:23px}.tool-description h3{font-size:1.2rem}.tool-description p{font-size:.86rem}.matching-cards span{width:78px;height:94px}
 .tools-note{display:flex;align-items:flex-start;padding:10px 7px;gap:12px}.tools-note h3{font-size:1.8rem}.tools-note h3 br{display:none}.tools-note .large-spark{font-size:45px}.tools-note p{font-size:.9rem}
 .story-split,.two-col{grid-template-columns:1fr;gap:35px}.story-copy h2{font-size:2.25rem}.story-copy p:not(.eyebrow){font-size:.9rem}
 .photo-caption{font-size:14px}.family-band{padding:43px 0}.family-band p{font-size:1.65rem}.family-band br{display:none}
 .support-banner{padding:32px 25px;display:block}.support-banner h2{font-size:2.6rem}.support-banner p br{display:none}.support-actions{align-items:flex-start;margin-top:27px}.support-actions .text-link{max-width:none}.support-banner>.button{margin-top:25px}.banner-spark{right:-10px;top:-30px;font-size:135px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-intro{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid>div:last-child>a{display:inline-block;margin-right:20px}.footer-grid>div>a{min-height:30px}.footer-bottom{flex-direction:column;gap:8px}.site-footer{padding-top:37px}
 .page-hero{padding:23px 0 43px}.breadcrumb{margin-bottom:28px}.page-hero h1{font-size:2.75rem}.page-hero .lead{font-size:.94rem}
 .feature-grid.three{grid-template-columns:1fr}.feature-grid .project-card{padding:28px}.feature-grid .project-card p{font-size:.9rem}.feature-grid .project-card h2{font-size:2rem}
 .activity-row{grid-template-columns:1fr;gap:18px;padding-top:0}.activity-row h2{font-size:2rem}.activity-row p{font-size:.9rem}.activity-number{width:45px;height:45px;font-size:20px}
 .resource-grid{grid-template-columns:1fr}.filter-bar{gap:7px}.filter-button{padding:10px 15px;font-size:12px}.resource-card .card-top{flex-wrap:nowrap}
 .document-grid{grid-template-columns:1fr}.info-table>div{grid-template-columns:1fr}.info-table dt{padding-bottom:7px}.info-table dd{background:#eaf7fb;padding-top:0}
 .notice-card{padding:25px}.notice-card h2{font-size:1.9rem}
 .story-form,.story-output-panel{padding:22px}.story-output{grid-template-columns:1fr}.story-form label{font-size:13px}
 .story-form input,.story-form textarea{font-size:16px}.legal-text h2{font-size:1.75rem}
}
@media(max-width:360px){.container{width:calc(100% - 30px)}.home-hero h1{font-size:3.15rem}.project-grid{grid-template-columns:1fr}.hero-actions{gap:15px}.hero-actions .button{padding:13px}.art-note{font-size:8px}}

/* The logo's rounded, hand-drawn character carries through the interface. */
.home-hero{position:relative}
.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:7px;background:var(--aqua);padding:7px 12px;border-radius:9px 14px 10px 15px;transform:rotate(-1deg)}
.hero-copy .eyebrow .tiny-sun{margin:0;line-height:1}
.hero-art::before{content:"";position:absolute;width:70px;height:70px;left:11px;top:15px;border:3px dashed #42abb7;border-radius:50%;transform:rotate(-18deg);z-index:-1}
.art-note{border:2px solid #42abb7;border-radius:18px 9px 19px 11px;box-shadow:3px 4px 0 #bfe2e6}
.note-star,.large-spark{color:#0a9daa}
.mission-strip{border-block:2px dashed #88ceda}
.mission-strip p{font-weight:700;font-size:1.12rem}
.project-card{border:2px solid #b1dae8;border-radius:24px 29px 22px 30px}
.project-card:nth-child(2n){border-radius:29px 21px 30px 22px}
.project-card .icon-box{background:#ffffff;border:1px solid #9dd7e1;transform:rotate(-7deg)}
.project-card:nth-child(2n) .icon-box{transform:rotate(6deg)}
.card-number{font-family:var(--hand);font-size:15px;color:#087f8e}
.tool-feature{border:2px solid #b1dae8;border-radius:25px 20px 27px 20px}
.timer-dial{box-shadow:3px 4px 0 #08396415}
.matching-cards span{border:2px solid #9bc7df}
.matching-cards span:nth-child(2){outline-color:var(--primary)}
.family-band{position:relative;background:#def3f8;background-image:radial-gradient(#8bd0df 1px,transparent 1px);background-size:22px 22px}
.family-band .container{position:relative;max-width:900px;background:#def3f8;padding:24px 32px;border-radius:44px 27px 42px 31px}
.family-band h2{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:25px}
.family-band p{font-family:inherit;font-size:1rem;line-height:1.85;letter-spacing:0;max-width:680px;margin-inline:auto}
.family-band .eyebrow{font-size:11px;margin-bottom:16px}
.family-band .family-motto{font-family:var(--hand);font-size:1.15rem;font-weight:700;color:#087f8e}
.support-banner{border:2px solid #42abb7;border-radius:29px 43px 27px 39px;box-shadow:5px 6px 0 #bfe2e6}
.support-banner h2 em{font-size:.85em}
.footer-brand{width:max-content;max-width:100%;margin-top:-18px}
.footer-brand .brand-logo{width:182px;height:120px}
.footer-brand .brand-logo img{width:240px;height:240px;left:-41px;top:-56px}
.page-hero h1 em{font-size:.83em;line-height:1.5}
.name-note{border:2px dashed #42abb7;border-radius:26px 19px 30px 21px;background:#e5f7fa;padding:35px 40px;margin-top:45px}
.name-note h2{font-size:2rem}
.name-note p{max-width:1050px;margin-bottom:0}
@media(max-width:600px){
 .hero-copy .eyebrow{font-size:8px;padding:6px 8px;gap:4px}
 .home-hero h1{font-size:3.4rem}
 .art-note{box-shadow:2px 3px 0 #bfe2e6}
 .mission-strip p{font-size:1rem}
 .family-band .container{padding:20px}
 .family-band p{font-size:.92rem}
 .name-note{padding:27px 23px}
 .name-note h2{font-size:1.7rem}
 .page-hero h1{font-size:2.5rem}
}
@media(max-width:360px){.home-hero h1{font-size:3rem}.home-hero h1 em{font-size:.68em}}

/* Original blue/turquoise palette, with small coral details. */
:root{--coral:#f47760}
.button.warm{background:var(--primary);color:var(--ink);border-color:var(--ink);box-shadow:3px 4px 0 var(--ink)}
.button.warm:hover{background:#55d3d6;color:var(--ink)}
.art-note.note-top .icon{color:#ba492e}
.project-card{transition:box-shadow .2s}
.project-card:hover{box-shadow:4px 6px 0 #08396412}
@keyframes gentle-arrival{from{transform:translateY(16px)}to{transform:translateY(0)}}
.dialog-is-open{overflow:hidden}
.support-dialog{position:fixed;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:30px 28px 18px;border:2px solid var(--ink);border-radius:28px 36px 26px 34px;background:var(--paper);color:var(--ink);box-shadow:7px 8px 0 #bfe2e6;overscroll-behavior:contain}
.support-dialog::backdrop{background:#083964b3}
.support-dialog[open]{animation:gentle-arrival .3s ease-out}
.dialog-close{position:absolute;right:14px;top:14px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:1.6rem;line-height:1;z-index:1}
.dialog-close:hover{background:var(--aqua)}
.support-dialog h2{font-size:1.65rem;letter-spacing:-.035em;margin-bottom:14px;padding-right:38px}
.support-dialog p{font-size:.92rem;line-height:1.7}
.dialog-campaign{background:var(--ice);padding:18px 20px;border-radius:18px;margin-bottom:18px;border:1px solid var(--line)}
.dialog-campaign p{color:var(--ink);margin:0}
.dialog-campaign .button{width:100%;margin-top:14px}
.dialog-continue{display:block;min-height:44px;width:100%;margin-top:18px;border:0;background:none;color:var(--ink);font-size:.85rem;text-decoration:underline;text-underline-offset:4px}
.campaign-card{border-top:3px solid var(--coral)}
.campaign-card .button{margin-bottom:20px}
@media(max-width:600px){
 .construction-strip .container{gap:0 12px;padding-block:5px;font-size:.74rem}
 .support-dialog{padding:24px 22px 18px}
 .support-dialog h2{font-size:1.5rem}
 .support-dialog p{font-size:.85rem}
 .dialog-campaign{padding:15px}
}
/* Each page has one role: short orientation at home, details in the destination. */
.home-routes{border-top:1px solid var(--line)}
.home-routes .card-number{margin-bottom:18px}
.home-routes .project-card p{margin-bottom:25px}
.home-tools{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;margin-inline:auto}
.home-tools .tool-preview{height:220px}
.section-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px}
.section-links a{padding:9px 16px;border:1px solid var(--line);border-radius:20px;background:var(--aqua);font-size:.85rem;font-weight:600;text-decoration:none}
.section-links a:hover{background:#c7ecee}
.project-next{border-left:3px solid #42abb7;padding-left:17px}
.activity-row{grid-template-columns:108px minmax(0,1fr);gap:30px}
.activity-marker{position:relative;display:grid;place-items:center;width:100px;height:100px;background:#e5f7fa;border:1px solid #b1dae8;border-radius:28px 34px 25px 33px}
.activity-row:nth-child(even) .activity-marker{background:#e9effc;border-radius:34px 25px 33px 28px}
.activity-marker .activity-number{position:absolute;left:-6px;top:-6px;width:25px;height:25px;font-size:11px;font-weight:700;background:var(--white);border:1px solid #88ceda}
.project-icon{display:block;width:80px;height:80px}
@media(max-width:600px){.activity-row{grid-template-columns:1fr;gap:20px}.activity-marker{width:86px;height:86px}.project-icon{width:70px;height:70px}}
.project-references{line-height:2.2}
.support-methods{align-items:stretch}
.support-methods .project-card h2{font-size:1.85rem;letter-spacing:-.04em}
.support-methods .project-card p{margin-bottom:18px}
.support-methods .project-card .eyebrow{margin-bottom:16px}
.support-methods .tag{margin-top:auto}
.support-methods .text-link{margin-top:18px}
.support-methods .button{margin-top:auto;width:100%;padding-inline:14px;font-size:.8rem}
.support-faq{border-top:1px solid var(--line)}
.support-faq details{border-bottom:1px solid var(--line);padding:20px 0}
.support-faq summary{cursor:pointer;color:var(--ink);font-weight:650;line-height:1.6;padding-right:12px}
.support-faq details p{margin-top:18px;font-size:.92rem}
.support-faq details .text-link{overflow-wrap:anywhere;max-width:100%}
.compact-section{padding-top:30px}
@media(max-width:600px){.home-tools{grid-template-columns:1fr}.section-links{gap:8px;margin-bottom:30px}.section-links a{font-size:.78rem;padding:9px 12px}.support-methods .project-card h2{font-size:1.85rem}.support-methods .tag{margin-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{
 .support-dialog{display:none!important}
 body{background:white;color:#111}
 body[data-page="risorse"] .site-header,body[data-page="storie"] .site-header,.site-footer,.story-hero,.story-form,.output-toolbar,.tool-note,.soft-blue,.skip-link,[data-copy-status]{display:none!important}
 .section{padding:0}.container{width:100%}.tool-layout{display:block}.story-output-panel{border:0;padding:0}.story-output{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
 .story-page{break-inside:avoid;min-height:150px;box-shadow:none;border:1px solid #888;background:white!important}.story-page p{color:#111}
 .story-page.empty{display:none}.page-hero{background:white;padding:20px 0}
}

/* Shared illustration language and a concise home overview. */
.home-family { margin:0; align-self:center; }
.home-family img { display:block; width:100%; height:auto; }
.home-actions { align-items:stretch; gap:12px; }
.home-actions .button { font-size:15px; min-height:58px; }
.family-cta { text-align:left; line-height:1.45; }
.family-cta strong { font-weight:650; }
.home-project-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:22px; }
.home-project { grid-column:span 2; padding:28px; border:1px solid #d1e7ed; border-radius:24px; background:#fff; display:flex; flex-direction:column; align-items:flex-start; }
.home-project:nth-last-child(-n+2) { grid-column:span 3; background:#f0f9fb; }
.home-project h3 { font-size:24px; margin:16px 0 8px; }
.home-project p { margin:0 0 20px; }
.home-project .text-link { margin-top:auto; }
.home-giving { background:#eaf7fa; }
.home-giving .section-heading { max-width:760px; }
.home-donation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.home-donation-grid article { padding:8px 26px 8px 0; }
.home-donation-grid article+article { border-left:1px solid #b7dbe3; padding-left:32px; }
.donation-symbol { display:flex; align-items:center; height:55px; font-size:48px; color:#087f8e; font-weight:600; }
.donation-number { font-size:30px; letter-spacing:-1px; }
.home-donation-grid h3 { margin:16px 0 8px; font-size:25px; }
.home-lab { display:flex; justify-content:space-between; align-items:center; gap:36px; }
.home-lab p { max-width:650px; }
.home-lab .button { flex-shrink:0; }
.activity-row h3 { font-size:21px; margin:24px 0 8px; }
.activity-row p { max-width:780px; }
.family-steps { margin:28px 0; }
.family-steps article { border-top:1px solid #cfe4eb; padding:16px 0; }
.family-steps h3 { margin:0 0 8px; font-size:22px; }
.footer-support { display:block; border:0; background:none; padding:0; color:inherit; font:inherit; text-align:left; cursor:pointer; margin:0 0 10px; }
.footer-support:hover { text-decoration:underline; }
.support-dialog .campaign-status:empty { display:none; }
@media(max-width:1000px) { .home-actions { flex-direction:column; align-items:flex-start; } .home-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .home-project, .home-project:nth-last-child(-n+2) { grid-column:auto; } .home-project:last-child { grid-column:span 2; } }
@media(max-width:650px) { .home-hero { grid-template-columns:1fr; } .home-family { max-width:540px; margin:0 auto; } .home-actions { flex-direction:row; align-items:stretch; } .home-actions .button { font-size:14px; } .home-project-grid, .home-donation-grid { grid-template-columns:1fr; } .home-project:last-child { grid-column:auto; } .home-donation-grid { gap:20px; } .home-donation-grid article+article { border-left:0; border-top:1px solid #b7dbe3; padding:24px 0 0; } .home-lab { align-items:flex-start; flex-direction:column; } }
@media(max-width:380px) { .home-actions { flex-direction:column; align-items:flex-start; } }
@media print { .footer-support { display:none; } }

/* Final logo supplied on 27 September 2026; preserve the compact header. */
.brand-logo, .footer-brand .brand-logo { width:124px; height:auto; overflow:visible; }
.footer-brand .brand-logo { width:250px; }
.brand-logo img, .footer-brand .brand-logo img { position:static; display:block; width:100%; height:auto; max-width:100%; }
.header-inner { min-height:64px; }
.site-nav { gap:22px; }
.footer-brand { margin-top:0; }
#fondatori .text-link { flex-wrap:wrap; }
@media(max-width:1150px) and (min-width:1051px) { .site-nav { gap:15px; } .site-nav .nav-cta { padding-inline:14px; } }
@media(max-width:1050px) { .brand-logo { width:124px; } .header-inner { min-height:64px; } .site-nav { gap:0; } }
@media(max-width:600px) { .brand-logo { width:116px; } .header-inner { min-height:60px; } .site-nav { max-height:calc(100dvh - 60px); } }
