.elementor-64 .elementor-element.elementor-element-c39f0ec{--display:flex;--min-height:100vh;}.elementor-64 .elementor-element.elementor-element-tkpclients7xoj{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-64 .elementor-element.elementor-element-38d160a{--display:flex;}.elementor-64 .elementor-element.elementor-element-4ef31be{--display:flex;}.elementor-64 .elementor-element.elementor-element-7d7d581{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-64 .elementor-element.elementor-element-ee92e0b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-64 .elementor-element.elementor-element-ee92e0b:not(.elementor-motion-effects-element-type-background), .elementor-64 .elementor-element.elementor-element-ee92e0b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4EFE3;}.elementor-64 .elementor-element.elementor-element-658cea6{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:32px 64px;--row-gap:32px;--column-gap:64px;}.elementor-64 .elementor-element.elementor-element-7eca0b6{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-64 .elementor-element.elementor-element-56ed2e0 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:2.4px;color:#5C5043;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-64 .elementor-element.elementor-element-cb6a188{--divider-border-style:solid;--divider-color:#C8961F;--divider-border-width:1px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-64 .elementor-element.elementor-element-cb6a188 .elementor-divider-separator{width:56px;margin:0 auto;margin-left:0;}.elementor-64 .elementor-element.elementor-element-cb6a188 .elementor-divider{text-align:left;padding-block-start:14px;padding-block-end:14px;}.elementor-64 .elementor-element.elementor-element-0ca0812{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-64 .elementor-element.elementor-element-0ca0812.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-64 .elementor-element.elementor-element-6632044{font-family:"Fraunces", Sans-serif;font-size:34px;font-weight:300;line-height:1.32em;letter-spacing:-0.3px;color:#1F1A14;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-64 .elementor-element.elementor-element-6bef2be .elementor-button{background-color:rgba(0,0,0,0);font-family:"Inter", Sans-serif;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:2px;fill:#1F1A14;color:#1F1A14;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(31,26,20,0.32);border-radius:999px 999px 999px 999px;padding:14px 30px 14px 30px;}.elementor-64 .elementor-element.elementor-element-6bef2be .elementor-button:hover, .elementor-64 .elementor-element.elementor-element-6bef2be .elementor-button:focus{background-color:#1F1A14;color:#F4EFE3;border-color:#1F1A14;}.elementor-64 .elementor-element.elementor-element-6bef2be{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-64 .elementor-element.elementor-element-6bef2be .elementor-button:hover svg, .elementor-64 .elementor-element.elementor-element-6bef2be .elementor-button:focus svg{fill:#F4EFE3;}.elementor-64 .elementor-element.elementor-element-tkpdealsvadpbz{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-64 .elementor-element.elementor-element-80920b8{--display:flex;}.elementor-64 .elementor-element.elementor-element-f0ce724{--display:flex;}.elementor-64 .elementor-element.elementor-element-3d1c8e9{--display:flex;}.elementor-64 .elementor-element.elementor-element-2248402 .elementor-button{background-color:#C8961F00;}.elementor-64 .elementor-element.elementor-element-b40f9a5{--display:flex;}.elementor-64 .elementor-element.elementor-element-2fc8c70{--display:flex;}.elementor-64 .elementor-element.elementor-element-a0503c1{--display:flex;}.elementor-64 .elementor-element.elementor-element-dfcf9ed{--display:flex;}.elementor-64 .elementor-element.elementor-element-tkpwhyv2svj{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-64 .elementor-element.elementor-element-1dc6ae8{--display:flex;}.elementor-64 .elementor-element.elementor-element-80443f2{--display:flex;}.elementor-64 .elementor-element.elementor-element-33b87ed{--display:flex;}.elementor-64 .elementor-element.elementor-element-f315216{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-64 .elementor-element.elementor-element-f315216 .elementor-divider-separator{width:58px;margin:0 auto;margin-left:0;}.elementor-64 .elementor-element.elementor-element-f315216 .elementor-divider{text-align:left;padding-block-start:26px;padding-block-end:26px;}.elementor-64 .elementor-element.elementor-element-0bbb668{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-64 .elementor-element.elementor-element-e00b148{--display:flex;}.elementor-64 .elementor-element.elementor-element-8fa7b34 .elementor-button{background-color:#F2E6C800;}.elementor-64 .elementor-element.elementor-element-25e2ba0{--display:flex;}.elementor-widget-accordion .elementor-accordion-icon, .elementor-widget-accordion .elementor-accordion-title{color:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-accordion-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon, .elementor-widget-accordion .elementor-active .elementor-accordion-title{color:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon svg{fill:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-accordion-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-accordion .elementor-tab-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-64 .elementor-element.elementor-element-tkpttpl5rn{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-64 .elementor-element.elementor-element-tkpglobalmt4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-64 .elementor-element.elementor-element-98ef4d8{--display:flex;}.elementor-64 .elementor-element.elementor-element-5a9309e{--display:flex;}.elementor-64 .elementor-element.elementor-element-4e450ab{--display:flex;}.elementor-64 .elementor-element.elementor-element-f32f91f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-64 .elementor-element.elementor-element-b7ec57f{--display:flex;}.elementor-64 .elementor-element.elementor-element-b6008a9{--display:flex;}.elementor-64 .elementor-element.elementor-element-cba601c{--display:flex;}.elementor-64 .elementor-element.elementor-element-f5c3318{--display:flex;}.elementor-64 .elementor-element.elementor-element-028bf99{--display:flex;}.elementor-64 .elementor-element.elementor-element-576e0f6{--display:flex;}.elementor-64 .elementor-element.elementor-element-e1554ec{--display:flex;}.elementor-64 .elementor-element.elementor-element-69ddbb7{--display:flex;}.elementor-64 .elementor-element.elementor-element-tkpservices9rn{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-64 .elementor-element.elementor-element-tkpservices9rn:not(.elementor-motion-effects-element-type-background), .elementor-64 .elementor-element.elementor-element-tkpservices9rn > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EDE7D6;}.elementor-64 .elementor-element.elementor-element-5bf5b43{--display:flex;}.elementor-64 .elementor-element.elementor-element-df3c4b3{--display:flex;}.elementor-64 .elementor-element.elementor-element-bfdeff8{--display:flex;}.elementor-64 .elementor-element.elementor-element-d78431c{--display:flex;}.elementor-64 .elementor-element.elementor-element-209635e{--display:flex;}.elementor-64 .elementor-element.elementor-element-158728e{--display:flex;}.elementor-64 .elementor-element.elementor-element-a39aa79{--display:flex;}.elementor-64 .elementor-element.elementor-element-e24a9c8{--display:flex;}.elementor-64 .elementor-element.elementor-element-7ca4614{--display:flex;}.elementor-64 .elementor-element.elementor-element-4ce7537{--display:flex;}.elementor-64 .elementor-element.elementor-element-2246685{--display:flex;}.elementor-64 .elementor-element.elementor-element-d764295{--display:flex;}.elementor-64 .elementor-element.elementor-element-e22cad2{--display:flex;}@media(min-width:721px){.elementor-64 .elementor-element.elementor-element-7eca0b6{--width:24%;}.elementor-64 .elementor-element.elementor-element-0ca0812{--width:72%;}}@media(max-width:1180px) and (min-width:721px){.elementor-64 .elementor-element.elementor-element-0ca0812{--width:680.719px;}}@media(max-width:1180px){.elementor-64 .elementor-element.elementor-element-6632044{font-size:28px;}}@media(max-width:720px){.elementor-64 .elementor-element.elementor-element-6632044{font-size:23px;}}/* Start custom CSS for container, class: .elementor-element-c39f0ec */.tkp-hero-native{min-height:min(92vh,820px) !important;background-color:#14110D;overflow:hidden;} .tkp-hero-native .elementor-background-video-container,.tkp-hero-native video{object-fit:cover;} .tkp-hero-native .elementor-background-video-container::before{display:none !important;} .tkp-hero-native::before{content:"";position:absolute;inset:0;background:rgba(31,26,20,0.55);z-index:2;pointer-events:none;} @media (max-width:720px){.tkp-hero-native::before{background:rgba(31,26,20,0.65);}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-38d160a */.cl-sec{position:relative;width:100%;background:#EDE7D6;padding:56px 0;overflow:hidden;}
.cl-viewport{width:100%;overflow:hidden;padding:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 80px,#000 calc(100% - 80px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 80px,#000 calc(100% - 80px),transparent 100%);}
.cl-row{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:64px;align-items:center;width:max-content !important;max-width:none !important;padding:0 32px;animation:tkpClientsMarquee 64s linear infinite;}
.cl-item{flex:0 0 auto;margin:0;}
.cl-item .elementor-heading-title{margin:0;color:#847665;white-space:nowrap;}
.cl-sans .elementor-heading-title{font-family:"Inter",sans-serif;font-style:normal;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.08em;}
.cl-serif .elementor-heading-title{font-family:"Fraunces","Noto Serif JP",Georgia,serif;font-style:italic;font-weight:400;font-size:20px;}
.cl-sec .cl-item .elementor-heading-title{color:#847665 !important;}
@keyframes tkpClientsMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.cl-row{animation:none;flex-wrap:wrap !important;justify-content:center;width:auto !important;}.cl-viewport{-webkit-mask-image:none;mask-image:none;}}
/* font overrides */
.cl-sec .cl-sans .elementor-heading-title{font-family:"Inter",sans-serif !important;}
.cl-sec .cl-serif .elementor-heading-title{font-family:"Fraunces","Noto Serif JP",Georgia,serif !important;}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80920b8 */.rt-sec{position:relative;width:100%;background:#EDE7D6;color:#5C5043;overflow:hidden;padding:0;}
.rt-inner{width:100%;max-width:1180px;margin:0 auto;padding:140px 28px;}
.rt-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:0 0 56px;flex-wrap:wrap;padding:0;}
.rt-eyebrow .elementor-heading-title{font-family:"Inter",sans-serif;font-weight:500;font-size:11px;line-height:17px;letter-spacing:.22em;text-transform:uppercase;color:#5C0F5C;margin:0;}
.rt-viewall{flex:0 0 auto;}
.rt-viewall .elementor-button{background:transparent;color:#5C5043;font-family:"Inter",sans-serif;font-weight:500;font-size:12px;line-height:1;letter-spacing:.1em;text-transform:uppercase;padding:0 0 6px;border-radius:0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.rt-viewall .elementor-button:hover{background:transparent !important;color:#5C0F5C;border-bottom-color:#5C0F5C;}
.rt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;padding:0;}
.rt-card{position:relative;display:flex;flex-direction:column;gap:16px;background:#F4EFE3;border:1px solid #C9B89A;padding:32px;transition:border-color .2s,transform .2s;}
.rt-card--featured{border-color:#E5C97A;}
.rt-card:hover{border-color:#C8961F;transform:translateY(-2px);}
.rt-badge{position:absolute;top:16px;right:16px;width:auto;z-index:2;}
.rt-badge .elementor-heading-title{font-family:"Inter",sans-serif;font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#5C5043;border:1px solid #5C5043;padding:5px 10px;margin:0;display:inline-block;}
.rt-date .elementor-heading-title{font-family:"Inter",sans-serif;font-weight:500;font-size:11px;line-height:17px;letter-spacing:.22em;text-transform:uppercase;color:#847665;margin:0;}
.rt-title .elementor-heading-title{font-family:"Fraunces","Noto Serif JP",Georgia,serif;font-weight:500;font-size:20px;line-height:28px;color:#1F1A14;margin:0;}
.rt-tag .elementor-heading-title{font-family:"Inter",sans-serif;font-weight:400;font-size:11px;line-height:17px;color:#847665;margin:0;}
.rt-sec .rt-eyebrow .elementor-heading-title{color:#5C0F5C !important;}
.rt-sec .rt-date .elementor-heading-title{color:#847665 !important;}
.rt-sec .rt-title .elementor-heading-title{color:#1F1A14 !important;}
.rt-sec .rt-tag .elementor-heading-title{color:#847665 !important;}
.rt-sec .rt-badge .elementor-heading-title{color:#5C5043 !important;}
.rt-sec .rt-viewall .elementor-button,.rt-sec .rt-viewall .elementor-button .elementor-button-text{color:#5C5043 !important;}
.rt-sec .rt-viewall .elementor-button:hover,.rt-sec .rt-viewall .elementor-button:hover .elementor-button-text{color:#5C0F5C !important;}
.rt-sec [type="button"]:hover,.rt-sec .elementor-button:hover{background-color:transparent !important;box-shadow:none !important;}
@media(max-width:1180px){.rt-inner{padding:120px 24px;}.rt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}.rt-card--featured{grid-column:1 / -1;}}
@media(max-width:720px){.rt-inner{padding:80px 20px;}.rt-grid{grid-template-columns:minmax(0,1fr);gap:16px;}.rt-card--featured{grid-column:auto;}.rt-head{gap:18px;margin:0 0 36px;}}
/* font overrides */
.rt-sec .rt-eyebrow .elementor-heading-title,.rt-sec .rt-date .elementor-heading-title,.rt-sec .rt-tag .elementor-heading-title,.rt-sec .rt-badge .elementor-heading-title,.rt-sec .rt-viewall .elementor-button{font-family:"Inter",sans-serif !important;}
.rt-sec .rt-title .elementor-heading-title{font-family:"Fraunces","Noto Serif JP",Georgia,serif !important;}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1dc6ae8 */.ws-sec{position:relative;color:#F4EFE3;--hdr:128px;overflow:clip;}
.ws-sec::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 90% at 75% 10%,rgba(20,17,13,0),rgba(20,17,13,.55) 60%,rgba(20,17,13,.86)),linear-gradient(180deg,rgba(20,17,13,.72),rgba(20,17,13,.42) 35%,rgba(20,17,13,.8)),url(https://www.takenaka.webappbuild.com/wp-content/uploads/2026/06/why-select-shibuya-bg.jpg) center center/cover no-repeat fixed;}
.ws-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(40px,5vw,80px);align-items:start;width:100%;max-width:1240px;margin:0 auto;padding:calc(var(--hdr) + 40px) clamp(20px,5vw,72px) 14vh;}
.ws-left{position:sticky;top:calc(var(--hdr) + 24px);align-self:start;min-width:0;}
.ws-left>.elementor-widget{width:100%;}
.ws-eyebrow .elementor-heading-title{font-family:"Inter",sans-serif;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#E5C97A;margin:0;}
.ws-rule .elementor-divider-separator{border-top-color:#C8961F !important;}
.ws-title .elementor-heading-title{font-family:"Fraunces","Noto Serif JP",Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,56px);line-height:1.05;letter-spacing:-.015em;color:#F4EFE3;}
.ws-title .elementor-heading-title em{font-style:italic;color:#E5C97A;}
.ws-lede .elementor-widget-container,.ws-lede p{font-family:"Fraunces","Noto Serif JP",Georgia,serif;font-weight:300;font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:#DDD0B5;margin:0;max-width:30em;}
.ws-card{position:relative;max-width:440px;}
.ws-card .elementor-image,.ws-card figure,.ws-card img{margin:0;display:block;border-radius:4px;width:100%;}
.ws-card::after{content:"";position:absolute;inset:0;border-radius:4px;background:linear-gradient(180deg,rgba(20,17,13,0) 40%,rgba(20,17,13,.7));pointer-events:none;}
.ws-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;gap:12px;padding:16px 18px;pointer-events:none;}
.ws-cap .ws-loc .elementor-heading-title{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#F4EFE3;margin:0;}
.ws-cap .ws-kpi .elementor-heading-title{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#E5C97A;margin:0;}
.ws-cta .elementor-button{background:transparent;color:#C8961F;font-family:"Inter",sans-serif;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:0 0 5px;border-radius:0;border-bottom:1px solid rgba(200,150,31,.45);}
.ws-cta .elementor-button:hover{background:transparent !important;color:#E5C97A;border-bottom-color:#E5C97A;}
.ws-acc .elementor-accordion{counter-reset:wsa;border:0;}
.ws-acc .elementor-accordion-item{background:transparent;border:0;border-bottom:1px solid rgba(200,150,31,.22);counter-increment:wsa;}
.ws-acc .elementor-accordion-item:first-child{border-top:1px solid rgba(200,150,31,.22);}
.ws-acc .elementor-tab-title{position:relative;background:transparent !important;border:0;padding:22px 4px 22px 52px;font-family:"Fraunces","Noto Serif JP",Georgia,serif;font-weight:400;font-size:clamp(19px,1.7vw,23px);line-height:1.25;color:#F4EFE3;transition:color .22s;}
.ws-acc .elementor-tab-title:hover,.ws-acc .elementor-tab-title.elementor-active{background:transparent !important;color:#E5C97A;}
.ws-acc .elementor-tab-title::before{content:"0" counter(wsa);position:absolute;left:4px;top:24px;font-family:"Inter",sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;color:#9C7A38;}
.ws-acc .elementor-accordion-icon{color:#C8961F;width:auto;}
.ws-acc .elementor-tab-content{background:transparent !important;border:0;padding:0 4px 26px 52px;font-family:"Inter",sans-serif;font-size:15px;line-height:1.65;color:#C9B89A;}
.ws-acc .elementor-tab-content a{color:#E5C97A;text-decoration:none;border-bottom:1px solid rgba(229,201,122,.4);}
.ws-sec [type="button"]:hover,.ws-sec [type="button"]:focus,.ws-sec button:hover,.ws-sec button:focus,.ws-sec .elementor-tab-title:hover{background-color:transparent !important;box-shadow:none !important;}
@media(max-width:900px){
.ws-inner{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:calc(var(--hdr) + 22px);padding-bottom:10vh;}
.ws-left{position:static;background:none;padding:0;margin:0;z-index:auto;}
.ws-card{display:none;}
.ws-right{position:relative;z-index:1;}
.ws-title .elementor-heading-title{font-size:clamp(28px,7vw,40px);}
}
/* color overrides (kit) */
.ws-sec .ws-eyebrow .elementor-heading-title{color:#E5C97A !important;}
.ws-sec .ws-title .elementor-heading-title{color:#F4EFE3 !important;}
.ws-sec .ws-title .elementor-heading-title em{color:#E5C97A !important;}
.ws-sec .ws-lede,.ws-sec .ws-lede p,.ws-sec .ws-lede .elementor-widget-container{color:#DDD0B5 !important;}
.ws-sec .ws-cap .ws-loc .elementor-heading-title{color:#F4EFE3 !important;}
.ws-sec .ws-cap .ws-kpi .elementor-heading-title{color:#E5C97A !important;}
.ws-sec .ws-acc .elementor-tab-content,.ws-sec .ws-acc .elementor-tab-content p{color:#C9B89A !important;}
.ws-sec .ws-acc .elementor-tab-content a{color:#E5C97A !important;}
.ws-sec .ws-cta .elementor-button{color:#C8961F !important;}
/* accordion link-title overrides */
.ws-sec .ws-acc .elementor-accordion-title{color:#F4EFE3 !important;}
.ws-sec .ws-acc .elementor-tab-title:hover .elementor-accordion-title,.ws-sec .ws-acc .elementor-tab-title.elementor-active .elementor-accordion-title{color:#E5C97A !important;}
.ws-sec .ws-cta .elementor-button .elementor-button-text{color:#C8961F !important;}
/* font overrides */
.ws-sec .ws-eyebrow .elementor-heading-title{font-family:"Inter",sans-serif !important;}
.ws-sec .ws-title .elementor-heading-title{font-family:"Fraunces","Noto Serif JP",Georgia,serif !important;}
.ws-sec .ws-loc .elementor-heading-title,.ws-sec .ws-kpi .elementor-heading-title{font-family:"Inter",sans-serif !important;}
.ws-sec .ws-acc .elementor-tab-title,.ws-sec .ws-acc .elementor-accordion-title{font-family:"Fraunces","Noto Serif JP",Georgia,serif !important;}
.ws-sec .ws-acc .elementor-tab-content,.ws-sec .ws-acc .elementor-tab-content p,.ws-sec .ws-cta .elementor-button{font-family:"Inter",sans-serif !important;}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-98ef4d8 */.tkp-global-section{position:relative;width:100%;background:#F4EFE3;color:#5C5043;padding:0;overflow:hidden}
.tkp-global-inner{width:100%;max-width:1180px;padding:56px 28px;margin:0 auto}
.tkp-global-section .global-head{margin:0 0 64px;max-width:760px}
.tkp-global-section .head-eyebrow-row{display:flex;align-items:center;gap:20px;margin:0 0 24px}
.tkp-global-section .eyebrow{font-family:'Inter',sans-serif;font-weight:500;font-size:11px;line-height:17px;letter-spacing:0.22em;text-transform:uppercase;color:#5C0F5C;margin:0;flex-shrink:0;opacity:0;transform:translateY(12px);transition:opacity 600ms cubic-bezier(0.4,0,0.2,1),transform 600ms cubic-bezier(0.4,0,0.2,1)}
.tkp-global-section .rule-gold{display:block;width:56px;height:1px;background:#C8961F;flex-shrink:0}
.tkp-global-section .global-h2{font-family:'Fraunces',serif;font-weight:500;font-size:32px;line-height:38px;letter-spacing:-0.015em;color:#1F1A14;margin:0 0 16px;max-width:680px;opacity:0;transform:translateY(12px);transition:opacity 600ms cubic-bezier(0.4,0,0.2,1) 80ms,transform 600ms cubic-bezier(0.4,0,0.2,1) 80ms}
.tkp-global-section .global-h2 em{color:#C8961F;font-style:italic}
.global-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.tkp-global-section .lede{font-family:'Inter',sans-serif;font-weight:400;font-size:16px;line-height:28px;color:#5C5043;margin:0 0 48px;max-width:520px;opacity:0;transform:translateY(12px);transition:opacity 600ms cubic-bezier(0.4,0,0.2,1) 160ms,transform 600ms cubic-bezier(0.4,0,0.2,1) 160ms}
.global-stats{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px}
.stat{opacity:0;transform:translateY(12px);transition:opacity 600ms cubic-bezier(0.4,0,0.2,1),transform 600ms cubic-bezier(0.4,0,0.2,1)}
.stat .v{font-family:'Fraunces',serif;font-weight:400;font-size:56px;line-height:1;letter-spacing:-0.025em;color:#C8961F;margin:0 0 8px}
.stat .v em{font-style:italic}
.stat .l{font-family:'Inter',sans-serif;font-weight:500;font-size:11px;line-height:1.5;letter-spacing:0.16em;text-transform:uppercase;color:#847665;margin:0;display:block}
.stat .l-sub{font-family:'Inter',sans-serif;font-weight:400;font-size:12px;line-height:1.4;letter-spacing:0;text-transform:none;color:#847665;margin:6px 0 0;display:block}
.map-wrap{position:relative;aspect-ratio:16/9;width:100%;background:#F1E8D2;border:1px solid #DDD0B5;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(168,148,118,0.10),0 24px 60px -30px rgba(60,40,15,0.30);border-radius:2px;opacity:0;transform:translateY(12px);transition:opacity 800ms cubic-bezier(0.4,0,0.2,1) 80ms,transform 800ms cubic-bezier(0.4,0,0.2,1) 80ms}
.map-wrap::before{content:"";position:absolute;inset:12px;border:1px solid rgba(200,150,31,0.22);pointer-events:none;z-index:1000}
.tkp-global-section #tkp-global-map{background:#F1E8D2 !important;position:absolute;inset:0;width:100%;height:100%}
.tkp-global-section .leaflet-tile{filter:sepia(0.15) hue-rotate(-10deg) saturate(0.7) brightness(1.02);mix-blend-mode:multiply}
.tkp-global-section .leaflet-container{background:#EDE3CC !important;font-family:'Inter',sans-serif;outline:0}
.tkp-global-section .leaflet-overlay-pane svg path{stroke-linecap:round;stroke-linejoin:round}
.tkp-global-section .city-marker-wrap{background:transparent !important;border:0 !important}
.tkp-global-section .city-pin{position:relative;width:0;height:0}
.tkp-global-section .city-pin .city-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#5C0F5C;transform:translate(-50%,-50%);box-shadow:0 0 0 3px rgba(248,240,220,0.92),0 0 0 4px rgba(200,150,31,0.45),0 2px 6px rgba(40,30,10,0.35)}
.tkp-global-section .city-pin .city-dot.tokyo{background:#C8961F}
.tkp-global-section .city-pin .city-label{position:absolute;left:14px;top:-9px;font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#1F1A14;background:rgba(248,240,220,0.92);padding:3px 8px;white-space:nowrap;border:1px solid rgba(168,148,118,0.30);border-radius:1px}
.tkp-global-section .map-caption{font-family:'Inter',sans-serif;font-weight:400;font-size:12px;line-height:1.6;letter-spacing:0.06em;color:#847665;margin:18px 0 0;text-align:center;opacity:0;transform:translateY(12px);transition:opacity 600ms cubic-bezier(0.4,0,0.2,1) 240ms,transform 600ms cubic-bezier(0.4,0,0.2,1) 240ms}
.tkp-global-section .eyebrow.in,.tkp-global-section .global-h2.in,.tkp-global-section .lede.in,.tkp-global-section .stat.in,.tkp-global-section .map-wrap.in,.tkp-global-section .map-caption.in{opacity:1;transform:translateY(0)}
.tkp-global-section .stat.in[style*="--rd:60ms"]{transition-delay:60ms}
.tkp-global-section .stat.in[style*="--rd:120ms"]{transition-delay:120ms}
.tkp-global-section .stat.in[style*="--rd:180ms"]{transition-delay:180ms}
@media (max-width:1180px){
.tkp-global-inner{padding:48px 24px}
.global-grid{gap:56px}
.tkp-global-section .global-h2{font-size:28px;line-height:34px}
.stat .v{font-size:48px}
}
@media (max-width:720px){
.tkp-global-inner{padding:32px 20px}
.tkp-global-section .global-head{margin-bottom:40px}
.tkp-global-section .global-h2{font-size:24px;line-height:30px}
.global-grid{grid-template-columns:1fr;gap:48px}
.global-stats{grid-template-columns:1fr 1fr;gap:24px 16px}
.stat .v{font-size:40px}
.stat .l{font-size:10px;letter-spacing:0.14em}
.stat .l-sub{font-size:11px}
.map-wrap{aspect-ratio:4/3}
}
@media (prefers-reduced-motion:reduce){
.tkp-global-section .eyebrow,.tkp-global-section .global-h2,.tkp-global-section .lede,.tkp-global-section .stat,.tkp-global-section .map-wrap,.tkp-global-section .map-caption{opacity:1 !important;transform:none !important;transition:none !important}
}
html[lang^="ja"] .tkp-global-section .global-h2{font-family:'Noto Serif JP',serif;font-size:28px;line-height:42px}
html[lang^="ja"] .tkp-global-section .global-h2 em{font-style:normal;color:#C8961F}
html[lang^="ja"] .tkp-global-section .eyebrow,html[lang^="ja"] .tkp-global-section .lede,html[lang^="ja"] .tkp-global-section .stat .l,html[lang^="ja"] .tkp-global-section .stat .l-sub,html[lang^="ja"] .tkp-global-section .map-caption{font-family:'Noto Sans JP',sans-serif}
html[lang^="ja"] .tkp-global-section .lede{font-size:15px;line-height:1.85}
html[lang^="ja"] .tkp-global-section .stat .l{font-size:10px;letter-spacing:0.08em}
html[lang^="ja"] .tkp-global-section .stat .l-sub{font-size:11px;line-height:1.6}
@media (max-width:720px){html[lang^="ja"] .tkp-global-section .global-h2{font-size:22px;line-height:34px}}
@keyframes tkpMarkerPulse{0%,100%{box-shadow:0 0 0 3px rgba(248,240,220,0.92),0 0 0 4px rgba(200,150,31,0.55),0 2px 6px rgba(40,30,10,0.35)}50%{box-shadow:0 0 0 3px rgba(248,240,220,0.92),0 0 0 10px rgba(200,150,31,0),0 2px 6px rgba(40,30,10,0.35)}}@keyframes tkpMarkerPulsePurple{0%,100%{box-shadow:0 0 0 3px rgba(248,240,220,0.92),0 0 0 4px rgba(92,15,92,0.55),0 2px 6px rgba(40,30,10,0.35)}50%{box-shadow:0 0 0 3px rgba(248,240,220,0.92),0 0 0 10px rgba(92,15,92,0),0 2px 6px rgba(40,30,10,0.35)}}.tkp-global-section .city-pin .city-dot.tokyo{animation:tkpMarkerPulse 2.6s cubic-bezier(0.4,0,0.2,1) infinite;animation-delay:0s}.tkp-global-section .city-pin .city-dot:not(.tokyo){animation:tkpMarkerPulsePurple 2.6s cubic-bezier(0.4,0,0.2,1) infinite;animation-delay:1.3s}@keyframes tkpArcFlow{to{stroke-dashoffset:-120}}.tkp-global-section .leaflet-overlay-pane svg path.tkp-map-arc-main{animation:tkpArcFlow 14s linear infinite}@media (prefers-reduced-motion:reduce){.tkp-global-section .city-pin .city-dot,.tkp-global-section .city-pin .city-dot.tokyo{animation:none !important}.tkp-global-section .leaflet-overlay-pane svg path.tkp-map-arc-main{animation:none !important}}
.tkp-global-section .elementor-heading-title{font-family:inherit !important;font-size:inherit;font-weight:inherit;font-style:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit !important;margin:0;}
.tkp-global-section .elementor-widget-text-editor>.elementor-widget-container,.tkp-global-section .elementor-widget-text-editor p{font-family:inherit !important;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit !important;margin:0;}
.tkp-global-section .elementor-widget{margin:0 !important;}
.tkp-global-section .e-con-inner,.tkp-global-section .elementor-widget-container{padding:0;}
/* map responsive fix (small devices): stack earlier + explicit height so map isn't cramped and caption doesn't overlap */
@media (max-width:1024px){.tkp-global-section .global-grid{grid-template-columns:1fr;gap:44px}.tkp-global-section .global-grid-right{display:flex;flex-direction:column}.tkp-global-section .map-wrap{aspect-ratio:auto;height:360px}}
@media (max-width:720px){.tkp-global-section .map-wrap{aspect-ratio:auto;height:300px}}
@media (max-width:480px){.tkp-global-section .map-wrap{aspect-ratio:auto;height:240px}}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5bf5b43 *//* ============================================
   §7.9 SERVICES — scoped namespace .tkp-services
   ============================================ */
.tkp-services{
  position:relative;
  padding:64px 0 64px;
  background:#EDE7D6; /* linen */
  overflow:hidden;
  isolation:isolate;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  color:#1F1A14;
}

/* --- container --- */
.tkp-services-container{
  max-width:1180px;
  margin:0 auto;
  padding:0 32px;
  position:relative;
  z-index:2;
}

/* --- scroll-driven background motion layer --- */
.tkp-services-bg{
  position:absolute; inset:0; z-index:0;
  pointer-events:none; overflow:hidden;
}
.tkp-services-bg-img{
  position:absolute; inset:-12% -8%;
  background-size:cover; background-position:center;
  background-color:#1F1A14;
  transform:translate3d(0,0,0) scale(1.06);
  opacity:0;
  filter:saturate(0.55) brightness(0.92) contrast(1.05);
  clip-path:inset(0 0 0 0);
  will-change:transform,filter,opacity,clip-path;
}
.tkp-services-bg-tint{
  position:absolute; inset:0;
  background:
    linear-gradient(to bottom,
      rgba(244,239,227,0.96) 0%,
      rgba(244,239,227,0.62) 14%,
      rgba(244,239,227,0.40) 36%,
      rgba(244,239,227,0.40) 64%,
      rgba(244,239,227,0.72) 86%,
      rgba(244,239,227,0.97) 100%),
    linear-gradient(to right,
      rgba(244,239,227,0.30) 0%,
      transparent 22%,
      transparent 78%,
      rgba(244,239,227,0.30) 100%);
  background-blend-mode:multiply;
  will-change:opacity;
}
.tkp-services-bg-rule{
  position:absolute; top:50%; left:0; right:0;
  height:1px;
  background:linear-gradient(to right,
    transparent 0%,
    rgba(200,150,31,0.45) 18%,
    rgba(200,150,31,0.45) 82%,
    transparent 100%);
  transform:translateY(-50%) scaleX(0);
  transform-origin:center;
  will-change:transform;
}
.tkp-services-bg-numeral{
  position:absolute; bottom:-80px; right:-30px;
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  font-size:clamp(280px,38vw,640px);
  line-height:0.85;
  color:transparent;
  -webkit-text-stroke:1px rgba(92,15,92,0.18);
  pointer-events:none; user-select:none;
  will-change:transform,opacity;
}
.tkp-services-bg-vignette{
  position:absolute; inset:0;
  background:radial-gradient(ellipse at center,
    transparent 0%,
    transparent 50%,
    rgba(31,26,20,0.18) 100%);
}

/* --- section header --- */
.tkp-services-head{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:80px;
  align-items:end;
  margin-bottom:100px;
}
.tkp-services-head-left .tkp-eyebrow{
  display:inline-block; margin-bottom:18px;
  font-family:'Inter',sans-serif;
  font-size:10.5px;
  font-weight:500;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#5C0F5C; /* purple */
}
.tkp-services-head-left .tkp-rule-gold{
  display:block;
  width:56px; height:1px;
  background:#C8961F; /* gold */
  margin:0 0 24px;
}
.tkp-services-h2{
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(32px,4.2vw,52px);
  line-height:1.08;
  letter-spacing:-0.014em;
  color:#1F1A14;
  margin:8px 0 0;
  font-weight:400;
  max-width:560px;
}
.tkp-services-lede{
  font-family:'Inter',sans-serif;
  font-size:15.5px;
  line-height:1.65;
  color:#5C5043; /* bronze */
  margin:0;
  max-width:560px;
}

/* --- gradient-tile grid --- */
.tkp-services-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  --svc-prog:0;
}

.tkp-svc-row{
  /* per-tone palette (set by data-tone) */
  --g1:#EDE7D6;
  --g2:#C9B89A;
  --g3:#F4EFE3;
  --gtext:#1F1A14;
  --gnum:#5C0F5C;
  --gblurb:#5C5043;
  --gline:#5C0F5C;
  position:relative;
  overflow:hidden;
  padding:36px 36px 32px;
  min-height:280px;
  display:flex;
  flex-direction:column;
  gap:12px;
  border:0;
  background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 50%,var(--g3) 100%);
  background-size:280% 280%;
  background-position:calc(var(--svc-prog,0) * 100% + 0%) calc(var(--svc-prog,0) * 100% + 0%);
  color:var(--gtext);
  isolation:isolate;
  transition:background-position 60ms linear, transform 320ms cubic-bezier(0.22,1,0.36,1);
}
.tkp-svc-row:nth-child(even){
  background-position:calc((1 - var(--svc-prog,0)) * 100%) calc(var(--svc-prog,0) * 100%);
}
.tkp-svc-row:hover{ transform:translateY(-3px); }

.tkp-svc-row::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 88% 100%, rgba(20,17,13,0.22) 0%, transparent 55%),
    radial-gradient(ellipse at 0% 0%, rgba(255,255,255,0.14) 0%, transparent 55%);
  pointer-events:none; z-index:0;
}
.tkp-svc-row::after{
  content:""; position:absolute; inset:0;
  pointer-events:none;
  border:1px solid rgba(255,255,255,0.06);
  z-index:1;
}

/* tones — Warm v2.0 palette only */
.tkp-svc-row[data-tone="purple-dark"]{
  --g1:#3D0A3D; --g2:#1F1A14; --g3:#5C0F5C;
  --gtext:#F4EFE3; --gnum:#E5C97A;
  --gblurb:rgba(244,239,227,0.74); --gline:#E5C97A;
}
.tkp-svc-row[data-tone="linen-warm"]{
  --g1:#EDE7D6; --g2:#F4EFE3; --g3:#DDD0B5;
  --gtext:#1F1A14; --gnum:#5C0F5C;
  --gblurb:#5C5043; --gline:#5C0F5C;
}
.tkp-svc-row[data-tone="bronze-dark"]{
  --g1:#5C5043; --g2:#2E261D; --g3:#847665;
  --gtext:#F4EFE3; --gnum:#E5C97A;
  --gblurb:rgba(244,239,227,0.72); --gline:#C8961F;
}
.tkp-svc-row[data-tone="purple-light"]{
  --g1:#E8D9E8; --g2:#EDE7D6; --g3:#DDD0B5;
  --gtext:#1F1A14; --gnum:#5C0F5C;
  --gblurb:#5C5043; --gline:#5C0F5C;
}
.tkp-svc-row[data-tone="sand-light"]{
  --g1:#DDD0B5; --g2:#F4EFE3; --g3:#C9B89A;
  --gtext:#1F1A14; --gnum:#9F7818;
  --gblurb:#5C5043; --gline:#9F7818;
}
.tkp-svc-row[data-tone="sumi-purple"]{
  --g1:#14110D; --g2:#3D0A3D; --g3:#2E261D;
  --gtext:#F4EFE3; --gnum:#E5C97A;
  --gblurb:rgba(244,239,227,0.72); --gline:#E5C97A;
}
.tkp-svc-row[data-tone="linen-light"]{
  --g1:#F4EFE3; --g2:#EDE7D6; --g3:#E8D9E8;
  --gtext:#1F1A14; --gnum:#5C0F5C;
  --gblurb:#5C5043; --gline:#5C0F5C;
}
.tkp-svc-row[data-tone="gold-dark"]{
  --g1:#9F7818; --g2:#5C5043; --g3:#2E261D;
  --gtext:#F4EFE3; --gnum:#F4EFE3;
  --gblurb:rgba(244,239,227,0.78); --gline:#E5C97A;
}

/* card content */
.tkp-svc-row > *{ position:relative; z-index:2; }
.tkp-svc-row-num{
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;
  font-size:clamp(40px,4.6vw,60px);
  line-height:0.9;
  font-weight:400;
  letter-spacing:-0.02em;
  color:var(--gnum);
  margin:0 0 8px;
  display:inline-flex;
  align-items:baseline;
  gap:14px;
}
.tkp-svc-row-num::after{
  content:""; display:inline-block;
  width:32px; height:1px;
  background:var(--gline);
  opacity:0.6;
  transform:translateY(-12px);
}
.tkp-svc-row-title{
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(22px,2vw,28px);
  line-height:1.12;
  letter-spacing:-0.012em;
  color:var(--gtext);
  margin:8px 0 4px;
  font-weight:400;
  max-width:90%;
}
.tkp-svc-row-blurb{
  font-family:'Inter',sans-serif;
  font-size:14px;
  line-height:1.65;
  color:var(--gblurb);
  margin:0;
  max-width:380px;
  flex:1;
}
.tkp-svc-row-blurb.tkp-placeholder-blurb{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10.5px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  line-height:1.55;
}
.tkp-svc-row-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  font-family:'Inter',sans-serif;
  font-size:10.5px;
  font-weight:500;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--gnum);
  align-self:flex-start;
  text-decoration:none;
}
.tkp-svc-row-btn-rule{
  display:inline-block;
  width:18px; height:1px;
  background:var(--gline);
  opacity:0.85;
  transition:width 200ms cubic-bezier(0.22,1,0.36,1);
}
.tkp-svc-row-btn .tkp-arrow{
  transition:transform 200ms cubic-bezier(0.22,1,0.36,1);
}
.tkp-svc-row:hover .tkp-svc-row-btn-rule{ width:32px; }
.tkp-svc-row:hover .tkp-svc-row-btn .tkp-arrow{ transform:translateX(6px); }

/* fade reveal — uses sitewide scheduleReveal pattern */
.tkp-services .tkp-fade{
  opacity:0; transform:translateY(18px);
  transition:opacity 700ms cubic-bezier(0.22,1,0.36,1) var(--rd,0ms),
             transform 700ms cubic-bezier(0.22,1,0.36,1) var(--rd,0ms);
  will-change:opacity,transform;
}
.tkp-services .tkp-fade.tkp-in{
  opacity:1; transform:translateY(0);
}

/* --- JA locale --- */
html[lang="ja"] .tkp-services-h2{
  font-family:'Noto Serif JP',serif;
}
html[lang="ja"] .tkp-svc-row-title{
  font-family:'Noto Serif JP',serif;
}
html[lang="ja"] .tkp-svc-row-num{
  font-family:'Noto Serif JP',serif;
}
html[lang="ja"] .tkp-services-bg-numeral{
  font-family:'Noto Serif JP',serif;
}

/* --- responsive --- */
@media (max-width:1180px){
  .tkp-services{ padding:48px 0; }
  .tkp-services-head{
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:48px;
  }
  .tkp-services-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .tkp-svc-row{
    min-height:220px;
    padding:30px 30px 28px;
  }
}
@media (max-width:720px){
  .tkp-services{ padding:32px 0; }
  .tkp-services-head{ margin-bottom:36px; }
  .tkp-services-grid{ gap:12px; }
  .tkp-svc-row{
    min-height:220px;
    padding:28px 26px 26px;
    gap:10px;
  }
  .tkp-svc-row-num{
    font-size:clamp(34px,9vw,42px);
    gap:12px;
    margin-bottom:4px;
  }
  .tkp-svc-row-num::after{ width:28px; transform:translateY(-10px); }
  .tkp-svc-row-title{
    font-size:clamp(20px,5.4vw,24px);
    line-height:1.15;
    max-width:100%;
    margin:6px 0 2px;
  }
  .tkp-svc-row-blurb{
    font-size:13.5px;
    line-height:1.6;
    max-width:none;
  }
  .tkp-svc-row-blurb.tkp-placeholder-blurb{ font-size:10px; }
  .tkp-svc-row-btn{
    margin-top:16px;
    font-size:10px;
    letter-spacing:0.2em;
  }
}

@media (prefers-reduced-motion:reduce){
  .tkp-services-bg-img,
  .tkp-services-bg-tint,
  .tkp-services-bg-rule,
  .tkp-services-bg-numeral{
    transition:none !important;
    transform:none !important;
    opacity:0.3 !important;
  }
  .tkp-services .tkp-fade{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .tkp-svc-row{
    background-position:50% 50% !important;
    transition:none !important;
  }
}

/* native-DOM adaptation: make Elementor widget text inherit the original classed-wrapper typography (beats kit Roboto) */
.tkp-services .elementor-heading-title{font-family:inherit !important;font-size:inherit;font-weight:inherit;font-style:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit !important;margin:0;}
.tkp-services .elementor-widget-text-editor>.elementor-widget-container,.tkp-services .elementor-widget-text-editor p{font-family:inherit !important;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit !important;margin:0;}
.tkp-services .elementor-widget{margin:0 !important;}
.tkp-services .e-con-inner,.tkp-services .elementor-widget-container{padding:0;}/* End custom CSS */