:root{color-scheme:light dark;--color-bg: #f6f7f4;--color-text: #202824;--color-muted: #66716b;--color-accent: #2e6b60;--color-accent-deep: #1e4a42;--color-cta: #a5673f;--color-line: #dce1db;--color-surface: #edf0eb;--on-deep: #f4f7f4;--on-deep-muted: #c2d4cc;--on-deep-eyebrow: #a9c6bd;--on-deep-line: rgb(244 247 244 / 22%);--font-heading: "Hiragino Mincho ProN", "Yu Mincho", "BIZ UDMincho", "Noto Serif JP", serif;--font-body: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "BIZ UDGothic", "Noto Sans JP", sans-serif;--font-latin-serif: Georgia, "Times New Roman", serif;--shell-width: 70rem}@media(prefers-color-scheme:dark){:root{--color-bg: #16201c;--color-text: #e6ebe7;--color-muted: #93a099;--color-accent: #6fb5a6;--color-accent-deep: #1c3d37;--color-cta: #c98a5e;--color-line: #2c3833;--color-surface: #1d2823}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.9;letter-spacing:.03em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%;height:auto}a{color:var(--color-accent);text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:.3em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px;border-radius:1px}h1,h2,h3,p,figure,ol,ul{margin-top:0}h1,h2,h3{font-family:var(--font-heading);font-feature-settings:"palt" 1;font-weight:600;line-height:1.4;letter-spacing:.04em;text-wrap:balance}h1{margin-bottom:.35rem;font-size:clamp(2.8rem,12vw,5.7rem);letter-spacing:.08em}h2{margin-bottom:1rem;font-size:clamp(2rem,8vw,3.5rem)}h3{margin-bottom:.75rem;font-size:clamp(1.25rem,5vw,1.6rem)}.skip-link{position:fixed;z-index:10;top:1rem;left:1rem;padding:.65rem 1rem;background:var(--color-text);color:var(--color-bg);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.shell{width:min(100% - 2.5rem,var(--shell-width));margin-inline:auto}.eyebrow{margin-bottom:.65rem;color:var(--color-accent);font-family:var(--font-latin-serif);font-size:.73rem;font-weight:700;line-height:1.4;letter-spacing:.2em;text-transform:uppercase}.hero{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--color-accent-deep);color:var(--on-deep)}.hero__inner{display:grid;gap:2.5rem;padding-block:4.5rem 6.5rem;animation:hero-rise .7s ease-out both}@keyframes hero-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hero__inner{animation:none}}.hero__portrait-wrap{width:min(38vw,15rem);padding:.7rem;border:1px solid rgb(244 247 244 / 32%);border-radius:50%}.hero__portrait{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;background:#f4f7f414}.hero__content{max-width:47rem}.hero .eyebrow{color:var(--on-deep-eyebrow)}.hero h1{color:var(--on-deep)}.hero__reading{margin-bottom:2.8rem;color:var(--on-deep-muted);font-size:.8rem;letter-spacing:.34em}.hero__lead{max-width:38em;margin-bottom:1.4rem;font-family:var(--font-heading);font-size:clamp(1.12rem,4.8vw,1.55rem);line-height:1.8}.hero__roles{max-width:48em;margin-bottom:2.75rem;color:var(--on-deep-muted);font-size:.84rem}.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem}.hero__secondary{color:var(--on-deep-eyebrow);font-size:.88rem;font-weight:700;letter-spacing:.04em;text-decoration:none}.hero__content .hero__secondary:hover{color:var(--on-deep);text-decoration:underline;text-underline-offset:.3em}.hero__scroll{position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.55rem;color:var(--on-deep-muted);font-family:var(--font-latin-serif);font-size:.66rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;text-decoration:none}.hero__scroll:after{content:"";width:1px;height:2.4rem;background:var(--on-deep-eyebrow);transform-origin:top;animation:scroll-drift 2.6s ease-in-out infinite}@keyframes scroll-drift{0%,to{transform:scaleY(1);opacity:.9}50%{transform:scaleY(.45);opacity:.45}}@media(prefers-reduced-motion:reduce){.hero__scroll:after{animation:none}}.hero__scroll:hover{color:var(--on-deep)}.hero a:focus-visible{outline-color:var(--on-deep)}.hero__content a:not(.button){color:var(--on-deep-eyebrow)}.button{display:inline-flex;min-width:9rem;min-height:3.25rem;align-items:center;justify-content:center;border:1px solid var(--color-cta);background:var(--color-cta);color:#fff8f2;font-weight:700;text-decoration:none}.button:hover{background:color-mix(in srgb,var(--color-cta) 82%,#201008);border-color:color-mix(in srgb,var(--color-cta) 82%,#201008)}.section{padding-block:5.5rem;border-bottom:1px solid var(--color-line)}.section--tinted{background:var(--color-surface)}.section-heading{max-width:40em;margin-bottom:3.5rem}.section-heading>p:last-child{margin-bottom:0;color:var(--color-muted)}.portfolio-grid{display:grid;gap:0;border-top:1px solid var(--color-line)}.portfolio-card{display:flex;min-height:18rem;flex-direction:column;padding-block:2rem;border-bottom:1px solid var(--color-line)}.portfolio-card>p:not(.card-meta){max-width:30em;margin-bottom:1.5rem;color:var(--color-muted)}.portfolio-card>a{margin-top:auto;align-self:flex-start;font-weight:700}.card-meta{margin-bottom:.65rem;color:var(--color-muted);font-size:.78rem;font-weight:700;letter-spacing:.08em}.service-list{border-top:1px solid var(--color-line)}.service{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:1rem;padding-block:2.5rem;border-bottom:1px solid var(--color-line)}.service__number{color:var(--color-accent);font-family:var(--font-latin-serif);font-size:.75rem;font-variant-numeric:tabular-nums}.service h3{max-width:28em}.service div>p:not(.card-meta){max-width:40em;color:var(--color-muted)}.service a{font-weight:700}.track-list{padding:0;border-top:1px solid var(--color-line);list-style:none}.track-item{padding-block:2rem;border-bottom:1px solid var(--color-line)}.track-item__content{max-width:48rem}.track-item__content h3:before{content:"";display:block;width:1.75rem;height:3px;margin-bottom:.9rem;background:var(--color-accent)}.track-item__content p{margin-bottom:.75rem;color:var(--color-muted)}.track-item__content a{font-size:.9rem;font-weight:700}.section--story{padding-top:0}.section--story .section-heading{padding-top:5.5rem}.story-images{display:grid;gap:1rem;margin-bottom:3.5rem}.story-images figure{margin-bottom:0;overflow:hidden;background:var(--color-surface)}.story-images img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.prose{max-width:40em}.prose p{margin-bottom:1.75rem}.prose p:last-child{margin-bottom:0}.contact{background:var(--color-accent-deep);color:var(--on-deep);border-bottom:0}.contact .eyebrow{color:var(--on-deep-eyebrow)}.contact .section-heading{margin-bottom:2.5rem}.contact .section-heading>p:last-child{color:var(--on-deep-muted)}.contact-form{max-width:44rem;margin-bottom:3.5rem}.contact-form__grid{display:grid;gap:1.4rem 2rem}@media(min-width:48rem){.contact-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-form label{display:block;color:var(--on-deep-muted);font-size:.8rem;font-weight:700;letter-spacing:.06em}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:.45rem;padding:.65rem .85rem;border:1px solid var(--on-deep-line);border-radius:4px;background:#f4f7f412;color:var(--on-deep);font-family:var(--font-body);font-size:1rem;line-height:1.6}.contact-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23c2d4cc' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}.contact-form select option{color:var(--color-text);background:var(--color-bg)}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--on-deep-eyebrow);outline-offset:2px;border-color:var(--on-deep-eyebrow)}.contact-form__message{margin-top:1.4rem}.contact-form textarea{resize:vertical}.contact-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form .button{margin-top:1.8rem}.contact-alt{margin-bottom:.8rem;color:var(--on-deep-muted);font-size:.86rem}.contact-links{border-top:1px solid var(--on-deep-line)}.contact-link{display:grid;gap:.2rem 1.5rem;padding-block:1.5rem;border-bottom:1px solid var(--on-deep-line);color:var(--on-deep);text-decoration:none}.contact-link:hover .contact-link__value{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em}.contact-link:focus-visible{outline-color:var(--on-deep)}.contact-link__label{color:var(--on-deep-muted);font-size:.78rem;font-weight:700;letter-spacing:.1em}.contact-link__value{overflow-wrap:anywhere;color:var(--on-deep);font-family:var(--font-heading);font-size:clamp(1.3rem,6vw,2rem)}.contact-link__note{color:var(--on-deep-muted);font-size:.8rem}.footer{padding-block:2.25rem}.footer__inner{display:grid;gap:1.5rem;color:var(--color-muted);font-size:.78rem}.footer__links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:0;padding:0;list-style:none}.footer__links a{color:var(--color-muted)}.footer p{margin-bottom:0}@media(min-width:48rem){.shell{width:min(100% - 6rem,var(--shell-width))}.hero__inner{grid-template-columns:minmax(14rem,.42fr) minmax(0,1fr);align-items:center;gap:clamp(3rem,8vw,7rem);padding-block:7rem}.hero__portrait-wrap{width:100%;max-width:22rem}.section{padding-block:8rem}.section--story .section-heading{padding-top:8rem}.section-heading{margin-bottom:5rem}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-card{padding:2.5rem}.portfolio-card:nth-child(odd){border-right:1px solid var(--color-line)}.portfolio-card--wide{grid-column:1 / -1;border-right:0}.service{grid-template-columns:4rem minmax(0,1fr);gap:2rem;padding-block:3.25rem}.track-item{padding-block:2.5rem}.story-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-bottom:5rem}.contact-link{grid-template-columns:7rem minmax(0,1fr) auto;align-items:baseline;padding-block:2rem}.footer__inner{grid-template-columns:minmax(0,1fr) auto;align-items:center}.footer__inner>p{grid-column:2;grid-row:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
