:root{--paper:oklch(97% .012 158);--ink:#12231d;--muted:#4c5a55;--line:#c9cdc5;--night:#131209;--green:#0b3328;--green-2:#164c3b;--orange:#b63c16;--yellow:#f0c44e;--white:#fff;--font-display:"Newsreader","Noto Serif TC","Songti TC",serif;--font:"IBM Plex Sans TC","Noto Sans TC","PingFang TC",sans-serif;--max:90rem;--gutter:clamp(1rem,5vw,6rem);--ease:cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.5}a{color:inherit}p{text-wrap:pretty}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.04em;text-wrap:balance}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip-link{position:fixed;z-index:100;inset:1rem auto auto 1rem;padding:.75rem 1rem;background:var(--ink);color:var(--white);transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header,.web-hero,.proof-strip,.section,.site-footer,.gateway-hero,.gateway-services{padding-inline:max(var(--gutter),calc((100vw - var(--max))/2))}.site-header{min-height:5rem;display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.75rem;margin-right:auto;text-decoration:none}.brand-mark{display:grid;width:2.5rem;height:2.5rem;place-items:center;background:var(--ink);color:var(--white);font-weight:700}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.75rem}.site-header nav{display:flex;gap:2rem;font-size:.875rem;font-weight:600}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:var(--orange)}.header-button,.button{min-height:2.5rem;display:inline-flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:.25rem;background:var(--orange);color:var(--white);font-weight:600;text-decoration:none;transition:transform 700ms var(--ease),background 700ms var(--ease)}.header-button{font-size:.875rem}.header-button:hover,.button:hover{transform:translateY(-2px);background:#a93614}.header-button:active,.button:active{transform:scale(.98)}.eyebrow{margin:0 0 1rem;color:var(--orange);font-size:.875rem;font-weight:600}.web-hero{min-height:calc(100svh - 5rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(25rem,.85fr);align-items:center;gap:6rem;padding-block:6rem}.hero-copy h1{max-width:680px;font-size:clamp(3rem,5vw,4.5rem);line-height:1;color:var(--ink)}.hero-copy>p:not(.eyebrow){max-width:680px;margin:2rem 0 0;color:var(--muted);font-size:1.25rem;line-height:1.75rem}.hero-copy small,.contact small{display:block;margin-top:1rem;color:var(--muted);font-size:.875rem}.browser-scene{min-width:0;padding:1rem;border-radius:1rem;background:var(--night);color:var(--white);box-shadow:0 8px 0 rgba(18,35,29,.12)}.browser-bar{display:flex;align-items:center;gap:.5rem;padding-bottom:1rem}.browser-bar>span{width:.5rem;height:.5rem;border-radius:999px;background:#68655e}.browser-bar em{margin-left:auto;color:#aaa79f;font-size:.75rem;font-style:normal}.browser-page{min-height:24rem;padding:1.5rem;border-radius:.5rem;background:var(--yellow);color:#30260e}.sample-nav{display:flex;justify-content:space-between;font-size:.75rem}.sample-nav span{opacity:.72}.browser-page>p{max-width:13ch;margin:5rem 0 0;font-size:2.25rem;line-height:1.1;font-weight:600;letter-spacing:-.04em}.sample-action{display:inline-block;margin-top:2rem;padding:.5rem .75rem;background:#30260e;color:var(--white);font-size:.875rem}.browser-note{display:grid;gap:.25rem;padding:1rem .5rem 0}.browser-note span{color:#aaa79f;font-size:.875rem}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);background:#e8e8df}.proof-strip p{margin:0;padding:2rem 1.5rem 2rem 0}.proof-strip p+p{padding-left:1.5rem;border-left:1px solid var(--line)}.proof-strip strong,.proof-strip span{display:block}.proof-strip span{margin-top:.25rem;color:var(--muted);font-size:.875rem}.section{padding-block:6rem}.section-title{max-width:52rem}.section-title h2,.services h2,.contact h2{font-size:clamp(2.25rem,4vw,3.75rem);line-height:1}.work-list{margin-top:4rem}.work-item{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:6rem;padding-block:4rem;border-top:1px solid var(--line)}.work-item.reverse{grid-template-columns:.85fr 1.15fr}.work-item.reverse .work-visual{order:2}.work-item>div:not(.work-visual)>span,.work-visual em{font-size:.875rem;color:var(--muted);font-style:normal}.work-item h3{max-width:18ch;margin-top:1rem;font-size:1.875rem;line-height:2.25rem}.work-item>div:not(.work-visual)>p{max-width:38rem;margin:1.5rem 0 0;color:var(--muted)}.work-visual{min-height:30rem;display:flex;flex-direction:column;justify-content:space-between;padding:2rem;border-radius:1rem}.work-visual span{font-weight:600}.work-visual strong{max-width:15ch;font-size:2.25rem;line-height:1.1;letter-spacing:-.04em}.restaurant-one{background:#b92f23;color:#fff3dc}.restaurant-two{background:#e7d9bd;color:#383122}.organization{background:#123f70;color:#eef5ff}.work-visual em{color:currentColor;opacity:.72}.services{display:grid;grid-template-columns:1fr 1fr;gap:6rem;background:var(--green);color:var(--white)}.services-copy>p:last-child{max-width:38rem;margin:1.5rem 0 0;color:#b8cbc4}.services .eyebrow{color:#ef8f6c}.service-lines{border-top:1px solid rgba(255,255,255,.25)}.service-lines p{display:grid;grid-template-columns:2rem 1fr;gap:.75rem 1rem;margin:0;padding-block:1.5rem;border-bottom:1px solid rgba(255,255,255,.25)}.service-lines p>span{grid-row:1/3;color:#9db4ab;font-size:.75rem}.service-lines strong,.service-lines small{display:block}.service-lines small{color:#b8cbc4}.tagline{min-height:90svh;display:grid;place-items:center;padding:6rem max(var(--gutter),calc((100vw - var(--max))/2));background:#e8e8df}.tagline p{max-width:680px;margin:0;font-size:clamp(2.25rem,5vw,3.75rem);line-height:1;font-weight:600;letter-spacing:-.04em;text-wrap:balance}.tagline .word{color:rgba(18,35,29,.28);transition:color 900ms var(--ease)}.tagline .word.is-visible{color:var(--ink)}.process ol{margin:4rem 0 0;padding:0;list-style:none;border-top:1px solid var(--ink)}.process li{display:grid;grid-template-columns:4rem 1fr;gap:2rem;padding-block:2rem;border-bottom:1px solid var(--line)}.process li>span{color:var(--muted);font-size:.875rem}.process h3{font-size:1.5rem;line-height:2rem}.process li p{max-width:42rem;margin:.75rem 0 0;color:var(--muted)}.faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:6rem;background:var(--white)}.faq-list{border-top:1px solid var(--ink)}.faq details{border-bottom:1px solid var(--line)}.faq summary{position:relative;padding:1.5rem 3rem 1.5rem 0;cursor:pointer;font-size:1.125rem;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:0;font-size:1.5rem;transition:transform 700ms var(--ease)}.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{max-width:42rem;margin:0;padding:0 0 1.5rem;color:var(--muted)}.contact{min-height:75svh;display:grid;place-items:center;text-align:center;background:var(--orange);color:var(--white)}.contact>div{max-width:52rem}.contact .eyebrow,.contact>div>p,.contact small{color:#ffe0d4}.contact>div>p{margin:1.5rem auto 0;font-size:1.125rem}.button.light{background:var(--white);color:#9d2c0c}.button.light:hover{background:var(--paper)}.site-footer{display:grid;grid-template-columns:1fr 1.5fr auto;align-items:end;gap:2rem;padding-block:4rem;background:var(--night);color:var(--white)}.site-footer div>strong{font-size:1.5rem}.site-footer div>p{margin:.5rem 0 0;color:#aaa79f}.site-footer nav{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}.site-footer nav a{color:#d8d5cc;font-size:.875rem}.site-footer small{color:#aaa79f;white-space:nowrap}.reveal{opacity:1}.js .reveal.is-reveal-ready{opacity:0;transform:translateY(4rem);filter:blur(.75rem);transition:opacity 900ms var(--ease),transform 900ms var(--ease),filter 900ms var(--ease)}.js .reveal.is-visible{opacity:1;transform:none;filter:none}.gateway-hero{min-height:75svh;display:grid;align-content:center;padding-block:6rem}.gateway-hero h1{max-width:680px;font-size:clamp(3rem,5vw,4.5rem);line-height:1}.gateway-hero>p:not(.eyebrow){max-width:42rem;margin:2rem 0 0;color:var(--muted);font-size:1.25rem}.gateway-services{display:grid;grid-template-columns:1fr 1fr;padding-bottom:6rem}.gateway-services>a,.gateway-services>div{min-height:20rem;display:flex;flex-direction:column;padding:2rem;border:1px solid var(--line);text-decoration:none}.gateway-services>a{background:var(--green);color:var(--white)}.gateway-services span{font-size:.875rem}.gateway-services strong{margin-top:auto;font-size:2.25rem}.gateway-services p{max-width:32rem}.gateway-services em{font-style:normal;font-weight:600}.gateway-services>div{color:var(--muted)}
@media(max-width:64rem){.web-hero{grid-template-columns:1fr;gap:4rem}.browser-scene{max-width:42rem}.work-item,.work-item.reverse,.services,.faq{grid-template-columns:1fr;gap:4rem}.work-item.reverse .work-visual{order:0}.site-footer{grid-template-columns:1fr 1fr}.site-footer small{grid-column:1/-1}}
@media(max-width:48rem){.site-header{position:relative;min-height:4rem;gap:1rem}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;margin-left:auto;padding:.5rem .75rem;border:1px solid var(--line);border-radius:.25rem;background:transparent;color:var(--ink);font:600 .875rem/1 var(--font)}.site-header nav{position:absolute;inset:4rem 0 auto;z-index:30;display:none;flex-direction:column;gap:0;padding:1rem var(--gutter);border-bottom:1px solid var(--line);background:var(--paper)}.site-header nav.is-open{display:flex}.site-header nav a{display:flex;align-items:center;min-height:3rem;border-bottom:1px solid var(--line)}.header-button{margin-left:auto}.web-hero{min-height:auto;padding-block:4rem}.hero-copy h1,.gateway-hero h1{font-size:3rem}.hero-copy>p:not(.eyebrow),.gateway-hero>p:not(.eyebrow){font-size:1.125rem}.browser-page{min-height:20rem}.proof-strip{grid-template-columns:1fr 1fr}.proof-strip p+p{padding-left:0;border-left:0}.section{padding-block:4rem}.work-item{gap:2rem;padding-block:3rem}.work-visual{min-height:22rem;padding:1.5rem}.services,.faq{gap:3rem}.process li{grid-template-columns:2rem 1fr;gap:1rem}.gateway-services{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;padding-block:3rem}.site-footer small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:1ms!important;transition-duration:1ms!important}.js .reveal{opacity:1;transform:none;filter:none}}
.gateway-hero .button{justify-self:start}
.menu-toggle{cursor:pointer}
@media(min-width:48.001rem){.menu-toggle{display:none}}

