:root{--color-primary:#e86f18;--color-primary-dark:#c95b10;--color-accent:#e86f18;--color-heading:#172536;--color-text:#28323d;--color-muted:#77756f;--color-background:#f6f2ea;--color-surface:#fff;--color-border:#d8d2c7;--shadow-soft:0 12px 30px #1725360f;--radius-card:8px;--max-width:1160px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{min-width:320px;margin:0}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}a{color:inherit}body{background:var(--color-background);color:var(--color-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}:focus-visible{outline-offset:4px;outline:3px solid #d9770673}.skip-link{z-index:20;background:var(--color-primary-dark);color:#fff;border-radius:6px;padding:10px 14px;text-decoration:none;position:fixed;top:12px;left:16px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;background:#f7f4ecf5;border-bottom:1px solid #dde4e1e6;position:sticky;top:0}.nav-shell{max-width:var(--max-width);justify-content:space-between;align-items:center;min-height:76px;margin:0 auto;padding:0 24px;display:flex}.brand{color:var(--color-heading);gap:2px;font-weight:760;line-height:1.15;text-decoration:none;display:grid}.brand span{letter-spacing:.04em;font-size:1rem}.brand small{color:var(--color-muted);font-size:.8rem;font-weight:500}.nav-menu{align-items:center;gap:8px;display:flex}.nav-menu a,.language-button,.menu-button{border-radius:6px}.nav-menu a{color:var(--color-heading);padding:8px 11px;font-size:.94rem;text-decoration:none}.nav-menu a:hover{color:var(--color-primary)}.language-button,.menu-button,.text-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary-dark);cursor:pointer}.language-button{padding:8px 12px;font-weight:700}.menu-button{width:42px;height:42px;padding:8px;display:none}.menu-button span{background:var(--color-primary-dark);border-radius:2px;height:2px;margin:5px 3px;display:block}.section{max-width:var(--max-width);margin:0 auto;padding:76px 24px}.hero{grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);align-items:center;gap:42px;min-height:calc(100vh - 76px);padding-top:48px;display:grid}.hero-content{max-width:680px}.eyebrow,.card-kicker{color:var(--color-accent);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.905rem;font-weight:800}h1,h2,h3,h4{color:var(--color-heading);overflow-wrap:anywhere;margin:0;line-height:1.18}h1{max-width:760px;font-size:clamp(2.55rem,6vw,4.8rem)}.hero-title{white-space:pre-line}h2{font-size:clamp(1.85rem,4vw,2.65rem)}h3{font-size:1.18rem}h4{margin-top:18px;font-size:.95rem}p{margin:0}.hero-subtitle{color:var(--color-primary);margin-top:18px;font-size:1.35rem;font-weight:760}.hero-intro{color:var(--color-heading);margin-top:22px;font-size:1.1rem}.hero-actions,.contact-links{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{border-radius:7px;align-items:center;min-height:44px;padding:10px 16px;font-weight:760;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.button.primary{background:var(--color-primary);color:#fff}.button.primary:hover{background:var(--color-primary-dark)}.button.secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary-dark)}.hero-graphic{justify-self:end;width:min(100%,400px)}.hero-photo{aspect-ratio:4/5;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:24px;margin:0;overflow:hidden}.hero-photo-picture{width:100%;height:100%;display:block}.hero-photo-image{object-fit:cover;object-position:68% 26%;filter:saturate(.88)sepia(.06)brightness(1.03)contrast(.98);width:100%;height:100%;display:block}.graphic-panel,.droplet{fill:var(--color-surface);stroke:var(--color-border);stroke-width:2px}.droplet-primary{fill:#1f5f5b24}.droplet-accent{fill:#d977062e}.droplet-soft{fill:#1f5f5b14}.interface-line,.molecule-line,.axis-line,.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.interface-line{stroke:var(--color-primary)}.molecule-line,.axis-line{stroke:#1f5f5b57;stroke-width:2px}.chart-line{stroke:var(--color-accent)}.data-point{fill:var(--color-primary)}.two-column{grid-template-columns:280px minmax(0,1fr);gap:42px;display:grid}.section-body{gap:18px;max-width:760px;display:grid}.section-heading{margin-bottom:26px}.trait-grid,.interest-grid,.project-grid,.skills-grid{gap:16px;display:grid}.trait-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.interest-grid,.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.small-card,.feature-card,.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.small-card{padding:20px}.small-card p{margin-top:8px}.feature-card,.project-card{padding:24px}.feature-card>p,.project-card>p{margin-top:12px}.muted{color:var(--color-muted)}.tag-list{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--color-border);color:var(--color-primary-dark);border-radius:999px;padding:7px 10px;font-size:.88rem;line-height:1.2}.check-list{margin:18px 0 0;padding-left:20px}.check-list li+li{margin-top:8px}.text-button{border-radius:6px;margin-top:18px;padding:9px 12px;font-weight:760}.project-detail{border-top:1px solid var(--color-border);margin-top:18px;padding-top:18px}.project-detail ul{columns:2;margin:10px 0 0;padding-left:18px}.project-conclusion{color:var(--color-heading);margin-top:16px;font-weight:650}.project-note{color:var(--color-muted);margin-top:8px;font-size:.94rem}.partner-section{gap:24px;display:grid}.partner-header{gap:12px;max-width:780px;display:grid}.partner-description{color:var(--color-heading);font-size:1.06rem;line-height:1.72}.partner-anniversary{color:var(--color-muted);font-size:.95rem;font-weight:600}.partner-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:18px;margin:0;overflow:hidden}.partner-cover{gap:12px;display:grid}.partner-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.partner-gallery-item{margin:0}.partner-tile{gap:10px;display:grid}.partner-media{overflow:hidden}.partner-cover .partner-media{aspect-ratio:16/9}.partner-tile .partner-media{aspect-ratio:4/3}.partner-image{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.partner-caption{color:var(--color-muted);padding:0 16px 16px;font-size:.92rem;line-height:1.5}.life-section{background:var(--color-background);color:var(--color-text);gap:0;padding-top:96px;padding-bottom:104px;display:grid}.life-header{gap:14px;max-width:760px;display:grid}.life-kicker{color:var(--color-accent);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.92rem;font-weight:800}.life-intro{color:var(--color-text);max-width:720px;font-size:1.08rem;line-height:1.82}.life-journal{color:var(--color-muted);letter-spacing:.2em;text-transform:uppercase;font-size:.83rem;font-weight:700}.life-divider{border-top:1px solid var(--color-border);margin:52px 0 0}.life-block{margin-top:84px}.life-block-heading{gap:12px;max-width:720px;display:grid}.life-block-heading h3,.life-story-copy h3{font-size:clamp(1.55rem,2.7vw,2.1rem)}.life-block-intro{color:var(--color-muted);font-size:1.02rem;line-height:1.75}.life-stories{gap:72px;margin-top:40px;display:grid}.life-story{align-items:start;gap:28px;display:grid}@media (width>=901px){.life-story{grid-template-columns:minmax(0,1fr) minmax(320px,.94fr)}.life-story.is-reversed .life-story-copy{order:2}.life-story.is-reversed .life-story-media{order:1}}.life-story-copy{max-width:560px}.life-story-date{color:var(--color-accent);letter-spacing:.16em;margin:0;font-size:.9rem;font-weight:800}.life-story-label{color:var(--color-muted);letter-spacing:.18em;text-transform:uppercase;margin-top:10px;font-size:.88rem;font-weight:700}.life-story-description{margin-top:18px;font-size:1.04rem;line-height:1.82}.life-story-media{border:1px solid var(--color-border);aspect-ratio:4/3;background:#ffffff8c;border-radius:8px;margin:0;overflow:hidden}.life-story-media.is-portrait{aspect-ratio:3/4}.life-story-image{object-fit:cover;width:100%;height:100%;display:block}.life-story-image.is-portrait{object-fit:contain}.life-image-placeholder{color:var(--color-muted);letter-spacing:.12em;text-align:center;text-transform:uppercase;word-break:break-word;background:#ffffff6b;justify-content:center;align-items:center;width:100%;height:100%;min-height:220px;padding:24px;font-size:.8rem;font-weight:700;display:flex}.life-moments-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;margin-top:40px;display:grid}.life-moments-column{align-content:start;gap:18px;display:grid}.life-moment{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);box-shadow:var(--shadow-soft);border-radius:18px;margin:0;transition:transform .22s,box-shadow .22s;display:grid;overflow:hidden}.life-moment:hover{transform:translateY(-2px);box-shadow:0 16px 34px #1725361f}.life-moment-media{background:#ffffff8c;justify-content:center;align-items:center;margin:0;padding:12px;display:flex}.life-moment-image{width:100%;height:auto;display:block}.life-moment-caption{gap:4px;padding:16px 18px 18px;display:grid}.life-moment-label{color:var(--color-heading);letter-spacing:.14em;text-transform:uppercase;font-size:.84rem;font-weight:800}.life-moment-description{color:var(--color-muted);font-size:.9rem;line-height:1.55}.life-moment--featured{grid-area:span 2/span 7}.life-moment--tall{grid-area:span 2/span 5}.life-moment--square{grid-column:span 4}.life-moment--wide{grid-column:span 8}.life-moment--featured .life-moment-media,.life-moment--tall .life-moment-media,.life-moment--square .life-moment-media,.life-moment--wide .life-moment-media{min-height:220px}.life-moment--featured .life-moment-media{aspect-ratio:4/3;min-height:360px}.life-moment--tall .life-moment-media{aspect-ratio:3/4;min-height:420px}.life-moment--square .life-moment-media{aspect-ratio:1;min-height:280px}.life-moment--wide .life-moment-media{aspect-ratio:16/10;min-height:280px}.life-closing{border-top:1px solid var(--color-border);margin-top:84px;padding-top:84px}.life-closing-text{color:var(--color-heading);max-width:760px;font-size:clamp(1.65rem,3.1vw,2.45rem);line-height:1.35}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);max-width:var(--max-width);margin:24px auto 0;padding:24px}@media (width<=900px){.menu-button{display:block}.nav-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);flex-direction:column;padding:12px;display:none;position:absolute;top:68px;left:24px;right:24px}.nav-menu.is-open{display:flex}.nav-menu a,.language-button{width:100%}.hero,.two-column,.life-story,.life-moments-columns{grid-template-columns:1fr}.life-moments-column{display:contents}.life-story.is-reversed .life-story-copy,.life-story.is-reversed .life-story-media{order:initial}.life-moment--featured,.life-moment--tall,.life-moment--square,.life-moment--wide{grid-area:auto}.hero{min-height:auto}.hero-graphic{justify-self:start}.interest-grid,.project-grid,.skills-grid,.trait-grid{grid-template-columns:1fr}.partner-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.life-stories{gap:56px}.life-moments-columns{gap:14px}.life-closing{margin-top:72px;padding-top:72px}.hero-actions,.contact-links{flex-direction:column;align-items:stretch}.button{justify-content:center;width:100%}}@media (width<=560px){.nav-shell,.section{padding-left:18px;padding-right:18px}.section{padding-top:54px;padding-bottom:54px}.project-detail ul{columns:1}.partner-gallery{grid-template-columns:1fr}.life-section{padding-top:72px;padding-bottom:84px}.life-divider{margin-top:40px}.life-block{margin-top:64px}.life-stories{gap:48px}.life-story{gap:20px}.life-moments-columns{grid-template-columns:1fr}.life-moments-column{display:contents}.life-moment--featured,.life-moment--tall,.life-moment--square,.life-moment--wide{grid-column:auto}.life-moment-overlay{opacity:1;transform:none}.life-closing{margin-top:64px;padding-top:64px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.life-moment-media,.life-moment-image,.life-moment-overlay{transition-duration:.01ms!important}.life-moment:hover .life-moment-media,.life-moment:focus-visible .life-moment-media,.life-moment:focus-within .life-moment-media,.life-moment:hover .life-moment-image,.life-moment:focus-visible .life-moment-image,.life-moment:focus-within .life-moment-image{transform:none!important}.life-moment:hover .life-moment-overlay,.life-moment:focus-visible .life-moment-overlay,.life-moment:focus-within .life-moment-overlay{opacity:1;transform:none!important}}
