/* IKIGAI Visa v1 — scoped to plugin page; existing WordPress theme header/footer remain intact. */
.ikigai-visa-site{--iv-wine:#870020;--iv-deep:#4f0015;--iv-gold:#c7a45b;--iv-ink:#281c20;--iv-cream:#faf7f2;--iv-heading:var(--e-global-typography-primary-font-family,Georgia,serif);--iv-body:var(--e-global-typography-text-font-family,Arial,sans-serif);width:100vw;max-width:100vw;position:relative;left:50%;margin-left:-50vw;background:#fff;color:var(--iv-ink);font-family:var(--iv-body);font-size:15px;line-height:1.6;box-sizing:border-box;overflow:hidden}
.ikigai-visa-site *,.ikigai-visa-site *:before,.ikigai-visa-site *:after{box-sizing:border-box}
.ikigai-visa-site h1,.ikigai-visa-site h2,.ikigai-visa-site h3,.ikigai-visa-site p{margin:0}
.ikigai-visa-site h1,.ikigai-visa-site h2,.ikigai-visa-site h3{font-family:var(--iv-heading);font-weight:500;line-height:1.12;letter-spacing:-.03em}
.ikigai-visa-site h2{font-size:clamp(32px,3.6vw,51px)}
.ikigai-visa-site a{text-decoration:none}.ikigai-visa-site a:hover{text-decoration:none}
.ikigai-visa-site button,.ikigai-visa-site input,.ikigai-visa-site select,.ikigai-visa-site textarea{font-family:var(--iv-body)}
.ikigai-container{width:min(1280px,calc(100% - 80px));margin:auto}
.ikigai-hero{position:relative;color:#fff;background-image:linear-gradient(90deg,rgba(13,12,12,.82) 0%,rgba(11,14,15,.59) 35%,rgba(17,16,17,.18) 64%,rgba(22,18,18,.15) 100%),var(--ikigai-photo);background-size:cover;background-position:center center;min-height:780px;display:flex;align-items:center;padding:138px 0 95px}
.ikigai-hero:after{position:absolute;content:'';inset:auto 0 0;height:95px;background:linear-gradient(transparent,rgba(20,12,12,.15));pointer-events:none}
.ikigai-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(430px,.91fr);gap:6.5%;align-items:center;position:relative;z-index:1}
.ikigai-hero-copy{max-width:595px;padding-bottom:30px}
.ikigai-eyebrow,.ikigai-kicker,.ikigai-field-step{font-size:11px!important;letter-spacing:.24em;font-weight:750!important;text-transform:uppercase}
.ikigai-eyebrow{color:var(--iv-gold);margin-bottom:24px!important}.ikigai-eyebrow span{padding:0 9px;color:#e9dfb8}
.ikigai-hero-copy h1{color:#fff!important;font-size:clamp(52px,5.4vw,83px);line-height:1.02;margin-bottom:22px!important;max-width:620px;text-shadow:0 2px 25px rgba(0,0,0,.15)}
.ikigai-hero-copy h1 em{display:block;font-weight:400;font-style:italic;color:#f6e9d0}
.ikigai-hero-sw{font-family:var(--iv-heading);font-size:26px;color:#fff;margin-bottom:8px!important}
.ikigai-hero-intro{color:#f0ede9;line-height:1.75;font-size:16px;max-width:490px;margin-bottom:28px!important}
.ikigai-hero-benefits{display:flex;flex-wrap:wrap;gap:12px 22px;margin-bottom:36px;border-top:1px solid rgba(255,255,255,.28);padding-top:18px}
.ikigai-hero-benefits span{font-size:12px;font-weight:600;color:#f3e9df}
.ikigai-hero-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid var(--iv-gold);color:#fff!important;padding-bottom:9px;font-size:14px;font-weight:700}.ikigai-hero-link span{font-size:23px;font-weight:300;color:#e3c887}
.ikigai-form-card{background:#fff;border-radius:6px;padding:32px 36px 24px;color:var(--iv-ink);box-shadow:0 24px 70px rgba(0,0,0,.2);max-width:545px;width:100%;margin-left:auto}
.ikigai-form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:17px}
.ikigai-kicker{color:#b18c4c;margin-bottom:11px!important}
.ikigai-form-header h2{font-size:31px!important;color:var(--iv-wine);margin:2px 0 7px!important}
.ikigai-form-header p{font-size:12px;line-height:1.55;color:#7b7071}
.ikigai-form-indicator{white-space:nowrap;color:#8c8583;letter-spacing:.04em;font-size:12px;padding-top:10px}.ikigai-form-indicator strong{color:var(--iv-wine);font-size:20px}
.ikigai-steps{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 25px;position:relative}
.ikigai-steps:before{position:absolute;content:"";top:14px;left:10%;right:10%;height:1px;background:#e7dfdc}
.ikigai-step-dot{position:relative;text-align:center;flex:1;color:#8c8685}.ikigai-step-dot span{display:flex;width:30px;height:30px;margin:0 auto 6px;background:#f7f4f1;color:#74696c;border:1px solid #e7dfdc;border-radius:50%;align-items:center;justify-content:center;font-weight:700;font-size:12px}
.ikigai-step-dot small{font-size:10px;display:block}.ikigai-step-dot.is-active span,.ikigai-step-dot.is-complete span{color:#fff;background:var(--iv-wine);border-color:var(--iv-wine)}.ikigai-step-dot.is-active small{color:var(--iv-wine);font-weight:700}
.ikigai-pane[hidden],.ikigai-back[hidden],.ikigai-next[hidden],.ikigai-submit[hidden],.ikigai-success[hidden],.ikigai-whatsapp-link[hidden],.ikigai-form-error[hidden]{display:none!important}
.ikigai-pane h3{font-size:26px;color:var(--iv-wine);margin:1px 0 6px!important}.ikigai-field-step{color:var(--iv-gold);margin-bottom:7px!important}.ikigai-step-help{color:#807478;font-size:12px;margin-bottom:18px!important}
.ikigai-visa-form label{display:block;font-size:12px;color:#3d3034;font-weight:700;margin-bottom:14px;line-height:1.35}
.ikigai-visa-form label strong{color:#aa113d}.ikigai-muted{font-weight:400;color:#a4999a}
.ikigai-visa-form select,.ikigai-visa-form input:not([type=checkbox]):not([type=hidden]),.ikigai-visa-form textarea{margin-top:6px;padding:10px 11px;width:100%;height:45px;border:1px solid #e3dbda;background:#fff;border-radius:4px;outline:0;line-height:1.25;box-shadow:none;font-size:13px;color:#493c40;appearance:auto}
.ikigai-visa-form textarea{height:auto;min-height:80px;resize:vertical;line-height:1.5}
.ikigai-visa-form select:focus,.ikigai-visa-form input:focus,.ikigai-visa-form textarea:focus{border-color:#9d6b77;box-shadow:0 0 0 3px rgba(135,0,32,.07)}
.ikigai-visa-form .ikigai-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ikigai-consent{display:flex!important;gap:11px;font-size:12px!important;font-weight:400!important;color:#655b5e!important;line-height:1.45!important;align-items:flex-start;margin-top:5px}.ikigai-consent input{margin-top:2px;width:17px;height:17px;accent-color:var(--iv-wine);flex:0 0 auto}
.ikigai-unconfirmed{border-left:2px solid #c5a55c;padding:9px 11px;background:#f9f6ee;color:#766b58;font-size:11px;line-height:1.55;margin-bottom:11px!important}
.ikigai-form-actions{display:flex;gap:10px;margin-top:8px}.ikigai-form-actions button{cursor:pointer;border:0;font-weight:750;font-size:12px;min-height:46px;border-radius:4px;padding:10px 15px}
.ikigai-next,.ikigai-submit{flex:1;color:#fff;background:var(--iv-wine);transition:background .2s ease}.ikigai-next:hover,.ikigai-submit:hover{background:var(--iv-deep)}.ikigai-next span{float:right;font-size:19px;font-weight:400;line-height:13px}
.ikigai-back{background:#f2edeb;color:var(--iv-wine)}.ikigai-back:hover{background:#e9dfdd}
.ikigai-form-note{font-size:10px;color:#8c8385;text-align:center;line-height:1.55;margin-top:14px!important}
.ikigai-form-error{padding:10px 12px;border-radius:3px;margin:0 0 14px;background:#fff0f1;color:#92283f;font-size:12px}
.ikigai-honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ikigai-success{text-align:center;padding:35px 5px 25px}.ikigai-success-icon{display:inline-grid;place-items:center;background:#e9f6ed;border-radius:50%;font-size:27px;color:#198447;width:66px;height:66px;margin-bottom:20px}.ikigai-success h3{font-size:31px;color:var(--iv-wine);margin:0 0 10px!important}.ikigai-success p{color:#675c61;margin-bottom:15px!important}.ikigai-success-ref{font-weight:800;font-size:12px;color:#8b001f}.ikigai-whatsapp-link{display:inline-block;color:white!important;background:#0a9e54;padding:12px 20px;border-radius:3px;margin-top:8px;font-size:13px;font-weight:750}
.ikigai-trust-strip{background:#fbf9f5;border-bottom:1px solid #eee7dc}.ikigai-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:22px 0;gap:12px}.ikigai-trust-strip span{font-size:12px;font-weight:750;color:#6e5556;letter-spacing:.01em}
.ikigai-section{padding:100px 0}.ikigai-intro-grid,.ikigai-proof-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}
.ikigai-picture{min-height:470px;background-image:var(--ikigai-photo);background-position:center;background-size:cover;position:relative;display:flex;align-items:flex-end;padding:25px;border-radius:2px}
.ikigai-picture>span{background:rgba(255,255,255,.94);color:#715c4c;font-size:10px;font-weight:750;letter-spacing:.2em;padding:12px 15px}
.ikigai-section-copy h2,.ikigai-proof h2{color:var(--iv-wine);margin:0 0 21px!important}.ikigai-section-copy>p:not(.ikigai-kicker),.ikigai-proof-grid>div>p:not(.ikigai-kicker){color:#6d6463;font-size:15px;line-height:1.8;margin-bottom:22px!important}
.ikigai-feature-list{border-top:1px solid #e6dfdb;margin:20px 0 23px}.ikigai-feature-list>div{border-bottom:1px solid #e6dfdb;display:flex;gap:19px;padding:17px 0;align-items:start}.ikigai-feature-list strong{color:#b79a63;font-size:12px;font-weight:800}.ikigai-feature-list span{display:block;color:#817579;font-size:13px}.ikigai-feature-list b{display:block;font-size:14px;color:#352a2a;margin-bottom:3px}
.ikigai-text-link{color:var(--iv-wine)!important;text-decoration:none!important;border-bottom:1px solid var(--iv-wine);font-size:13px;font-weight:800;padding-bottom:6px}
.ikigai-center-heading{text-align:center;max-width:740px;margin:0 auto 41px}.ikigai-center-heading h2{color:var(--iv-wine);margin-bottom:13px!important}.ikigai-center-heading h2 em,.ikigai-proof h2 em{font-style:italic;font-weight:400;color:#9d777c}.ikigai-center-heading>p:not(.ikigai-kicker){color:#7b7370;font-size:14px}
.ikigai-how{background:#fbf9f6}.ikigai-how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.ikigai-how-grid>div{background:white;border:1px solid #ece5e2;padding:28px 24px;min-height:213px}.ikigai-how-grid span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--iv-wine);color:#fff;font-weight:750;font-size:14px;margin-bottom:20px}.ikigai-how-grid h3{font-size:20px;color:#5c1527;margin-bottom:9px!important}.ikigai-how-grid p{font-size:12px;color:#7f7477;line-height:1.65}
.ikigai-services-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}.ikigai-services-grid>div{display:flex;flex-direction:column;gap:13px;align-items:center;text-align:center;justify-content:center;min-height:130px;background:#faf8f5;border:1px solid #ebe4df;border-radius:4px;color:var(--iv-wine);font-size:26px}.ikigai-services-grid strong{color:#413338;font-size:11px;font-weight:750;line-height:1.4}.ikigai-services-footnote{text-align:center;color:#877b7b;font-size:12px;margin-top:20px!important}
.ikigai-proof{background:#f8f5f2}.ikigai-proof-photo{min-height:390px}.ikigai-proof-grid>div:first-child{max-width:570px}
.ikigai-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}.ikigai-faq details{background:#f9f7f4;border:1px solid #eae3df;padding:0 19px}.ikigai-faq summary{list-style:none;position:relative;cursor:pointer;font-weight:700;font-size:14px;padding:18px 28px 18px 0;line-height:1.4}.ikigai-faq summary::-webkit-details-marker{display:none}.ikigai-faq summary:after{content:'+';position:absolute;right:0;font-size:21px;top:11px;color:var(--iv-wine);font-weight:400}.ikigai-faq details[open] summary:after{content:'−'}.ikigai-faq details p{font-size:13px;color:#756b6e;padding:0 0 18px;line-height:1.75}.ikigai-faq-sw{text-align:center;margin-top:23px!important;color:#837678;font-size:12px}
.ikigai-cta{color:#fff;background-image:linear-gradient(90deg,rgba(57,0,14,.95) 0%,rgba(95,3,24,.87) 58%,rgba(52,1,16,.55) 100%),var(--ikigai-photo);background-position:center;background-size:cover;padding:75px 0}.ikigai-cta-content{display:flex;align-items:center;justify-content:space-between;gap:35px}.ikigai-cta .ikigai-kicker{color:#d8ba73}.ikigai-cta h2{color:#fff;margin-bottom:9px!important}.ikigai-cta p:not(.ikigai-kicker){color:#f7e9ea}.ikigai-cta a{background:#fff;color:var(--iv-wine)!important;padding:16px 25px;font-size:13px;font-weight:800;white-space:nowrap}
/* Optional theme header overlay. Existing menu/logo are never replaced. */
body.ikigai-visa-header-overlay .elementor-location-header,body.ikigai-visa-header-overlay #masthead,body.ikigai-visa-header-overlay .site-header{position:absolute!important;top:0;left:0;width:100%;z-index:1000;background:transparent!important;box-shadow:none!important}
body.admin-bar.ikigai-visa-header-overlay .elementor-location-header,body.admin-bar.ikigai-visa-header-overlay #masthead,body.admin-bar.ikigai-visa-header-overlay .site-header{top:32px}
@media(max-width:1199px){.ikigai-container{width:min(1110px,calc(100% - 48px))}.ikigai-hero-grid{grid-template-columns:minmax(0,1fr) minmax(380px,.92fr);gap:35px}.ikigai-form-card{padding:26px}.ikigai-services-grid{grid-template-columns:repeat(5,1fr)}.ikigai-hero-copy h1{font-size:62px}}
@media(max-width:860px){.ikigai-hero{padding:155px 0 65px}.ikigai-hero-grid{grid-template-columns:1fr;gap:35px}.ikigai-hero-copy{max-width:660px;padding:0}.ikigai-hero-copy h1{font-size:clamp(46px,8vw,70px)}.ikigai-form-card{margin:0 auto;max-width:640px}.ikigai-trust-grid{grid-template-columns:repeat(2,1fr)}.ikigai-intro-grid,.ikigai-proof-grid{grid-template-columns:1fr;gap:35px}.ikigai-intro .ikigai-picture{order:1;min-height:400px}.ikigai-intro .ikigai-section-copy{order:2}.ikigai-how-grid{grid-template-columns:repeat(2,1fr)}.ikigai-services-grid{grid-template-columns:repeat(3,1fr)}.ikigai-section{padding:75px 0}}
@media(max-width:540px){.ikigai-container{width:calc(100% - 32px)}.ikigai-hero{padding:115px 0 42px;background-position:42% center}.ikigai-hero-copy h1{font-size:46px}.ikigai-hero-sw{font-size:23px}.ikigai-hero-intro{font-size:14px}.ikigai-form-card{padding:22px 19px}.ikigai-form-header h2{font-size:27px!important}.ikigai-pane h3{font-size:24px}.ikigai-step-dot small{font-size:9px}.ikigai-trust-grid{grid-template-columns:1fr 1fr;gap:12px}.ikigai-trust-grid span{font-size:10px}.ikigai-visa-form .ikigai-two-fields{grid-template-columns:1fr;gap:0}.ikigai-visa-site h2{font-size:35px}.ikigai-section{padding:61px 0}.ikigai-picture{min-height:320px}.ikigai-how-grid{grid-template-columns:1fr 1fr;gap:9px}.ikigai-how-grid>div{padding:20px 15px;min-height:215px}.ikigai-how-grid h3{font-size:18px}.ikigai-services-grid{grid-template-columns:repeat(3,1fr);gap:6px}.ikigai-services-grid>div{min-height:105px;font-size:22px;padding:7px}.ikigai-services-grid strong{font-size:10px}.ikigai-faq-grid{grid-template-columns:1fr}.ikigai-cta-content{flex-direction:column;align-items:flex-start}.ikigai-cta a{white-space:normal}.ikigai-center-heading{margin-bottom:28px}body.admin-bar.ikigai-visa-header-overlay .elementor-location-header,body.admin-bar.ikigai-visa-header-overlay #masthead,body.admin-bar.ikigai-visa-header-overlay .site-header{top:46px}}

/* Hide theme-generated default page title, not the actual site header. */
body.ikigai-visa-page .entry-header:not(.elementor-location-header),body.ikigai-visa-page h1.entry-title,body.ikigai-visa-page .page-title{display:none!important}

/* v1.1 — Match the website typography; leave all navigation / footer CSS to theme. */
body.ikigai-visa-page .ikigai-visa-site {
  --iv-heading: var(--e-global-typography-primary-font-family, var(--title-font, var(--th-title-font, inherit)));
  --iv-body: var(--e-global-typography-text-font-family, var(--body-font, var(--th-body-font, inherit)));
  font-family: var(--iv-body); font-size: 16px; line-height: 1.65;
}
body.ikigai-visa-page .ikigai-visa-site h1,
body.ikigai-visa-page .ikigai-visa-site h2,
body.ikigai-visa-page .ikigai-visa-site h3 {
  font-family: var(--iv-heading); letter-spacing: -.015em;
}
body.ikigai-visa-page .ikigai-hero {
  min-height: 700px; padding: 120px 0 80px;
  background-position: var(--ikigai-hero-position, center center);
}
body.ikigai-visa-page .ikigai-hero-copy h1 {
  font-size: clamp(46px, 4.6vw, 69px); line-height: 1.08;
  font-weight: 700; letter-spacing: -.02em;
}
body.ikigai-visa-page .ikigai-visa-site h2 {font-size: clamp(30px, 3vw, 43px);line-height:1.16}
body.ikigai-visa-page .ikigai-form-header h2 {font-size: 29px!important}
body.ikigai-visa-page .ikigai-pane h3 {font-size: 23px}
body.ikigai-visa-page .ikigai-hero-intro {font-size:16px;line-height:1.7}
body.ikigai-visa-page .ikigai-visa-form label {font-size:13px}
body.ikigai-visa-page .ikigai-visa-form select,
body.ikigai-visa-page .ikigai-visa-form input:not([type=checkbox]):not([type=hidden]),
body.ikigai-visa-page .ikigai-visa-form textarea {font-size:14px}
body.ikigai-visa-page .ikigai-section-copy>p:not(.ikigai-kicker),
body.ikigai-visa-page .ikigai-proof-grid>div>p:not(.ikigai-kicker) {font-size:16px}
body.ikigai-visa-page .ikigai-form-header p,
body.ikigai-visa-page .ikigai-step-help {font-size:13px}
body.ikigai-visa-page .ikigai-how-grid p {font-size:14px}
body.ikigai-visa-page .ikigai-faq summary {font-size:15px}
body.ikigai-visa-page .ikigai-faq details p {font-size:14px}
body.ikigai-visa-page .ikigai-form-actions button {font-size:14px}
/* On this page only: backup suppression of breadcrumb banner when theme templates are in use. */
body.ikigai-visa-page :is(.breadcumb-wrapper,.breadcrumb-wrapper,.breadcumb-area,.breadcrumb-area,.breadcrumb-section,.page-banner,.page-title-area,.page-title-section,.inner-banner,.inner-banner-area,.inner-page-banner,.page-header-banner,.breadcrumb-banner,.page-breadcrumb):not(.ikigai-visa-site *) {display:none!important}
/* Avoid admin-bar conflict with a fixed or overlayed theme header. */
@media(max-width:860px) {
  body.ikigai-visa-page .ikigai-hero {min-height:0;padding:135px 0 66px;}
  body.ikigai-visa-page .ikigai-hero-copy h1 {font-size:clamp(42px,7vw,60px)}
}
@media(max-width:540px) {
  body.ikigai-visa-page .ikigai-hero {padding:115px 0 42px;background-position:var(--ikigai-hero-position, 40% center)}
  body.ikigai-visa-page .ikigai-hero-copy h1 {font-size:clamp(37px,10vw,46px)}
  body.ikigai-visa-page .ikigai-visa-site h2 {font-size:32px}
  body.ikigai-visa-page .ikigai-form-header h2 {font-size:26px!important}
}

/* v1.3 — Keep the plugin flush to the real Travlla footer.
   Do not use a negative-margin gradient bridge: it cannot color a separate theme wrapper. */
body.ikigai-visa-page .ikigai-visa-site {
  --iv-footer-bridge: 0px;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  background: #fff;
}
/* Dark backdrop behind Travlla's floating contact bar on this page only. */
body.ikigai-visa-page :is(.elementor-location-footer, .tv-footer, .tv-footer-sec, .footer-area, .footer-section, .site-footer) {
  background-color: #050505;
}
body.ikigai-visa-page .ikigai-visa-site + :is(footer,.site-footer,.elementor-location-footer) {
  margin-top: 0 !important;
}

/* Full-page typography, proportional to viewport, capped for legibility. */
body.ikigai-visa-page .ikigai-visa-site h2 {
  font-size: clamp(32px, 3.05vw, 52px);
  line-height: 1.18;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-section-copy > p:not(.ikigai-kicker),
body.ikigai-visa-page .ikigai-visa-site .ikigai-proof-grid > div > p:not(.ikigai-kicker),
body.ikigai-visa-page .ikigai-visa-site .ikigai-center-heading > p:not(.ikigai-kicker) {
  font-size: clamp(15px, 1.05vw, 19px);
  line-height: 1.78;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-how-grid h3 {
  font-size: clamp(18px, 1.35vw, 23px);
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-how-grid p,
body.ikigai-visa-page .ikigai-visa-site .ikigai-feature-list b,
body.ikigai-visa-page .ikigai-visa-site .ikigai-feature-list span {
  font-size: clamp(14px, .93vw, 17px);
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-faq summary {
  font-size: clamp(15px, 1vw, 18px);
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-faq details p {
  font-size: clamp(14px, .95vw, 17px);
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-services-grid strong {
  font-size: clamp(11px, .78vw, 15px);
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-trust-strip span {
  font-size: clamp(12px, .85vw, 16px);
}

/* Final CTA: stronger hierarchy on large displays, readable on phones. */
body.ikigai-visa-page .ikigai-visa-site .ikigai-cta {
  padding-top: clamp(64px, 5.2vw, 100px);
  padding-bottom: clamp(76px, 5.5vw, 104px);
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-cta .ikigai-kicker {
  font-size: clamp(12px, .9vw, 16px) !important;
  letter-spacing: .17em;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-cta h2 {
  font-size: clamp(36px, 3.45vw, 64px);
  line-height: 1.08;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-cta p:not(.ikigai-kicker) {
  font-size: clamp(16px, 1.18vw, 22px);
  line-height: 1.5;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-cta a {
  font-size: clamp(14px, 1vw, 18px);
  line-height: 1.4;
  padding: clamp(15px, 1.15vw, 20px) clamp(20px, 1.6vw, 30px);
}
/* Footer itself belongs to Travlla/Elementor; affect type on this page only. */
body.ikigai-visa-page footer :is(.elementor-icon-box-title, .elementor-icon-box-title a, h4, h5) {
  font-size: clamp(16px, 1.13vw, 22px);
  line-height: 1.35;
}
body.ikigai-visa-page footer :is(.elementor-icon-box-description) {
  font-size: clamp(14px, .98vw, 19px);
  line-height: 1.5;
}
@media (max-width: 767px) {

  body.ikigai-visa-page .ikigai-visa-site .ikigai-cta-content {
    gap: 22px;
    align-items: flex-start;
  }
  body.ikigai-visa-page .ikigai-visa-site .ikigai-cta {
    padding-top: 60px;
    padding-bottom: 95px;
  }
  body.ikigai-visa-page .ikigai-visa-site .ikigai-cta a {
    white-space: normal;
    text-align: center;
  }
}
@media (max-width: 420px) {

  body.ikigai-visa-page .ikigai-visa-site .ikigai-how-grid h3 { font-size: 17px; }
}

/* Travlla Elementor footer first row: make background behind the floating contact card dark.
   The burgundy contact card keeps its own background. Only visa page affected. */
body.ikigai-visa-page .elementor-location-footer > .elementor > .elementor-element:first-child {
  background-color: #050505;
}

/* v1.4 — Typography, contact review, direct WhatsApp and narrow mobile resilience. */
body.ikigai-visa-page .ikigai-visa-site {
  --iv-body: "Wulkan Text", "Wulkan", var(--e-global-typography-text-font-family, var(--body-font, Georgia, serif));
  --iv-heading: "Montserrat", var(--e-global-typography-primary-font-family, Arial, sans-serif);
  font-family: var(--iv-body);
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
}
body.ikigai-visa-page .ikigai-visa-site :is(h1,h2,h3,h4,button,input,select,textarea,summary,span,p,a,small,label) {
  font-family: var(--iv-body);
}
body.ikigai-visa-page .ikigai-visa-site :is(h1,h2,h3,h4) {
  font-family: var(--iv-heading);
  overflow-wrap: break-word;
  hyphens: none;
  max-width: 100%;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-hero-copy h1 {
  font-size: clamp(38px,4.3vw,70px);
  line-height: 1.14;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-form-header h2 {
  font-size: clamp(25px,2.1vw,32px)!important;
  line-height: 1.2;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-pane h3 {
  font-size: clamp(22px,1.65vw,29px);
  line-height: 1.22;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-step-help,
body.ikigai-visa-page .ikigai-visa-site .ikigai-form-header p {
  font-size: clamp(13px,.92vw,16px);
  line-height: 1.6;
}
.ikigai-hero-actions {display:flex; align-items:flex-start; flex-direction:column; gap:17px;}
body.ikigai-visa-page .ikigai-visa-site .ikigai-direct-whatsapp {
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 17px; border:1px solid rgba(255,255,255,.48); border-radius:5px;
  color:#fff!important; background:rgba(4,122,65,.92);
  text-decoration:none; font-size:clamp(13px,.9vw,16px); line-height:1.45;
}
.ikigai-contact-review {
  border:1px solid #e9e0dd; background:#fbfaf8; border-radius:5px;
  padding:15px 16px; margin-bottom:22px;
}
.ikigai-contact-review-head {display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.ikigai-contact-review-head strong {color:#66041d;font-size:clamp(14px,1vw,17px);}
body.ikigai-visa-page .ikigai-visa-site .ikigai-edit-contact {
  border:0;background:transparent;cursor:pointer;padding:5px 0;
  color:#870020;text-decoration:underline;text-underline-offset:3px;
  font-size:clamp(12px,.84vw,14px);
}
.ikigai-contact-review dl {display:grid; grid-template-columns:1fr; gap:10px; margin:11px 0 0; min-width:0;}
.ikigai-contact-review dl>div {display:grid;grid-template-columns:88px minmax(0,1fr);gap:9px;align-items:start;min-width:0;}
.ikigai-contact-review dt {font-size:clamp(12px,.85vw,14px);color:#7b7473;}
.ikigai-contact-review dd {font-size:clamp(13px,.92vw,16px);font-weight:650;color:#32252c;margin:0;min-width:0;overflow-wrap:anywhere;}
body.ikigai-visa-page .ikigai-visa-site .ikigai-container,
body.ikigai-visa-page .ikigai-visa-site .ikigai-form-card,
body.ikigai-visa-page .ikigai-visa-site .ikigai-hero-grid,
body.ikigai-visa-page .ikigai-visa-site .ikigai-form-header,
body.ikigai-visa-page .ikigai-visa-site .ikigai-cta-content {min-width:0;}
body.ikigai-visa-page .ikigai-visa-site .ikigai-form-actions button {
  font-size:clamp(13px,.92vw,16px); white-space:normal;
  line-height:1.4; overflow-wrap:anywhere;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-steps > div {min-width:0;}
body.ikigai-visa-page .ikigai-visa-site .ikigai-step-dot small {display:block;overflow-wrap:anywhere;line-height:1.3;}
body.ikigai-visa-page .ikigai-visa-site .ikigai-two-fields > label {min-width:0;}
body.ikigai-visa-page .ikigai-visa-site .ikigai-two-fields input,
body.ikigai-visa-page .ikigai-visa-site .ikigai-two-fields select {min-width:0;max-width:100%;}
@media(max-width:600px){
  body.ikigai-visa-page .ikigai-visa-site h2 {font-size:clamp(27px,7.5vw,34px)!important;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-form-header h2 {font-size:clamp(24px,6.2vw,29px)!important;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-hero-copy h1 {font-size:clamp(34px,8.4vw,46px);}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-steps {gap:1px;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-how-grid {grid-template-columns:1fr;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-how-grid>div {min-height:0;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-services-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-form-actions {flex-wrap:wrap;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-form-actions button {min-width:0;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-cta-content a {max-width:100%;}
}
@media(max-width:390px){
  body.ikigai-visa-page .ikigai-container {width:calc(100% - 24px);}
  body.ikigai-visa-page .ikigai-form-card {padding:20px 14px;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-form-header {gap:7px;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-form-indicator {padding-top:4px;font-size:11px;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-form-indicator strong {font-size:17px;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-step-dot small {font-size:10px;}
  body.ikigai-visa-page .ikigai-visa-site .ikigai-form-actions button {padding:9px 10px;}
  .ikigai-contact-review dl>div {grid-template-columns:72px minmax(0,1fr);}
}

/* v1.4.1 — Visa Assistance only: Wulkan body + Montserrat headings.
   Do not alter Travlia navigation, header, or footer typography. */
body.ikigai-visa-page .ikigai-visa-site {
  --iv-body: "Wulkan Text", "Wulkan", Georgia, serif;
  --iv-heading: "Montserrat", Arial, sans-serif;
  font-family: var(--iv-body);
}
body.ikigai-visa-page .ikigai-visa-site :is(p,li,dt,dd,label,small,span,a,button,input,select,textarea,summary,blockquote) {
  font-family: var(--iv-body);
}
body.ikigai-visa-page .ikigai-visa-site :is(h1,h2,h3,h4,h5,h6),
body.ikigai-visa-page .ikigai-visa-site :is(.ikigai-hero-copy,.ikigai-form-header,.ikigai-pane,.ikigai-center-heading,.ikigai-section-copy,.ikigai-cta,.ikigai-how-grid) :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--iv-heading) !important;
  font-style: normal;
  overflow-wrap: break-word;
  word-break: normal;
}
/* Retain planned responsive sizes and allow long button labels to wrap gracefully. */
body.ikigai-visa-page .ikigai-visa-site :is(button,a,input,select,textarea) {
  max-width: 100%;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-form-actions button {
  white-space: normal;
  overflow-wrap: anywhere;
}

/* v1.4.2 — Readable black body copy on light / non-photo areas.
   Keep burgundy headings/links, gold eyebrow labels, and white text on
   photographic hero/CTA, dark buttons, and theme footer unchanged.
   Scoped to Visa Assistance page only. */
body.ikigai-visa-page .ikigai-visa-site {
  --iv-light-surface-copy: #000;
}
body.ikigai-visa-page .ikigai-visa-site :is(
  .ikigai-form-header p,
  .ikigai-form-indicator,
  .ikigai-step-help,
  .ikigai-form-note,
  .ikigai-unconfirmed,
  .ikigai-consent,
  .ikigai-muted,
  .ikigai-trust-strip span,
  .ikigai-section-copy > p:not(.ikigai-kicker),
  .ikigai-proof-grid > div > p:not(.ikigai-kicker),
  .ikigai-feature-list span,
  .ikigai-feature-list b,
  .ikigai-center-heading > p:not(.ikigai-kicker),
  .ikigai-how-grid p,
  .ikigai-services-grid strong,
  .ikigai-services-footnote,
  .ikigai-faq summary,
  .ikigai-faq details p,
  .ikigai-faq-sw,
  .ikigai-contact-review dt,
  .ikigai-contact-review dd,
  .ikigai-picture > span,
  .ikigai-success p
) {
  color: var(--iv-light-surface-copy) !important;
}
/* Form inputs and user choices are normal black text on white. */
body.ikigai-visa-page .ikigai-visa-site .ikigai-visa-form label,
body.ikigai-visa-page .ikigai-visa-site .ikigai-visa-form :is(select,input:not([type="checkbox"]):not([type="hidden"]),textarea) {
  color: var(--iv-light-surface-copy) !important;
}
body.ikigai-visa-page .ikigai-visa-site .ikigai-step-dot:not(.is-active) small,
body.ikigai-visa-page .ikigai-visa-site .ikigai-step-dot:not(.is-complete) small {
  color: var(--iv-light-surface-copy);
}
/* Placeholder text stays distinct from filled-in answers while remaining legible. */
body.ikigai-visa-page .ikigai-visa-site .ikigai-visa-form :is(input,textarea)::placeholder {
  color: #333 !important;
  opacity: 1;
}