/* 2026-08 family-system alignment */
h1,h2,h3,.brand strong,.gateway-services strong{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}
.hero-copy h1{background:none;color:var(--ink)}
.hero-context{margin:0 0 1rem;color:var(--orange);font-weight:700}
.browser-scene{box-shadow:none}
.browser-page{min-height:0;padding:0;overflow:hidden;background:var(--paper)}
.browser-page img{display:block;width:100%;height:auto;aspect-ratio:1.904/1;object-fit:cover}
.section-title>p{max-width:42rem;margin:1.5rem 0 0;color:var(--muted)}
.scope{background:var(--paper)}.scope-list{margin-top:4rem;border-top:1px solid var(--ink)}.scope-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:start;padding-block:2rem;border-bottom:1px solid var(--line)}.scope-list h3{font-size:1.5rem;line-height:2rem}.scope-list p{max-width:46rem;margin:.75rem 0 0;color:var(--muted)}.scope-list article>strong{color:var(--orange);white-space:nowrap}.scope-note{max-width:52rem;margin:1.5rem 0 0;color:var(--muted);font-size:.875rem}
.work-visual{min-height:0;margin:0;padding:0;overflow:hidden;border-radius:.75rem;background:var(--paper)}
.work-visual img{display:block;width:100%;height:auto;aspect-ratio:1.904/1;object-fit:cover}
.work-visual figcaption{padding:.75rem 1rem;border:1px solid var(--line);border-top:0;color:var(--muted);font-size:.875rem}
.work-item>div:not(.work-visual)>p{line-height:1.75}
.service-lines p{grid-template-columns:1fr}
.contact-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem;max-width:42rem;margin:2rem auto;padding:1.5rem 1.5rem 1.5rem 3rem;border:1px solid rgba(255,255,255,.5);text-align:left}
.header-button,.button{min-height:2.75rem}
@media(max-width:48rem){.scope-list article{grid-template-columns:1fr}.scope-list article>strong{grid-column:1;white-space:normal}.contact-prompts{grid-template-columns:1fr}.work-visual{min-height:0}.hero-copy h1,.gateway-hero h1{font-size:2.625rem;line-height:1.02}}

