/* Faithful Amadeus/Minoue proportions, without the WordPress runtime. */
@font-face{font-family:Arimo;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/arimo-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Arimo;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/arimo-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Arimo;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/arimo-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Arimo;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/arimo-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--plum:#8b437b;--ink:#1c1c1c;--text:#4c4c4c;--secondary:#747474;--line:#e0e0e0;--nav-height:54px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--text);font:400 18px/1.6 Arimo,Arial,sans-serif}a{color:var(--plum);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto;vertical-align:middle}picture{display:inline}svg{vertical-align:middle}h1,h2,h3{color:var(--ink);font-weight:700;line-height:1.1;margin:20px 0 10px}h1{font-size:38px}h2{font-size:30px}h3{font-size:24px}p{margin:0 0 10px}figure{margin:0 0 10px}figcaption{font-size:14px;color:var(--secondary);margin:6px 0 12px}ul{padding-left:24px}strong{font-weight:700}[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--plum);outline-offset:5px}a.button:focus-visible,button:focus-visible{outline-offset:4px}#content:focus{outline:none}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:1000;padding:12px 20px;background:#fff;color:var(--plum)}
.container{width:100%;padding:0 15px;margin-right:auto;margin-left:auto}.branding{text-align:center;padding-top:25px;padding-bottom:25px;line-height:0}.branding img{width:400px;max-width:100%;vertical-align:baseline}.branding a{display:inline-block;line-height:0}.site-header{background:#fff}.nav-space{min-height:var(--nav-height)}.main-navigation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;text-align:center;width:100%;position:relative;z-index:20}.primary-menu{list-style:none;padding:0;margin:0;display:flex;justify-content:center;align-items:stretch}.primary-menu>li{padding:15px;border-right:1px solid var(--line);font-size:14px;font-weight:700;text-transform:uppercase;position:relative;line-height:22.4px}.primary-menu>li:last-child{border-right:0}.primary-menu a{color:var(--ink);transition:color .3s;display:inline-block}.primary-menu a:hover{color:var(--plum);text-decoration:none}.portfolio-menu-label{display:flex;align-items:center}.submenu-toggle{position:absolute;right:-5px;top:10px;width:25px;height:32px;border:0;background:transparent;color:var(--ink);padding:0}.submenu-toggle svg{width:13px;height:13px}.has-submenu{padding-right:20px!important}.sub-menu{list-style:none;position:absolute;z-index:25;left:50%;top:100%;transform:translateX(-50%);padding:10px 0 0;margin:0;width:230px;text-align:center;visibility:hidden;opacity:0;transition:opacity .2s}.sub-menu::before{content:'';position:absolute;top:0;left:calc(50% - 10px);border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--ink)}.sub-menu li{background:var(--ink);border-bottom:1px solid #2f2f2f;font-weight:400;text-transform:none}.sub-menu a{color:#fff;display:block;padding:15px}.sub-menu a:hover{color:#fff;background:var(--plum)}.sub-menu a:focus-visible{outline-color:#fff;outline-offset:-5px}.has-submenu:focus-within .sub-menu,.has-submenu:hover .sub-menu,.has-submenu.is-open .sub-menu{visibility:visible;opacity:1}.has-submenu.is-closed .sub-menu{visibility:hidden;opacity:0}.menu-toggle{display:none;border:0;background:transparent;color:inherit;width:100%;min-height:60px;padding:8px}.menu-toggle svg{width:30px;height:30px}.is-sticky{position:fixed;top:0;left:0;background:rgba(255,255,255,.98)}
.hero,.photo-divider{height:350px;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;background-position:50% 0%}.hero{position:relative;border-bottom:1px solid var(--line);width:100%}.scroll-down{position:absolute;top:35%;left:calc(50% - 45px);width:90px;height:90px;color:#fff;filter:drop-shadow(0 0 1px #1c1c1c);animation:scroll-cue 1s ease-in-out 3 alternate}.scroll-down svg{width:90px;height:90px;stroke-width:1.8}.scroll-down:hover{color:#fff}.scroll-down:focus-visible{outline-color:white}.photo-divider{width:100%}@keyframes scroll-cue{to{top:40%}}
.page-content{padding:45px;margin:0 0 45px;text-align:center}.entry-header{margin-bottom:30px}.entry-header h1{margin-bottom:5px}.page-home figure{margin:0}.page-home .entry-content{color:var(--secondary)}.page-home .entry-content>h1{margin-top:20px}.intro-secondary{font-size:30px;line-height:1.1;font-weight:700;color:var(--ink);margin:20px 0 10px}.intro-tertiary{font-size:24px;line-height:1.1;font-weight:700;color:var(--ink);margin:20px 0 10px}.service-line,.service-separator{font-size:24px;line-height:1.1;font-weight:700;margin:20px 0 10px}.service-separator{color:var(--ink)}.button{display:inline-block;background:var(--plum);color:#fff;border:0;border-radius:15px;padding:8px 15px;margin:15px 0;font:400 18px/1.6 Arimo,Arial,sans-serif;transition:background-color .3s}.button:hover{color:#fff;background:#1c1c1c;text-decoration:none}.align-center{margin-right:auto;margin-left:auto;text-align:center}.align-left{text-align:left}.align-justify{text-align:justify}.page-home .align-justify:has(img){text-align:center}.contact-pending{font-size:16px;color:var(--secondary)}.contact{padding-bottom:0}.entry-content a:not(.button){text-decoration:underline;text-underline-offset:3px}.service-columns{display:flex;justify-content:space-between;gap:20px}.service-columns>p{width:40%}.service-title{display:block;font-weight:700}.service-title+br{display:none}.expertise-title{font-size:24px}.categories{font-style:italic;color:var(--secondary)}.categories a{color:var(--secondary)}.page-about .entry-content>p{margin-bottom:20px}.page-about .entry-content p:has(img){text-align:center}.publication{font-size:16px;font-weight:700}.page-project .page-content{padding-top:15px}.page-project .entry-content p{text-align:center}.page-project .entry-header{margin-bottom:30px}.image-gallery{list-style:none;padding:0}.image-gallery figure{margin:0 auto 16px}.slideshow{max-width:960px;margin:20px auto}.slide{margin:0 0 20px}.slideshow-controls{display:flex;align-items:center;justify-content:center;gap:20px}.slideshow-controls p{margin:0;min-width:100px}.slideshow-controls button{border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--plum);width:44px;height:44px}.slideshow-controls svg{transform:rotate(-90deg)}
.archive-title{padding:30px;margin:0;text-align:center}.portfolio-card{margin:0 0 45px}.portfolio-image{display:block;position:relative;text-align:center}.image-overlay{position:absolute;inset:0;opacity:0;background:var(--plum);transition:inset .4s,opacity .4s}.image-icon{position:absolute;top:42%;left:calc(50% - 28px);color:#fff;opacity:0;transition:opacity .5s}.image-icon svg{width:56px;height:56px}.portfolio-image:hover .image-overlay,.portfolio-card:focus-within .image-overlay{inset:10%;opacity:.6}.portfolio-image:hover .image-icon,.portfolio-card:focus-within .image-icon{opacity:1}.card-caption{padding:15px 45px 45px;text-align:center}.card-caption h2{font-size:38px;margin:20px 0 5px}.card-caption h2 a{color:var(--ink)}.card-caption h2 a:hover{color:var(--plum);text-decoration:none}.pagination{display:flex;justify-content:space-between;gap:20px;margin:0 0 60px}.pagination a{display:block;padding:12px 16px;border:1px solid var(--line)}
.footer-widgets{border-top:1px solid var(--line);padding:30px 0 40px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.social-links{list-style:none;display:flex;gap:4px;margin:15px 0;padding:0;align-self:start}.social-links a{display:grid;place-items:center;width:34px;height:34px;background:#767676;color:#fff;border-radius:2px;transition:background .3s}.social-links a:hover{background:var(--plum)}.social-links svg{width:20px;height:20px}.blog-link{grid-column:3;margin:15px 0;text-align:center}.blog-link p{font-size:17px;line-height:1.1;font-weight:700;color:var(--ink);margin:0 0 30px}.footer-bottom{border-top:1px solid var(--line);position:relative;padding:40px 0 30px;text-align:center}.back-top{position:absolute;top:-25px;left:calc(50% - 25px);display:grid;place-items:center;width:50px;height:50px;background:#fff;border:1px solid var(--ink);border-radius:50%;color:var(--ink)}.back-top:hover{background:var(--ink);color:#fff}
@media(min-width:768px){.container{width:750px}}
@media(min-width:992px){.container{width:970px}}
@media(min-width:1200px){.container{width:1170px}}
@media(max-width:1024px){.scroll-down{display:none}.menu-toggle{display:block}.main-navigation{background:var(--ink);color:#fff;border:0}.primary-menu{flex-direction:column;align-items:stretch;padding-bottom:10px}.main-navigation.is-enhanced:not(.is-menu-open) .primary-menu{display:none}.primary-menu>li{border:0;padding:0 15px;font-weight:400;text-transform:none}.primary-menu>li>a{display:block;padding:10px;color:#fff}.portfolio-menu-label{justify-content:center;position:relative}.portfolio-menu-label>a{padding:10px;color:#fff}.submenu-toggle{position:static;color:#fff;width:44px;height:44px;margin-right:-44px}.submenu-toggle svg{width:18px;height:18px}.sub-menu{position:static;transform:none;width:100%;padding:0;visibility:visible;opacity:1}.sub-menu::before{display:none}.sub-menu a{padding:9px}.main-navigation.is-enhanced .has-submenu:not(.is-open) .sub-menu{display:none}.hero{background-attachment:scroll;background-position:center!important}.nav-space{min-height:60px}.is-sticky{position:relative}}
@media(max-width:600px){h1{font-size:28px}.page-content{padding:35px 5px;margin-bottom:40px}.intro-secondary{font-size:30px}.entry-content .align-justify{text-align:left}.page-home .entry-content .align-justify{text-align:center}.card-caption{padding:15px}.card-caption h2{font-size:28px}.service-columns{display:block}.service-columns>p{width:100%;margin-bottom:28px}.footer-grid{grid-template-columns:1fr;gap:20px;text-align:center}.social-links{justify-content:center;margin:15px auto}.social-links a{width:44px;height:44px}.blog-link{grid-column:1}.blog-link p{margin-bottom:20px}.branding{padding-top:25px;padding-bottom:25px}.submenu-toggle{margin-right:-44px}}
/* Stable imagery for touch/tablet/reduced motion. Focal points retain desk objects and Chababa. */
@media(max-width:1024px),(pointer:coarse),(prefers-reduced-motion:reduce){.hero,.photo-divider{background-attachment:scroll;background-position:center!important}.photo-parallax_377{background-position:58% 50%!important}.photo-parallax_445{background-position:30% 52%!important}.photo-parallax_549{background-position:43% 50%!important}.photo-parallax_534{background-position:48% 50%!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.scroll-down{top:35%}}
.contact-form{max-width:600px;margin:0 auto;text-align:left;color:var(--ink)}.contact-form label{display:block;margin-top:15px;font-weight:700}.contact-form input,.contact-form textarea{display:block;width:100%;font:inherit;padding:10px;border:1px solid var(--secondary);border-radius:3px;background:#fff;color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form button:disabled{opacity:.65;cursor:wait}.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[data-turnstile]{margin-top:20px;min-height:65px}.japan-link img{width:300px;height:auto}.japan-still{display:none}.japan-link{grid-column:2;grid-row:1}@media(max-width:600px){.japan-link{grid-column:1;grid-row:auto}}
@media(prefers-reduced-motion:reduce){.japan-animated{display:none}.japan-still{display:inline-block}}

.contact-error{font-size:16px;margin:5px 0 0}.contact-error:empty{margin:0}.contact-form [aria-invalid="true"]{border-width:2px}
