:root{--paper:#fbfdff;--paper-blue:#f0f7ff;--ink:#10243e;--muted:#58708c;--accent:#347fe8;--accent-dark:#1f63c2;--accent-pale:#dcecff;--line:#d8e5f3;--white:#fff;--radius-lg:1.5rem;--shadow:0 18px 50px #1a4c8217}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:.35rem}.shell{width:min(1160px,100% - 40px);margin-inline:auto}.site-header{background:#fbfdfff0;border-bottom:1px solid #d8e5f3a6;padding:1.15rem 0}.header-inner,.footer-inner,.section-heading{justify-content:space-between;align-items:center;gap:2rem;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:.65rem;font-size:1rem;font-weight:850;display:inline-flex}.brand-mark{width:2rem;height:2rem;color:var(--white);background:var(--accent);border-radius:50%;place-items:center;display:grid;transform:rotate(-5deg);box-shadow:0 4px 12px #347fe840}nav{gap:2rem;font-weight:700;display:flex}nav a,.text-link,.card-secondary-action{transition:color .2s}nav a:hover,.text-link:hover,.card-secondary-action:hover{color:var(--accent-dark)}.eyebrow{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .85rem;font-size:.72rem;font-weight:850}h1,h2,h3{letter-spacing:-.05em;margin:0;line-height:.98}h1,h2,h3,.hero-aside,.tinkering-box>p:last-child{font-family:Georgia,Times New Roman,serif}h1{max-width:720px;font-size:clamp(3.5rem,6.6vw,6.4rem);font-weight:500}h1 em{color:var(--accent);font-weight:500}h2{font-size:clamp(2.35rem,4.3vw,4rem);font-weight:500}h3{font-size:clamp(1.75rem,3vw,2.55rem);font-weight:500}.hero{grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(2.5rem,6vw,6rem);min-height:0;padding-block:clamp(2.4rem,5vw,4.6rem);display:grid}.hero-lede{max-width:610px;margin:1.3rem 0 .8rem;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.52}.hero-aside{max-width:580px;color:var(--muted);margin:0;font-size:1.02rem;font-style:italic;line-height:1.5;transform:rotate(-.4deg)}.hero-actions,.detail-actions{flex-wrap:wrap;gap:.75rem;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;gap:.7rem;min-height:46px;margin-top:1.25rem;padding:.84rem 1.15rem;font-weight:800;transition:transform .2s,background .2s,border-color .2s,color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--white);background:var(--accent)}.button-primary:hover{background:var(--accent-dark)}.button-secondary{background:var(--white);border:1px solid var(--line)}.button-secondary:hover{color:var(--accent-dark);border-color:var(--accent)}.family-hero-art{justify-self:center;width:min(100%,400px);padding:1rem;position:relative}.family-frame{aspect-ratio:1;background:var(--accent-pale);border:8px solid var(--white);box-shadow:var(--shadow), 0 0 0 2px var(--accent-pale);border-radius:50%;position:relative;overflow:hidden}.family-frame img{object-fit:cover;width:100%;height:100%;display:block}.doodle{z-index:2;color:var(--accent);font-family:Georgia,serif;font-weight:800;position:absolute}.doodle-star{font-size:2rem;top:2%;right:5%;transform:rotate(12deg)}.doodle-dots{letter-spacing:.3rem;font-size:1rem;top:16%;left:-2%;transform:rotate(-25deg)}.doodle-arrow{font-size:2.2rem;bottom:17%;right:-1%;transform:rotate(18deg)}.doodle-bulb{font-size:1.8rem;bottom:8%;left:2%;transform:rotate(-18deg)}.section{border-top:1px solid var(--line);padding-block:clamp(3.7rem,6.5vw,6rem)}.section-heading{align-items:end;margin-bottom:1.8rem}.text-link{text-underline-offset:.3rem;font-weight:800;-webkit-text-decoration:underline #347fe859;text-decoration:underline #347fe859}.project-list{grid-template-columns:repeat(3,1fr);gap:1.15rem;display:grid}.project-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;min-width:0;padding:.9rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 10px 30px #1a4c820f}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.project-visual{border-radius:1rem;place-items:center;min-height:200px;display:grid;position:relative;overflow:hidden}.project-visual span{z-index:1;aspect-ratio:1;width:40%;color:var(--white);border-radius:45% 55% 51% 49%;place-items:center;font-size:clamp(2.2rem,5vw,4rem);display:grid;transform:rotate(-7deg)}.theme-blue{background:#dbeaff}.theme-blue span{background:#347fe8}.theme-violet{background:#ece4fa}.theme-violet span{background:#7a5ab6}.theme-teal{background:#d9f0f0}.theme-teal span{background:#3b9294}.visual-spark{color:#fffffff2;font-size:1.8rem;font-style:normal;position:absolute;top:12%;right:15%}.visual-line{border:2px dashed #ffffff9e;border-radius:50%;width:72%;height:68%;position:absolute;transform:rotate(28deg)}.visual-dot{aspect-ratio:1;background:#ffffffe6;border-radius:50%;width:.5rem;position:absolute}.dot-one{top:25%;left:14%}.dot-two{width:.8rem;bottom:18%;right:12%}.project-content{flex-direction:column;flex:1;padding:1.15rem .35rem .3rem;display:flex}.project-meta{color:var(--muted);letter-spacing:.045em;text-transform:uppercase;flex-wrap:wrap;gap:.4rem 1rem;font-size:.68rem;font-weight:850;display:flex}.status-dot:before{content:"";background:var(--accent);border-radius:50%;width:.45rem;height:.45rem;margin-right:.4rem;display:inline-block}.project-content h3{margin-top:1rem}.project-content>p{color:var(--muted);margin:.75rem 0 1.25rem;font-size:.96rem;line-height:1.55}.card-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:auto;display:flex}.card-primary-action{min-height:40px;color:var(--white);background:var(--accent);border-radius:999px;align-items:center;gap:.35rem;padding:.62rem .8rem;font-size:.82rem;font-weight:850;transition:background .2s,transform .2s;display:inline-flex}.card-primary-action:hover{background:var(--accent-dark);transform:translateY(-1px)}.card-secondary-action{font-size:.8rem;font-weight:800}.section-process{padding-block:clamp(3.5rem,5.5vw,5rem)}.process-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.process-heading .eyebrow{flex:none}.process-heading h2{text-align:right;max-width:680px}.process-flow{background:var(--paper-blue);border:1px solid var(--line);border-radius:1.25rem;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.process-flow li{border-right:1px solid var(--line);min-width:0;padding:1.7rem;position:relative}.process-flow li:last-child{border-right:0}.process-flow li:not(:last-child):after{content:"→";z-index:2;width:1.5rem;height:1.5rem;color:var(--accent);background:var(--white);border:1px solid var(--line);border-radius:50%;place-items:center;font-size:.78rem;display:grid;position:absolute;top:50%;right:-.75rem}.step-icon{aspect-ratio:1;width:2.35rem;color:var(--accent);background:var(--white);border:1px solid var(--line);border-radius:50%;place-items:center;margin-bottom:.8rem;font-weight:850;display:grid}.step-number{color:#90a9c3;font-size:.7rem;font-weight:850;position:absolute;top:1.75rem;right:1.5rem}.process-flow h3{font-size:1.65rem}.process-flow p{color:var(--muted);margin:.55rem 0 0;font-size:.92rem;line-height:1.55}.about-preview{grid-template-columns:1.3fr .7fr;align-items:center;gap:clamp(3rem,9vw,7rem);display:grid}.about-preview h2{max-width:770px}.about-preview>div>p:not(.eyebrow){max-width:680px;color:var(--muted);font-size:1.04rem;line-height:1.65}.tinkering-box{background:var(--accent-pale);box-shadow:var(--shadow);border:1px solid #b9d5f8;border-radius:1.2rem;padding:2rem;position:relative;transform:rotate(1deg)}.tinkering-box>p:last-child{margin:0;font-size:clamp(1.5rem,2.5vw,2.05rem);line-height:1.25}.tinkering-box span{color:var(--accent)}.tape{background:#ffffffb3;width:4.5rem;height:1.8rem;position:absolute;top:-1rem;left:38%;transform:rotate(-4deg)}.page-hero{padding-block:5.5rem 4.5rem}.page-hero>p:last-child{max-width:600px;color:var(--muted);margin-top:1.5rem;font-size:1.18rem;line-height:1.6}.detail-hero{padding-block:3.5rem 6rem}.back-link{color:var(--muted);gap:.6rem;margin-bottom:3rem;font-weight:750;display:inline-flex}.back-link:hover{color:var(--accent-dark)}.detail-heading{grid-template-columns:1.06fr .94fr;align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.detail-heading h1{margin-top:1.2rem}.detail-heading>div>p{max-width:660px;color:var(--muted);font-size:1.2rem;line-height:1.65}.project-visual-large{min-height:unset;aspect-ratio:1/.9;box-shadow:var(--shadow)}.detail-story{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:clamp(3rem,10vw,9rem);padding-block:5rem;scroll-margin-top:2rem;display:grid}.detail-story h2{font-size:clamp(2.1rem,3.8vw,3.5rem)}.detail-story>div>p:last-child{color:var(--muted);font-size:1.05rem;line-height:1.75}.next-idea{border:1px solid var(--line);background:var(--paper-blue);border-radius:1rem;justify-content:space-between;gap:2rem;margin-bottom:5rem;padding:1.4rem 1.7rem;display:flex}.next-idea p{margin:0;font-weight:850}.next-idea span{color:var(--muted)}.about-hero{grid-template-columns:1.15fr .85fr;align-items:start;gap:clamp(4rem,10vw,10rem);padding-block:6rem 7rem;display:grid}.about-hero h1{font-size:clamp(3.5rem,6.7vw,6.1rem)}.about-copy{padding-top:1.5rem}.about-copy p{color:var(--muted);font-size:1.05rem;line-height:1.8}.about-copy .about-lede{color:var(--ink);font-family:Georgia,serif;font-size:1.6rem;line-height:1.4}.about-notes{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.about-notes article{border-right:1px solid var(--line);padding:2.7rem}.about-notes article:first-child{padding-left:0}.about-notes article:last-child{border:0}.about-notes span{color:var(--accent-dark);font-size:.75rem;font-weight:850}.about-notes h2{margin-top:1.7rem;font-size:2.25rem}.about-notes p{color:var(--muted);line-height:1.65}.about-cta{text-align:center;padding-block:7rem}.about-cta .button{margin-top:1.8rem}.site-footer{color:var(--muted);border-top:1px solid var(--line);padding:2rem 0 2.7rem;font-size:.84rem}@media (max-width:900px){.project-list{grid-template-columns:repeat(2,1fr)}.project-card:last-child{grid-column:1/-1;max-width:calc(50% - .575rem)}}@media (max-width:760px){.shell{width:min(100% - 28px,1160px)}.site-header{padding-block:.85rem}nav{gap:1.15rem;font-size:.92rem}.brand{font-size:.92rem}.brand-mark{width:1.8rem;height:1.8rem}.hero{grid-template-columns:1fr;gap:1.6rem;padding-block:2.8rem 3.5rem}h1{font-size:clamp(3.25rem,15vw,4.6rem)}.hero-lede{font-size:1.06rem}.family-hero-art{order:2;width:min(78vw,330px);padding:.6rem}.family-frame{border-width:6px}.doodle-star{right:0}.doodle-dots{left:-5%}.doodle-arrow{right:-4%}.section{padding-block:3.7rem}.section-heading{flex-direction:column;align-items:start;gap:1rem;margin-bottom:1.5rem}.project-list{grid-template-columns:1fr}.project-card:last-child{grid-column:auto;max-width:none}.project-visual{min-height:210px}.process-heading{display:block}.process-heading h2{text-align:left}.process-flow{grid-template-columns:1fr}.process-flow li{border-right:0;border-bottom:1px solid var(--line)}.process-flow li:last-child{border-bottom:0}.process-flow li:not(:last-child):after{content:"↓";top:auto;bottom:-.75rem;right:1.5rem}.about-preview,.detail-heading,.detail-story,.about-hero{grid-template-columns:1fr}.about-preview{gap:3.5rem}.page-hero{padding-block:4rem 3rem}.detail-hero{padding-block:3rem 4.5rem}.back-link{margin-bottom:2.5rem}.detail-heading{gap:2.5rem}.project-visual-large{order:-1}.detail-story{gap:3.5rem}.next-idea{flex-direction:column}.about-hero{gap:2rem;padding-block:4.5rem 5rem}.about-notes{grid-template-columns:1fr}.about-notes article,.about-notes article:first-child{border-right:0;border-bottom:1px solid var(--line);padding:2.4rem 0}.footer-inner{flex-direction:column;align-items:flex-start;gap:.35rem}.footer-inner p{margin:0}}@media (max-width:420px){.hero-actions{flex-direction:column;align-items:stretch;gap:.55rem}.hero-actions .button{width:100%;margin-top:0}.hero-actions .button:first-child{margin-top:1.15rem}.family-hero-art{width:min(82vw,300px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