/* Digital consulting */
.digital-hero,.digital-signals{padding-inline:max(var(--gutter),calc((100vw - var(--max))/2))}.digital-hero{min-height:calc(100svh - 5rem);display:grid;grid-template-columns:minmax(0,.9fr) minmax(28rem,1.1fr);align-items:center;gap:5rem;padding-block:5rem}.digital-hero .hero-copy>p:not(.eyebrow){max-width:34rem;margin:1.5rem 0 0;color:var(--muted);font-size:1.125rem}.digital-hero .hero-copy>.button{margin-top:2rem}.digital-hero-image{margin:0;overflow:hidden;border-radius:.75rem;background:var(--white)}.digital-hero-image img{display:block;width:100%;height:auto;aspect-ratio:1.45/1;object-fit:cover;object-position:left center}.digital-hero-image figcaption{padding:.75rem 1rem;color:var(--muted);font-size:.875rem}.digital-signals{display:grid;grid-template-columns:.75fr 1.25fr;gap:5rem;padding-block:4rem;border-block:1px solid var(--line)}.digital-signals h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1}.digital-signals>div{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}.digital-signals p{margin:0;padding-block:1rem;border-bottom:1px solid var(--line)}.digital-service-grid{display:grid;grid-template-columns:1.2fr .8fr;margin-top:4rem;border-top:1px solid var(--ink)}.digital-service-grid article{min-height:18rem;padding:2rem;border-bottom:1px solid var(--line)}.digital-service-grid article:nth-child(odd){border-right:1px solid var(--line)}.digital-service-grid article:first-child,.digital-service-grid article:last-child{background:#e8e8df}.digital-service-grid span{color:var(--orange);font-size:.875rem;font-weight:600}.digital-service-grid h3{margin-top:3rem;font-size:1.75rem}.digital-service-grid p{max-width:34rem;margin:1rem 0 0;color:var(--muted)}.digital-process{background:#e8e8df}.digital-process h2,.digital-fit h2{font-size:clamp(2.25rem,4vw,3.75rem);line-height:1}.digital-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:4rem 0 0;padding:0;list-style:none}.digital-process li{padding-top:1.5rem;border-top:1px solid var(--ink)}.digital-process strong{font-size:1.25rem}.digital-process p{color:var(--muted)}.digital-fit{display:grid;grid-template-columns:1.2fr .8fr;align-items:stretch;gap:5rem}.digital-fit>div>p{max-width:42rem;margin:1.5rem 0 0;color:var(--muted)}.digital-fit>a{min-height:18rem;display:flex;flex-direction:column;padding:2rem;background:var(--green);color:var(--white);text-decoration:none}.digital-fit>a span{font-size:.875rem}.digital-fit>a strong{margin-top:auto;font-family:var(--font-display);font-size:2rem}.digital-fit>a em{margin-top:1rem;font-style:normal;font-weight:600}.digital-fit>a:active{transform:scale(.99)}
@media(max-width:64rem){.digital-hero{grid-template-columns:1fr;gap:3rem}.digital-hero-image{max-width:52rem}.digital-signals,.digital-fit{grid-template-columns:1fr;gap:3rem}}
@media(max-width:48rem){.digital-hero{min-height:auto;padding-block:4rem}.digital-signals{padding-block:3rem}.digital-signals>div,.digital-service-grid,.digital-process ol{grid-template-columns:1fr}.digital-service-grid article:nth-child(odd){border-right:0}.digital-service-grid article{min-height:0}.digital-process ol{gap:1rem}.digital-fit>a{min-height:14rem}.digital-hero-image img{aspect-ratio:1.2/1}}

/* Digital checkup page (2026-08) */
.digital-fit>div>p+p{margin-top:1rem}.digital-fit .scope-note{font-size:.875rem}.digital-fit>div>p strong{color:var(--ink)}
.digital-process ol{align-items:start}.digital-process strong{display:block;margin-bottom:.5rem}
.contact-prompts span{position:relative}.contact-prompts span::before{content:"・";position:absolute;left:-1.25rem;opacity:.6}
.contact small a{color:inherit;display:inline-block;min-height:1.5rem;padding-block:.25rem}
.faq summary::after{top:1.25rem;line-height:1}
@media(min-width:48.001rem){.site-header nav a{display:inline-flex;align-items:center;min-height:2.75rem}}
.site-footer nav a{display:inline-flex;align-items:center;min-height:1.75rem}
@media(max-width:48rem){.site-header{gap:.75rem}.site-header .brand{gap:.5rem}.site-header .brand strong{font-size:.9375rem;line-height:1.25}.site-header .brand small{display:none}.site-header .brand-mark{width:2.25rem;height:2.25rem;font-size:.9375rem}.menu-toggle,.header-button{white-space:nowrap}.header-button{padding-inline:.625rem;font-size:.8125rem}
.proof-strip p{padding:1.25rem 1rem 1.25rem 0}.proof-strip p:nth-child(-n+2){border-bottom:1px solid var(--line)}}

.capability-scene,.digital-capability{min-height:30rem;display:flex;flex-direction:column;justify-content:space-between;padding:2rem;border-radius:.75rem;background:var(--green);color:var(--white)}.capability-scene>span,.digital-capability>span,.digital-capability>small{color:#b8cbc4}.capability-scene>strong,.digital-capability>strong{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.03em}.capability-scene>a{align-self:flex-start;color:var(--white);font-weight:600}.digital-capability>small{font-size:.875rem}
@media(max-width:48rem){.capability-scene,.digital-capability{min-height:24rem;padding:1.5rem}}
