/* WordPress layer — content, archive, form, and navigation. */
:root{--content-max:800px}
body.admin-bar .site-header{top:32px}body.admin-bar .page-progress{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}body.admin-bar .page-progress{top:46px}}
@media(max-width:600px){body.admin-bar .site-header.scrolled{top:0}}
.desktop-nav ul.menu,.desktop-nav ul.sub-menu{margin:0;padding:0;list-style:none}.desktop-nav ul.menu{display:flex;gap:32px;align-items:center}
.desktop-nav .menu-item{position:relative}.desktop-nav ul.sub-menu{position:absolute;top:100%;left:-17px;min-width:180px;padding:14px 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid #e5eff8;border-radius:10px;box-shadow:0 18px 45px rgba(20,50,90,.08);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;display:grid;gap:12px}
.desktop-nav li:hover>ul.sub-menu,.desktop-nav li:focus-within>ul.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.desktop-nav .current-menu-item>a{color:var(--blue)}
.mobile-nav ul.menu{list-style:none;margin:0;padding:0;width:100%}.mobile-nav ul.menu li{display:block}.mobile-nav ul.menu a{display:block}.mobile-nav .sub-menu{display:none}.mobile-nav .mobile-contact{display:block;color:var(--blue);font-weight:600}
.work-thumbnail{overflow:hidden}.work-photo{height:100%;width:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.work-card:hover .work-photo{transform:scale(1.045)}
.placeholder-visual{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;isolation:isolate;color:#78a8d9}.placeholder-visual::before{content:"";position:absolute;border-radius:50%;height:185px;aspect-ratio:1;background:radial-gradient(circle at 35% 30%,#fff 0%,#e1f8fa 30%,#bcdaf7 80%,transparent 100%);box-shadow:0 0 70px #8fcbf84d;z-index:-1}.placeholder-visual span{font-size:10px;letter-spacing:.25em}.placeholder-visual b{font-size:72px;line-height:1.5;font-family:var(--font-en);font-weight:300;color:rgba(25,110,205,.35)}.placeholder-visual i{font-size:24px;font-style:normal}
/* Home: contact box and client voices */
.contact-intro{font-size:13px;line-height:2.1;color:#667f9b;margin:0 0 22px}.contact-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:20px 0 30px}.contact-topics span{display:flex;align-items:center;min-height:56px;padding:12px 13px;border-radius:8px;border:1px solid #e3edf6;background:#f8fcff;font-size:11px;color:#59708a}.contact-topics span::before{content:"";width:6px;height:6px;margin-right:8px;border-radius:50%;background:#50c8d2;box-shadow:0 0 0 3px #d2f5f0}.contact-full-link{min-height:55px}.phone-link{display:inline-block;font-family:var(--font-en);font-size:23px;letter-spacing:.03em;color:#1958a5;margin-top:20px}.admin-hint{font-size:11px;color:#8c7e63;line-height:1.8;margin-top:16px}.inquiry-form-wrap .wpcf7{width:100%}
.voices-section{background:#fff}.voices-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.voice-card{background:#f8fbff;border:1px solid #e4eff9;border-radius:15px;padding:34px 36px;min-height:280px}.voice-mark{display:block;font-family:Georgia,serif;font-size:75px;color:#98c5f2;height:45px;line-height:1}.voice-card h3{font-size:18px;margin:20px 0 10px;font-weight:500;line-height:1.6}.voice-excerpt{color:#6b7c90;font-size:12px;line-height:2.2}.voice-card a{display:inline-flex;color:var(--blue);font-size:12px;margin-top:20px}
/* Interior / page masthead */
.interior-main{padding-top:88px;min-height:65vh}.page-masthead,.article-head{position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 15%,#d8efff 0%,transparent 43%),linear-gradient(130deg,#fff 0%,#f5faff 65%,#e9f5ff 100%)}.page-masthead::after,.article-head::after{content:"";position:absolute;pointer-events:none;width:410px;height:410px;right:-120px;top:0;border:1px solid #d0e4f8;border-radius:50%;box-shadow:0 0 0 60px #eff8ff70,0 0 0 140px #f1fbff70;opacity:.8}.page-masthead>.shell,.article-head>.shell{position:relative;z-index:1;padding-top:34px;padding-bottom:109px}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:11px;color:#7f94ac;margin-bottom:94px}.breadcrumbs a{transition:color .2s}.breadcrumbs a:hover{color:var(--blue)}.breadcrumbs .current{color:#526a83;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-kicker{font-family:var(--font-en);font-size:11px;letter-spacing:.2em;color:var(--blue);margin-bottom:23px;font-weight:600}.page-masthead h1,.article-head h1{font-size:clamp(42px,5vw,75px);font-weight:500;letter-spacing:-.08em;line-height:1.48;margin:0;max-width:950px;overflow-wrap:anywhere}.page-masthead p{color:#607891;font-size:14px;line-height:2;max-width:680px;margin-top:23px}.page-content-wrap{padding-block:95px 140px}.interior-page-content{max-width:970px;margin-inline:auto}
/* Archive cards */
.archive-section{padding:105px 0 125px}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 24px}.archive-card{min-width:0}.archive-card-link{display:block;height:100%;transition:transform .25s}.archive-card-link:hover{transform:translateY(-5px)}.archive-card-image{height:225px;overflow:hidden;border-radius:13px;background:linear-gradient(140deg,#f9fcff,#dfeefe)}.archive-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.archive-card-link:hover img{transform:scale(1.04)}.archive-image-placeholder{height:100%;display:grid;place-items:center;position:relative;overflow:hidden}.archive-image-placeholder>span:first-child{z-index:2;position:absolute;top:17px;left:18px;font-family:var(--font-en);font-size:10px;color:#698bb7;letter-spacing:.14em}.abstract-orb{height:175px;width:175px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#d5f7f2 29%,#c1ddfb 62%,#acc9f7 85%);box-shadow:0 0 0 18px #fff6,0 15px 40px #7bb1dc4d;transform:translate(25px,10px)}.archive-card-copy{padding:21px 3px}.archive-card-meta{font-family:var(--font-en);display:flex;gap:13px;flex-wrap:wrap;color:#7593b3;font-size:11px;margin-bottom:18px}.archive-card-meta span::before{content:' / ';margin-right:10px;color:#aac4d6}.archive-card h2{font-size:20px;font-weight:500;line-height:1.65;letter-spacing:-.055em;margin:0 0 15px;overflow-wrap:anywhere}.archive-card p{font-size:12px;line-height:2.1;color:#75859a;margin:0 0 22px}.archive-readmore{font-family:var(--font-en);font-size:12px;font-weight:600;color:#0a6af0}.empty-state{text-align:center;background:#f8fbff;border:1px solid #e3ebf5;border-radius:18px;padding:70px 30px;color:#5f7590}.empty-state h2{font-size:23px;color:var(--ink)}.empty-state a{color:var(--blue)}.pagination-wrap{margin-top:75px;text-align:center}.nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.page-numbers{border:1px solid #d8e5f2;padding:10px 15px;border-radius:7px;font-size:12px}.page-numbers.current,.page-numbers:hover{color:#fff;background:var(--blue);border-color:var(--blue)}
/* Single post */
.article-head>.shell{padding-bottom:90px}.article-head h1{font-size:clamp(34px,4.2vw,63px);max-width:1020px}.article-meta{font-size:12px;font-family:var(--font-en);letter-spacing:.04em;color:#597fa6;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:82px;padding-top:88px;padding-bottom:130px}.article-main{min-width:0}.article-cover{margin:0 0 50px;border-radius:16px;overflow:hidden;background:#f6faff}.article-cover img{width:100%;height:auto}.entry-content{color:#35485e;font-size:15px;line-height:2.15;overflow-wrap:anywhere}.entry-content>*:first-child{margin-top:0}.entry-content p{margin:0 0 1.75em}.entry-content h2{font-size:clamp(25px,2.2vw,33px);line-height:1.5;font-weight:600;color:#183b61;letter-spacing:-.05em;margin:2.8em 0 .8em;padding-bottom:13px;border-bottom:1px solid #dce8f6}.entry-content h3{font-size:23px;line-height:1.5;font-weight:600;color:#224d78;margin:2.2em 0 .7em;letter-spacing:-.04em}.entry-content h4{font-size:18px;color:#2a5780;margin:2em 0 .7em}.entry-content ul,.entry-content ol{padding-left:1.6em;margin-bottom:2em}.entry-content li{margin-bottom:.7em}.entry-content a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.entry-content img{max-width:100%;height:auto;border-radius:10px}.entry-content figure{max-width:100%}.entry-content .wp-block-image{margin-bottom:2em}.entry-content table{width:100%;border-collapse:collapse;min-width:460px}.entry-content .wp-block-table{overflow-x:auto}.entry-content td,.entry-content th{border:1px solid #dce8f4;padding:11px 13px;text-align:left}.entry-content th{background:#f6faff}.entry-content blockquote{margin:2em 0;padding:18px 22px;background:#f8fbff;border-left:3px solid #69afe8;color:#486888}.entry-content pre{max-width:100%;overflow-x:auto}.entry-content iframe{max-width:100%}.entry-content .alignwide{max-width:100%}.entry-content .aligncenter{margin-inline:auto}.entry-content .wp-block-button__link{color:white;text-decoration:none;border-radius:4px}.entry-content .wpcf7{margin-top:0}.article-end{margin-top:60px;border-top:1px solid #e3ebf4;padding-top:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:var(--font-en);font-size:10px;color:#98aab9;letter-spacing:.13em}.article-end a{color:var(--blue);letter-spacing:0;font-size:12px}.article-aside{align-self:start;position:sticky;top:118px}.aside-panel{padding:31px 25px;border-radius:13px;border:1px solid #e0e9f3;background:linear-gradient(135deg,#fff,#eff9ff);box-shadow:0 20px 44px #1a4d7c0d}.aside-panel h2{font-size:26px;line-height:1.65;letter-spacing:-.05em;font-weight:500}.aside-panel p{font-size:12px;color:#68809a;line-height:2}.aside-panel .button-primary{margin-top:22px;width:100%}.aside-phone{display:block;margin-top:23px;color:#3579c0;font-family:var(--font-en);font-size:22px}.related-section{background:#f8fbff;padding:90px 0 120px}.related-section h2{font-size:33px;letter-spacing:-.05em;font-weight:500;margin:36px 0}
/* Interior company and services */
.company-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.company-layout h2,.contact-page-intro h2{font-size:clamp(38px,4vw,62px);line-height:1.5;letter-spacing:-.08em;font-weight:500;margin:25px 0}.company-layout h2 em,.contact-page-intro h2 em{font-style:normal;color:var(--blue)}.company-profile{min-width:0}.company-profile dl{margin:0;border-top:1px solid #dbe7f4}.company-profile dl>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid #dbe7f4;line-height:1.8;font-size:13px}.company-profile dt{font-weight:600;color:#7a8b9e}.company-profile dd{margin:0;color:#283f5d}.company-profile a{color:var(--blue)}.services-detail-section{background:#f8fbff}.service-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.service-detail-card{background:#fff;border:1px solid #deebf7;padding:38px 27px;border-radius:15px;min-height:350px;display:flex;flex-direction:column}.service-detail-card>span{font-family:var(--font-en);font-size:11px;letter-spacing:.14em;color:#297ae3}.service-detail-card h2{font-size:25px;margin:35px 0 16px;line-height:1.5;letter-spacing:-.04em}.service-detail-card p{font-size:13px;line-height:2.1;color:#72849a;flex:1}.service-detail-card a{font-size:12px;color:var(--blue);margin-top:25px}.services-existing-content{max-width:1000px;margin:60px auto 0;border-top:1px solid #e2edf8;padding-top:45px}
/* Contact */
.contact-page-section{background:#f8fbff}.contact-page-grid{display:grid;grid-template-columns:.8fr 1.1fr;gap:110px;align-items:start}.contact-page-intro p{font-size:13px;line-height:2.2;color:#6b7f95}.contact-phone-block{display:flex;flex-direction:column;gap:10px;margin-top:58px;border-top:1px solid #dae7f5;padding-top:28px}.contact-phone-block span{font-size:11px;color:#7e98b5}.contact-phone-block a{font-size:32px;color:#166bc8;font-family:var(--font-en)}.contact-form-actual{min-width:0}.contact-form-actual .entry-content{font-size:13px}.contact-form-actual .entry-content h2{font-size:20px}.wpcf7-form p{margin:0 0 22px;font-size:12px;line-height:1.8}.wpcf7-form label{display:block;color:#45627e;font-size:12px;font-weight:600;margin-bottom:8px}.wpcf7-form-control-wrap{display:block}.wpcf7-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.wpcf7-form select,.wpcf7-form textarea,.contact-form-actual .entry-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),.contact-form-actual .entry-content select,.contact-form-actual .entry-content textarea{width:100%;max-width:100%;background:#fbfdff;border:1px solid #dce8f4;border-radius:5px;padding:14px 13px;color:#193a5c;font-size:13px;outline-offset:4px}.wpcf7-form input[type=submit],.contact-form-actual .entry-content input[type=submit],.contact-form-actual .entry-content button[type=submit]{display:block;background:var(--blue);color:#fff;border:0;border-radius:5px;padding:16px 24px;cursor:pointer;font-size:13px;text-decoration:none;min-width:220px}.wpcf7-not-valid-tip{color:#be3652;font-size:11px}.wpcf7-response-output{border-radius:6px;font-size:12px;line-height:1.8;padding:12px 16px!important;margin:20px 0!important}.wpcf7-spinner{margin:10px}.wpcf7-form .wpcf7-acceptance input{accent-color:var(--blue)}
/* Site utilities */
.compact-cta{background:linear-gradient(120deg,#f1f8ff,#e3f5fa);border-top:1px solid #e1eff7;border-bottom:1px solid #e1eff7;padding:85px 0}.compact-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.compact-cta-inner span{font-family:var(--font-en);font-size:10px;letter-spacing:.15em;color:#3f84c7}.compact-cta h2{font-size:clamp(25px,3.2vw,43px);font-weight:500;letter-spacing:-.065em;line-height:1.4;margin:18px 0 0}.compact-cta a{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;background:#0066ff;color:#fff;border-radius:4px;padding:18px 22px;font-size:12px;flex-shrink:0}.compact-cta a span{color:#fff;font-size:17px;letter-spacing:0}.search-form{margin-top:35px}.search-form label{font-size:11px;color:#718ba6;display:block;margin-bottom:9px}.search-form>div{display:flex;gap:8px}.search-form input{padding:13px 15px;border-radius:4px;border:1px solid #cfdeed;min-width:240px}.search-form button{background:#0066ff;color:#fff;border:0;border-radius:4px;padding:12px 25px}.notfound-section .button-primary{margin-top:22px}
@media(max-width:1170px){.desktop-nav ul.menu{gap:18px}.article-layout{gap:40px;grid-template-columns:minmax(0,1fr) 260px}.contact-page-grid{gap:60px}}
@media(max-width:900px){.interior-main{padding-top:75px}.desktop-nav{display:none}.mobile-nav:not([hidden]){display:block;max-height:calc(100svh - 75px);overflow-y:auto}.mobile-nav .menu{display:block}.mobile-nav .mobile-contact{margin-top:10px}.article-layout{grid-template-columns:1fr}.article-aside{position:static}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-layout,.contact-page-grid{grid-template-columns:1fr;gap:48px}.company-layout h2,.contact-page-intro h2{max-width:720px}.service-detail-grid{grid-template-columns:1fr}.service-detail-card{min-height:230px}.contact-phone-block{margin-top:20px}}
@media(max-width:640px){.interior-main{padding-top:68px}.page-masthead>.shell,.article-head>.shell{padding-top:22px;padding-bottom:75px}.breadcrumbs{margin-bottom:62px;font-size:10px}.breadcrumbs .current{max-width:230px}.page-masthead h1{font-size:43px}.page-masthead p{font-size:12px}.archive-section{padding:70px 0 85px}.archive-grid{grid-template-columns:1fr;gap:25px}.archive-card-image{height:220px}.archive-card h2{font-size:19px}.article-layout{padding-top:48px;padding-bottom:80px}.article-head h1{font-size:34px}.entry-content{font-size:14px}.entry-content h2{font-size:25px}.entry-content h3{font-size:21px}.article-end{flex-wrap:wrap}.page-content-wrap{padding-block:56px 95px}.voices-grid{grid-template-columns:1fr}.voice-card{padding:27px}.contact-topics{grid-template-columns:1fr}.contact-topics span{min-height:46px}.compact-cta{padding:57px 0}.compact-cta-inner{display:block}.compact-cta a{margin-top:29px}.company-profile dl>div{grid-template-columns:95px 1fr;gap:12px;padding:16px 0;font-size:12px}.company-layout h2,.contact-page-intro h2{font-size:40px}.contact-phone-block a{font-size:27px}.contact-page-grid{gap:30px}.related-section{padding:65px 0}.search-form>div{flex-direction:column}.search-form input{min-width:0;width:100%}.mobile-nav:not([hidden]){max-height:calc(100svh - 68px)}}
@media(prefers-reduced-motion:reduce){.work-photo,.archive-card-link,.archive-card-image img{transition:none!important}}


/* v1.2.1 — approved TAMATA company logo. Preserve its aspect ratio and colors. */
.brand.brand--image {
    width:222px;
    height:56px;
    gap:0;
    flex-shrink:0;
}
.brand--image .tamata-logo-image,
.footer-logo--image .tamata-logo-image {
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:left center;
    border:0;
    border-radius:0;
    box-shadow:none;
    filter:none;
}
.footer-logo.footer-logo--image {
    display:inline-flex;
    align-items:center;
    width:272px;
    height:66px;
    max-width:100%;
    padding:0;
    line-height:1;
}
@media(max-width:1170px) {
    .brand.brand--image { width:204px; height:52px; }
}
@media(max-width:640px) {
    .brand.brand--image { width:182px; height:44px; }
    .footer-logo.footer-logo--image { width:240px; height:58px; }
}
@media(max-width:360px) {
    .header-inner { gap:16px; }
    .brand.brand--image { width:170px; height:42px; }
}

