/* Shared @Tegakist page background. The full-width shell also keeps short pages taller than the viewport. */
.teg-ea-page-surface{position:relative;box-sizing:border-box;width:100vw;max-width:none;min-height:100vh;min-height:100svh;margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw);padding:clamp(28px,5vw,72px) max(16px,calc((100vw - 1200px)/2));isolation:isolate;background:#050303 url(tegakist-page-bg-desktop.png) center center/cover fixed no-repeat}
.teg-ea-page-surface__inner{box-sizing:border-box;width:100%;margin:0 auto}
html:has(.teg-ea-page-surface){min-height:100%}
body:has(.teg-ea-page-surface:not(.teg-ea-page-surface--faq)){min-height:100vh;min-height:100svh;background-color:#050303;background-image:url(tegakist-page-bg-desktop.png);background-position:center center;background-attachment:fixed;background-size:cover;background-repeat:no-repeat}
.teg-ea-page-surface *{box-sizing:border-box}

/* WordPress shortcode wrappers can add a block gap before the FAQ itself. */
:is(.wp-block-shortcode,.elementor-widget-shortcode,.elementor-widget-container):has(> .teg-ea-page-surface--faq){margin-block-start:0!important;padding-block-start:0!important}
/* Let the Elementor block containing the FAQ grow rather than clip the page scroll. */
:is(.wp-block-shortcode,.elementor-widget-shortcode,.elementor-widget-container,.elementor-widget-wrap,.elementor-column,.elementor-section,.e-con):has(.teg-ea-page-surface--faq){height:auto!important;max-height:none!important;overflow:visible!important}

/* The FAQ must grow with its content so that the UAE footer follows it in the document. */
.teg-ea-page-surface.teg-ea-page-surface--faq{height:auto;min-height:0;max-height:none;overflow:visible;isolation:auto;padding-top:0;padding-bottom:0}
.teg-ea-page-surface--faq:focus-visible{outline:2px solid #d79ca5;outline-offset:-2px}

.teg-external-affairs-document,.teg-external-affairs-faq{box-sizing:border-box;max-width:var(--tea-width);margin:0 auto;padding:clamp(20px,4vw,46px);background:var(--tea-paper);color:var(--tea-text);font-family:var(--tea-font);font-size:var(--tea-body);line-height:1.9;overflow-wrap:anywhere}
.teg-external-affairs-document *,.teg-external-affairs-faq *{box-sizing:border-box}
.teg-ea-document-title{font-size:var(--tea-title,30px)!important;line-height:1.4;letter-spacing:.03em;margin:0;color:var(--tea-text)}
.teg-external-affairs-meta{color:var(--tea-muted);font-size:.8em;letter-spacing:.04em;margin:0 0 2em;padding-bottom:1em;border-bottom:1px solid var(--tea-line)}
.teg-ea-toc{border-block:1px solid var(--tea-line);margin:0 0 calc(var(--tea-spacing)*1.4);padding:.5em 0;color:var(--tea-muted)}
.teg-ea-toc summary{cursor:pointer;color:var(--tea-accent);font-weight:700}
.teg-ea-toc ol{columns:2;column-gap:2em;margin:1em 0;padding-left:1.5em;font-size:.9em}
.teg-ea-toc li{break-inside:avoid;margin:.15em 0}
.teg-ea-toc a{color:var(--tea-text);text-decoration:none;border-bottom:1px solid var(--tea-line)}
.teg-ea-clause{margin:0 0 var(--tea-spacing);padding:0;scroll-margin-top:2em}
.teg-external-affairs-document.has-title>.teg-ea-clause:first-of-type{margin-top:var(--tea-intro-gap,28px)}
.teg-ea-clause:last-child{margin-bottom:0}
.teg-ea-clause.is-line,.teg-ea-clause.is-panel{border-left:var(--tea-clause-stroke,3px) solid var(--tea-clause-accent,var(--tea-accent-line,var(--tea-accent)));padding-left:clamp(14px,2vw,24px)}
.teg-ea-clause.is-panel{background:#f8f5f6;padding:18px 22px}
.teg-ea-clause h3{font-size:var(--tea-heading)!important;font-weight:700;line-height:1.5;color:var(--tea-text);margin:0 0 var(--tea-heading-gap,12px)}
.teg-ea-clause-body{font-size:var(--tea-body)!important;line-height:1.9;white-space:pre-line}
.teg-external-affairs-notice{max-width:var(--tea-width);margin:1.5em auto;border-left:3px solid var(--tea-accent);padding:.65em 1em;background:var(--tea-paper);color:var(--tea-text)}
.teg-external-affairs-future{margin:2em auto;max-width:var(--tea-width)}
.teg-external-affairs-faq-category{color:var(--tea-text);font-size:1.3em;margin:2em 0 .8em;padding-bottom:.5em;border-bottom:2px solid var(--tea-accent-line,var(--tea-accent))}
.teg-external-affairs-faq-item{margin:0 0 1em;padding:0 0 1em;border-bottom:1px solid var(--tea-line)}
.teg-external-affairs-faq-question{font-size:1.05em;line-height:1.6;font-weight:700;margin:0 0 .5em;color:var(--tea-text)}
.teg-external-affairs-faq-answer{color:var(--tea-text);line-height:1.85}
.teg-external-affairs-faq--cards .teg-external-affairs-faq-item{border:1px solid var(--tea-line);padding:1.1em;margin:0 0 1em}
.teg-external-affairs-faq--accordion .teg-external-affairs-faq-item{padding:0;margin:0}
.teg-external-affairs-faq--accordion .teg-external-affairs-faq-question{cursor:pointer;list-style:none;position:relative;padding:1em 0 1em 1.7em;margin:0}
.teg-external-affairs-faq--accordion .teg-external-affairs-faq-question::-webkit-details-marker{display:none}
.teg-external-affairs-faq--accordion .teg-external-affairs-faq-question::marker{content:''}
.teg-external-affairs-faq--accordion .teg-external-affairs-faq-question:after{content:'＋';color:var(--tea-accent);position:absolute;left:0;top:1em}
.teg-external-affairs-faq--accordion [open]>.teg-external-affairs-faq-question:after{content:'−'}
.teg-external-affairs-faq--accordion .teg-external-affairs-faq-answer{padding:0 1em 1.3em 0}
@media(max-width:640px){.teg-external-affairs-document,.teg-external-affairs-faq{padding:22px 16px}.teg-ea-toc ol{columns:1}}
@media(max-width:640px){.teg-external-affairs-document,.teg-external-affairs-faq{font-size:var(--tea-body-mobile,var(--tea-body))}.teg-ea-document-title{font-size:var(--tea-title-mobile,var(--tea-title))!important}.teg-ea-clause h3{font-size:var(--tea-heading-mobile,var(--tea-heading))!important}.teg-ea-clause-body{font-size:var(--tea-body-mobile,var(--tea-body))!important}}

/* FAQ and portal pages share the same transparent page-background contract. */
.teg-ea-faq-page,.teg-ea-portal-page{box-sizing:border-box;width:100%;max-width:var(--tea-faq-width,860px);margin:0 auto;padding:var(--tea-faq-padding,24px);background:var(--tea-faq-background,transparent);color:var(--tea-faq-text,#fff5f5);font-family:var(--tea-faq-font,"Noto Sans JP",sans-serif);overflow-wrap:anywhere}
.teg-ea-faq-page *,.teg-ea-portal-page *{box-sizing:border-box}
.teg-ea-faq-page{padding-top:var(--tea-faq-top-gap,0px);padding-bottom:0}
.teg-ea-faq-bottom-space{height:calc(var(--tea-faq-bottom-gap,32px) + env(safe-area-inset-bottom,0px))}
.teg-ea-faq-title{font-size:var(--tea-faq-title-size,32px)!important;font-weight:var(--tea-faq-title-weight,700)!important;line-height:1.4;color:var(--tea-faq-title-color,var(--tea-faq-text))!important;margin:0 0 var(--tea-faq-title-gap,24px)!important}
.teg-ea-faq-intro{font-size:var(--tea-faq-intro-size,16px)!important;font-weight:var(--tea-faq-intro-weight,400)!important;white-space:pre-line;color:var(--tea-faq-intro-color,#d9c5c8)!important;margin:0 0 var(--tea-faq-intro-gap,28px)!important;line-height:1.8}
.teg-ea-faq-group{margin:0 0 var(--tea-faq-category-gap,34px)}
.teg-ea-faq-group:last-child,.teg-ea-faq-group:has(+ .teg-ea-faq-contact){margin-bottom:0}
.teg-ea-faq-category{font-size:var(--tea-faq-category-size,21px)!important;font-weight:var(--tea-faq-category-weight,700)!important;line-height:1.5;color:var(--tea-faq-category-color,var(--tea-faq-text))!important;margin:0 0 var(--tea-faq-category-heading-gap,14px)!important;padding:0 0 9px;border-bottom:var(--tea-faq-line-width,1px) solid var(--tea-faq-line,#77444b)}
.teg-ea-faq-entry{margin:0 0 var(--tea-faq-item-gap,10px);padding:16px 19px;border:var(--tea-faq-line-width,1px) solid var(--tea-faq-line,#77444b);background:var(--tea-faq-card-background,transparent);color:var(--tea-faq-text)}
.teg-ea-faq-entry:last-child{margin-bottom:0}
.teg-ea-faq-q{display:block;font-size:var(--tea-faq-question-size,17px)!important;font-weight:var(--tea-faq-question-weight,700)!important;line-height:1.55;color:var(--tea-faq-question-color,var(--tea-faq-text))!important;margin:0!important}
.teg-ea-faq-a{font-size:var(--tea-faq-answer-size,15px)!important;font-weight:var(--tea-faq-answer-weight,400)!important;line-height:1.85;color:var(--tea-faq-answer-color,var(--tea-faq-text))!important;margin:var(--tea-faq-question-answer-gap,12px) 0 0}
.teg-ea-faq-page--accordion .teg-ea-faq-q{cursor:pointer;list-style:none;display:flex;align-items:flex-start;gap:var(--tea-faq-toggle-gap,12px)}
.teg-ea-faq-page--accordion .teg-ea-faq-q::-webkit-details-marker{display:none}
.teg-ea-faq-page--accordion .teg-ea-faq-q::marker{content:''}
.teg-ea-faq-toggle{display:inline-block;flex:none;min-width:1em;font-size:var(--tea-faq-toggle-size,17px)!important;font-weight:var(--tea-faq-toggle-weight,700)!important;line-height:1.55;text-align:center;color:var(--tea-faq-toggle-color,var(--tea-faq-accent,#d79ca5))!important}
.teg-ea-faq-toggle::before{content:'＋'}
.teg-ea-faq-entry[open]>.teg-ea-faq-q .teg-ea-faq-toggle::before{content:'−'}
.teg-ea-faq-q-text{min-width:0;flex:1}
.teg-ea-faq-page--plain .teg-ea-faq-entry{padding:14px 0;border-width:0 0 var(--tea-faq-line-width,1px);background:transparent}
.teg-ea-faq-page--cards .teg-ea-faq-entry{border-radius:8px}
.teg-ea-faq-contact{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;margin:var(--tea-faq-contact-gap,40px) auto 0!important;text-align:center!important}
.teg-ea-faq-contact-note{font-size:var(--tea-faq-contact-note-size,13px)!important;font-weight:var(--tea-faq-contact-note-weight,400)!important;line-height:1.65;color:var(--tea-faq-contact-note-color,#d9c5c8)!important;text-align:center;white-space:pre-line;margin:var(--tea-faq-contact-note-gap,10px) auto 0!important}
.teg-ea-faq-page .teg-ea-page-button{display:inline-flex!important;width:auto!important;max-width:100%;font-size:var(--tea-faq-button-size,16px)!important;font-weight:var(--tea-faq-button-weight,700)!important;padding:var(--tea-faq-button-padding,15px) 25px;border-radius:var(--tea-faq-button-radius,5px);border:1px solid var(--tea-faq-button-border,#d79ca5);background:var(--tea-faq-button-background,#8f1825);color:var(--tea-faq-button-text,#fff)!important}
.teg-ea-page-button{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:44px;text-decoration:none!important;font-weight:700;line-height:1.5;transition:filter .15s ease}
.teg-ea-page-button:hover,.teg-ea-page-button:focus{filter:brightness(1.16);text-decoration:none!important}
.teg-ea-portal-page{max-width:var(--tea-portal-width,800px);padding:var(--tea-portal-padding,24px);background:var(--tea-portal-background,transparent);color:var(--tea-portal-text,#fff5f5);font-family:var(--tea-portal-font,"Noto Sans JP",sans-serif)}
.teg-ea-portal-title{font-size:var(--tea-portal-title-size,32px)!important;font-weight:var(--tea-portal-title-weight,700)!important;line-height:1.4;color:var(--tea-portal-title-color,#fff5f5)!important;margin:0 0 var(--tea-portal-title-gap,24px)!important}
.teg-ea-portal-body{font-size:var(--tea-portal-body-size,16px)!important;font-weight:var(--tea-portal-body-weight,400)!important;line-height:1.85;color:var(--tea-portal-body-color,#d9c5c8)!important;margin:0 0 var(--tea-portal-body-gap,26px)}
.teg-ea-portal-buttons{display:flex!important;flex-wrap:wrap;justify-content:center!important;align-items:center!important;width:100%;margin-left:auto!important;margin-right:auto!important;gap:var(--tea-portal-button-gap,14px)}
.teg-ea-portal-page .teg-ea-page-button{display:inline-flex!important;width:auto!important;max-width:100%;font-size:var(--tea-portal-button-size,16px)!important;font-weight:var(--tea-portal-button-weight,700)!important;padding:var(--tea-portal-button-padding,15px) 25px;border:var(--tea-portal-button-border-width,1px) solid var(--tea-portal-button-border,#d79ca5);border-radius:var(--tea-portal-button-radius,5px);background:var(--tea-portal-button-background,#8f1825);color:var(--tea-portal-button-text,#fff)!important}
.teg-ea-portal-note{font-size:var(--tea-portal-body-size,16px)!important;font-weight:var(--tea-portal-note-weight,400)!important;line-height:1.8;color:var(--tea-portal-muted,#d9c5c8)!important;margin-top:var(--tea-portal-body-gap,26px)}
@media(max-width:640px){.teg-ea-faq-title{font-size:var(--tea-faq-title-size-mobile,25px)!important}.teg-ea-faq-intro{font-size:var(--tea-faq-intro-size-mobile,15px)!important}.teg-ea-faq-category{font-size:var(--tea-faq-category-size-mobile,18px)!important}.teg-ea-faq-q{font-size:var(--tea-faq-question-size-mobile,15px)!important}.teg-ea-faq-a{font-size:var(--tea-faq-answer-size-mobile,14px)!important}.teg-ea-faq-page .teg-ea-page-button{font-size:var(--tea-faq-button-size-mobile,15px)!important}.teg-ea-portal-title{font-size:var(--tea-portal-title-size-mobile,25px)!important}.teg-ea-portal-body,.teg-ea-portal-note{font-size:var(--tea-portal-body-size-mobile,15px)!important}.teg-ea-portal-page .teg-ea-page-button{font-size:var(--tea-portal-button-size-mobile,15px)!important;max-width:100%}.teg-ea-portal-buttons{flex-direction:column;align-items:center}}
@media(max-width:640px){.teg-ea-faq-toggle{font-size:var(--tea-faq-toggle-size-mobile,15px)!important}}
@media(max-width:640px){.teg-ea-faq-contact-note{font-size:var(--tea-faq-contact-note-size-mobile,12px)!important}}
@media(max-width:767px){.teg-ea-page-surface{padding:30px 15px 46px;background-image:url(tegakist-page-bg-mobile.png);background-position:center top;background-attachment:scroll}.teg-ea-page-surface__inner{min-width:0}body:has(.teg-ea-page-surface:not(.teg-ea-page-surface--faq)){background-image:url(tegakist-page-bg-mobile.png);background-position:center top;background-attachment:scroll}}

/* Keep the last FAQ item above the visible viewport edge; avoid resizing while the user scrolls. */
@media (max-width:767px){.teg-ea-page-surface.teg-ea-page-surface--faq.is-mobile-scroll{height:var(--tea-faq-available-height)!important;min-height:0;max-height:var(--tea-faq-available-height)!important;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}}

/* Keep the three legal pages aligned to the same Elementor spacer placement. */
.teg-ea-page-surface.teg-ea-page-surface--document{padding-top:0!important}

/* Normalize the immediate shortcode wrapper without modifying the Elementor spacer above it. */
:is(.wp-block-shortcode,.elementor-widget-shortcode,.elementor-widget-container,.elementor-shortcode):has(.teg-ea-page-surface--document){margin-block-start:0!important;padding-block-start:0!important}

/* Desktop FAQ follows the page scrollbar, even when a theme locks body overflow. */
@media(min-width:768px){
html:has(.teg-ea-page-surface--faq){height:auto!important;overflow-y:auto!important}
body:has(.teg-ea-page-surface--faq){height:auto!important;max-height:none!important;overflow-y:visible!important}
.teg-ea-page-surface.teg-ea-page-surface--faq.is-desktop-scroll{height:var(--tea-faq-available-height)!important;min-height:0;max-height:var(--tea-faq-available-height)!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}
}
