@font-face{font-family:Instrument Sans;src:url(/fonts/InstrumentSans.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Noto Sans JP;src:url(/fonts/NotoSansJP-ja.woff2)format("woff2");font-style:normal;font-weight:400 600;font-display:swap}:root{--bg:#f5f4f0;--surface:#edeee9;--text:#202421;--muted:#555b55;--accent:#176844;--on-accent:#f5f4f0;--divider:#c9cdc5;--border:#838981;--gutter:clamp(20px,4.5vw,64px);--header-height:72px;color-scheme:light;background:var(--bg);color:var(--text);font-synthesis:none;font-family:Instrument Sans,Arial,sans-serif}[data-theme=dark]{--bg:#171816;--surface:#232522;--text:#f1f0ec;--muted:#aaafa9;--divider:#3b3f3a;--border:#6b716a;--on-accent:#171816;color-scheme:dark}[data-accent=light-green]{--accent:#176844}[data-accent=light-blue]{--accent:#1c57be}[data-accent=light-red]{--accent:#b23b35}[data-accent=light-violet]{--accent:#6d42aa}[data-accent=light-black]{--accent:#202421}[data-accent=dark-orange]{--accent:#ff9b58}[data-accent=dark-blue]{--accent:#78cffc}[data-accent=dark-fuchsia]{--accent:#f58acd}[data-accent=dark-lime]{--accent:#c4e773}[data-accent=dark-white]{--accent:#f1f0ec}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}body,button,summary{font-family:inherit}button{font-size:inherit;color:inherit}p,h1,h2,h3,figure{margin:0}p{line-height:1.6}h1,h2,h3{letter-spacing:-.035em;font-weight:500}h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15}h3{line-height:1.22}a{color:var(--accent);text-underline-offset:.23em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,summary,a{-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible,a:focus-visible,[tabindex="-1"]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--on-accent)}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.rail{width:min(1248px,calc(100% - var(--gutter)*2));margin-inline:auto}main,footer{z-index:1;position:relative}section[id]{scroll-margin-top:calc(var(--header-height) + 22px)}section:focus{outline:none}html[lang=ja]{line-break:strict;font-family:Instrument Sans,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}html[lang=ja] .hero h1{line-height:1.25}html[lang=ja] p{line-height:1.7}.skip-link{z-index:30;background:var(--bg);padding:12px 20px;position:fixed;top:8px;left:20px;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--divider);position:sticky;top:0}.header-inner{height:var(--header-height);justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{color:var(--text);letter-spacing:-.04em;white-space:nowrap;align-items:center;min-height:44px;font-size:1.3125rem;font-weight:600;text-decoration:none;display:inline-flex}.menu-shell{margin-left:auto}.menu-trigger{cursor:pointer;min-width:70px;min-height:44px;color:var(--text);justify-content:flex-end;align-items:center;gap:14px;list-style:none;display:flex}.menu-trigger::-webkit-details-marker{display:none}.menu-glyph{width:16px;height:16px;display:block;position:relative}.menu-glyph:before,.menu-glyph:after{content:"";background:currentColor;width:16px;height:1px;transition:transform .22s;position:absolute;top:7px;left:0}.menu-glyph:after{transform:rotate(90deg)}.menu-shell[open] .menu-glyph:after{transform:rotate(0)}.menu-panel{width:100%;max-height:calc(100dvh - var(--header-height));padding:36px max(var(--gutter),calc((100vw - 1248px)/2)) 44px;background:var(--bg);border-bottom:1px solid var(--divider);position:absolute;top:100%;left:0;overflow-y:auto}.menu-navigation{gap:10px;display:grid}.menu-navigation a{width:fit-content;color:var(--text);letter-spacing:-.05em;align-items:baseline;gap:clamp(18px,3vw,44px);min-height:1.13em;font-size:clamp(2rem,5.7vw,5.25rem);line-height:1.07;text-decoration:none;display:flex}.menu-navigation a:hover .menu-index,.menu-navigation a:focus-visible .menu-index{color:var(--accent)}.menu-index{letter-spacing:0;color:var(--muted);font-variant-numeric:tabular-nums;min-width:3em;font-size:clamp(.75rem,1.1vw,1rem)}.menu-bottom{border-top:1px solid var(--divider);justify-content:space-between;gap:30px 48px;margin-top:clamp(40px,8vh,90px);padding-top:22px;display:flex}.menu-contact{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.menu-contact a{color:var(--text);overflow-wrap:anywhere}.menu-utilities{flex-wrap:wrap;align-items:flex-start;gap:28px 42px;display:flex}.utility-heading{color:var(--muted);margin-bottom:9px;font-size:.875rem;display:block}.language-links{flex-wrap:wrap;gap:8px 14px;max-width:380px;display:flex}.language-links a{min-height:44px;color:var(--text);align-items:center;font-size:.94rem;text-decoration:none;display:inline-flex}.language-links [aria-current]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px}.appearance{position:relative}.appearance>summary{cursor:pointer;min-height:44px;color:var(--text);align-items:center;gap:8px;list-style:none;display:flex}.appearance>summary::-webkit-details-marker{display:none}.appearance>summary:after{content:"+"}.appearance[open]>summary:after{content:"−"}.appearance-panel{z-index:2;background:var(--surface);border:1px solid var(--border);width:276px;padding:22px;position:absolute;top:calc(100% + 8px);right:0}.theme-options{gap:12px;margin-bottom:24px;display:flex}.theme-options button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;min-height:44px;padding:0 4px}.theme-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.accent-options{gap:6px;display:flex}.accent-choice{cursor:pointer;background:0 0;border:0;place-items:center;width:38px;height:44px;padding:0;display:grid}.accent-choice span{background:var(--swatch);border:1px solid var(--border);width:20px;height:20px;display:block}.accent-choice[aria-pressed=true] span{outline:2px solid var(--accent);outline-offset:3px}.accent-choice[data-accent-group=dark],[data-theme=dark] .accent-choice[data-accent-group=light]{display:none}[data-theme=dark] .accent-choice[data-accent-group=dark]{display:grid}html:not(.js-ready) .appearance{display:none}html.js-ready .site-header[data-open]{clip-path:circle(150vmax at var(--menu-origin-x,90%) var(--menu-origin-y,36px));border-bottom:0;animation:.42s ease-out both menu-open;position:fixed;inset:0;overflow:hidden}html.js-ready .site-header[data-open] .header-inner{height:var(--header-height)}html.js-ready .site-header[data-open] .menu-panel{top:var(--header-height);height:calc(100dvh - var(--header-height));max-height:none;padding-top:clamp(28px,5vh,60px);padding-bottom:max(28px,env(safe-area-inset-bottom));border:0;flex-direction:column;justify-content:space-between;gap:30px;display:flex;overflow-y:auto}html.js-ready .site-header[data-open] .menu-navigation a{animation:.32s ease-out both menu-item;animation-delay:calc(.18s + var(--item-index,0)*35ms)}html.js-ready .site-header[data-open] .menu-bottom{animation:.3s ease-out .36s both menu-item}html.js-ready .site-header[data-open] .menu-navigation a:nth-child(2){--item-index:1}html.js-ready .site-header[data-open] .menu-navigation a:nth-child(3){--item-index:2}html.js-ready .site-header[data-open] .menu-navigation a:nth-child(4){--item-index:3}html.js-ready .site-header[data-open] .menu-navigation a:nth-child(5){--item-index:4}@keyframes menu-open{0%{clip-path:circle(0 at var(--menu-origin-x,90%) var(--menu-origin-y,36px))}to{clip-path:circle(150vmax at var(--menu-origin-x,90%) var(--menu-origin-y,36px))}}@keyframes menu-item{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.section-index{letter-spacing:0;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.875rem}.hero{min-height:min(790px,calc(100svh - var(--header-height)));flex-direction:column;justify-content:center;align-items:flex-start;padding-block:clamp(62px,9vw,116px) clamp(88px,12vw,150px);display:flex}.hero>.section-index{margin-bottom:28px}.hero h1{text-wrap:pretty;overflow-wrap:anywhere;max-width:1100px;font-size:clamp(3rem,5.7vw,5.125rem);line-height:1.08}.hero-copy{max-width:650px;margin-top:30px;font-size:1.3125rem;line-height:1.55}.word-slot{vertical-align:baseline;color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.13em;white-space:nowrap;font-weight:600;text-decoration-thickness:2px;display:inline-grid;position:relative}.word-reserve,.word-current{grid-area:1/1}.word-reserve{visibility:hidden;pointer-events:none;display:grid}.word-reserve>span{grid-area:1/1;width:max-content}.word-current{white-space:nowrap;justify-self:start;overflow:hidden}.word-current.is-leaving{animation:.28s ease-in both word-out}@keyframes word-out{to{opacity:0;clip-path:inset(0 0 100%);transform:translateY(-.15em)}}@keyframes word-in{0%{opacity:0;clip-path:inset(100% 0 0);transform:translateY(.15em)}to{opacity:1;clip-path:inset(0);transform:none}}.cta{border:1px solid var(--accent);background:var(--accent);min-height:50px;color:var(--on-accent);text-align:center;border-radius:4px;justify-content:center;align-items:center;margin-top:28px;padding:13px 22px;font-size:1rem;font-weight:500;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.cta:hover{text-decoration:underline}.section{border-top:1px solid var(--divider);padding-block:clamp(62px,8vw,104px) clamp(82px,10vw,134px)}.section-heading{align-items:baseline;gap:24px;display:flex}.section-intro{grid-template-columns:1fr 1.15fr;align-items:start;gap:64px;display:grid}.section-intro>p{max-width:50ch;font-size:1.25rem}.service-stack{margin-top:clamp(54px,7vw,94px)}.service-panel{z-index:calc(2 + var(--stack-index));min-height:calc(100svh - var(--header-height) - 50px);background:var(--surface);border-top:1px solid var(--divider);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:30px 6vw;margin-bottom:clamp(30px,5vw,64px);padding:clamp(36px,5vw,70px);display:grid;position:relative}.service-panel:nth-child(2){background:var(--bg);border:1px solid var(--divider)}.service-panel:nth-child(3){background:var(--surface)}.service-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.875rem}.service-panel h3{max-width:16ch;font-size:clamp(2.25rem,4.5vw,4.5rem)}.service-panel p{max-width:43ch;color:var(--muted);margin-top:28px;font-size:clamp(1.125rem,1.5vw,1.375rem)}.capabilities{max-width:820px;margin:64px 0 0 auto;font-size:1.125rem}.capabilities p+p{margin-top:20px}html.sticky-services .service-panel{position:sticky}html.sticky-services .service-panel:first-child{top:calc(var(--header-height) + 12px)}html.sticky-services .service-panel:nth-child(2){top:calc(var(--header-height) + 30px)}html.sticky-services .service-panel:nth-child(3){top:calc(var(--header-height) + 48px)}.projects>.section-heading{margin-bottom:45px}.project-case+.project-case{border-top:1px solid var(--divider);margin-top:clamp(72px,10vw,132px);padding-top:clamp(48px,6vw,82px)}.project-heading h3{font-size:clamp(2.5rem,4.4vw,4rem)}.project-status{color:var(--muted);margin-top:16px}.project-status a{white-space:nowrap}.project-text{grid-template-columns:1fr 1fr;gap:64px;margin-top:42px;font-size:1.125rem;display:grid}.project-figures{grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:start;gap:32px;margin-top:54px;display:grid}.project-figures figure{min-width:0}.project-figures img{border:1px solid var(--divider);background:var(--surface);width:100%;height:auto;display:block}.figure-desktop{grid-area:1/1}.figure-mobile{grid-area:1/2}figcaption{color:var(--muted);margin-top:16px;font-size:.9375rem;line-height:1.5}.project-capabilities{max-width:74ch;margin-top:34px;font-size:1.125rem}.project-detail-label{color:var(--muted)}.project-credits{border-top:1px solid var(--divider);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 48px;margin:28px 0 0;padding-top:22px;display:grid}.project-credits>div{min-width:0}.project-credits dt{color:var(--muted);margin-bottom:6px;font-size:.875rem}.project-credits dd{margin:0;font-size:1rem}.about{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:7vw;display:grid}.professional-title{color:var(--muted);margin-top:18px}.profile>p:not(.professional-title):not(.language-disclosure){max-width:42ch;margin-top:30px;font-size:1.25rem}.process{padding-top:10px}.process h3{margin-bottom:30px;font-size:1.125rem}.process-prose{border-top:1px solid var(--divider);padding-top:24px}.process-prose p{color:var(--muted);max-width:43ch;font-size:1.0625rem}.process-prose p+p{margin-top:26px}.process-note{color:var(--muted);margin-top:28px;font-size:.9375rem}.profile-links{margin-top:42px}.profile-links p{margin:0!important;font-size:1rem!important}.profile-links a{align-items:center;min-height:44px;margin-top:8px;display:inline-flex}.language-disclosure{color:var(--muted);border-top:1px solid var(--divider);max-width:52ch;padding-top:16px;line-height:1.6;margin-top:28px!important;font-size:.9375rem!important}.contact-data{margin-top:48px}.contact-row{align-items:center;gap:12px;max-width:100%;display:flex}.email{letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0;font-size:clamp(1.75rem,4.2vw,3.625rem);line-height:1.2}.copy-icon{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.copy-icon[hidden]{display:none}.copy-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.copy-icon .check-mark,.copy-icon.is-copied .copy-mark{display:none}.copy-icon.is-copied .check-mark{color:var(--accent);display:block}.channel-label{color:var(--muted);margin-top:32px;font-size:.875rem}.phone-row{margin-top:4px}.phone{color:var(--text);align-items:center;min-height:44px;font-size:1.375rem;display:inline-flex}.contact-guidance{max-width:61ch;margin-top:42px;font-size:1.125rem}.footer{border-top:1px solid var(--divider);color:var(--muted);justify-content:space-between;gap:24px;padding-block:26px 34px;font-size:.9375rem;display:flex}.continuous-line{z-index:0;pointer-events:none;width:100%;height:1px;color:var(--accent);opacity:.55;position:absolute;top:0;left:0;overflow:visible}.continuous-line:not([data-ready]){display:none}.continuous-line path{vector-effect:non-scaling-stroke}[data-reveal]{opacity:1;transform:none}html.reveals-ready [data-reveal]:not(.is-visible){opacity:0;transform:translateY(12px)}html.reveals-ready [data-reveal]{transition:opacity .48s,transform .48s}.custom-cursor{z-index:100;background:var(--accent);pointer-events:none;opacity:0;border-radius:50%;width:10px;height:10px;transition:width .16s,height .16s,opacity .12s;position:fixed;top:0;left:0;transform:translate(-100px,-100px)translate(-50%,-50%)}html.cursor-ready,html.cursor-ready a,html.cursor-ready button,html.cursor-ready summary{cursor:none!important}html.cursor-ready .custom-cursor{opacity:1}@media (width<=1000px){.section-intro{gap:32px}.service-panel{grid-template-columns:1fr;min-height:auto;padding:42px}.service-panel h3{max-width:none}.service-panel p{margin-top:22px}.about{gap:48px}.project-text{gap:36px}.menu-bottom{display:block}.menu-utilities{margin-top:28px}}@media (width<=767px){:root{--header-height:64px}.hero{min-height:0;padding-block:64px 90px}.hero h1{font-size:clamp(2.5rem,6.5vw,3.75rem)}.section-intro{display:block}.section-intro>p{margin-top:24px}.service-panel{margin-bottom:24px}.project-case+.project-case{margin-top:64px;padding-top:42px}.project-text{max-width:65ch;display:block}.project-text p+p{margin-top:20px}.project-figures{flex-direction:column;gap:36px;display:flex}.figure-mobile{align-self:center;width:min(100%,350px)}.figure-desktop{width:100%}.project-credits{grid-template-columns:minmax(0,1fr);gap:16px}.about{display:block}.process{max-width:600px;margin-top:50px;padding-top:0}.menu-panel{padding-top:26px}.menu-bottom{margin-top:42px}.appearance-panel{left:0;right:auto}.menu-utilities{display:block}.appearance{margin-top:20px}.language-links{max-width:none}}@media (width<=479px){:root{--gutter:20px;--header-height:60px}.brand{font-size:1.25rem}.hero{padding-block:46px 70px}.hero>.section-index{margin-bottom:24px}.hero h1{font-size:clamp(2.25rem,10.25vw,2.875rem);line-height:1.12}.hero-copy{margin-top:24px;font-size:1.125rem}.cta{margin-top:24px}.section{padding-block:52px 78px}.section-heading{gap:16px}.section-intro>p{font-size:1.125rem}.service-panel{padding:28px 24px}.service-panel h3{font-size:2rem}.service-panel p,.capabilities{font-size:1.0625rem}.project-heading h3{font-size:2.25rem}.project-text,.project-capabilities,.contact-guidance{font-size:1.0625rem}.project-figures{margin-top:36px}.email{font-size:clamp(1.35rem,5.75vw,1.75rem)}.contact-row{gap:8px}.phone{font-size:1.125rem}.contact h2{font-size:1.8rem}.menu-navigation a{gap:18px;font-size:clamp(1.75rem,8.3vw,2.6rem)}.menu-index{font-size:.75rem}.menu-contact a{font-size:.94rem}.menu-panel{padding-bottom:26px}}@media (height<=700px){.menu-panel{max-height:calc(100dvh - var(--header-height))}html.js-ready .site-header[data-open] .menu-panel{justify-content:flex-start}.menu-navigation{gap:5px}.menu-navigation a{font-size:clamp(1.65rem,5vh,3rem)}.menu-bottom{margin-top:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.reveals-ready [data-reveal]:not(.is-visible){opacity:1;transform:none}html.sticky-services .service-panel{position:relative;top:auto}}h1,h2,h3,p,a,figcaption{overflow-wrap:anywhere}.section-heading>*{min-width:0}.service-panel{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.service-panel>*{min-width:0}@media (width<=1000px){.service-panel{grid-template-columns:minmax(0,1fr)}}@media (width<=359px){.header-inner{height:auto;min-height:var(--header-height);flex-wrap:wrap;gap:0 8px;padding-block:8px}.menu-shell{margin-left:auto}}@media (width<=479px){.word-slot{max-width:calc(100vw - 2*var(--gutter));white-space:normal}.word-reserve{width:100%;min-width:0}.word-reserve>span{overflow-wrap:anywhere;white-space:normal;width:100%}.word-current{white-space:normal;overflow-wrap:anywhere;max-width:100%}}:root{--inverse-bg:#171816;--inverse-text:#f1f0ec;--inverse-muted:#aaafa9;--inverse-divider:#3b3f3a;--cursor-color:var(--accent);--cursor-on-inverse:#f1f0ec;--cursor-on-accent:var(--on-accent)}[data-theme=dark]{--cursor-on-inverse:var(--accent)}main{z-index:auto}.hero,.section{z-index:auto;position:relative}.hero>*,.section>*{z-index:2;position:relative}.section{border-top:0}.footer{z-index:2}.hero-actions{justify-content:space-between;align-items:center;gap:28px;width:100%;margin-top:28px;display:flex}.hero-actions .cta{margin-top:0}.scroll-cue{color:var(--muted);letter-spacing:.18em;white-space:nowrap;align-items:center;gap:15px;margin-right:24px;font-size:.75rem;font-weight:600;display:inline-flex}.scroll-cue svg{width:18px;height:28px}.word-current.is-entering{animation:none}.word-current.is-leaving{opacity:0;transition:opacity .1s;animation:none}.word-char{animation:.19s ease-out both character-reveal;animation-delay:calc(var(--char-index)*5ms);display:inline-block}@keyframes character-reveal{0%{opacity:.2;clip-path:inset(100% 0 0);transform:translateY(.22em)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes menu-close{0%{clip-path:circle(150vmax at var(--menu-origin-x,90%) var(--menu-origin-y,36px))}to{clip-path:circle(0 at var(--menu-origin-x,90%) var(--menu-origin-y,36px))}}.menu-navigation a{padding-bottom:5px;position:relative}.menu-navigation a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .62s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.menu-navigation a:hover:after,.menu-navigation a:focus-visible:after{transform:scaleX(1)}.appearance{flex-wrap:wrap;align-items:flex-start;gap:20px 30px;display:flex}.appearance-group{min-width:0}.appearance .utility-heading{letter-spacing:.09em;margin-bottom:6px;font-size:.75rem;font-weight:600}.theme-options{margin:0}.accent-options{flex-wrap:wrap}.accent-choice{width:34px}.menu-utilities{gap:24px 36px}.about{color:var(--inverse-text);align-content:center}.about .professional-title,.about .process-prose p,.about .process-note,.about .language-disclosure,.about .section-index{color:var(--inverse-muted)}.about .process-prose,.about .language-disclosure{border-color:var(--inverse-divider)}.about a{color:var(--accent)}.about a:focus-visible{outline-color:var(--accent)}.continuous-line{z-index:1;color:initial;opacity:1}.custom-cursor{background:var(--cursor-color)}.custom-cursor.is-inverse{background:var(--cursor-on-inverse)}.custom-cursor.is-on-accent{background:var(--cursor-on-accent)}html.cursor-ready .custom-cursor.is-hover{opacity:.56}@media (width>=768px){.menu-navigation a{font-size:clamp(2rem,4.7vw,4.5rem)}.menu-bottom{margin-top:clamp(24px,5vh,56px)}html.js-ready .site-header[data-open] .menu-panel{padding-top:clamp(24px,3vh,40px)}.hero{min-height:calc(100svh - var(--header-height))}.projects,.about,.contact{min-height:100svh}}@media (width<=767px){.scroll-cue{display:none}.hero-actions{margin-top:24px}.continuous-line path{stroke-width:5px}}@media (prefers-reduced-motion:reduce){.continuous-line [data-line-end-node]{transition:none}}.about{width:100%;padding-inline:max(var(--gutter),calc((100% - 1248px)/2));background:var(--inverse-bg)}section[tabindex="-1"]:focus-visible{outline:none}section[tabindex="-1"]:focus-visible .section-index{outline:2px solid var(--accent);outline-offset:4px}.about:focus-visible .section-index{outline-color:var(--accent)}html.pointer-section-focus section[tabindex="-1"]:focus-visible .section-index{outline:none}.continuous-line [data-line-path]{stroke:var(--accent);stroke-width:17px;opacity:.9}.continuous-line circle{fill:var(--accent)}.continuous-line [data-line-end-group]{opacity:0;transition:opacity .18s}.continuous-line .line-pulse{opacity:0;transform-box:fill-box;transform-origin:50%;animation:3.5s ease-out infinite line-node-pulse}.continuous-line [data-line-end-pulse]{animation-delay:.8s}@keyframes line-node-pulse{0%,67%,to{opacity:0;transform:scale(1)}5%{opacity:.2;transform:scale(1)}34%{opacity:0;transform:scale(2.25)}}h2{font-size:clamp(2.3rem,4.2vw,3.65rem)}.hero h1{font-size:clamp(3.25rem,6.65vw,6.25rem)}.hero-copy{max-width:620px;margin-top:36px;font-size:1.375rem}.section-intro>p,.profile>p:not(.professional-title):not(.language-disclosure){font-size:1.375rem}.service-panel h3{font-size:clamp(2.3rem,4.6vw,4.625rem)}.service-panel p{font-size:clamp(1.25rem,1.6vw,1.5rem)}.capabilities,.project-text,.project-capabilities,.contact-guidance{font-size:1.25rem}.process-prose p{font-size:1.1875rem}.contact h2{font-size:clamp(2.3rem,3.45vw,3.2rem)}.back-to-top{width:fit-content;min-height:48px;color:var(--muted);letter-spacing:.18em;white-space:nowrap;justify-content:flex-end;align-items:center;gap:15px;margin:clamp(54px,8vw,110px) 0 0 auto;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.back-to-top svg{flex:none;width:18px;height:28px}.back-to-top:hover{color:var(--accent);text-decoration:underline}.scroll-cue{cursor:pointer;min-height:44px;text-decoration:none}.scroll-cue:hover{color:var(--accent);text-decoration:underline}.back-to-top{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}html:not(.js-ready) .back-to-top{display:none}.word-char{animation-duration:.31s;animation-delay:calc(var(--char-index)*12ms)}.custom-cursor{width:18px;height:18px}html.cursor-ready .custom-cursor.is-hover{width:30px;height:30px}html.cursor-ready .custom-cursor.is-down{width:12px;height:12px}@media (width<=1023px){.services .section-intro,.services .capabilities{padding-right:32px}.continuous-line [data-line-path]{stroke-width:8.5px}}.contact{padding-bottom:max(clamp(36px,4vw,56px),env(safe-area-inset-bottom))}@media (width>=768px){.contact{flex-direction:column;min-height:100svh;display:flex}.contact .section-heading{margin-top:auto}.contact-guidance{margin-bottom:40px}.contact .back-to-top{margin-top:auto}}@media (width<=767px){.contact{min-height:0}.contact .back-to-top{margin-top:88px}}@media (width<=1023px){.contact-guidance{padding-right:32px}}@media (width<=767px){.continuous-line [data-line-path]{stroke-width:8.5px}.hero h1{font-size:clamp(2.65rem,7vw,4.2rem)}.scroll-cue{margin-left:auto;margin-right:0;display:inline-flex}.hero-actions{flex-wrap:wrap}}@media (width<=479px){.hero h1{font-size:clamp(2.75rem,11.6vw,3.25rem)}.hero-copy{margin-top:28px;font-size:1.25rem}.section-intro>p{font-size:1.25rem}.service-panel h3{font-size:2.0625rem}.service-panel p,.capabilities,.project-text,.project-capabilities,.contact-guidance{font-size:1.1875rem}.contact h2{font-size:2rem}}@media (prefers-reduced-motion:reduce){.continuous-line .line-pulse{opacity:0;animation:none}.continuous-line [data-line-end-group]{transition:none}}html::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar-track{background:var(--bg)}html::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--bg);border-radius:999px}html::-webkit-scrollbar-button{width:0;height:0;display:none}@supports ((-moz-appearance:none)){html{scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg)}}.contact .section-heading{align-items:baseline}:root{--ramiro-scene-bg:var(--inverse-bg)}[data-theme=dark]{--ramiro-scene-bg:#10120f}.about{background:var(--ramiro-scene-bg)}.menu-trigger{min-width:82px;min-height:48px;margin-right:-12px;padding-right:12px}@media (width<=1023px){:root{--gutter:clamp(27px,4.5vw,46px)}}@media (width<=359px){:root{--gutter:20px}}@media (width<=767px){.hero{min-height:calc(100svh - var(--header-height));flex-direction:column;justify-content:center;display:flex}.about{flex-direction:column;justify-content:center;min-height:100svh;display:flex}.contact{flex-direction:column;min-height:100svh;display:flex}.contact .section-heading{margin-top:auto}}@media (width>=768px) and (width<=1023px){.projects{min-height:0}}html.js-ready .site-header[data-open][data-closing]{animation:.42s linear both menu-close-visible}@keyframes menu-close-visible{0%{clip-path:circle(var(--menu-close-radius,150vmax) at var(--menu-origin-x,90%) var(--menu-origin-y,36px))}to{clip-path:circle(0 at var(--menu-origin-x,90%) var(--menu-origin-y,36px))}}.word-current,.word-char{margin-inline:-.055em;padding-inline:.055em}@media (width<=479px){.word-current{max-width:calc(100% + .11em)}}
