/*
Theme Name: FINEGOOD Refined
Template: finegood
Version: 2026.10.16
Description: Approved Japanese-first FINEGOOD design. Parent theme remains available for rollback.
*/

:root{--paper:#f5f5f1;--ink:#20211f;--muted:#8a8b85;--line:#d6d7d0;--gutter:4.2vw}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Helvetica Neue','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}p{font-size:16px;line-height:2}img{display:block;width:100%;height:100%;object-fit:cover}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);position:absolute;top:0;width:100%;z-index:20}.wordmark{font-size:28px;font-weight:700;letter-spacing:-1.4px}.wordmark span{font-size:12px;vertical-align:top;margin-left:4px;letter-spacing:0}.header nav{display:flex;gap:32px;font-size:12px;letter-spacing:.035em}.header nav a{padding:10px 0;position:relative}.header nav a:after{content:'';position:absolute;bottom:4px;left:0;width:0;height:1px;background:currentColor;transition:width .3s}.header nav a:hover:after{width:100%}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:15px}.skip:focus{top:10px}.hero{min-height:100svh;padding:120px var(--gutter) 30px;position:relative}.hero-top,.section-meta{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.07em;line-height:1.5}.hero-top{margin-bottom:40px}.hero h1{font-size:clamp(55px,8.65vw,150px);letter-spacing:-.065em;line-height:1.01;position:relative;z-index:2}.mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.mask>span{display:block;animation:mask-in 1.1s cubic-bezier(.2,.7,.1,1) both}.mask:nth-child(2)>span{animation-delay:.18s}@keyframes mask-in{from{transform:translateY(110%)}to{transform:translateY(0)}}.hero-image{margin:30px 0 0 25%;height:clamp(280px,34vh,470px);position:relative;overflow:hidden;animation:visual-in 1.2s .35s both}.hero-image img{object-position:50% 55%}.image-note{position:absolute;bottom:22px;left:24px;color:white;font-size:12px;letter-spacing:.1em}@keyframes visual-in{from{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:24px}.hero-bottom p{font-size:18px;line-height:1.7;position:absolute;left:var(--gutter);bottom:100px}.scroll-link{display:flex;align-items:center;gap:20px;font-size:11px;letter-spacing:.06em}.scroll-line{height:1px;width:64px;background:var(--ink)}.hero-index{font-size:12px}.section{padding:110px var(--gutter)}.section-meta{border-top:1px solid var(--line);padding-top:18px;margin-bottom:70px}.intro{padding-top:130px;padding-bottom:160px}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12%}.intro h2{font-size:clamp(38px,5.7vw,100px);line-height:1.08;letter-spacing:-.055em}.muted{color:var(--muted)}.intro h3{font-size:clamp(23px,2.3vw,36px);line-height:1.7;margin-bottom:35px;letter-spacing:.025em}.intro-copy{padding-top:12px;max-width:470px}.intro-copy p+p{margin-top:20px}.value-flow{font-size:12px;line-height:2;margin-top:42px;letter-spacing:.04em}.value-flow i{font-style:normal;padding:0 10px;color:#92938b}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.section-heading h2,.feature-title h2,.approach>h2{font-size:clamp(56px,8vw,128px);line-height:1;letter-spacing:-.055em}.indent{margin-left:16vw}.section-heading p{padding-bottom:8px}.work-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:110px 7vw;align-items:start}.work{border:0;padding:0;background:none;text-align:left;width:100%;display:block}.work-two{margin-top:230px}.work-three{grid-column:1 / -1;width:73%;margin-left:15%}.work-visual{overflow:hidden;position:relative;transition:transform .6s}.editorial{padding:35px;display:flex;flex-direction:column;justify-content:space-between;transition:filter .5s}.work-one .work-visual{aspect-ratio:1.17}.visual-sora{background:#b8c8be;color:#23382c}.sora-top{font-size:12px;line-height:1.5;letter-spacing:.05em}.sora-big{font-family:Georgia,serif;font-size:clamp(90px,13vw,240px);line-height:1;letter-spacing:-.09em}.sora-bottom{font-size:19px;display:flex;justify-content:space-between;align-items:end}.sora-bottom span{font:10px Arial;letter-spacing:.06em}.visual-form{background:#cd432c;color:#f3e9d7;aspect-ratio:.83}.form-small{font-size:12px;line-height:1.5}.form-big{font-size:clamp(50px,7vw,115px);letter-spacing:-.07em;line-height:.94}.form-big span{font-family:Georgia,serif;font-style:italic;font-size:.85em}.form-bottom{font-size:12px;line-height:2}.visual-neue{background:#c7cafa;aspect-ratio:1.7;color:#252943}.visual-neue>span{font-size:12px;letter-spacing:.04em}.visual-neue>div{font-size:clamp(45px,7vw,120px);letter-spacing:-.055em;line-height:.95;margin:25px 0}.visual-neue em{font-family:Georgia,serif;font-weight:400}.view-project{position:absolute;right:20px;bottom:20px;background:var(--paper);color:var(--ink);padding:12px 18px;opacity:0;transform:translateY(10px);transition:.4s;font:12px Arial!important}.work:hover .view-project,.work:focus-visible .view-project{opacity:1;transform:none}.work:hover .work-visual{transform:scale(1.025)}.work-caption{display:flex;justify-content:space-between;gap:15px;margin-top:24px}.work-caption h3{font-size:16px;line-height:1.6}.work-caption>span{font-size:11px;line-height:1.6}.work-meta{font-size:12px;line-height:1.8;color:#666860;margin-top:10px}.concept-note{font-size:12px;color:#74766e;margin-top:55px}.design{padding-bottom:0}.design-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.design-sticky{position:sticky;top:60px;height:75vh;align-self:start}.small-label{font-size:12px;letter-spacing:.07em;line-height:1.7;display:block}.design-sticky h2{font-size:clamp(40px,4.8vw,78px);letter-spacing:-.055em;margin-top:25px;margin-bottom:35px;transition:opacity .2s}.design-art{height:35vh;position:relative;overflow:hidden}.design-art img{filter:grayscale(1);transition:object-position 1s,filter 1s;object-position:30% 50%}.design-art span{position:absolute;bottom:25px;left:25px;color:white;font-size:18px;text-shadow:0 1px 6px #333}.design-progress{display:flex;justify-content:space-between;font-size:10px;gap:10px;margin-top:25px;color:#999}.design-progress .active{color:#222}.design-steps article{min-height:85vh;padding-top:85px;display:flex;flex-direction:column;justify-content:center}.design-steps article>span{font-size:12px;letter-spacing:.06em;margin-bottom:34px}.design-steps h3{font-size:clamp(24px,2.5vw,40px);line-height:1.7;margin-bottom:30px}.design-steps p{max-width:440px}.design-steps ul{list-style:none;padding:30px 0 0;margin:0;font-size:14px;line-height:2.4;color:#73766e}.dark{background:#20221f;color:#f5f5f1;--line:#51534e}.cx{padding-bottom:150px}.cx h2{font-size:clamp(50px,7.8vw,130px);letter-spacing:-.055em;line-height:1.08}.cx h2 em{font-family:Georgia,serif;font-weight:400}.touchpoints{height:340px;position:relative;margin:70px 0}.touchpoints>span{position:absolute;color:#95998f;font-size:14px;transition:transform 1s,opacity 1s}.touchpoints>span:nth-child(1){left:8%;top:10%}.touchpoints>span:nth-child(2){left:38%;top:0}.touchpoints>span:nth-child(3){left:72%;top:15%}.touchpoints>span:nth-child(4){left:16%;top:77%}.touchpoints>span:nth-child(5){left:53%;top:93%}.touchpoints>span:nth-child(6){left:86%;top:73%}.touchpoints strong{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(26px,6vw,90px);font-weight:400;letter-spacing:-.045em}.touchpoints.converged>span{transform:translate(var(--tx),var(--ty));opacity:.08}.cx-copy{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.cx-copy h3{font-size:32px;line-height:1.7}.cx-copy p{max-width:480px;color:#c9ccc4}.feature-title{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end;margin-bottom:65px}.feature-title h3{font-size:28px;line-height:1.6;margin:25px 0}.feature-title p{max-width:400px}.feature-banner{background:#b8c8be;padding:50px;color:#23382c;display:flex;flex-direction:column;gap:70px}.feature-banner>span{font-size:14px}.feature-banner strong{font:italic 400 clamp(60px,9vw,145px)/.95 Georgia,serif;letter-spacing:-.05em}.feature-banner>span:last-child{text-align:right;font-size:20px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 9vw;margin-top:65px}.case-grid article{border-top:1px solid var(--line);padding-top:25px}.case-grid article>span{font-size:12px}.case-grid h3{font-size:20px;margin:25px 0 15px}.case-grid p{font-size:15px}.approach{padding-bottom:40px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:90px}.approach-number{position:sticky;top:95px;height:360px;align-self:start}.approach-number>span{font-size:clamp(170px,23vw,350px);line-height:.9;letter-spacing:-.1em;font-weight:400}.approach-number>div{font-size:12px;margin-top:35px}.approach-steps article{min-height:47vh;border-top:1px solid var(--line);padding-top:30px}.approach-steps article>span{font-size:12px}.approach-steps h3{font-size:clamp(36px,4vw,66px);letter-spacing:-.04em;margin:30px 0 20px}.approach-steps p{max-width:440px}.vision{padding-bottom:220px}.vision h2{font-size:clamp(34px,5.3vw,84px);line-height:1.7;letter-spacing:.015em;margin-top:130px}.vision-copy{margin-top:90px;margin-left:50%;max-width:500px}.vision-copy p{margin-bottom:30px}.about{background:#eaece6;padding-bottom:150px}.about h2{font-size:clamp(60px,14vw,230px);letter-spacing:-.065em;line-height:1}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:70px}.about-sub{font-size:26px;line-height:1.4;letter-spacing:-.025em}.about-grid h3{font-size:26px;line-height:1.7;margin-bottom:25px}.about dl{margin-top:40px;font-size:12px}.about dl>div{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:17px 0;border-top:1px solid #c8ccc1}.about dd{margin:0}.contact{padding-bottom:35px}.contact h2{font-size:clamp(50px,8.5vw,145px);letter-spacing:-.055em;line-height:1.03}.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:75px 0 130px}.inquiry{background:none;color:inherit;border:0;border-bottom:1px solid #91978b;padding:20px 0;font-size:23px;text-align:left;min-width:380px;transition:border .3s}.inquiry span{display:block;font-size:12px;margin-top:15px}.inquiry:hover{border-color:#fff}.footer-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #555b50;padding-top:28px;gap:20px}.footer-line>span,.footer-line small{font-size:11px}.reveal,.image-reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(32px);clip-path:inset(0 0 100%);transition:opacity .8s,transform 1s cubic-bezier(.2,.6,.2,1),clip-path 1s}.js-motion .reveal.visible{opacity:1;transform:none;clip-path:inset(-5% -5% -5%)}dialog{width:min(740px,calc(100% - 36px));max-height:85svh;border:0;background:var(--paper);padding:60px 45px;color:var(--ink)}dialog::backdrop{background:#111a;backdrop-filter:blur(5px)}dialog h2{font-size:40px;letter-spacing:-.04em;line-height:1.4;margin:25px 0}dialog h3{font-size:23px;margin:25px 0}dialog p{margin-top:20px}.dialog-close{position:absolute;right:22px;top:20px;border:0;background:none;font-size:12px;padding:10px}.dialog-dismiss{border:1px solid #aaa;background:none;padding:14px 22px;margin-top:25px}.dialog-categories{font-size:12px;margin-top:25px}.mobile-menu{display:none}
@media(min-width:1600px){.hero{max-width:1900px;margin:auto}.section{padding-left:max(var(--gutter),calc((100vw - 1700px)/2));padding-right:max(var(--gutter),calc((100vw - 1700px)/2))}}
@media(max-width:760px){:root{--gutter:6vw}html{scroll-padding-top:30px}.header{height:76px}.wordmark{font-size:25px}.header nav{display:none}.menu-toggle{display:block;background:none;border:0;font-size:12px;padding:12px 0}.mobile-menu:not([hidden]){position:fixed;inset:76px 0 0;z-index:30;background:var(--paper);padding:45px var(--gutter);display:flex;flex-direction:column;gap:30px;font-size:37px;letter-spacing:-.03em}.hero{padding-top:105px;min-height:100svh;display:flex;flex-direction:column}.hero-top{font-size:10px;margin-bottom:55px}.hero-top>span:last-child{display:none}.hero h1{font-size:clamp(38px,9.2vw,68px);line-height:1.1;letter-spacing:-.055em}.hero-image{margin:35px 0 0 12%;height:36svh;min-height:230px}.hero-bottom{margin-top:25px;position:relative;flex:1;min-height:85px;align-items:end}.hero-bottom p{position:static;font-size:16px;align-self:start}.scroll-link{font-size:9px;gap:0;position:absolute;bottom:0;left:0}.scroll-line{display:none}.hero-index{font-size:10px}.image-note{font-size:10px;bottom:18px;left:18px}.section{padding:75px var(--gutter)}.section-meta{font-size:10px;margin-bottom:50px}.section-meta>span:last-child{display:none}.intro{padding-top:95px;padding-bottom:100px}.intro-grid{grid-template-columns:1fr;gap:48px}.intro h2{font-size:11.4vw}.intro-copy{margin-left:12%;padding:0}.intro h3{font-size:23px;margin-bottom:25px}.intro-copy p{font-size:15px}.value-flow{font-size:10px}.section-heading{display:block;margin-bottom:42px}.section-heading h2,.feature-title h2,.approach>h2{font-size:15vw}.indent{margin-left:13vw}.section-heading p{margin-top:30px;font-size:15px}.work-grid{display:block}.work{margin:0 0 65px;width:100%}.work-two{width:88%;margin-left:12%}.work-three{width:100%}.editorial{padding:25px}.sora-big{font-size:30vw}.sora-bottom{font-size:16px}.sora-bottom span{font-size:8px}.form-big{font-size:22vw}.visual-neue>div{font-size:18vw}.visual-neue{aspect-ratio:1.2}.work-caption{display:block;margin-top:18px}.work-caption h3{font-size:16px}.work-caption>span{display:block;margin-top:8px;font-size:10px}.work-meta{font-size:11px}.concept-note{font-size:11px;margin-top:20px}.view-project{opacity:1;transform:none;font-size:10px!important;padding:9px 10px;right:15px;bottom:15px}.design-layout{display:block}.design-sticky{display:none}.design-steps article{min-height:0;padding:50px 0 70px;border-top:1px solid var(--line)}.design-steps article>span{font-size:13px}.design-steps article>span:after{content:attr(data-title)}.design-steps h3{font-size:25px}.design-steps p{font-size:15px}.design-steps ul{font-size:13px}.cx h2{font-size:10.6vw}.touchpoints{height:250px;margin:50px 0}.touchpoints>span{font-size:10px}.touchpoints>span:nth-child(6){left:77%}.touchpoints strong{font-size:8vw}.cx-copy{display:block}.cx-copy h3{font-size:25px;margin-bottom:30px}.cx-copy p{font-size:15px}.feature-title{display:block}.feature-title>div{margin:45px 0 0 10%}.feature-title h3{font-size:24px}.feature-title p{font-size:15px}.feature-banner{padding:28px;gap:50px}.feature-banner strong{font-size:17vw}.feature-banner>span{font-size:10px}.feature-banner>span:last-child{font-size:16px}.case-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.case-grid h3{font-size:20px;margin-top:20px}.approach-grid{display:block;margin-top:55px}.approach-number{display:none}.approach-steps article{min-height:0;padding:28px 0 50px}.approach-steps article>span{font-size:18px}.approach-steps h3{font-size:44px;margin-top:20px}.approach-steps p{font-size:15px}.vision{padding-bottom:120px}.vision h2{font-size:7vw;margin-top:75px;line-height:1.9}.vision-copy{margin:55px 0 0 8%;max-width:none}.vision-copy p{font-size:14px;line-height:2.1}.about h2{font-size:16vw}.about-grid{display:block;margin-top:40px}.about-sub{font-size:23px;margin-bottom:45px}.about-grid>div{margin-left:8%}.about-grid h3{font-size:24px}.about-grid p{font-size:15px}.about dl>div{grid-template-columns:65px 1fr;gap:10px}.contact h2{font-size:10.8vw}.contact-bottom{display:block;margin:40px 0 80px}.contact-bottom p{font-size:16px}.inquiry{margin-top:40px;min-width:0;width:100%;font-size:23px}.footer-line{flex-wrap:wrap}.footer-line .wordmark{width:100%;margin-bottom:15px}.footer-line>span{font-size:9px}.footer-line small{font-size:10px}dialog{padding:60px 25px 35px}dialog h2{font-size:30px}.js-motion .reveal{transform:translateY(20px)}body.menu-open{overflow:hidden}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none;clip-path:none}.touchpoints.converged>span{transform:none;opacity:1}}
.page-hero{padding-top:145px;padding-bottom:75px}.breadcrumb{display:flex;gap:15px;font-size:12px;color:#73766d;margin-bottom:75px}.page-hero h1{font-size:clamp(45px,7.6vw,122px);line-height:1.08;letter-spacing:-.055em;margin:35px 0}.page-hero p{font-size:18px}.about-teaser{background:#eaece6}.about-teaser h2{font-size:clamp(44px,6.7vw,110px);line-height:1.1;letter-spacing:-.05em;margin:35px 0 50px}.about-teaser>div{margin-left:50%}.text-link{display:inline-block;border-bottom:1px solid;padding:14px 0;margin-top:25px;font-size:14px;letter-spacing:.05em}.archive-works{padding-top:0}.work-filters,.journal-tabs{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:65px;border-bottom:1px solid var(--line);padding-bottom:25px}.work-filters button,.journal-tabs button{padding:10px 0;background:none;border:0;font-size:12px;color:#8c9086}.work-filters button[aria-pressed=true],.journal-tabs button[aria-pressed=true]{color:#20221f;border-bottom:1px solid}.filter-empty{padding:80px 0}.work[hidden],.journal-row[hidden]{display:none!important}.project-top{padding-top:0}.project-top .work-visual{min-height:470px;max-height:850px}.project-top .visual-sora{aspect-ratio:1.8}.project-top .sora-big{font-size:23vw}.project-top .visual-form{aspect-ratio:1.6}.project-top .form-big{font-size:14vw}.project-facts{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:25px}.contact-page{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw;padding-top:30px}.contact-intro h2{font-size:26px;line-height:1.8;margin-bottom:30px}.contact-intro p{max-width:350px}.form-wrap label{display:block;font-size:14px;margin-bottom:30px}.form-wrap label>span{font-size:11px;margin-left:10px;color:#777b71}.form-wrap input:not([type=checkbox]),.form-wrap select,.form-wrap textarea{display:block;width:100%;border:0;border-bottom:1px solid #bfc3b9;background:#eceee8;font:16px/1.6 inherit;color:inherit;padding:16px 13px;margin-top:12px;border-radius:0;outline-offset:3px}.form-wrap textarea{resize:vertical}.form-wrap input:focus,.form-wrap select:focus,.form-wrap textarea:focus{outline:2px solid #505748}.form-wrap .acceptance{display:flex;align-items:start;gap:10px;font-size:14px;line-height:1.7}.acceptance input{width:18px;height:18px;accent-color:#242820;flex-shrink:0}.acceptance a{text-decoration:underline}.form-submit,.wpcf7-submit{border:1px solid #20221f;background:#20221f;color:white;padding:20px 30px;font-size:16px;cursor:pointer;min-width:230px}.form-note{font-size:12px;color:#74786e;margin-top:20px}.legal{padding-top:15px;max-width:940px;margin:auto}.legal h2{font-size:24px;margin:50px 0 25px}.legal p{font-size:16px}.draft-note{padding:25px;border-left:2px solid #545b4c;background:#e9ece3}.journal-row{display:grid;grid-template-columns:210px 1fr 130px;gap:30px;align-items:center;padding:45px 0;border-top:1px solid var(--line)}.journal-row>span{font-size:12px}.journal-row h2{font-size:24px;line-height:1.6}.journal-list{padding-top:10px}.article-body{max-width:960px;margin:auto;padding-top:10px}.article-body h2{font-size:28px;line-height:1.7;margin:65px 0 25px}.article-body p{margin-bottom:35px}.article-body .lead{font-size:22px}.article-body img{height:auto}.article-body a:not(.text-link){text-decoration:underline}.article-body ul,.article-body ol{line-height:2}.privacy-link{font-size:11px}.wpcf7-form label{display:block}.wpcf7-form .wpcf7-list-item{margin:0}.wpcf7-not-valid-tip{font-size:13px}.wpcf7-response-output{line-height:1.8}.entry-work img{aspect-ratio:1.2;object-fit:cover}.wp-pagination{margin-top:60px;display:flex;gap:20px}.wp-pagination .current{border-bottom:1px solid}.empty-state{padding:80px 0}.admin-bar .header{top:32px}.skip:focus{top:40px}.page-template-page-about .vision{padding-top:30px}.contact a.inquiry{display:block}.cf7-missing{padding:30px;border:1px solid var(--line)}
@media(max-width:760px){.page-hero{padding-top:110px;padding-bottom:45px}.breadcrumb{margin-bottom:50px;font-size:10px}.page-hero h1{font-size:11vw;margin:25px 0}.page-hero p{font-size:15px}.about-teaser>div{margin-left:8%}.about-teaser h2{font-size:11vw}.about-teaser p{font-size:15px}.work-filters,.journal-tabs{gap:18px;margin-bottom:40px}.work-filters button{font-size:11px}.project-top .work-visual{min-height:300px}.project-top .sora-big{font-size:35vw}.project-top .form-big{font-size:24vw}.project-facts{display:block;font-size:11px;line-height:2.3}.project-facts span{display:block}.contact-page{display:block;padding-top:20px}.contact-intro{margin-bottom:55px}.contact-intro h2{font-size:23px}.contact-intro p{font-size:15px}.form-wrap label{font-size:14px}.form-submit{width:100%}.legal h2{font-size:21px}.legal p{font-size:15px}.journal-row{grid-template-columns:1fr;gap:18px;padding:30px 0}.journal-row h2{font-size:21px}.journal-row>span:last-child{font-size:10px}.article-body h2{font-size:23px}.article-body .lead{font-size:19px}.footer-line .privacy-link{width:100%;margin:8px 0}.admin-bar .header{top:46px}}
.work-grid .entry-work:nth-child(3n + 2){margin-top:220px}.work-grid .entry-work:nth-child(3n){grid-column:1 / -1;width:73%;margin-left:15%}.work-grid .entry-work:nth-child(3n) img{aspect-ratio:1.7}.work-grid .entry-work:nth-child(3n + 2) img{aspect-ratio:.83}.form-wrap input:not([type=checkbox]),.form-wrap select,.form-wrap textarea{font-family:inherit;font-size:16px;line-height:1.6}@media(max-width:760px){.work-grid .entry-work:nth-child(3n + 2){margin-top:0;width:88%;margin-left:12%}.work-grid .entry-work:nth-child(3n){width:100%;margin-left:0}.work-grid .entry-work:nth-child(3n) img{aspect-ratio:1.2}}
/* FINEGOOD — elegant serif identity, quiet cinematic motion */
:root{--serif:'Garamond Premier Pro','Baskerville','Palatino Linotype','Book Antiqua',Georgia,serif;--ease:cubic-bezier(.22,.61,.36,1)}
.wordmark{font-family:var(--serif);font-weight:400;font-size:32px;letter-spacing:-.06em}.wordmark span{font-family:Arial,sans-serif;font-size:10px;margin-left:5px}
h1,.intro h2,.section-heading h2,.design-sticky h2,.cx h2,.approach>h2,.approach-steps h3,.about h2,.contact h2,.page-hero h1,.about-brand{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
.hero{padding-top:125px;padding-bottom:30px;min-height:100svh}.hero h1{font-size:clamp(66px,9.4vw,160px);line-height:.98;letter-spacing:-.045em}.hero-subcopy{font-size:18px;line-height:1.7;margin:28px 0 42px;letter-spacing:.04em}.hero-slideshow{position:relative;height:clamp(450px,64svh,900px);margin:0 calc(-1 * var(--gutter));overflow:hidden;background:#252d28;isolation:isolate;animation:visual-in 1.5s .4s var(--ease) both}.hero-slide{position:absolute;inset:0;clip-path:inset(0 100% 0 0);z-index:1;pointer-events:none;transition:clip-path 1.55s var(--ease);visibility:hidden;transition-behavior:allow-discrete}.hero-slide.is-active{clip-path:inset(0);z-index:2;pointer-events:auto;visibility:visible}.hero-slide>.work-visual{width:100%;height:100%;aspect-ratio:auto;transform:scale(1.045);transition:transform 6.8s var(--ease);padding:5vw}.hero-slide.is-active>.work-visual{transform:scale(1)}.hero-slide>img{transform:scale(1.045);transition:transform 6.8s var(--ease);object-fit:cover}.hero-slide.is-active>img{transform:scale(1)}.hero-slide .sora-big{font-size:clamp(130px,23vw,410px)}.hero-slide .form-big{font-size:clamp(100px,15vw,250px)}.hero-slide .visual-neue>div{font-size:clamp(90px,12vw,220px)}.hero-slide .sora-bottom,.hero-slide .form-bottom,.hero-slide .visual-neue>span:last-of-type{margin-bottom:55px}.hero-work-fallback{display:flex;flex-direction:column;justify-content:space-between;padding:5vw;background:#b8c8be;color:#23382c;height:100%}.hero-work-fallback h2{font:400 clamp(45px,8vw,120px)/1.1 var(--serif)}.slider-bar{position:absolute;z-index:4;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px var(--gutter);background:linear-gradient(transparent,#1119);color:white;gap:20px}.slider-label{font-size:11px;letter-spacing:.09em;text-shadow:0 1px 5px #222}.slider-controls{display:flex;align-items:center;gap:20px;font-size:11px}.slider-controls[hidden]{display:none}.slider-controls button{background:none;border:0;color:inherit;padding:10px 4px;font-size:11px;letter-spacing:.07em}.slider-controls button:hover{text-decoration:underline}.hero-bottom{min-height:40px;margin-top:22px;justify-content:flex-end}.scroll-link{gap:24px;align-items:center;font-size:11px}.scroll-cue{height:35px;width:1px;background:#b3b6ad;position:relative;overflow:hidden}.scroll-cue:after{content:'';position:absolute;width:1px;height:18px;top:-18px;left:0;background:#222;animation:scroll-guide 2.2s var(--ease) infinite}@keyframes scroll-guide{to{transform:translateY(65px)}}
.section{padding-top:110px}.intro{padding-top:155px}.section-heading{display:block;position:relative}.works-overline{margin-bottom:30px;font-size:18px}.section-heading h2{font-size:clamp(65px,9vw,150px);line-height:.95}.work{overflow:visible}.work-visual{transition:transform 1.2s var(--ease);transform-origin:center}.work:hover .work-visual{transform:scale(1.015)}.work-visual img{transition:transform 1.3s var(--ease)}.work:hover .work-visual img{transform:scale(1.025)}.view-project{border:1px solid #ffffff38;color:#fff;background:linear-gradient(115deg,#242e2a,#667d76,#313c3b,#716b81,#242e2a);background-size:350% 350%;animation:button-current 9s ease-in-out infinite;padding:15px 23px;font-size:11px!important;letter-spacing:.07em;box-shadow:0 8px 30px #1112;transition:opacity .7s var(--ease),transform .7s var(--ease)}@keyframes button-current{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.cx,.contact{position:relative;isolation:isolate;overflow:hidden;background:#171b1c}.cx:before,.contact:before{content:'';position:absolute;z-index:-2;inset:-25%;background:radial-gradient(ellipse at 18% 32%,#344c56 0%,transparent 44%),radial-gradient(ellipse at 76% 65%,#484356 0%,transparent 46%),radial-gradient(ellipse at 62% 5%,#3b4c40 0%,transparent 45%),#15191c;filter:blur(70px);opacity:.75;animation:atmosphere 22s ease-in-out infinite alternate;will-change:transform}.cx:after,.contact:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(130deg,#0c111630,transparent 60%,#0a0e1320);pointer-events:none}@keyframes atmosphere{0%{transform:translate(-3%,-3%) scale(1.05) rotate(-5deg)}50%{transform:translate(3%,2%) scale(1.15) rotate(3deg)}100%{transform:translate(-2%,4%) scale(1.08) rotate(-2deg)}}.cx h2{font-size:clamp(64px,8.8vw,150px)}.cx h2 em{font-family:var(--serif)}.touchpoints{perspective:900px;transform-style:preserve-3d;height:380px}.touchpoints>span{font-size:14px;letter-spacing:.13em;transform-style:preserve-3d;transform:translateZ(var(--depth,0px)) rotateY(var(--tilt,0deg));text-shadow:0 15px 20px #0005;color:#bcc6ca;transition:transform 1.8s var(--ease),opacity 1.6s var(--ease),filter 1.6s var(--ease);filter:blur(var(--blur,0px))}.touchpoints>span:nth-child(1){--depth:65px;--tilt:14deg}.touchpoints>span:nth-child(2){--depth:-80px;--tilt:-12deg;--blur:.4px}.touchpoints>span:nth-child(3){--depth:35px;--tilt:-16deg}.touchpoints>span:nth-child(4){--depth:-45px;--tilt:12deg;--blur:.3px}.touchpoints>span:nth-child(5){--depth:90px;--tilt:8deg}.touchpoints>span:nth-child(6){--depth:-30px;--tilt:-14deg}.touchpoints strong{font-family:var(--serif);font-size:clamp(40px,7vw,120px);letter-spacing:.025em;text-shadow:0 15px 35px #0005;transition:transform 1.8s var(--ease),text-shadow 1.8s;transform:translate(-50%,-50%) translateZ(15px)}.touchpoints.converged>span{transform:translate(var(--tx),var(--ty)) translateZ(-100px) rotateY(0deg);opacity:0;filter:blur(4px)}.touchpoints.converged strong{transform:translate(-50%,-50%) translateZ(55px);text-shadow:0 25px 45px #0008}.cx-copy{margin-top:45px}.design-art span{display:none}.design-sticky h2{font-size:clamp(48px,5.5vw,90px)}
.about-teaser{padding-top:110px;padding-bottom:120px}.about-brand{display:block;width:max-content;max-width:100%;font-size:clamp(70px,16vw,270px);line-height:1.1;margin:45px 0 60px;transition:letter-spacing 1s var(--ease);letter-spacing:-.045em}.about-brand:hover{letter-spacing:-.025em}.about-teaser .about-teaser-copy{margin-left:50%}.about-teaser h2{font-family:inherit;font-size:30px;letter-spacing:.03em;line-height:1.7;margin:0 0 25px}.about-teaser p{font-size:16px}.text-link{transition:opacity .5s,letter-spacing .5s var(--ease)}.text-link:hover{letter-spacing:.09em}.contact{--pointer-x:65%;--pointer-y:45%;padding-top:110px}.contact:before{background:radial-gradient(ellipse at 18% 65%,#405766 0%,transparent 48%),radial-gradient(ellipse at 76% 35%,#655773 0%,transparent 44%),radial-gradient(ellipse at 66% 90%,#2c4a44 0%,transparent 45%),#15191c;opacity:.7;transition:opacity 1s,filter 1s}.contact:after{background:radial-gradient(ellipse at var(--pointer-x) var(--pointer-y),#a99dbe30,transparent 55%);opacity:0;transition:opacity 1.2s}.contact:hover:before{opacity:1;filter:blur(50px)}.contact:hover:after{opacity:1}.contact-label{display:block;font-size:14px;letter-spacing:.1em;margin-bottom:35px}.contact h2{font-size:clamp(64px,9.4vw,160px);line-height:1.05}.contact h2{transition:color 1s,text-shadow 1s}.contact:hover h2{color:#fff;text-shadow:0 0 50px #cec2eb15}.inquiry{position:relative;isolation:isolate;overflow:hidden;border:1px solid #b6bdc570;min-width:400px;padding:26px 32px;background:#ffffff04;transition:border-color .7s,transform .7s var(--ease),box-shadow .7s;font-family:var(--serif);font-size:29px;letter-spacing:.015em}.inquiry:before{content:'';position:absolute;z-index:-1;inset:-100%;background:linear-gradient(120deg,#667b78,#555267,#798a8a,#4e636f);background-size:300% 300%;animation:button-current 8s ease infinite;opacity:0;transform:translateY(20%);transition:opacity .7s,transform 1s var(--ease)}.inquiry:hover,.inquiry:focus-visible{border-color:#d8dde6;transform:translateY(-3px);box-shadow:0 18px 50px #0003}.inquiry:hover:before,.inquiry:focus-visible:before{opacity:.9;transform:translateY(0)}.inquiry span{font-family:Arial,'Hiragino Kaku Gothic ProN',sans-serif;font-size:13px;letter-spacing:.02em}.footer-line{border-top:0;padding-top:0}.footer-line .wordmark{font-size:32px}.cx-classic .cx{background:#20221f}.cx-classic .cx:before,.cx-classic .cx:after{display:none}.cx-classic .touchpoints{perspective:none}.cx-classic .touchpoints>span{transform:none;filter:none;color:#95998f}.cx-classic .touchpoints.converged>span{transform:translate(var(--tx),var(--ty));opacity:.08}.cx-classic .touchpoints strong,.cx-classic .touchpoints.converged strong{transform:translate(-50%,-50%);text-shadow:none}
@media(max-width:760px){.header .wordmark{font-size:28px}.hero{padding-top:110px;display:block}.hero h1{font-size:clamp(42px,10vw,74px);line-height:1.05}.hero-subcopy{font-size:15px;line-height:1.8;margin:22px 0 32px}.hero-slideshow{height:55svh;min-height:380px;max-height:600px}.hero-slide>.work-visual{padding:30px 24px}.hero-slide .sora-big{font-size:42vw}.hero-slide .form-big{font-size:28vw}.hero-slide .visual-neue>div{font-size:24vw}.slider-bar{display:block;padding:16px var(--gutter)}.slider-label{display:block;font-size:9px;margin-bottom:12px}.slider-controls{justify-content:flex-end;gap:16px}.slider-controls button{padding:9px 0;font-size:10px}.hero-slide .sora-bottom{display:block}.hero-slide .sora-bottom span{display:block;margin-top:10px}.hero-bottom{display:flex;min-height:35px;margin-top:20px;justify-content:flex-end}.scroll-link{position:static;font-size:9px;gap:18px}.scroll-cue{height:28px}.section{padding-top:75px}.intro{padding-top:100px}.section-heading h2{font-size:17vw}.works-overline{font-size:15px!important;margin-top:0!important;margin-bottom:25px}.cx h2{font-size:12vw;line-height:1.1}.cx:before,.contact:before{filter:blur(40px);animation-duration:28s}.touchpoints{height:270px;perspective:1100px}.touchpoints>span{font-size:9px;letter-spacing:.07em}.touchpoints strong{font-size:8.4vw;letter-spacing:0}.touchpoints.converged strong{transform:translate(-50%,-50%) translateZ(20px)}.about-brand{font-size:18vw;margin:35px 0 45px}.about-teaser .about-teaser-copy{margin-left:8%}.about-teaser h2{font-size:23px}.about-teaser p{font-size:15px}.contact-label{font-size:12px;margin-bottom:30px}.contact h2{font-size:12vw}.inquiry{min-width:0;width:100%;padding:25px;font-size:28px}.contact .inquiry span{font-size:12px}.view-project{padding:11px 14px}.about-teaser{padding-bottom:90px}.contact:after{display:none}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide>.work-visual,.hero-slide>img{transition:none!important;transform:none!important}.scroll-cue:after{animation:none;top:8px}.cx:before,.contact:before,.inquiry:before,.view-project{animation:none!important}.touchpoints>span{transform:none!important;filter:none!important}.touchpoints.converged>span{opacity:1!important}.touchpoints strong,.touchpoints.converged strong{transform:translate(-50%,-50%)!important}.inquiry:hover,.inquiry:focus-visible{transform:none}}

.hero-slide.is-previous{visibility:visible;clip-path:inset(0);z-index:1;pointer-events:none}
/* FINEGOOD v1.2 — supplied identity, full-frame works, gold CX */
:root{--serif:Arial,'Helvetica Neue','Hiragino Kaku Gothic ProN',sans-serif;--gold:#dcc285}
h1,.intro h2,.section-heading h2,.design-sticky h2,.cx h2,.cx h2 em,.approach>h2,.approach-steps h3,.about h2,.contact h2,.page-hero h1,.about-brand,.touchpoints strong,.inquiry{font-family:Arial,'Helvetica Neue','Hiragino Kaku Gothic ProN',sans-serif;letter-spacing:-.055em}.cx h2 em{font-style:normal}.brand-logo{display:block;width:180px;height:auto;object-fit:contain}.wordmark{display:block;font-size:0;letter-spacing:0}.dark .brand-logo{filter:invert(1)}.about-brand{width:100%;font-size:0!important}.about-brand .brand-logo,.company-logo .brand-logo{width:100%;height:auto}.company-logo{margin-bottom:60px}.about-brand:hover{letter-spacing:0}.hero{position:relative;height:100svh;min-height:740px;padding:0;max-width:none!important;isolation:isolate;background:#111}.hero-slideshow{position:absolute;inset:0;margin:0;height:100%;min-height:0;max-height:none;animation:visual-in 1.65s .18s var(--ease) both;z-index:0;isolation:auto}.hero-slide>img{height:100%;width:100%;object-fit:cover;object-position:center;transform:scale(1.09);transition:transform 7s var(--ease)}.hero-slide.is-active>img{transform:scale(1.01)}.hero:after{content:'';position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(180deg,#111a 0%,#1112 28%,#1115 65%,#111b 100%);mix-blend-mode:multiply}.hero-copy{position:absolute;z-index:5;left:var(--gutter);right:var(--gutter);top:31%;pointer-events:none;mix-blend-mode:difference;color:#f5efdb}.hero h1{font-size:clamp(62px,8.6vw,150px);font-weight:400;line-height:1.03;letter-spacing:-.06em;text-shadow:0 2px 1px #0001}.hero-subcopy{margin:30px 0 0;font-size:20px;line-height:1.7;letter-spacing:.05em;color:#fff;animation:mask-in 1.2s .35s var(--ease) both}.hero-bottom{position:absolute;z-index:6;left:var(--gutter);bottom:26px;margin:0;min-height:0;color:white}.hero .scroll-cue{background:#fff5}.hero .scroll-cue:after{background:#fff}.hero .slider-bar{bottom:13px;background:none;justify-content:flex-end;z-index:8;pointer-events:none}.hero .slider-label{display:none}.hero .slider-controls{pointer-events:auto;text-shadow:0 1px 10px #000;position:relative}.home .header{color:white;z-index:20}.home .header .brand-logo{filter:invert(1)}.home .header nav{padding:8px 16px;background:#1113;backdrop-filter:blur(10px)}.home .mobile-menu{color:#20221f}.works-cta{font-size:17px;border-bottom:1px solid #252c26;padding:20px 0;margin-top:65px;display:inline-flex;gap:30px;align-items:center}.works-cta span{font-size:13px;letter-spacing:.03em}.entry-work .work-visual img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}.entry-work:nth-child(3n + 2) .work-visual img{aspect-ratio:1.05;object-fit:contain;background:#eaede8}.entry-work:nth-child(3n) .work-visual img{aspect-ratio:1.7;object-fit:contain;background:#eaede8}.project-main-image{height:auto;max-height:800px;object-fit:contain;background:#eef0e9}.project-links{display:flex;gap:35px;flex-wrap:wrap;margin-top:35px}.cx-label{display:block;font-size:13px;letter-spacing:.1em;margin-bottom:35px}.cx:before{background:radial-gradient(ellipse at 20% 35%,#997439 0%,transparent 45%),radial-gradient(ellipse at 80% 70%,#66503b 0%,transparent 42%),radial-gradient(ellipse at 70% 10%,#363c43 0%,transparent 48%),#080a0b;opacity:.74;filter:blur(75px)}.cx:after{background:linear-gradient(130deg,#05050430,transparent 70%,#0003)}.cx h2{font-size:clamp(52px,7.8vw,130px);line-height:1.08}.touchpoints{height:480px;margin:70px auto;max-width:1150px;perspective:none;transform-style:flat}.touchpoints>span{display:flex;align-items:center;justify-content:center;width:116px;height:116px;border:1px solid #d8caaf66;border-radius:50%;background:#ffffff03;color:#ddd9ce;font-size:11px;letter-spacing:.055em;transform:none;filter:none;text-shadow:none;transition:transform 1.5s var(--ease),opacity 1.1s,border-color 1.2s;backdrop-filter:blur(5px)}.touchpoints>span:nth-child(1){left:9%;top:8%}.touchpoints>span:nth-child(2){left:43%;top:0}.touchpoints>span:nth-child(3){left:80%;top:9%}.touchpoints>span:nth-child(4){left:12%;top:70%}.touchpoints>span:nth-child(5){left:43%;top:77%}.touchpoints>span:nth-child(6){left:78%;top:68%}.touchpoints strong{color:#f5f5f1;font-size:clamp(28px,6vw,90px);font-weight:400;letter-spacing:-.04em;transform:translate(-50%,-50%);text-shadow:none;transition:color 1.3s .35s,text-shadow 1.3s .35s;white-space:nowrap}.touchpoints.converged>span{transform:translate(var(--tx),var(--ty));opacity:.025;filter:none;border-color:#d8b964}.touchpoints.converged strong{transform:translate(-50%,-50%);color:var(--gold);text-shadow:0 0 35px #cb9a4830}.inquiry{font-size:25px;letter-spacing:.005em}.footer-line .wordmark{font-size:0}.footer-line .brand-logo{width:200px}.home .menu-toggle{background:#1113;padding:12px;color:white}.home .mobile-menu a{color:#20221f}
@media(max-width:760px){.brand-logo{width:150px}.hero{height:100svh;min-height:620px}.hero-copy{top:32%;left:var(--gutter);right:var(--gutter)}.hero h1{font-size:clamp(36px,9.4vw,64px);line-height:1.09}.hero-subcopy{font-size:14px;margin-top:24px;letter-spacing:.04em}.hero .slider-bar{bottom:67px;padding:10px var(--gutter)}.hero .slider-controls{gap:16px}.hero-bottom{bottom:26px}.home .header nav{display:none}.hero-slide>img{object-fit:cover}.works-cta{display:flex;justify-content:space-between;font-size:15px;margin-top:30px;gap:15px}.works-cta span{font-size:12px}.cx-label{font-size:11px;letter-spacing:.055em;margin-bottom:30px}.cx h2{font-size:10.5vw}.cx:before{filter:blur(40px)}.touchpoints{height:330px;margin:60px 0 40px}.touchpoints>span{width:74px;height:74px;font-size:8px;letter-spacing:0}.touchpoints>span:nth-child(1){left:0;top:3%}.touchpoints>span:nth-child(2){left:39%;top:0}.touchpoints>span:nth-child(3){left:77%;top:5%}.touchpoints>span:nth-child(4){left:1%;top:72%}.touchpoints>span:nth-child(5){left:39%;top:78%}.touchpoints>span:nth-child(6){left:76%;top:70%}.touchpoints strong{font-size:8vw}.touchpoints.converged strong{transform:translate(-50%,-50%)}.company-logo{margin-bottom:35px}.footer-line .brand-logo{width:180px}.project-links{gap:25px}}
@media(prefers-reduced-motion:reduce){.touchpoints.converged>span{transform:none!important;opacity:1!important}.touchpoints.converged strong{color:var(--gold)}.hero-copy{mix-blend-mode:normal;color:#f5efdb}.hero:after{background:linear-gradient(180deg,#111a,#1117 45%,#111b)}}
/* FINEGOOD v1.3 — calligraphic accent and refined interaction */
@font-face{font-family:'FINEGOOD Script';src:url('fonts/allura.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--script:'FINEGOOD Script','Segoe Script','Apple Chancery',cursive;--brand-mask:url('assets/logo.svg')}
.cx h2 em{font-family:var(--script);font-size:1.32em;font-style:normal;font-weight:400;letter-spacing:0;line-height:.7;display:inline-block;padding-right:.12em}.touchpoints strong{font-family:var(--script);font-size:clamp(48px,8.5vw,132px);font-weight:400;letter-spacing:0;background-image:linear-gradient(115deg,#80622e 0%,#bd9b50 18%,#f0ddb0 35%,#caad6a 50%,#faeac6 65%,#b18b45 84%,#795c2d 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:#f5f5f1;transition:color .8s 1s,text-shadow .8s 1s}.touchpoints.converged strong{color:transparent;text-shadow:none;animation:gold-light 7s 1.2s ease-in-out infinite alternate}@keyframes gold-light{from{background-position:0% 50%}to{background-position:100% 50%}}.touchpoints>span{transition:transform 1.25s var(--ease),opacity .2s,border-color .7s}.touchpoints.converged>span{opacity:0!important;transform:translate(var(--tx),var(--ty));transition:transform 1.25s var(--ease),opacity .18s 1.08s,border-color .7s;pointer-events:none}.touchpoints:before,.touchpoints:after{content:'';position:absolute;top:50%;left:50%;width:145px;height:145px;border:1px solid #d9bc7566;border-radius:50%;transform:translate(-50%,-50%) scale(.55);opacity:0;pointer-events:none}.touchpoints.converged:before{animation:cx-ripple 2.8s 1.18s ease-out both}.touchpoints.converged:after{animation:cx-ripple 3s 1.5s ease-out both;border-color:#f0d9a63d}@keyframes cx-ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}12%{opacity:.65}100%{opacity:0;transform:translate(-50%,-50%) scale(5.4)}}
.cx:before,.contact:before{background:radial-gradient(ellipse at 20% 35%,#997439 0%,transparent 45%),radial-gradient(ellipse at 80% 70%,#66503b 0%,transparent 42%),radial-gradient(ellipse at 70% 10%,#363c43 0%,transparent 48%),#080a0b;opacity:.74;filter:blur(75px)}.contact:after{background:radial-gradient(ellipse at var(--pointer-x) var(--pointer-y),#dac18b20,transparent 55%)}.contact:hover:before{opacity:.9;filter:blur(65px)}.home .header nav{background:none;backdrop-filter:none;padding:0}.home .menu-toggle{background:none}.home .header nav a{text-shadow:0 1px 14px #0008}
.about-brand{position:relative;isolation:isolate}.about-brand .brand-logo{opacity:0}.about-brand:before{content:'';position:absolute;inset:0;mask-image:var(--brand-mask);-webkit-mask-image:var(--brand-mask);mask-size:contain;-webkit-mask-size:contain;mask-position:center;-webkit-mask-position:center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;background:radial-gradient(ellipse at 28% 38%,#ceb877 0%,transparent 32%),radial-gradient(ellipse at 68% 55%,#756249 0%,transparent 40%),radial-gradient(ellipse at 95% 15%,#d5bf84 0%,transparent 32%),#161a17;background-size:190% 180%;animation:logo-atmosphere 15s ease-in-out infinite alternate}@keyframes logo-atmosphere{0%{background-position:0% 20%}50%{background-position:60% 70%}100%{background-position:100% 10%}}@supports not (mask-image:url('assets/logo.svg')){.about-brand .brand-logo{opacity:1}.about-brand:before{display:none}}
.text-link{position:relative;display:inline-flex;align-items:center;gap:24px;border-bottom:0;overflow:hidden;letter-spacing:.05em;padding:16px 0;transition:opacity .4s}.text-link:after{content:'';position:absolute;bottom:0;left:0;height:1px;width:100%;background:currentColor;transform:translateX(0)}.text-link:hover{letter-spacing:.05em}.text-link:hover:after,.text-link:focus-visible:after{animation:underline-flow 1.3s var(--ease) infinite}@keyframes underline-flow{0%{transform:translateX(-105%)}55%{transform:translateX(0)}100%{transform:translateX(105%)}}.link-arrow{display:inline-flex;flex-shrink:0;width:26px;height:26px}.link-arrow svg{width:100%;height:100%}.works-cta{gap:25px}.inquiry{border-radius:0;position:relative;padding-right:100px;transition:border-radius .8s var(--ease),border-color .7s,transform .7s,box-shadow .7s;display:block!important}.inquiry:hover,.inquiry:focus-visible{border-radius:38px;transform:none}.inquiry>.cta-arrow{position:absolute;right:27px;top:50%;margin:0;transform:translateY(-50%);width:43px;height:43px;border:1px solid #e0dac7a0;border-radius:50%;display:block;overflow:hidden}.cta-arrow svg{position:absolute;width:24px;height:24px;left:9px;top:9px;transition:transform .65s var(--ease)}.cta-arrow svg:nth-child(2){transform:translateX(-40px)}.inquiry:hover .cta-arrow svg:first-child,.inquiry:focus-visible .cta-arrow svg:first-child{animation:arrow-out 1.6s var(--ease) infinite}.inquiry:hover .cta-arrow svg:nth-child(2),.inquiry:focus-visible .cta-arrow svg:nth-child(2){animation:arrow-in 1.6s var(--ease) infinite}@keyframes arrow-out{0%,12%{transform:translateX(0)}55%,100%{transform:translateX(40px)}}@keyframes arrow-in{0%,12%{transform:translateX(-40px)}55%,85%{transform:translateX(0)}100%{transform:translateX(40px)}}.footer-nav{display:flex;gap:35px;flex-wrap:wrap;margin:0 0 45px;font-size:12px;letter-spacing:.06em}.footer-nav a{padding:8px 0}.footer-nav a:hover{text-decoration:underline;text-underline-offset:6px}.entry-work:nth-child(3n+2) .work-visual img,.entry-work:nth-child(3n) .work-visual img{object-fit:cover}.hero-slide>img{object-position:50% 50%}.hero-slide[data-project="icons"]>img{object-position:72% 50%}.hero-subcopy{mix-blend-mode:normal}
@media(max-width:760px){.cx h2 em{font-size:1.3em}.touchpoints strong{font-size:13vw}.touchpoints:before,.touchpoints:after{width:90px;height:90px}.cx:before,.contact:before{filter:blur(40px)}.contact:hover:before{filter:blur(40px)}.text-link{gap:18px}.link-arrow{width:23px;height:23px}.works-cta{flex-wrap:wrap;justify-content:flex-start;column-gap:16px}.works-cta .link-arrow{margin-left:auto}.footer-nav{gap:15px 27px;display:grid;grid-template-columns:1fr 1fr;font-size:11px}.inquiry{padding-right:78px}.inquiry>.cta-arrow{right:22px;width:38px;height:38px}.cta-arrow svg{top:6px;left:6px}.inquiry span:not(.cta-arrow){font-size:11px}.hero-slide[data-project="icons"]>img{object-position:68% 50%}}
@media(prefers-reduced-motion:reduce){.touchpoints.converged:before,.touchpoints.converged:after{animation:none;display:none}.touchpoints.converged>span{opacity:1!important;transform:none!important}.touchpoints strong,.touchpoints.converged strong{animation:none}.about-brand:before,.text-link:hover:after,.inquiry:hover svg{animation:none!important}.touchpoints.converged strong{color:transparent}.inquiry:hover{border-radius:0}}
/* v1.4: restrained heading, faster underline, pill-shaped inquiry */
.cx h2 em{font-family:Arial,'Helvetica Neue','Hiragino Kaku Gothic ProN',sans-serif;font-size:1em;font-weight:400;font-style:normal;letter-spacing:-.055em;line-height:1.08;padding-right:0}
.text-link:hover:after,.text-link:focus-visible:after{animation-duration:.68s}
.inquiry:hover,.inquiry:focus-visible{border-radius:999px}
/* Content remains readable if a reveal cannot run in a preview frame. */
.js-motion .reveal{opacity:1;clip-path:none;transform:none;transition:none}
.js-motion .reveal.visible{animation:finegood-text-in .8s cubic-bezier(.22,.61,.36,1) both}
@keyframes finegood-text-in{from{transform:translateY(28px);clip-path:inset(0 0 100%)}to{transform:none;clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal.visible{animation:none}}

/* v1.5: project captures and restrained gold interactions */
.view-project{background:linear-gradient(115deg,#0b0c0b 0%,#332a1c 24%,#b1965b 47%,#463825 66%,#101211 100%);background-size:350% 350%;color:#f6edda;border-color:#d2bc804d}
.touchpoints strong{font-family:Baskerville,'Baskerville Old Face','Palatino Linotype',Georgia,serif;font-size:clamp(42px,7.2vw,112px);font-style:normal;font-weight:400;letter-spacing:-.045em;line-height:1.15}
.about-brand .brand-logo{opacity:1;filter:none;height:auto}.about-brand:before{display:none}
.project-top>.project-main-image,.project-top>img.wp-post-image{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.project-gallery{margin:85px 0}.project-gallery img{height:auto;object-fit:contain;width:100%}
.inquiry:hover,.inquiry:focus-visible{border-color:transparent;box-shadow:none;border-radius:999px}
.cta-arrow svg{transition:transform .7s cubic-bezier(.22,.61,.36,1);animation:none!important}
.cta-arrow svg:nth-child(2){transform:translateX(-43px)}
.inquiry:hover .cta-arrow svg:first-child,.inquiry:focus-visible .cta-arrow svg:first-child{transform:translateX(43px);animation:none}
.inquiry:hover .cta-arrow svg:nth-child(2),.inquiry:focus-visible .cta-arrow svg:nth-child(2){transform:translateX(0);animation:none}
@media(max-width:760px){
.header{height:82px;z-index:55}.menu-toggle,.home .menu-toggle{display:flex;align-items:center;gap:13px;padding:10px 0 10px 10px;background:none;border:0;color:inherit;min-height:44px;position:relative;z-index:60}.home .menu-toggle{color:#fff}.menu-label{font-size:10px;letter-spacing:.16em}.menu-bars{position:relative;display:block;width:26px;height:19px}.menu-bars i{position:absolute;right:0;height:1px;background:currentColor;transition:transform .45s var(--ease),width .45s var(--ease),top .45s var(--ease);width:26px;top:5px}.menu-bars i:nth-child(2){top:13px;width:18px}.menu-toggle[aria-expanded="true"] .menu-bars i{top:9px;transform:rotate(45deg);width:26px}.menu-toggle[aria-expanded="true"] .menu-bars i:nth-child(2){transform:rotate(-45deg)}
.menu-open .header .brand-logo{filter:invert(1)}.menu-open .menu-toggle,.home.menu-open .menu-toggle{color:#f5f1e8}.mobile-menu:not([hidden]){position:fixed;inset:0;z-index:50;min-height:100svh;background:#111411;color:#f5f1e8;padding:128px var(--gutter) 55px;display:flex;gap:0;justify-content:flex-start;counter-reset:menu;animation:mobile-panel-in .6s var(--ease) both;overflow:auto}.home .mobile-menu a,.mobile-menu a{color:#f5f1e8;padding:20px 0;display:flex;align-items:center;gap:14px;font-size:clamp(28px,8vw,43px);line-height:1.2;letter-spacing:-.035em;border-bottom:1px solid #d4c09630;animation:menu-link-in .65s var(--ease) both}.mobile-menu a:before{counter-increment:menu;content:'0' counter(menu);font-size:10px;letter-spacing:.1em;color:#b6a477;align-self:flex-start;margin-top:6px}.mobile-menu a small{margin-left:auto;font-size:10px;letter-spacing:.025em;color:#b6b9ae}.mobile-menu a:nth-child(2){animation-delay:.05s}.mobile-menu a:nth-child(3){animation-delay:.1s}.mobile-menu a:nth-child(4){animation-delay:.15s}.touchpoints strong{font-size:10vw}.project-gallery{margin:40px 0}
}
@keyframes mobile-panel-in{from{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}
@keyframes menu-link-in{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.mobile-menu:not([hidden]),.mobile-menu a{animation:none}.cta-arrow svg,.menu-bars i{transition:none}}

/* v1.6: scalable case studies, press and flowing navigation */
.project-description{max-width:760px;margin:65px 0 48px}.project-description .small-label{margin-bottom:22px}.project-description p{font-size:clamp(18px,2vw,27px);line-height:1.9}.project-credits{margin:0 0 55px;display:grid;grid-template-columns:1fr 1fr;gap:0 8vw;max-width:960px}.project-credits>div{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--line);padding:23px 0;gap:20px}.project-credits dt{font-size:12px;letter-spacing:.08em}.project-credits dd{margin:0;font-size:15px}.project-gallery figure{margin:90px 0}.project-gallery figure img{display:block;height:auto;width:100%;object-fit:contain}.project-gallery figcaption,.image-caption{font-size:14px;line-height:1.8;color:#73766e;margin:20px 0 0}.project-editor-content p{max-width:760px;margin:25px 0 55px}.project-editor-content .wp-block-gallery{gap:35px}.project-editor-content .wp-block-gallery figure{margin:0}.project-editor-content .wp-block-gallery img{height:auto;object-fit:contain}.about-brand{transform:scale(var(--logo-scale,.84));transform-origin:50% 50%;will-change:transform}.press-section{padding-top:100px;padding-bottom:140px}.press-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:35px 0 65px}.press-heading h2{font-size:clamp(45px,7.5vw,120px);letter-spacing:-.055em;line-height:1.1}.press-row{display:grid;grid-template-columns:105px 135px 1fr 26px;gap:25px;align-items:center;border-top:1px solid var(--line);padding:35px 0;transition:color .4s}.press-row:last-child{border-bottom:1px solid var(--line)}.press-row time,.press-tag{font-size:11px;letter-spacing:.05em;color:#72756d}.press-row h3{font-size:18px;line-height:1.7}.press-row:hover{color:#9a7a3f}.press-row .link-arrow{transition:transform .45s var(--ease)}.press-row:hover .link-arrow{transform:translateX(5px)}.preview-note{font-size:12px;color:#808279;margin-top:22px}.hero-slide[data-project="ethan-sake"]>img{object-position:60% 50%}.hero-slide[data-project="ethan"]>img{object-position:50% 50%}.hero-slide[data-project="takeveli"]>img{object-position:50% 58%}.hero-slide[data-project="threedplus"]>img{object-fit:cover;object-position:50% 50%}
@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:.7s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
::view-transition-old(root){animation:page-flow-out .65s cubic-bezier(.22,.61,.36,1) both}
::view-transition-new(root){animation:page-flow-in .7s cubic-bezier(.22,.61,.36,1) both}
@keyframes page-flow-out{to{transform:translateY(-6%);opacity:0}}
@keyframes page-flow-in{from{clip-path:inset(100% 0 0);transform:translateY(5%)}to{clip-path:inset(0);transform:none}}
main{animation:page-content-in .7s cubic-bezier(.22,.61,.36,1) both}
@keyframes page-content-in{from{transform:translateY(22px);clip-path:inset(0 0 3%)}to{transform:none;clip-path:inset(0)}}
.page-wipe{position:fixed;inset:0;z-index:200;pointer-events:none;background:#f5f5f1;transform:translateY(101%);transition:transform .42s cubic-bezier(.65,0,.35,1)}.is-leaving .page-wipe{transform:translateY(0)}
@media(max-width:760px){.project-description{margin:35px 0}.project-credits{grid-template-columns:1fr}.project-credits>div{grid-template-columns:105px 1fr;padding:20px 0}.project-gallery figure{margin:45px 0}.press-section{padding-top:70px;padding-bottom:85px}.press-heading{display:block;margin-bottom:38px}.press-heading .text-link{margin-top:20px}.press-row{grid-template-columns:90px 1fr 23px;gap:12px;padding:25px 0}.press-row h3{grid-column:1/3;grid-row:2;font-size:16px}.press-row .link-arrow{grid-column:3;grid-row:1/3}.press-row .press-tag{font-size:10px}.home .header{z-index:70}.menu-open .header,.home.menu-open .header{position:fixed;top:0;z-index:70;color:#f5f1e8}.menu-open .header .wordmark,.home.menu-open .header .wordmark{display:block;position:relative;z-index:71}.menu-open .header .brand-logo,.home.menu-open .header .brand-logo{display:block;opacity:1;visibility:visible;filter:invert(1)}.menu-open .menu-toggle,.home.menu-open .menu-toggle{display:flex;color:#f5f1e8;z-index:72}.menu-open .mobile-menu:not([hidden]){z-index:60}.admin-bar.menu-open .header{top:46px}}
@media(prefers-reduced-motion:reduce){main,.page-wipe,::view-transition-old(root),::view-transition-new(root){animation:none;transition:none}.about-brand{transform:none;will-change:auto}}

/* v1.7: supplied content, accessible form and adaptive fixed navigation */
.header,.home .header{position:fixed;top:0;left:0;width:100%;z-index:70;color:#fff;mix-blend-mode:difference;background:none;pointer-events:none}.header .wordmark,.header nav,.header .menu-toggle{pointer-events:auto}.header .brand-logo,.home .header .brand-logo{filter:invert(1);opacity:1}.header nav a,.home .header nav a{text-shadow:none}.home .menu-toggle,.menu-toggle{color:inherit}
.menu-open .header,.home.menu-open .header{mix-blend-mode:normal;color:#f5f1e8}.menu-open .header .brand-logo,.home.menu-open .header .brand-logo{filter:invert(1)}
.office-profile{display:grid;grid-template-columns:1fr 2fr;gap:30px 9vw}.office-profile>.small-label{grid-column:1/-1}.office-profile h2{font-size:30px;font-weight:400}.office-profile dl{margin:0}.office-profile dl>div{display:grid;grid-template-columns:110px 1fr;gap:30px;padding:23px 0;border-bottom:1px solid var(--line)}.office-profile dt{font-size:14px;letter-spacing:.05em}.office-profile dd{margin:0;line-height:1.9}.office-profile dd small{display:block;font-size:12px;color:#777b71;margin-top:8px}.office-profile a{text-decoration:underline;text-underline-offset:6px}
.legal-purpose{padding:25px 35px;border:1px solid var(--line);list-style:disc;font-size:15px;line-height:2.2}.policy-dates{margin-top:65px;font-size:13px;color:#767a72}.legal a{text-decoration:underline;text-underline-offset:4px}
.contact-page{display:block}.contact-intro{display:block;max-width:800px}.contact-intro p{font-size:16px;line-height:2}.email-contact{margin:50px 0 65px}.email-contact>a{display:inline-block;margin:16px 0;font-size:26px;letter-spacing:-.02em;border-bottom:1px solid currentColor}.email-contact p{font-size:13px;color:#787c72}.form-wrap{max-width:950px;margin:0}.inquiry-form>h2{font-size:20px;margin-bottom:50px}.inquiry-form .form-row{display:grid;grid-template-columns:210px 1fr;gap:32px;margin-bottom:25px;align-items:start}.inquiry-form .form-row>label,.inquiry-form .form-row-label{display:block;margin:0;font-size:14px;line-height:1.8;padding-top:14px}.inquiry-form .required-mark{color:#777b71;font-size:12px;margin-left:7px}.inquiry-form input:not([type="checkbox"]),.inquiry-form select,.inquiry-form textarea{width:100%;margin:0;border:1px solid #c6c9c0;background:transparent;padding:15px 17px;border-radius:0;min-height:53px;font-size:16px;line-height:1.5;color:var(--ink)}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#8d9187;font-size:14px}.inquiry-form select{appearance:auto}.inquiry-form fieldset{padding:0;border:0;min-inline-size:0}.inquiry-form .service-row{position:relative;padding-left:242px;display:block;min-height:330px}.inquiry-form .service-row legend{position:absolute;left:0;top:12px;padding:0;width:210px;font-size:14px;line-height:1.8}.inquiry-form .service-options{padding-top:10px}.inquiry-form .service-options label{display:flex;gap:13px;align-items:flex-start;font-size:14px;line-height:1.8;margin:0 0 13px;padding:0}.inquiry-form input[type="checkbox"]{width:17px;height:17px;min-height:0;margin:3px 0 0;flex-shrink:0;accent-color:#252921}.inquiry-form .acceptance{display:flex;gap:13px;font-size:14px;line-height:1.8;padding-top:14px}.inquiry-form .acceptance a{text-decoration:underline;text-underline-offset:4px}.inquiry-form .form-submit{background:#20221f;color:#fff;border:1px solid #20221f;border-radius:999px;min-height:60px;padding:20px 50px;width:min(100%,420px);margin:35px 0 0 242px;font-size:14px;letter-spacing:.12em;transition:background .5s,color .5s}.inquiry-form .form-submit:hover{background:#9b7c43;border-color:#9b7c43}.inquiry-form .form-note{margin-top:22px;font-size:12px;color:#777b72}.inquiry-form .wpcf7-list-item{display:block;margin:0}.inquiry-form .wpcf7-list-item label{display:flex}.inquiry-form .wpcf7-form-control-wrap{display:block}.inquiry-form .wpcf7-not-valid-tip{font-size:13px;margin-top:8px}.inquiry-form .form-field>p{margin:0}.inquiry-form .form-row>p{margin:0}
.work-visual img,.design-art img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.045);will-change:transform}.work:hover .work-visual img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.07)}.hero-slide>img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.055)}.hero-slide.is-active>img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.025)}.project-main-image,.project-gallery img{transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}
@media(max-width:760px){.office-profile{display:block}.office-profile h2{font-size:25px;margin:22px 0 30px}.office-profile dl>div{grid-template-columns:85px 1fr;gap:18px}.office-profile dd{font-size:14px}.inquiry-form .form-row{display:block;margin-bottom:28px}.inquiry-form .form-row>label,.inquiry-form .form-row-label{margin-bottom:10px;padding:0}.inquiry-form .service-row{padding-left:0;min-height:0}.inquiry-form .service-row legend{position:static;width:auto;margin-bottom:12px}.inquiry-form .service-options{padding-top:0}.inquiry-form .service-options label{min-height:34px;align-items:center}.inquiry-form input[type="checkbox"]{width:20px;height:20px}.inquiry-form .form-submit{margin-left:0;width:100%}.email-contact>a{font-size:24px}.inquiry-form .acceptance{padding-top:0}.header,.home .header{z-index:70}.menu-open .header,.home.menu-open .header{mix-blend-mode:normal;z-index:70}}
@media(prefers-reduced-motion:reduce){.work-visual img,.design-art img,.hero-slide>img,.hero-slide.is-active>img,.project-main-image,.project-gallery img{transform:none!important;will-change:auto}.work:hover .work-visual img{transform:none}}

:root{--brand-mask:url('assets/logo.svg')}
.thanks-page{padding-top:0}.thanks-message{max-width:850px;border-top:1px solid var(--line);padding-top:40px}.thanks-message h2{font-size:clamp(26px,3.2vw,46px);line-height:1.6;margin:24px 0 32px}.thanks-message p+p{margin-top:24px}.thanks-message p a,.recaptcha-notice a{text-decoration:underline;text-underline-offset:4px}.thanks-message .text-link{margin-top:40px}.recaptcha-notice{font-size:12px;line-height:1.8;color:#666860;margin-top:24px}

/* Portfolio art: keep existing frames and switch only the composition. */
.hero-slide > picture.portfolio-art{display:block;width:100%;height:100%}
.hero-slide > picture.portfolio-art > img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none;will-change:auto}
@media(max-width:760px){
 .entry-work .work-visual{aspect-ratio:5/4}
 .entry-work .work-visual picture{display:block;width:100%;height:100%}
 .entry-work .work-visual img,
 .entry-work:nth-child(3n+2) .work-visual img,
 .entry-work:nth-child(3n) .work-visual img{display:block;width:100%;height:100%;aspect-ratio:5/4;object-fit:cover;transform:none;will-change:auto}
}

/* Give large English display headings a little more breathing room. */
.hero h1,.page-hero h1,.intro h2,.section-heading h2,.feature-title h2,
.design-sticky h2,.cx h2,.cx h2 em,.approach > h2,.contact h2,
.press-heading h2,.touchpoints strong{letter-spacing:-.02em}
@media(max-width:760px){
 .work-grid .entry-work,.work-grid .entry-work:nth-child(3n+2),.work-grid .entry-work:nth-child(3n){width:100%;margin-left:0;margin-top:0;grid-column:auto}
}
/* Mobile FV copy sits above the scroll cue. */
@media(max-width:760px){
 .hero-copy{top:auto;bottom:116px;left:var(--gutter);right:var(--gutter)}
 .hero-subcopy{margin-bottom:0}
}
/* Keep the news archive link after the news list on phones. */
@media(max-width:760px){
 .press-section{display:flex;flex-direction:column}
 .press-heading{display:contents}
 .press-heading h2{order:1;margin-bottom:30px}
 .press-section .press-list{order:2}
 .press-heading .text-link{order:3;align-self:flex-start;margin-top:30px}
}
/* Let the portfolio artwork show its original brightness. */
.home .hero:after{background:none;mix-blend-mode:normal}
.home .hero .slider-bar{background:none}
/* Bottom search navigation: charcoal, warm gold and generous spacing. */
.header{pointer-events:none}.header .wordmark{pointer-events:auto}
.search-nav{position:fixed;z-index:110;left:50%;bottom:calc(24px + env(safe-area-inset-bottom) + var(--nav-keyboard-offset,0px));width:min(430px,calc(100% - 40px));transform:translateX(-50%);background:rgba(28,29,27,.96);color:#f7f5ee;border:1px solid rgba(255,255,255,.22);border-radius:40px;box-shadow:0 12px 40px rgba(0,0,0,.18);backdrop-filter:blur(20px);transition:width .3s,border-radius .3s,opacity .18s,transform .18s;isolation:isolate}
.search-nav.is-open{width:min(620px,calc(100% - 40px));border-radius:30px;border-color:rgba(192,172,127,.5)}
.search-nav.is-scrolling{opacity:0;transform:translate(-50%,18px);pointer-events:none}
.search-nav-bar{display:flex;align-items:center;gap:14px;height:68px;padding:0 18px 0 26px}
.search-nav-dot{width:5px;height:5px;border-radius:50%;background:#c2ad7c;flex-shrink:0}
.search-nav input{min-width:0;flex:1;background:transparent;color:inherit;border:0;outline:none;font-family:inherit;font-size:16px;font-weight:400;line-height:1.4;padding:12px 0;border-radius:0;appearance:none}
.search-nav input::placeholder{color:#c0c0b9;font-size:13px;letter-spacing:.03em}
.search-nav-toggle{display:grid;align-content:center;justify-items:center;gap:7px;width:44px;height:44px;flex:0 0 44px;background:transparent;color:inherit;border:0;border-radius:50%;cursor:pointer}
.search-nav-toggle span{display:block;width:23px;height:1px;background:currentColor;transition:transform .2s}
.search-nav.is-open .search-nav-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.search-nav.is-open .search-nav-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
.search-nav input:focus-visible{box-shadow:0 1px 0 #c2ad7c}.search-nav-toggle:focus-visible,.search-nav a:focus-visible{outline:2px solid #c2ad7c;outline-offset:3px}
.search-nav-panel{padding:4px 26px 22px;border-top:1px solid rgba(255,255,255,.1);max-height:min(440px,calc(100dvh - 160px));overflow:auto;overscroll-behavior:contain}
.search-nav-label{font-size:10px;letter-spacing:.15em;color:#c2ad7c;margin:18px 0 14px}
.search-nav-links{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.search-nav-links a{display:grid;grid-template-columns:1fr auto;gap:6px;padding:15px 13px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.13);border-radius:13px;text-decoration:none;color:inherit;transition:background .2s,border-color .2s}
.search-nav-links a>span:first-child{font-size:12px;letter-spacing:.09em}.search-nav-links a>span:last-child{grid-column:2;grid-row:1/3;align-self:center;color:#c2ad7c}.search-nav-links small{grid-column:1;font-size:10px;color:#b9bab2}
.search-nav a:hover{background:rgba(194,173,124,.12);border-color:rgba(194,173,124,.6)}
.search-nav-hint{font-size:11px;color:#9e9f98;margin:18px 0 0;line-height:1.7}
.search-nav-status{font-size:12px;color:#b9bab2;margin:8px 0 15px;line-height:1.8}
.search-nav-matches{display:grid;gap:7px}.search-nav-matches a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px;border:1px solid rgba(255,255,255,.13);border-radius:10px;color:inherit;text-decoration:none;font-size:13px}.search-nav-matches small{flex-shrink:0;font-size:9px;letter-spacing:.05em;color:#c2ad7c}
.search-nav [hidden]{display:none!important}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.footer-line{padding-bottom:92px}
@media(max-width:760px){.search-nav{bottom:calc(18px + env(safe-area-inset-bottom) + var(--nav-keyboard-offset,0px));width:calc(100% - 40px)}.search-nav-bar{height:60px;padding-left:22px;gap:11px}.search-nav.is-open{border-radius:25px}.search-nav-panel{padding:4px 20px 20px}.search-nav-links{grid-template-columns:repeat(2,1fr)}.search-nav-links a{padding:13px 11px}.search-nav input{font-size:16px}.hero-copy{bottom:180px}.hero-bottom{bottom:100px}.footer-line{padding-bottom:98px}}
@media(prefers-reduced-motion:reduce){.search-nav,.search-nav-toggle span{transition:none}}

/* Compact frosted navigation with a moving light on its edge. */
@property --nav-light-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.search-nav{width:min(350px,calc(100% - 48px));background:rgba(24,25,23,.58);backdrop-filter:blur(26px) saturate(125%);-webkit-backdrop-filter:blur(26px) saturate(125%);border-radius:32px;box-shadow:0 8px 28px rgba(0,0,0,.14)}
.search-nav::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--nav-light-angle),transparent 0deg,transparent 235deg,rgba(194,173,124,.18) 270deg,rgba(255,244,209,.95) 300deg,rgba(194,173,124,.25) 325deg,transparent 350deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;animation:nav-edge-light 6s linear infinite}
.search-nav.is-open{width:min(520px,calc(100% - 48px));border-radius:24px}
.search-nav-bar{height:54px;gap:11px;padding:0 12px 0 20px}
.search-nav-toggle{width:38px;height:38px;flex-basis:38px;gap:7px}.search-nav-toggle span{width:20px}
.search-nav input::placeholder{color:#e0e0d8;font-size:12px}
.search-nav-panel{padding:14px 20px 18px}
.search-nav-links{gap:8px}.search-nav-links a{padding:12px 10px;border-radius:11px;background:rgba(255,255,255,.065)}
.search-nav-links a>span:first-child{font-size:11px}.search-nav-links small{font-size:9px;color:#d0d0c7}
.search-nav-status{color:#e0e0d8;margin:0 0 12px}
@keyframes nav-edge-light{to{--nav-light-angle:360deg}}
@media(max-width:760px){.search-nav{width:min(300px,calc(100% - 48px))}.search-nav.is-open{width:min(330px,calc(100% - 48px));border-radius:23px}.search-nav-bar{height:52px;padding-left:18px;gap:9px}.search-nav-panel{padding:12px 16px 16px}.search-nav-links a{padding:11px 10px}}
@media(prefers-reduced-motion:reduce){.search-nav::before{animation:none;--nav-light-angle:300deg}}

/* Keep the mobile press overline spacing consistent with section titles. */
@media(max-width:760px){.press-heading h2{margin-top:35px}}

/* Center the header brand across desktop and mobile. */
.header,.home .header{justify-content:center}

/* Align the home works archive link with the section's right edge. */
.home .works>.text-link{display:flex;width:max-content;max-width:100%;margin-left:auto}

/* Limit the oversized home about logo while preserving its fluid sizing. */
.home .about-teaser .about-brand{max-width:1000px;margin-left:auto;margin-right:auto}

/* Real project imagery for each design discipline. */
.design-art img{filter:none;object-fit:contain;object-position:center;transform:none!important}
.design-mobile-art{display:none}
@media(max-width:760px){.design-mobile-art{display:block;margin:30px 0 0;overflow:hidden}.design-mobile-art img{width:100%;height:auto;object-fit:contain}}
/* Continuous, scroll-independent statement in the about teaser. */
.about-marquee{overflow:hidden;width:calc(100% + var(--gutter) * 2);margin:48px calc(var(--gutter) * -1) 68px}
.about-marquee-track{display:flex;width:max-content;animation:fg-about-marquee 55s linear infinite}
.about-marquee-group{display:flex;flex:none}
.about-marquee-group span{display:block;flex:none;padding-right:8vw;font-size:clamp(52px,9vw,150px);line-height:1.18;letter-spacing:-.02em;white-space:nowrap}
@keyframes fg-about-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:760px){.about-marquee{margin-top:32px;margin-bottom:42px}.about-marquee-group span{font-size:clamp(42px,10vw,76px);padding-right:60px}}
@media(prefers-reduced-motion:reduce){.about-marquee-track{animation:none}}
/* Hero copy uses the stronger black/white contrast for each active image. */
.hero-copy,.hero-copy h1,.hero-copy .hero-subcopy{color:var(--hero-copy-color,#fff);mix-blend-mode:normal;text-shadow:none;transition:color .35s ease}

.section-title-ja{font-size:18px;line-height:1.8;margin-top:22px;letter-spacing:.04em}
.cx h2{font-size:clamp(32px,6.4vw,108px);line-height:1.15}.cx-copy{display:block}.cx-copy p{margin-left:auto}
.press-heading{margin-top:0}.press-heading h2{margin-top:0}.contact-mobile-break{display:none}
@media(min-width:761px){.contact-bottom>p{white-space:nowrap}}
@media(max-width:760px){.section-title-ja{font-size:15px;margin-top:18px}.press-title{order:1;margin-bottom:30px}.press-title h2{margin-bottom:0}.contact-mobile-break{display:initial}.cx h2{font-size:8vw}}

/* Keep the moving statement centered independently of the about copy column. */
.about-teaser > .about-marquee{position:relative;left:50%;width:100vw;max-width:none;margin-left:-50vw;margin-right:0;display:flex;align-items:center;min-height:1.4em}
.about-teaser .about-marquee-track{align-items:center}
.about-teaser .about-marquee-group{align-items:center}

/* Place the Japanese works introduction below its English title. */
.home .works .section-heading .works-overline{margin-top:22px!important;margin-bottom:0!important}
@media(max-width:760px){.home .works .section-heading .works-overline{margin-top:18px!important}}

/* Show every project image across the same width as the progress navigation. */
.design-sticky .design-art{width:100%;height:auto}
.design-sticky .design-art img{width:100%;height:auto;object-fit:contain}

.about-teaser .about-copy-label{font-size:16px;letter-spacing:.04em;line-height:1.8;margin-bottom:22px}
@media(max-width:760px){.about-teaser .about-copy-label{font-size:15px;margin-bottom:18px}}

/* Compact editorial ribbons keep the hero copy legible over project imagery. */
.hero .hero-copy{top:auto;bottom:72px;left:var(--gutter);right:auto;max-width:calc(100% - var(--gutter) * 2);--hero-band:rgba(18,20,22,.78)}
.hero-copy[data-contrast="black"]{--hero-band:rgba(250,249,245,.88)}
.hero .hero-copy h1{font-size:clamp(30px,3.8vw,60px);line-height:1.18;letter-spacing:-.02em;text-shadow:none}
.hero-copy .mask{overflow:visible;padding:0;margin:0 0 6px}
.hero-copy .mask>span,.hero .hero-subcopy{position:relative;isolation:isolate;display:table;width:fit-content;padding:5px 14px;background:var(--hero-band);backdrop-filter:blur(12px) saturate(.75);-webkit-backdrop-filter:blur(12px) saturate(.75);box-shadow:0 3px 18px #0000000c}
.hero-copy .mask>span:before,.hero .hero-subcopy:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,#fff5,#fff0 55%,#66757533);mix-blend-mode:overlay}
.hero .hero-subcopy{margin:10px 0 0;font-size:14px;line-height:1.8;letter-spacing:.04em;padding:7px 14px}
@media(max-width:760px){.hero .hero-copy{bottom:120px}.hero .hero-copy h1{font-size:clamp(22px,6.3vw,34px)}.hero-copy .mask>span{padding:5px 10px}.hero .hero-subcopy{font-size:11px;padding:7px 10px;margin-top:8px}}

/* Stronger uppercase statement in the about marquee. */
.about-teaser .about-marquee-group span{text-transform:none;font-weight:400;font-size:clamp(84px,14vw,230px)}
@media(max-width:760px){.about-teaser .about-marquee-group span{font-size:clamp(68px,18vw,130px)}}

/* Circular opening, staggered typography and alternating slide entrances. */
.hero-intro .hero-slideshow{animation:fg-hero-open 6.4s cubic-bezier(.22,.7,.15,1) both}
@keyframes fg-hero-open{0%{opacity:0;transform:translateY(45px);clip-path:circle(30vmin at 50% 45%)}18%{opacity:1;transform:translateY(0);clip-path:circle(30vmin at 50% 45%)}56%{opacity:1;transform:translateY(0);clip-path:circle(30vmin at 50% 45%)}100%{opacity:1;transform:none;clip-path:circle(150vmax at 50% 45%)}}
.hero-intro .hero-copy{mix-blend-mode:difference;color:#fff;bottom:100px}
.hero-intro .hero-copy h1,.hero-intro .hero-subcopy{color:#fff;mix-blend-mode:normal;text-shadow:0 0 1px #fff4}
.hero-intro .hero-copy h1{font-size:clamp(26px,4.2vw,66px);white-space:nowrap;line-height:1.2}
.hero-intro .mask>span{animation:fg-hero-type 1.2s 1.25s cubic-bezier(.22,.7,.15,1) both}
.hero-intro .hero-subcopy{animation:fg-hero-type 1.2s 1.6s cubic-bezier(.22,.7,.15,1) both;margin-top:18px;font-size:15px}
.hero-intro .mask>span,.hero-intro .hero-subcopy{display:block;background:none;padding:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-intro .mask>span:before,.hero-intro .hero-subcopy:before{display:none}
@keyframes fg-hero-type{from{opacity:0;transform:translateY(30px);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
.hero-intro .hero-slide{clip-path:inset(0);transform:translate3d(var(--slide-x,100%),var(--slide-y,0%),0);opacity:0;transition:transform 1.4s cubic-bezier(.22,.7,.15,1),opacity .8s;visibility:hidden}
.hero-intro .hero-slide[data-direction="right"]{--slide-x:100%;--slide-y:0%}
.hero-intro .hero-slide[data-direction="top"]{--slide-x:0%;--slide-y:-100%}
.hero-intro .hero-slide[data-direction="left"]{--slide-x:-100%;--slide-y:0%}
.hero-intro .hero-slide[data-direction="bottom"]{--slide-x:0%;--slide-y:100%}
.hero-intro .hero-slide.is-active,.hero-intro .hero-slide.is-previous{transform:translate3d(0,0,0);opacity:1;visibility:visible}
@media(max-width:760px){.hero-intro .hero-copy{bottom:130px}.hero-intro .hero-copy h1{font-size:5.4vw;letter-spacing:-.025em}.hero-intro .hero-subcopy{font-size:12px;margin-top:13px}}
@media(prefers-reduced-motion:reduce){.hero-intro .hero-slideshow{animation:none;clip-path:none}.hero-intro .mask>span,.hero-intro .hero-subcopy{animation:none}.hero-intro .hero-slide{transition:none}}

/* Smaller circle, rapid portfolio flick-through, then directional reveal wipes. */
.hero-intro{background:#fff}
@keyframes fg-hero-open{0%{opacity:0;transform:translateY(35px);clip-path:circle(22vmin at 50% 45%)}16%{opacity:1;transform:translateY(0);clip-path:circle(22vmin at 50% 45%)}54%{opacity:1;transform:translateY(0);clip-path:circle(22vmin at 50% 45%)}100%{opacity:1;transform:none;clip-path:circle(150vmax at 50% 45%)}}
.hero-intro .hero-copy{left:var(--gutter);right:var(--gutter);max-width:none}
.hero-intro .hero-copy h1{font-size:clamp(62px,8.6vw,150px);white-space:normal;line-height:1.03}
.hero-intro .hero-subcopy{font-size:20px;margin-top:30px}
.hero-intro .hero-slide{transform:none;opacity:1;clip-path:var(--slide-clip,inset(0 100% 0 0));transition:clip-path 1.55s var(--ease);visibility:hidden}
.hero-intro .hero-slide[data-direction="right"]{--slide-clip:inset(0 0 0 100%)}
.hero-intro .hero-slide[data-direction="top"]{--slide-clip:inset(0 0 100% 0)}
.hero-intro .hero-slide[data-direction="left"]{--slide-clip:inset(0 100% 0 0)}
.hero-intro .hero-slide[data-direction="bottom"]{--slide-clip:inset(100% 0 0 0)}
.hero-intro .hero-slide.is-active,.hero-intro .hero-slide.is-previous{clip-path:inset(0);transform:none;opacity:1;visibility:visible}
.hero-intro.hero-flipping .hero-slide{transition:none}
@media(max-width:760px){.hero-intro .hero-copy h1{font-size:clamp(36px,9.4vw,64px);line-height:1.09}.hero-intro .hero-subcopy{font-size:14px;margin-top:24px}}

/* Synchronized circle and typographic reveal; expansion starts on the last flip. */
.hero-intro .hero-slideshow{animation:fg-hero-open 1.8s cubic-bezier(.22,.7,.15,1) both}
@keyframes fg-hero-open{0%{opacity:0;transform:scale(.94);clip-path:circle(22vmin at 50% 45%)}18%{opacity:1;transform:scale(1);clip-path:circle(22vmin at 50% 45%)}56.25%{opacity:1;transform:scale(1);clip-path:circle(22vmin at 50% 45%)}100%{opacity:1;transform:none;clip-path:circle(150vmax at 50% 45%)}}
.hero-intro .mask>span,.hero-intro .hero-subcopy{animation:fg-hero-type 1s 0s cubic-bezier(.22,.7,.15,1) both}
@keyframes fg-hero-type{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-12px);filter:blur(2px)}to{opacity:1;clip-path:inset(0);transform:none;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.hero-intro .hero-slideshow,.hero-intro .mask>span,.hero-intro .hero-subcopy{animation:none;clip-path:none}}

/* Start intro and rapid flips from the same clock; never flip after expansion. */
.hero-intro .hero-slideshow{animation:none;clip-path:circle(22vmin at 50% 45%);opacity:0}
.hero-intro.hero-play .hero-slideshow{animation:fg-hero-open 1.8s cubic-bezier(.22,.7,.15,1) both}
@media(prefers-reduced-motion:reduce){.hero-intro .hero-slideshow{opacity:1;clip-path:none}.hero-intro.hero-play .hero-slideshow{animation:none;clip-path:none}}

/* Finish the rapid sequence inside the circle, then expand the held image. */
.hero-intro.hero-play .hero-slideshow{animation:fg-hero-open 2s cubic-bezier(.22,.7,.15,1) both}
@keyframes fg-hero-open{0%{opacity:0;transform:scale(.94);clip-path:circle(22vmin at 50% 45%)}18%{opacity:1;transform:scale(1);clip-path:circle(22vmin at 50% 45%)}36%{opacity:1;transform:scale(1);clip-path:circle(22vmin at 50% 45%)}100%{opacity:1;transform:none;clip-path:circle(150vmax at 50% 45%)}}
@media(prefers-reduced-motion:reduce){.hero-intro.hero-play .hero-slideshow{animation:none;clip-path:none}}

/* Typography leads; the circle follows before the slower flip sequence. */
.hero-intro.hero-play .hero-slideshow{animation:fg-hero-open 2.2s .65s cubic-bezier(.22,.7,.15,1) both}
@keyframes fg-hero-open{0%{opacity:0;transform:scale(.94);clip-path:circle(22vmin at 50% 45%)}18%{opacity:1;transform:scale(1);clip-path:circle(22vmin at 50% 45%)}41%{opacity:1;transform:scale(1);clip-path:circle(22vmin at 50% 45%)}100%{opacity:1;transform:none;clip-path:circle(150vmax at 50% 45%)}}
.hero-intro .mask>span,.hero-intro .hero-subcopy{animation-duration:.6s}
@media(prefers-reduced-motion:reduce){.hero-intro.hero-play .hero-slideshow{animation:none;clip-path:none}}

/* Immersive blurred project colour behind the design disciplines. */
#design{position:relative;isolation:isolate;background:#171b1d;color:#fff;--design-background:url('assets/what-we-design-brand.webp');overflow:clip}
#design:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--design-background);background-size:cover;background-position:center;filter:blur(75px) saturate(.7) brightness(.52);transform:scale(1.08);pointer-events:none}
#design:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,#10151988,#10151944 55%,#10151999);pointer-events:none}
#design .design-layout{position:relative;z-index:1}
#design .design-steps article{border-color:#ffffff38}
#design .design-steps article>span,#design .design-steps li,#design .design-progress{color:#ffffffb3}
#design .design-progress .active{color:#fff}
#design .design-art,#design .design-mobile-art{box-shadow:0 16px 48px #0004}
@media(max-width:760px){#design:before{filter:blur(45px) saturate(.7) brightness(.45)}}

/* Align the home hero header logo with the left content gutter. */
.home .header{justify-content:flex-start}

/* Leave breathing room after the final sticky design panel. */
#design{padding-bottom:clamp(180px,16vw,280px)}
#design .design-sticky{height:auto;padding-bottom:35px}
@media(max-width:760px){#design{padding-bottom:120px}#design .design-steps article:last-child{padding-bottom:20px}}

/* A longer complete portfolio sequence with a wider view inside the same circle. */
.hero-intro.hero-play .hero-slideshow{clip-path:circle(22vmin at 50% 45%);animation:fg-circle-arrive .6s .65s both,fg-circle-expand 1.2s var(--hero-expand-delay,3s) cubic-bezier(.22,.7,.15,1) forwards}
@keyframes fg-circle-arrive{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes fg-circle-expand{from{clip-path:circle(22vmin at 50% 45%)}to{clip-path:circle(150vmax at 50% 45%)}}
.hero-intro .hero-slide > picture.portfolio-art,.hero-intro .hero-slide > img{transform:scale(.48);transform-origin:50% 45%}
.hero-intro.hero-play .hero-slide > picture.portfolio-art,.hero-intro.hero-play .hero-slide > img{animation:fg-circle-image-expand 1.2s var(--hero-expand-delay,3s) cubic-bezier(.22,.7,.15,1) both}
@keyframes fg-circle-image-expand{from{transform:scale(.48)}to{transform:scale(1)}}
@media(max-width:760px){@keyframes fg-circle-image-expand{from{transform:scale(.62)}to{transform:scale(1)}}.hero-intro .hero-slide > picture.portfolio-art,.hero-intro .hero-slide > img{transform:scale(.62)}}
@media(prefers-reduced-motion:reduce){.hero-intro.hero-play .hero-slideshow{animation:none;clip-path:none;opacity:1}.hero-intro .hero-slide > picture.portfolio-art,.hero-intro .hero-slide > img{animation:none!important;transform:none!important}}

/* Lightweight dark atmosphere, with red and orange light instead of gold. */
:root{--fg-atmosphere:radial-gradient(ellipse at 17% 35%,#701b16 0%,transparent 48%),radial-gradient(ellipse at 79% 68%,#8c3619 0%,transparent 48%),radial-gradient(ellipse at 65% 8%,#391019 0%,transparent 50%),#09090b}
.cx:before,.contact:before{background:var(--fg-atmosphere);filter:none;opacity:.9}
#design{background:var(--fg-atmosphere)}
#design:before,#design:after{display:none}
.touchpoints strong{background-image:linear-gradient(115deg,#6b1618,#e06130,#ffc5a2,#a92b23,#3c1013)}
.view-project,.inquiry:before{background:linear-gradient(115deg,#09090b,#5f1717,#b74123,#6b261c,#09090b);color:#fff;border-color:#ffffff40}
.about-brand:before{background:var(--fg-atmosphere)}
@keyframes fg-circle-arrive{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-12px);filter:blur(2px)}to{opacity:1;clip-path:inset(0);transform:none;filter:blur(0)}}

/* Keep the opening on the site's paper and the experience statement silver. */
.hero-intro{background:var(--paper)}
.touchpoints strong{background-image:linear-gradient(115deg,#747b82,#c4cbd1,#f7f9fa,#aab2ba,#e4e9ed,#828a93);color:#e5e9ed}
.hero-intro .hero-slideshow{-webkit-mask-image:linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
@keyframes fg-circle-arrive{from{opacity:0;-webkit-mask-size:0% 100%;mask-size:0% 100%;transform:translateX(-12px);filter:blur(2px)}to{opacity:1;-webkit-mask-size:100% 100%;mask-size:100% 100%;transform:none;filter:blur(0)}}

/* A single continuous atmosphere connects customer experience and design. */
.experience-design-flow{position:relative;isolation:isolate;background:var(--fg-atmosphere);color:#fff}
.experience-design-flow .cx,.experience-design-flow #design{background:transparent}
.experience-design-flow .cx:before,.experience-design-flow .cx:after{display:none}
.experience-design-flow .cx{padding-bottom:70px}
.experience-design-flow #design{padding-top:70px}
@media(max-width:760px){.experience-design-flow .cx{padding-bottom:45px}.experience-design-flow #design{padding-top:45px}}

/* Plain white experience statement throughout the convergence animation. */
.touchpoints strong,.touchpoints.converged strong{background-image:none;color:#fff;-webkit-text-fill-color:#fff;text-shadow:none}

/* Muted wine-red and warm terracotta light, softly mixed into charcoal. */
:root{--fg-atmosphere:radial-gradient(ellipse at 12% 28%,rgba(105,40,39,.65) 0%,rgba(69,29,32,.28) 34%,transparent 68%),radial-gradient(ellipse at 82% 74%,rgba(139,72,44,.55) 0%,rgba(81,42,32,.22) 38%,transparent 75%),radial-gradient(ellipse at 64% 12%,rgba(80,32,40,.3) 0%,transparent 65%),#101012}
.view-project,.inquiry:before{background:linear-gradient(120deg,#191315 0%,#4f252a 28%,#84503b 53%,#4c2c29 77%,#171315 100%);border-color:#ffffff30}

/* Start both reveal animations together after the hero images are decoded. */
.hero-intro .mask>span,.hero-intro .hero-subcopy{animation:none;opacity:0}
.hero-intro.hero-play .mask>span,.hero-intro.hero-play .hero-subcopy{animation:fg-hero-type .6s 0s cubic-bezier(.22,.7,.15,1) both}
.hero-intro.hero-play .hero-slideshow{animation:fg-circle-arrive .6s 0s both,fg-circle-expand 1.2s var(--hero-expand-delay,3s) cubic-bezier(.22,.7,.15,1) forwards}
@media(prefers-reduced-motion:reduce){.hero-intro .mask>span,.hero-intro .hero-subcopy{opacity:1;animation:none}.hero-intro.hero-play .hero-slideshow{animation:none;clip-path:none;opacity:1}}

/* Warm restrained colour in the moving about statement. */
.about-teaser .about-marquee-group span{background-image:linear-gradient(115deg,#291b20 0%,#77373e 26%,#aa674b 52%,#713b39 76%,#25191e 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* Works archive and project refinements; home card layout is preserved. */
.archive-works .work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 28px}
.archive-works .work-grid .entry-work:nth-child(n){width:100%;margin:0;grid-column:auto}
.archive-works .work-grid .entry-work img{aspect-ratio:1.5;object-fit:cover}
.archive-works .work-caption{display:block}.archive-works .work-caption>span{display:block;margin-top:8px}
.single-fg_work .project-heading h1{font-size:48px;line-height:1.25;margin:25px 0}
.project-heading .breadcrumb{margin:20px 0 0;flex-wrap:wrap;line-height:1.7}
.single-fg_work .project-top>.project-main-image{width:100vw;max-width:none;margin-left:calc(-1 * var(--gutter));height:auto;object-fit:contain;transform:none}
.project-description{max-width:850px;margin:48px 0 8px}.project-description h2{font-size:clamp(22px,2.2vw,32px);line-height:1.5;margin:15px 0 20px}.project-description p{font-size:16px;line-height:1.95}
.project-description+.text-link{margin-top:10px}
.project-credits dt{font-size:10px}.project-credits dd{font-size:12px;line-height:1.8}.project-credits>div{padding:18px 0}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px;margin:55px 0}
.project-editor-content{display:contents}.project-gallery figure{margin:0;min-width:0}.project-gallery figure:nth-of-type(3n+1){grid-column:1 / -1}
.project-gallery>p,.project-editor-content>p,.project-editor-content>h2,.project-editor-content>h3,.project-editor-content>div{grid-column:1 / -1}
.project-gallery figcaption,.project-gallery figcaption p{font-size:12px;line-height:1.8;margin:12px 0 0;max-width:none}
@media(max-width:760px){
 .archive-works .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.archive-works .work-caption h3{font-size:13px}.archive-works .work-meta{font-size:10px}
 .single-fg_work .project-heading h1{font-size:clamp(29px,7vw,44px)}.single-fg_work .project-top>.project-main-image{min-height:40svh;background:#eeeee9;object-fit:contain}
 .project-description{margin:30px 0 8px}.project-description p{font-size:14px}.project-description h2{font-size:21px}
 .project-gallery{gap:26px 12px;margin:40px 0}.project-gallery figcaption,.project-gallery figcaption p{font-size:11px}.project-credits>div{grid-template-columns:85px 1fr}
}
@media(max-width:420px){.archive-works .work-grid{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr}.project-gallery figure{grid-column:1 / -1}}

.header,.home .header{justify-content:flex-start}
.about-opening h1{max-width:1200px;font-size:clamp(48px,8vw,130px);line-height:1.08}
.about-vision{position:relative;overflow:hidden}.about-vision:before{content:'';position:absolute;left:-12%;top:20%;width:45vw;height:45vw;border:1px solid #ab66563b;border-radius:50%;pointer-events:none;animation:vision-orbit 18s ease-in-out infinite alternate}.about-vision h2{position:relative}
.js-motion .about-vision .reveal{transform:translateY(28px);filter:blur(8px);transition:opacity 1.1s,transform 1.3s cubic-bezier(.16,1,.3,1),filter 1.3s}.js-motion .about-vision .reveal.visible{transform:none;filter:blur(0)}
@keyframes vision-orbit{to{transform:translate(18%,12%) scale(1.15)}}
.about-method{background:var(--fg-atmosphere);color:#fff;position:relative;overflow:hidden;padding-top:130px;padding-bottom:140px}
.about-method h2{font-size:clamp(40px,5.7vw,90px);line-height:1.35;margin:40px 0 30px}.about-method-lead{max-width:800px;color:#e4d9d6}.method-path{position:relative;height:110px;margin:55px 0 0;border-top:1px solid #ffffff33;display:flex;justify-content:space-between}.method-path i{width:12px;height:12px;border-radius:50%;background:#f6e9e3;margin-top:-6px;box-shadow:0 0 22px #d78265}.method-path span{position:absolute;top:-2px;width:12%;height:3px;background:linear-gradient(90deg,transparent,#ffc3a3,transparent);animation:method-signal 6s ease-in-out infinite}
@keyframes method-signal{0%{left:-12%;opacity:0}15%,85%{opacity:1}100%{left:100%;opacity:0}}
.method-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5vw}.method-cards article>span{font-size:11px;letter-spacing:.1em;color:#d4b6aa}.method-cards h3{font-size:clamp(22px,2.2vw,32px);margin:20px 0}.method-cards p{font-size:15px;color:#e1d9d5;line-height:1.9}
.about-company{overflow:hidden;padding-top:100px;padding-bottom:130px}.company-marquee{width:100vw;margin-left:calc(-1 * var(--gutter));overflow:hidden;margin-bottom:80px}.company-marquee-track{display:flex;width:max-content;animation:company-loop 35s linear infinite}.company-marquee-track>span{flex:none;font-family:Georgia,serif;font-size:clamp(90px,15vw,250px);line-height:1.15;letter-spacing:-.055em;background:linear-gradient(110deg,#49212a,#aa6146,#77353f,#49212a);background-clip:text;-webkit-background-clip:text;color:transparent}
@keyframes company-loop{to{transform:translateX(-50%)}}
.company-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.company-profile-grid h2{font-size:clamp(28px,3vw,46px);line-height:1.25;margin:25px 0}.company-profile-grid p{font-size:14px;line-height:1.9}.company-profile-grid dl{margin:0}.company-profile-grid dl>div{display:grid;grid-template-columns:90px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.8}.company-profile-grid dd{margin:0}.company-profile-grid small{display:block;font-size:11px;color:var(--muted)}
@media(max-width:760px){.about-opening h1{font-size:12vw}.about-vision:before{width:90vw;height:90vw}.about-method{padding-top:85px;padding-bottom:90px}.about-method h2{font-size:9vw}.about-method-lead{font-size:14px}.about-method-lead br{display:none}.method-path{height:60px;margin-top:40px}.method-cards{grid-template-columns:1fr;gap:38px}.method-cards h3{font-size:24px;margin:14px 0}.method-cards p{font-size:14px}.about-company{padding-top:75px;padding-bottom:85px}.company-marquee{margin-bottom:50px}.company-marquee-track>span{font-size:23vw}.company-profile-grid{grid-template-columns:1fr;gap:42px}.company-profile-grid dl>div{grid-template-columns:75px 1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){.about-vision:before,.method-path span,.company-marquee-track{animation:none}.js-motion .about-vision .reveal{filter:none;transform:none}}

.single-post .page-hero h1{font-size:clamp(30px,4.2vw,64px);line-height:1.4;max-width:1100px}.journal-tabs a{color:#90918b}.journal-tabs a[aria-current="page"]{color:#20211f}.journal-tabs a:hover{color:#20211f}@media(max-width:760px){.single-post .page-hero h1{font-size:clamp(26px,6.8vw,40px)}}

.project-gallery.gallery-adaptive>figure:nth-of-type(n){grid-column:auto}.project-gallery.gallery-adaptive.gallery-odd>figure:first-of-type{grid-column:1 / -1}.project-gallery.gallery-adaptive>p,.project-gallery.gallery-adaptive>h2,.project-gallery.gallery-adaptive>h3{grid-column:1 / -1}@media(max-width:760px){.project-gallery.gallery-adaptive{grid-template-columns:1fr}.project-gallery.gallery-adaptive>figure:nth-of-type(n){grid-column:1 / -1}}

/* A fixed collection of lightweight artwork, revolving through contact. */
.contact-showcase{display:grid;grid-template-columns:1.05fr 1fr;position:relative;gap:3vw;min-height:640px;align-items:center;margin-top:-70px;margin-bottom:70px}
.contact-showcase-copy{position:relative;z-index:2;padding:70px 0}
.contact-showcase-copy h2{font-size:clamp(68px,7.9vw,125px);line-height:1.08}
.contact-showcase .contact-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:32px;margin:42px 0 0}
.contact-showcase .contact-bottom>p{white-space:normal;font-size:17px;line-height:1.9}
.contact-showcase .inquiry{margin:0;min-width:0;width:min(100%,440px);font-size:clamp(18px,1.7vw,25px)}
.contact-orbit{--orbit-radius:330px;--orbit-width:360px;--orbit-height:225px;position:relative;height:660px;perspective:1100px;overflow:hidden;isolation:isolate;pointer-events:none}
.contact-orbit-glow{position:absolute;inset:5% -20%;background:radial-gradient(ellipse at 65% 50%,#a3624030,transparent 60%);pointer-events:none}
.contact-orbit-stage{position:absolute;left:50%;top:50%;width:var(--orbit-width);height:var(--orbit-height);margin-left:calc(var(--orbit-width) / -2);margin-top:calc(var(--orbit-height) / -2);transform-style:preserve-3d;transform:rotateZ(14deg) rotateY(-18deg)}
.contact-orbit-wheel{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:contact-orbit-turn 38s linear infinite;animation-play-state:paused}
.contact-orbit.is-running .contact-orbit-wheel{animation-play-state:running}
.contact-orbit-card{position:absolute;inset:0;transform:rotateX(var(--card-angle)) translateZ(var(--orbit-radius));backface-visibility:hidden;background:#1c1919;border:1px solid #ffffff18;box-shadow:0 18px 35px #00000040;overflow:hidden;border-radius:3px}
.contact-orbit-card img{width:100%;height:100%;object-fit:cover;transform:none}
.contact-orbit-far{left:22%;transform:translateZ(-350px) rotateZ(14deg) rotateY(-18deg);opacity:.2;filter:blur(5px)}
.contact-orbit-far .contact-orbit-wheel{animation-delay:-13s}
@keyframes contact-orbit-turn{from{transform:rotateX(-12deg)}to{transform:rotateX(348deg)}}
@media(max-width:1000px) and (min-width:761px){.contact-orbit{--orbit-width:300px;--orbit-height:187px;--orbit-radius:290px}.contact-showcase-copy h2{font-size:7.8vw}}
@media(max-width:760px){
 .contact-showcase{grid-template-columns:1fr;min-height:0;gap:0;margin-top:0;margin-bottom:40px}
 .contact-showcase-copy{padding:0}.contact-showcase-copy h2{font-size:15vw}.contact-showcase .contact-bottom{margin-top:30px;gap:26px}.contact-showcase .contact-bottom>p{font-size:15px}.contact-showcase .inquiry{font-size:20px;width:100%}
 .contact-orbit{--orbit-width:250px;--orbit-height:156px;--orbit-radius:240px;height:390px;margin:35px calc(-1 * var(--gutter)) 0;perspective:1000px}.contact-orbit-stage{left:62%;transform:rotateZ(14deg) rotateY(-14deg)}.contact-orbit-far{left:28%;transform:translateZ(-300px) rotateZ(14deg) rotateY(-14deg)}
}
@media(prefers-reduced-motion:reduce){.contact-orbit-wheel{animation:none;transform:rotateX(-12deg)}.contact-orbit-far .contact-orbit-wheel{transform:rotateX(30deg)}}

/* Smaller continuous eight-sided photo ribbon; stationary contact atmosphere. */
.contact:before,.contact:hover:before{inset:0;background:var(--fg-atmosphere);animation:none;transform:none;filter:none;opacity:1;transition:none;will-change:auto}
.contact:after,.contact:hover:after{display:none}
.contact:hover h2{text-shadow:none}
.contact-orbit{--orbit-width:304px;--orbit-height:190px;--orbit-radius:228px;height:550px}
.contact-orbit-stage{transform:rotateZ(10deg) rotateY(-12deg)}
.contact-orbit-card{border:0;border-radius:0;box-shadow:none}
.contact-orbit-far{transform:translateZ(-350px) rotateZ(10deg) rotateY(-12deg);opacity:.13}
.contact-orbit-glow{display:none}
.contact-showcase{min-height:550px;margin-bottom:60px}
@media(max-width:1000px) and (min-width:761px){.contact-orbit{--orbit-width:272px;--orbit-height:170px;--orbit-radius:204px;height:510px}}
@media(max-width:760px){.contact-orbit{--orbit-width:224px;--orbit-height:140px;--orbit-radius:168px;height:340px}.contact-orbit-stage{left:60%;transform:rotateZ(10deg) rotateY(-12deg)}.contact-orbit-far{left:25%;transform:translateZ(-300px) rotateZ(10deg) rotateY(-12deg)}.contact-showcase{min-height:0;margin-bottom:40px}}

/* Softly lit sculptural sphere behind the home contact copy. */
.contact{background:#101012}
.contact:before,.contact:hover:before{background:var(--fg-atmosphere)}
.contact-showcase{display:block;min-height:550px;position:relative;z-index:2;margin-top:-50px;margin-bottom:60px}
.contact-showcase-copy{width:54%;padding:75px 0}
.contact .footer-nav,.contact .footer-line{position:relative;z-index:2}
.contact-sphere-scene{position:absolute;top:0;right:0;width:100%;height:760px;pointer-events:none;z-index:0;overflow:hidden}
.contact-sphere-ball{position:absolute;right:-7%;top:-30px;width:clamp(500px,64vw,900px);aspect-ratio:1;animation:fg-sphere-drift 24s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.contact-sphere-ball svg{display:block;width:100%;height:100%}
.contact-sphere-ring{position:absolute;right:-12%;top:40px;width:75%;height:630px;border:1px solid #e3c3b229;border-radius:50%;transform:rotate(-28deg);animation:fg-sphere-ring 30s ease-in-out infinite alternate;animation-play-state:paused}
.contact-sphere-scene.is-running .contact-sphere-ball,.contact-sphere-scene.is-running .contact-sphere-ring{animation-play-state:running}
@keyframes fg-sphere-drift{0%{transform:translate3d(3%,-2%,0) scale(.95) rotate(-8deg)}50%{transform:translate3d(-5%,4%,0) scale(1.02) rotate(3deg)}100%{transform:translate3d(-1%,-4%,0) scale(.97) rotate(9deg)}}
@keyframes fg-sphere-ring{from{transform:translate3d(0,0,0) rotate(-28deg) scale(.95)}to{transform:translate3d(-5%,3%,0) rotate(-12deg) scale(1.06)}}
@media(max-width:760px){.contact-showcase{min-height:0;margin-top:0;margin-bottom:70px}.contact-showcase-copy{width:100%;padding:30px 0 45px}.contact-sphere-scene{height:650px}.contact-sphere-ball{width:550px;right:-350px;top:15px;opacity:.65}.contact-sphere-ring{width:570px;height:490px;right:-325px;top:5px;opacity:.5}.contact:before{background:var(--fg-atmosphere)}.contact-showcase .inquiry{background:#20151bd9}}
@media(prefers-reduced-motion:reduce){.contact-sphere-ball,.contact-sphere-ring{animation:none;will-change:auto}}

/* Low-chroma sphere: diffused edges and uninterrupted tonal shading. */
.contact:before,.contact:hover:before{background:var(--fg-atmosphere)}
.contact-sphere-ball{border-radius:50%;background:radial-gradient(ellipse at 28% 24%,#a45e42 0%,#914833 17%,#77332c 35%,#522529 57%,#2b171d 78%,#151114 100%);box-shadow:inset -45px -40px 90px #140f1955;filter:blur(14px);opacity:.72}
.contact-sphere-ball svg{display:none}
.contact-sphere-ball:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 24% 18%,#c88a5630,transparent 47%);filter:blur(24px)}
.contact-sphere-ring{opacity:.18;filter:blur(5px)}
@media(max-width:760px){.contact-sphere-ball{opacity:.48;filter:blur(12px)}.contact-sphere-ring{opacity:.12}.contact:before{background:var(--fg-atmosphere)}}

/* About values: warm sphere surrounded by a continuous typographic orbit. */
.about-vision:before{display:none;animation:none}
.about-vision{min-height:880px;padding-bottom:130px}
.about-vision h2{font-size:clamp(34px,4.7vw,78px);line-height:1.55;max-width:54%;margin-top:70px;z-index:2}
.about-vision .vision-copy{margin:50px 0 0;max-width:52%;position:relative;z-index:2}
.about-values-sphere{position:absolute;right:2%;top:180px;width:43%;aspect-ratio:1;pointer-events:none}
.about-values-sphere .contact-sphere-ball{width:80%;left:10%;right:auto;top:10%;background:radial-gradient(ellipse at 28% 24%,#d9a17a 0%,#c78059 18%,#ad583f 37%,#864238 60%,#623239 80%,#4d2a32 100%);box-shadow:inset -25px -30px 70px #52263144;filter:blur(12px);opacity:.85}
.about-sphere-type{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:#995840;font-size:22px;letter-spacing:1px;animation:about-type-orbit 38s linear infinite;animation-play-state:paused}
.about-values-sphere.is-running .contact-sphere-ball,.about-values-sphere.is-running .about-sphere-type{animation-play-state:running}
@keyframes about-type-orbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@media(max-width:760px){.about-vision{min-height:0;padding-bottom:85px}.about-vision h2{max-width:100%;font-size:8vw;margin-top:40px}.about-vision .vision-copy{max-width:100%;margin:30px 0 0}.about-vision .vision-copy br{display:none}.about-values-sphere{position:relative;right:auto;top:auto;width:90%;margin:45px auto}.about-values-sphere .contact-sphere-ball{filter:blur(9px);opacity:.85}}
@media(prefers-reduced-motion:reduce){.about-sphere-type{animation:none}.about-values-sphere .contact-sphere-ball{animation:none;will-change:auto}}

/* Shared footer sphere, with room for its complete lower edge. */
.contact{min-height:940px}
.contact-sphere-scene{height:100%;overflow:visible}
.contact-sphere-scene .contact-sphere-ball{width:clamp(450px,56vw,760px);top:35px}
.contact-sphere-scene .contact-sphere-ring{height:600px;top:85px}
/* The typographic orbit passes behind and in front of the enlarged sphere. */
.about-values-sphere{width:clamp(580px,61vw,1000px);right:-14%;top:145px;isolation:isolate}
.about-values-sphere .contact-sphere-ball{z-index:2}
.about-sphere-orbit{position:absolute;inset:0}
.about-orbit-letter{position:absolute;left:50%;top:50%;display:block;font-size:clamp(23px,2.1vw,36px);line-height:1;font-weight:400;color:#85482f;white-space:pre;transform-origin:center;pointer-events:none}
@media(max-width:760px){.contact{min-height:800px}.contact-sphere-scene .contact-sphere-ball{width:450px;right:-245px;top:40px}.contact-sphere-scene .contact-sphere-ring{width:500px;height:450px;right:-280px;top:70px}.about-values-sphere{position:relative;top:auto;width:125%;right:auto;margin:45px 0 45px 10%}.about-orbit-letter{font-size:22px}}

.about-vision{min-height:1100px}.about-values-sphere .contact-sphere-ball{opacity:1}.about-orbit-letter{color:#592b22}
@media(max-width:760px){.about-vision{min-height:0}.about-values-sphere .contact-sphere-ball{opacity:1}}

/* Two generous moving forms span the opening and values sections. */
.about-intro-flow{position:relative;isolation:isolate;overflow:hidden}
.about-intro-flow .about-opening,.about-intro-flow .about-vision{position:relative;z-index:1;background:transparent}
.about-intro-spheres{position:absolute;inset:0;pointer-events:none;z-index:0}
.about-intro-spheres .contact-sphere-ball{left:auto;opacity:.9;filter:blur(18px);animation-play-state:paused}
.about-intro-spheres .about-sphere-primary{width:clamp(800px,102vw,1500px);right:-42%;top:clamp(230px,25vw,420px);background:radial-gradient(ellipse at 28% 24%,#d9a17a 0%,#c78059 18%,#ad583f 37%,#864238 60%,#623239 80%,#4d2a32 100%);animation:about-primary-drift 15s ease-in-out infinite alternate;animation-play-state:paused}
.about-intro-spheres .about-sphere-secondary{width:clamp(420px,42vw,660px);right:8%;top:clamp(760px,70vw,1080px);background:radial-gradient(ellipse at 30% 22%,#d2b4b3 0%,#b98793 24%,#9a6176 45%,#774458 66%,#4d2d48 86%,#362332 100%);box-shadow:inset -35px -30px 80px #45273966;animation:about-secondary-drift 12s ease-in-out infinite alternate;animation-play-state:paused}
.about-intro-spheres.is-running .contact-sphere-ball{animation-play-state:running}
@keyframes about-primary-drift{0%{transform:translate3d(5%,-5%,0) scale(.96) rotate(-9deg)}50%{transform:translate3d(-8%,5%,0) scale(1.06) rotate(4deg)}100%{transform:translate3d(-2%,-9%,0) scale(.99) rotate(12deg)}}
@keyframes about-secondary-drift{0%{transform:translate3d(-9%,7%,0) scale(.94) rotate(10deg)}50%{transform:translate3d(10%,-8%,0) scale(1.04) rotate(-6deg)}100%{transform:translate3d(-5%,-2%,0) scale(1) rotate(-12deg)}}
@media(max-width:760px){.about-intro-flow .about-vision{min-height:0;padding-bottom:100px}.about-intro-flow .about-opening{padding-bottom:110px}.about-intro-spheres .about-sphere-primary{width:760px;right:-570px;top:270px;opacity:.68;filter:blur(15px)}.about-intro-spheres .about-sphere-secondary{width:340px;right:-215px;top:780px;opacity:.6;filter:blur(12px)}}
@media(prefers-reduced-motion:reduce){.about-intro-spheres .contact-sphere-ball{animation:none;will-change:auto}}

/* Portfolio registration: full-width original-ratio cover and small captions. */
.single-fg_work .project-heading{padding-top:180px;padding-bottom:38px}
.single-fg_work .project-top{padding-top:60px}
.single-fg_work .project-cover{width:100%;margin:0;padding:0}
.single-fg_work .project-cover .project-main-image{display:block;width:100%;max-width:none;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain;transform:none!important;will-change:auto}
.project-gallery figcaption,.project-gallery figcaption p{font-size:13px;color:#858580;line-height:1.8;margin:12px 0 0;font-weight:400}
@media(max-width:760px){.single-fg_work .project-heading{padding-top:145px;padding-bottom:28px}.single-fg_work .project-top{padding-top:35px}.project-gallery figcaption,.project-gallery figcaption p{font-size:13px}}

/* Edge-to-edge project cover and an unabridged, two-column introduction. */
.single-fg_work .project-cover{width:100%;max-width:none;overflow:hidden;background:none}
.single-fg_work .project-cover .project-main-image{width:100%!important;min-width:100%;max-width:none!important;height:auto!important;min-height:0;object-fit:cover;margin:0;aspect-ratio:auto}
.project-description{max-width:none;margin:0 0 28px}
.project-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:7vw;align-items:start}
.project-intro-grid h2{margin:0;font-size:clamp(22px,2.2vw,32px);line-height:1.55}
.project-intro-grid p{margin:0;max-width:none;font-size:16px;line-height:2;overflow-wrap:anywhere}
@media(max-width:760px){.project-intro-grid{grid-template-columns:1fr;gap:22px}.project-intro-grid h2{font-size:21px}.project-intro-grid p{font-size:14px}.project-description{margin:0 0 24px}}

/* A shared, compact transition from page introduction to its content. */
.page-hero.page-intro{padding-bottom:38px}
.page-intro+.section{padding-top:0}
.work-filters a{color:#858580}.work-filters a[aria-current="page"]{color:var(--ink)}
@media(max-width:760px){
 .page-hero.page-intro{padding-bottom:28px}
 .work-filters{gap:8px;margin-bottom:30px;padding-bottom:18px}
 .work-filters .text-link{display:inline-flex;align-items:center;justify-content:center;gap:0;margin:0;padding:9px 12px;font-size:11px;line-height:1.3;letter-spacing:.025em;border:1px solid #cecec7;border-radius:4px;min-height:34px}
 .work-filters .text-link .link-arrow{display:none}
 .work-filters .text-link[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
}
.work-filters .text-link{margin-top:0}
/* A smaller shared header wordmark on phones. */
@media(max-width:760px){.header .brand-logo{width:120px;height:auto}}

/* Portfolio videos keep images' responsive layout and circle reveal. */
.hero-slide > video.portfolio-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.project-cover > video.project-main-video{display:block;width:100%;max-width:none;height:auto;object-fit:cover}
.hero-intro .hero-slide > video.portfolio-video{transform:scale(.48);transform-origin:50% 45%}
.hero-intro.hero-play .hero-slide > video.portfolio-video{animation:fg-circle-image-expand 1.2s var(--hero-expand-delay,3s) cubic-bezier(.22,.7,.15,1) both}
@media(max-width:760px){.hero-intro .hero-slide > video.portfolio-video{transform:scale(.62)}}
@media(prefers-reduced-motion:reduce){.hero-intro .hero-slide > video.portfolio-video{animation:none!important;transform:none!important}}

.project-gallery video.project-gallery-video{display:block;width:100%;max-width:none;height:auto;object-fit:contain}

.work-visual > video.work-card-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}

/* Archive thumbnails share one frame, independent of image/video dimensions. */
.archive-works .entry-work .work-visual{aspect-ratio:3/2}
.archive-works .entry-work .work-visual>picture,
.archive-works .entry-work .work-visual>img,
.archive-works .entry-work .work-visual>video.work-card-video{position:absolute;inset:0;width:100%;height:100%}
.archive-works .entry-work .work-visual img,
.archive-works .entry-work .work-visual>video.work-card-video{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
@media(max-width:760px){.archive-works .entry-work .work-visual{aspect-ratio:5/4}}

/* A centered inquiry form with clear labels and calm, paper-like fields. */
.contact-hero{padding-bottom:44px}
.contact-hero h1{margin:30px 0 12px}
.contact-hero .contact-title-ja{font-size:15px;line-height:1.6}
.contact-hero .contact-lead{max-width:820px;margin-top:32px;font-size:16px;line-height:1.9}
.contact-page{display:block;padding-top:0;padding-bottom:110px}
.contact-page .form-wrap{max-width:900px;margin:0 auto;padding:44px 48px;background:#ffffff80;border:1px solid var(--line);border-radius:4px}
.contact-page .inquiry-form>h2{font-size:24px;margin:0 0 12px;line-height:1.5}
.contact-page .inquiry-form .form-introduction{font-size:14px;line-height:1.9;color:#73766e;margin:0 0 32px}
.contact-page .inquiry-form .form-row{display:block;margin:0;padding:24px 0;border-top:1px solid #dedfd8}
.contact-page .inquiry-form .form-row label[for],.contact-page .inquiry-form .form-row-label{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:0;font-size:15px;line-height:1.6}
.contact-page .inquiry-form .field-badge{display:inline-block;font-size:10px;line-height:1.5;padding:3px 7px;border-radius:2px;background:#eeeee8;color:#7a7d74;letter-spacing:.04em;font-weight:400}
.contact-page .inquiry-form .field-badge.is-required{background:#ede3df;color:#814c3f}
.contact-page .inquiry-form input:not([type="checkbox"]):not([type="submit"]),.contact-page .inquiry-form select,.contact-page .inquiry-form textarea{display:block;background:#fff;border:1px solid #cdd0c6;padding:15px 16px;border-radius:3px;min-height:54px;font-size:16px;line-height:1.6;transition:border-color .2s,box-shadow .2s}
.contact-page .inquiry-form textarea{min-height:180px;resize:vertical}
.contact-page .inquiry-form input::placeholder,.contact-page .inquiry-form textarea::placeholder{font-size:14px;color:#95988f;opacity:1}
.contact-page .inquiry-form input:focus-visible,.contact-page .inquiry-form select:focus-visible,.contact-page .inquiry-form textarea:focus-visible{outline:none;border-color:#8b6153;box-shadow:0 0 0 3px #8b615314}
.contact-page .inquiry-form .field-hint{display:block;margin-top:9px;font-size:12px;line-height:1.7;color:#797d72}
.contact-page .inquiry-form .service-row{padding:24px 0 20px;min-height:0}
.contact-page .inquiry-form .service-row legend{position:static;float:left;width:100%;padding:0;line-height:1.6;margin:0 0 12px;font-size:15px}
.contact-page .inquiry-form .service-options{clear:both;padding:0}
.contact-page .inquiry-form .service-options .wpcf7-checkbox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.contact-page .inquiry-form .service-options label{height:100%;min-height:48px;display:flex;align-items:center;gap:10px;padding:12px;margin:0;border:1px solid #d8dbd1;border-radius:3px;background:#fff;font-size:13px;line-height:1.6;cursor:pointer}
.contact-page .inquiry-form .service-options label:has(input:checked){background:#f2ece7;border-color:#a18371}
.contact-page .inquiry-form input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:#815a4b}
.contact-page .inquiry-form .acceptance{padding:0;font-size:14px}
.contact-page .inquiry-form .acceptance label{display:flex;align-items:flex-start;gap:12px;line-height:1.8;cursor:pointer}
.contact-page .inquiry-form .acceptance input[type="checkbox"]{margin-top:4px}
.contact-page .inquiry-form .form-submit{display:block;width:min(100%,420px);min-width:0;min-height:58px;margin:24px auto 0;padding:17px 24px;font-size:15px;letter-spacing:.05em;border-radius:3px;background:#20211f;color:#fff;border:1px solid #20211f}
.contact-page .inquiry-form .form-submit:hover{background:#433730;border-color:#433730}
.contact-page .inquiry-form .form-submit:disabled{opacity:.45;cursor:not-allowed}
.contact-page .inquiry-form .submit-note{margin-top:12px;text-align:center;font-size:12px;line-height:1.7;color:#797d72}
.contact-page .wpcf7-spinner{display:block;margin:12px auto 0}
.contact-page .wpcf7-response-output{margin:24px 0 0;font-size:14px}
.contact-page .recaptcha-notice{max-width:none;margin-top:24px;font-size:11px;line-height:1.8;color:#85887e}
.contact-email-option{max-width:900px;margin:34px auto 0;text-align:center}
.contact-email-option p{font-size:13px;color:#7b7e73}.contact-email-option a{display:inline-block;margin-top:7px;font-size:16px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){
 .contact-hero{padding-bottom:30px}.contact-hero h1{margin:24px 0 10px}.contact-hero .contact-title-ja{font-size:13px}.contact-hero .contact-lead{margin-top:24px;font-size:14px;line-height:1.9}
 .contact-page{padding-bottom:75px}.contact-page .form-wrap{padding:26px 20px}.contact-page .inquiry-form>h2{font-size:21px}.contact-page .inquiry-form .form-introduction{font-size:13px;margin-bottom:24px}.contact-page .inquiry-form .form-row{padding:20px 0}.contact-page .inquiry-form .form-row label[for],.contact-page .inquiry-form .form-row-label{font-size:14px}
 .contact-page .inquiry-form .service-options .wpcf7-checkbox{grid-template-columns:1fr;gap:8px}.contact-page .inquiry-form .service-options label{padding:11px 12px;font-size:13px}.contact-page .inquiry-form .acceptance{font-size:13px}.contact-page .inquiry-form input::placeholder,.contact-page .inquiry-form textarea::placeholder{font-size:12px}.contact-page .recaptcha-notice{font-size:10px}
}

/* Gentle input guidance follows the visitor without moving focus. */
.contact-email-restored{max-width:900px;margin:0 auto 32px}
.contact-email-restored .small-label{display:block;margin:0 0 12px;font-size:11px;color:#74786e}
.contact-email-restored>a{display:inline-block;font-size:24px;text-decoration:underline;text-underline-offset:5px}
.contact-email-restored p{font-size:13px;line-height:1.9;color:#797d72;margin-top:14px}
.contact-page .recaptcha-notice{text-align:center}
.contact-page .inquiry-form .form-row.is-guided input:not([type="checkbox"]),
.contact-page .inquiry-form .form-row.is-guided select,
.contact-page .inquiry-form .form-row.is-guided textarea,
.contact-page .inquiry-form .form-row.is-guided .service-options,
.contact-page .inquiry-form .form-row.is-guided .acceptance{border-color:#b17b60;animation:contact-field-glow 2.8s ease-in-out infinite;border-radius:3px}
@keyframes contact-field-glow{0%,100%{box-shadow:0 0 0 2px #c1896828,0 0 12px #bd725510}50%{box-shadow:0 0 0 3px #c1896848,0 0 22px #bd72552b}}
.contact-page .inquiry-form .form-submit.is-guided-submit{animation:contact-field-glow 2.8s ease-in-out infinite}
@media(max-width:760px){.contact-email-restored{margin-bottom:26px}.contact-email-restored>a{font-size:21px}.contact-email-restored p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.contact-page .inquiry-form .form-row.is-guided input,.contact-page .inquiry-form .form-row.is-guided select,.contact-page .inquiry-form .form-row.is-guided textarea,.contact-page .inquiry-form .form-row.is-guided .service-options,.contact-page .inquiry-form .form-row.is-guided .acceptance,.contact-page .inquiry-form .form-submit.is-guided-submit{animation:none;box-shadow:0 0 0 2px #c1896838}}
.contact-page .inquiry-form select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2364675d' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}

/* Secondary pages share Contact's English title and small Japanese subtitle. */
.page-hero.page-title-standard h1{font-size:clamp(45px,7.6vw,122px);line-height:1.08;letter-spacing:-.02em;margin:30px 0 12px;text-transform:uppercase}
.page-hero.page-title-standard .page-title-ja{font-size:15px;line-height:1.6}
.page-hero.page-title-standard .page-lead{max-width:820px;margin-top:32px;font-size:16px;line-height:1.9}
@media(max-width:760px){.page-hero.page-title-standard h1{font-size:11vw;margin:24px 0 10px}.page-hero.page-title-standard .page-title-ja{font-size:13px}.page-hero.page-title-standard .page-lead{margin-top:24px;font-size:14px;line-height:1.9}}
/* Detailed projects and articles retain their titles at a restrained size. */
.single-fg_work .project-heading h1,.single-post .page-hero h1{font-size:40px;line-height:1.4}
@media(max-width:760px){.single-fg_work .project-heading h1,.single-post .page-hero h1{font-size:clamp(26px,6.8vw,34px)}}


/* Keep the brand's blend effect separate from the colored inquiry button. */
.header-cta-slot{position:fixed;right:var(--gutter);top:0;height:88px;display:flex;align-items:center;z-index:71;pointer-events:none}
.header-contact-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;overflow:hidden;padding:9px 12px;border:1px solid #b33f27;border-radius:0;color:#fff;background:linear-gradient(110deg,#b33f27,#bc4d26);box-shadow:0 3px 12px #79311e20;font-size:11px;line-height:1.5;letter-spacing:.02em;white-space:nowrap;pointer-events:auto;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.header-contact-cta>span,.header-contact-cta>svg{position:relative;z-index:1}
.header-mail-icon{width:14px;height:14px;flex-shrink:0;transition:transform .3s ease}
.header-contact-cta:before{content:"";position:absolute;inset:-20% auto -20% -60%;width:40%;background:linear-gradient(90deg,transparent,#ffffff2e,transparent);transform:skewX(-20deg);pointer-events:none}
@media(hover:hover){.header-contact-cta:hover{transform:translateY(-2px);box-shadow:0 7px 18px #79311e38;border-color:#c7623c}.header-contact-cta:hover .header-mail-icon{transform:translateY(-1px) rotate(-7deg)}.header-contact-cta:hover:before{animation:header-cta-sheen .65s ease forwards}}
.header-contact-cta:focus-visible{outline:2px solid #b33f27;outline-offset:4px;box-shadow:0 0 0 2px #fff}
@keyframes header-cta-sheen{to{left:125%}}
@media(max-width:760px){.header-cta-slot{height:82px}.header-contact-cta{gap:6px;padding:8px 9px;font-size:10px;letter-spacing:0}.header-mail-icon{width:12px;height:12px}}
@media(max-width:360px){.header-contact-cta{gap:5px;padding:7px;font-size:10px}}
.admin-bar .header-cta-slot{top:32px}@media(max-width:782px){.admin-bar .header-cta-slot{top:46px}}
@media(prefers-reduced-motion:reduce){.header-contact-cta,.header-mail-icon{transition:none}.header-contact-cta:hover{transform:none}.header-contact-cta:hover .header-mail-icon{transform:none}.header-contact-cta:hover:before{animation:none}}

.company-profile-grid .company-works-cta{display:inline-flex;align-items:center;gap:20px;max-width:100%;margin-top:30px;font-size:12px;line-height:1.6}
@media(max-width:760px){.company-profile-grid .company-works-cta{gap:16px;margin-top:24px;font-size:11px}}

#design .design-works-cta{display:inline-flex;align-self:flex-start;align-items:center;gap:18px;max-width:100%;margin-top:24px;font-size:12px;line-height:1.6;color:inherit}
@media(max-width:760px){#design .design-works-cta{gap:14px;margin-top:22px;font-size:11px}}

@media(max-width:760px){#design .design-steps article>.design-mobile-art{order:-1;margin:0 0 32px}}

@media(max-width:760px){footer .footer-contact-break{display:none}}
