/* Softer surfaces and an open, rounded composition. */
body{background:radial-gradient(ellipse at 85% 5%,#11243955,transparent 32%),#080b10}
.header{width:min(1432px,calc(100% - 40px));margin:18px auto 0;padding:20px 30px;min-height:88px;border:1px solid #9acbff18;border-radius:28px;background:#121c28b3;box-shadow:0 16px 50px #00000020}
.nav-cta,.button{border-radius:999px}
.nav-cta{background:#aacfff0a;border-color:#9acbff30}
.button.light{box-shadow:0 6px 28px #8bc7ff15}
.hero-art{border-radius:48px 120px 48px 48px;border-color:#8bc7ff20;box-shadow:0 24px 80px #0006,0 0 75px #3275b31a}
.art-line{border-radius:38px 110px 38px 38px;border-color:#8bc7ff10}
.hero-footer{border:0;padding-top:12px}
.hero-top .eyebrow{padding:10px 15px;background:#8bc7ff0a;border:1px solid #8bc7ff14;border-radius:999px}
.service-strip{width:min(1320px,calc(100% - 64px));margin:8px auto 0;border:0;border-radius:999px;padding:25px 38px;background:linear-gradient(120deg,#18283b,#101924);box-shadow:inset 0 1px #ffffff08}
.services{background:transparent;padding-top:48px}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service,.service:last-child{display:flex;flex-direction:column;gap:25px;padding:36px;border:1px solid #96c5f51a;border-radius:32px;background:linear-gradient(145deg,#182638,#101720 75%);box-shadow:0 16px 40px #00000018;transition:transform .25s,border-color .25s}
.service:nth-child(2),.service:nth-child(3){background:linear-gradient(145deg,#111b27,#142337)}
.service:hover{transform:translateY(-4px);border-color:#8bc7ff50}
.service-name{padding-right:50px;gap:15px}
.number{display:flex;align-items:center;justify-content:center;min-width:29px;height:29px;margin-top:8px;border-radius:50%;background:#8bc7ff10;color:#b0d6fa;font-size:9px}
.service h3{font-size:40px}
.service-symbol{position:absolute;right:30px;top:34px;font-size:35px;width:50px;height:50px;border-radius:18px;background:#8bc7ff0b;display:grid;place-items:center;text-align:center}
.service-details{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding-left:0}
.service-details>p{max-width:none}
.service-details>a{margin-top:auto;border:0;border-radius:999px;padding:12px 17px;background:#8bc7ff10;gap:18px}
.service-details>a:hover{background:#8bc7ff20}
.service li::before{content:'·';font-size:16px}
.journey-steps{border:0;gap:20px;margin-top:45px}
.journey-steps li,.journey-steps li+li{padding:30px;border:0;border-radius:30px;background:#111b27}
.journey-steps li:nth-child(2){background:#152336}
.journey-steps li:nth-child(3){background:#1b2e43}
.step-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#8bc7ff10;margin-bottom:30px}
.method,.contact{width:min(1432px,calc(100% - 40px));margin-inline:auto;border:0;border-radius:48px;overflow:hidden}
.method{background:radial-gradient(ellipse at 100% 10%,#f4f9ff,#dceafa 65%)}
.method>.wrap,.contact>.wrap{width:calc(100% - 88px)}
.timeline{display:grid;gap:14px}
.timeline article{padding:25px;border:1px solid #ffffff70;border-radius:25px;background:#ffffff45;gap:16px}
.timeline article:last-child{padding-bottom:25px}
.timeline article:not(:last-child):before{display:none}
.timeline article>span{background:#ffffff90;border:0}
.text-link{border:0;padding:13px 18px;border-radius:999px;background:#476a8b12}
.faq-list{border:0;display:flex;flex-direction:column;gap:12px}
details{border:1px solid #8bc7ff12;border-radius:22px;background:#121c29;padding-inline:24px;overflow:hidden}
details[open]{background:#172536;border-color:#8bc7ff30}
summary{padding-block:22px}
summary span{display:grid;place-items:center;min-width:30px;height:30px;background:#8bc7ff10;border-radius:50%;font-size:20px}
.contact{background:radial-gradient(ellipse at 5% 100%,#1b5076,#10283e 45%,#101b29 90%);box-shadow:inset 0 1px #8bc7ff18}
.contact-panel{border-radius:32px;background:#09132180;border-color:#8bc7ff22;box-shadow:0 20px 50px #0002}
.booking-note{border:0;border-radius:20px;background:#a9d3fb08;padding:19px;margin-top:12px}
.footer{margin-top:12px}
.mobile-nav{left:20px;width:calc(100% - 40px);top:106px;border-radius:24px;box-shadow:0 20px 50px #0008}
.skip{border-radius:999px}
@media(max-width:1050px){
 .header{padding-inline:25px}.service{padding:28px}.service h3{font-size:34px}.service-symbol{right:23px;top:27px;font-size:30px;width:42px;height:42px;border-radius:15px}.service-name{gap:12px;padding-right:35px}.service h3>span{font-size:11px;line-height:1.5}.method>.wrap,.contact>.wrap{width:calc(100% - 56px)}.journey-steps li,.journey-steps li+li{padding:24px}.contact-grid{gap:26px}.contact-panel{padding:24px}.method-grid{gap:32px}.timeline article{padding:20px}.timeline article:last-child{padding-bottom:20px}
}
@media(max-width:700px){
 .header{width:calc(100% - 24px);margin-top:12px;border-radius:24px;padding:18px 20px;min-height:78px}.hero{padding-top:22px}.hero-top .eyebrow{padding:9px 12px;font-size:7px;letter-spacing:1.1px}.hero-art{border-radius:30px 80px 30px 30px}.art-line{border-radius:22px 70px 22px 22px}.service-strip{width:calc(100% - 32px);padding:20px 22px;border-radius:24px;gap:8px;font-size:11px}.service-strip b{font-size:13px}.services{padding-top:20px}.service-list{grid-template-columns:1fr;gap:16px}.service,.service:last-child{padding:26px;border-radius:28px;gap:23px}.service h3{font-size:35px}.service-name{gap:12px}.number{min-width:25px;height:25px}.service-symbol{right:22px;top:25px}.service-details{padding:0}.service-details>a{font-size:10px;line-height:1.5;padding:11px 14px}.journey-steps{gap:12px;margin-top:30px}.journey-steps li,.journey-steps li+li{padding:25px 25px 25px 88px;border:0;border-radius:25px}.step-icon{position:absolute;left:22px;top:26px;width:46px;height:46px;font-size:25px;margin:0}.method,.contact{width:calc(100% - 24px);border-radius:32px;padding-block:48px}.method>.wrap,.contact>.wrap{width:calc(100% - 40px)}.timeline article{padding:20px 17px;gap:12px;border-radius:23px;grid-template-columns:28px 1fr}.timeline article>span{width:28px;height:28px}.timeline h3{font-size:21px}.contact h2{font-size:clamp(34px,9.5vw,58px)}.contact-panel{padding:22px;border-radius:26px}.phone{font-size:clamp(29px,8.4vw,40px)}.contact-buttons{flex-direction:column}.contact-buttons .button{flex:auto;min-width:0;font-size:12px;padding:16px 20px}.booking-note{padding:16px;gap:10px;border-radius:18px}.faq{gap:28px}details{padding-inline:20px;border-radius:20px}summary{font-size:12px;gap:12px}details p{padding-right:0}.mobile-contact{left:12px;right:12px;bottom:10px;padding:7px;border-radius:999px;border:1px solid #8bc7ff20;box-shadow:0 12px 35px #0006}.mobile-contact a{border-radius:999px}.mobile-nav{top:100px;left:12px;width:calc(100% - 24px)}
}
@media(prefers-reduced-motion:reduce){.service{transition:none}.service:hover{transform:none}}
.marketing-icon{display:block;width:30px;height:30px;flex-shrink:0}.art-top .marketing-icon{width:34px;height:34px}.service-strip .marketing-icon{width:23px;height:23px}.service-symbol .marketing-icon,.step-icon .marketing-icon{width:29px;height:29px}.mini-cross .marketing-icon{width:52px;height:52px}@media(max-width:700px){.service-strip .marketing-icon{width:16px;height:16px}.art-top .marketing-icon{width:26px;height:26px}}
/* Oversized editorial transitions with soft atmospheric light. */
.chapter-transition{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:155px;margin-bottom:42px;padding:12px 0 15px;overflow:hidden}
.chapter-word{display:block;font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(60px,8.5vw,116px);font-weight:650;letter-spacing:-.065em;line-height:1.05;padding-right:.12em;color:#9ac9f3;background:linear-gradient(110deg,#daeaffb8 0%,#85bff787 43%,#5997d81a 85%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.chapter-glow{position:absolute;z-index:-1;left:5%;top:18%;width:55%;height:72%;border-radius:50%;background:radial-gradient(ellipse,#408bda22,transparent 70%);filter:blur(22px);transform:rotate(-12deg)}
.chapter-caption{display:flex;align-items:center;gap:11px;color:#b9ccdf;font-size:12px;font-weight:400;letter-spacing:.3px;margin-top:15px;padding-left:5px}
.chapter-caption i{display:block;width:28px;height:5px;border-radius:10px;background:linear-gradient(90deg,#b8ddff,#4c8cc980);box-shadow:0 0 18px #6bb5ff35}
.intro{display:block}.intro-body{margin-left:auto;max-width:940px}.intro>.chapter-transition{margin-bottom:36px}
.services .chapter-transition,.journey .chapter-transition{align-items:flex-end;text-align:right}.services .chapter-caption,.journey .chapter-caption{padding-right:12px}.services .chapter-glow,.journey .chapter-glow{left:auto;right:0}
.method .chapter-word{background-image:linear-gradient(110deg,#183e6bc9,#4177a699 48%,#6695b525)}.method .chapter-caption{color:#415f7c}.method .chapter-caption i{background:linear-gradient(90deg,#315e8a,#94bad7);box-shadow:none}.method .chapter-glow{background:radial-gradient(ellipse,#ffffffa0,transparent 70%)}
.faq{grid-template-columns:1fr 1.5fr}.faq .chapter-transition{min-height:110px;margin-bottom:25px}.faq .chapter-word{font-size:clamp(43px,4.4vw,65px);line-height:1.1}.faq .chapter-caption{font-size:11px}.contact .chapter-word{background-image:linear-gradient(110deg,#daeaffba,#85bff787 55%,#5997d820)}
@media(max-width:1050px){.chapter-transition{min-height:125px;margin-bottom:32px}.chapter-caption{font-size:11px}}
@media(max-width:700px){.chapter-transition{min-height:100px;margin-bottom:28px;padding:8px 0 12px}.chapter-word{font-size:clamp(45px,12vw,74px);letter-spacing:-.06em}.chapter-caption{font-size:10px;letter-spacing:0;gap:9px;margin-top:12px;padding-left:2px}.chapter-caption i{width:20px;height:4px}.intro>.chapter-transition{margin-bottom:25px}.faq{grid-template-columns:1fr}.faq .chapter-transition{min-height:95px;margin-bottom:22px}.faq .chapter-word{font-size:clamp(42px,11vw,62px)}.services .chapter-caption,.journey .chapter-caption{padding-right:5px}}
/* Centered chapter titles in solid brand colors. */
.chapter-transition,.services .chapter-transition,.journey .chapter-transition{align-items:center;text-align:center}
.chapter-word,.method .chapter-word,.contact .chapter-word{background:none;-webkit-text-fill-color:currentColor;color:#b9dcff;padding-right:0}
.method .chapter-word{color:#315778}
.chapter-glow{display:none}
.chapter-caption,.services .chapter-caption,.journey .chapter-caption{justify-content:center;padding-left:0;padding-right:0}
/* Animated two-tone INOSU chapter lettering. */
.chapter-word,.contact .chapter-word{color:#dcefff;background:linear-gradient(110deg,#f4f9ff 0%,#f4f9ff 35%,#8bc7ff 47%,#8bc7ff 68%,#f4f9ff 82%,#f4f9ff 100%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:inosu-type-flow 8s ease-in-out infinite}
.method .chapter-word{color:#17436a;background-image:linear-gradient(110deg,#163b60 0%,#163b60 35%,#367ba9 47%,#367ba9 68%,#163b60 82%,#163b60 100%)}
@keyframes inosu-type-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.chapter-word{animation:none!important;background-position:50% 50%}}
/* Two blue tones only, preserving the animated lettering. */
.chapter-word,.contact .chapter-word{color:#8bc7ff;background-image:linear-gradient(110deg,#8bc7ff 0%,#8bc7ff 35%,#397eb8 47%,#397eb8 68%,#8bc7ff 82%,#8bc7ff 100%)}
.method .chapter-word{color:#245781;background-image:linear-gradient(110deg,#173f67 0%,#173f67 35%,#3979a8 47%,#3979a8 68%,#173f67 82%,#173f67 100%)}
/* Slightly tighter vertical rhythm while retaining breathing room. */
.section{padding-top:84px;padding-bottom:84px}
.services{padding-top:38px}
.chapter-transition{margin-bottom:32px;min-height:140px}
.intro>.chapter-transition{margin-bottom:28px}
.section-heading{margin-bottom:46px}
@media(max-width:1050px){.section{padding-top:65px;padding-bottom:65px}.services{padding-top:32px}.chapter-transition{min-height:115px;margin-bottom:27px}}
@media(max-width:700px){.section{padding-top:52px;padding-bottom:52px}.services{padding-top:18px}.method,.contact{padding-top:42px;padding-bottom:42px}.chapter-transition{min-height:90px;margin-bottom:23px}.intro>.chapter-transition{margin-bottom:21px}.section-heading{margin-bottom:29px}}
.method-heading{padding-top:12px;padding-bottom:22px;scroll-margin-top:30px}.method-heading .chapter-transition{margin-bottom:0}.chapter-word{background-clip:text!important;-webkit-background-clip:text!important}
@media(max-width:700px){.method-heading{padding-top:0;padding-bottom:20px}}
/* Allow descenders and accents to render fully in oversized headings. */
.chapter-transition{overflow:visible;flex-shrink:0}
.chapter-word{line-height:1.22;padding-top:.04em;padding-bottom:.14em;flex-shrink:0;overflow:visible}
.chapter-caption{flex-shrink:0;margin-top:4px}
.faq .chapter-word{line-height:1.22}
@media(max-width:700px){.chapter-caption{margin-top:4px}}
/* Keep the contact heading centered with less empty space. */
.contact.section{padding-top:42px}
.contact .chapter-transition{width:100%;min-height:0;padding:0;margin:0 auto 26px;align-items:center;text-align:center}
.contact .chapter-word{padding-top:0;padding-bottom:.08em;line-height:1.18}
.contact .chapter-caption{margin-top:0}
@media(max-width:700px){.contact.section{padding-top:28px}.contact .chapter-transition{margin-bottom:23px}}
/* Editorial supporting lines: generous type, no decorative dashes. */
.chapter-transition .chapter-caption,.services .chapter-caption,.journey .chapter-caption,.faq .chapter-caption{display:block;text-align:center;font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;font-size:clamp(16px,1.65vw,22px);font-weight:300;line-height:1.55;letter-spacing:-.35px;color:#a7bbcf;margin:5px auto 0;padding:0 10px;max-width:100%;text-wrap:balance}
.chapter-caption em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;color:#a7d5ff;white-space:nowrap}
.chapter-caption i{display:none}
@media(max-width:700px){.chapter-transition .chapter-caption,.services .chapter-caption,.journey .chapter-caption,.faq .chapter-caption{font-size:16px;line-height:1.5;letter-spacing:-.2px;margin-top:2px;padding-inline:8px}}
/* Editorial typography throughout; preserve the INOSU brand lettering. */
body{font-family:Georgia,'Times New Roman',serif}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,.chapter-word{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.045em}
.chapter-transition .chapter-caption,.services .chapter-caption,.journey .chapter-caption,.faq .chapter-caption{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}
.hero h1{font-size:clamp(46px,5.4vw,80px);line-height:1.09;letter-spacing:-.045em}
.chapter-word{font-size:clamp(54px,7.6vw,104px);line-height:1.25;padding-inline:.12em}
.service h3{font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:-.025em}
.service h3>span{font-style:normal;line-height:1.6}
.chapter-caption em{font-family:inherit}
.hero h1 em,.contact h2 em{font-style:italic}
.wordmark,.wordmark span,.brand-title,.brand-tagline,.inosu-brand{font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;font-style:normal}
.wordmark{font-weight:400}.brand-title{font-weight:500}
.mascot-bubble,.mascot-hint,.motion-toggle,.background-toggle,.service-strip,.eyebrow,.hero-index,.hero-footer,.step-label{font-family:Georgia,'Times New Roman',serif}
.mascot-bubble{font-size:12px;line-height:1.5}
.faq .chapter-word{font-size:clamp(40px,4.1vw,60px);line-height:1.25}
@media(min-width:1600px){.hero h1{font-size:86px}}
@media(max-width:700px){.hero h1{font-size:clamp(44px,11.4vw,70px);letter-spacing:-.045em}.chapter-word{font-size:clamp(40px,10.5vw,66px)}.faq .chapter-word{font-size:clamp(37px,10vw,56px)}.contact h2{font-size:clamp(33px,9vw,54px)}.service h3{font-size:34px}.mascot-bubble{font-size:11px}}
/* Restore the original sans-serif type for the main section statements. */
h1,h2,h3,.service h3{font-family:Arial,sans-serif;font-style:normal;font-weight:400}
.hero h1{font-size:clamp(48px,5.8vw,84px);font-weight:500;line-height:1.01;letter-spacing:-4px}
.hero h1 em,.contact h2 em{font-style:normal}
h2,.intro h2{letter-spacing:-2.5px;line-height:1.08}
.service h3{letter-spacing:-1.5px}
@media(min-width:1600px){.hero h1{font-size:92px}}
@media(max-width:1050px){.hero h1{letter-spacing:-2.7px}}
@media(max-width:700px){.hero h1{font-size:clamp(49px,12.6vw,78px);letter-spacing:-2.7px;line-height:1.04}h2,.intro h2{letter-spacing:-1.8px}.contact h2{font-size:clamp(38px,10.1vw,62px)}.service h3{font-size:35px}}
/* Use the original sans-serif lettering for buttons and action links. */
button,.button,.nav-cta,.text-link,.service-details>a,.mobile-contact a,.motion-toggle,.background-toggle{font-family:Arial,sans-serif;font-style:normal}
/* Keep FAQ wording together; reserve the round badge for the toggle. */
summary .faq-question{display:block;min-width:0;height:auto;background:none;border-radius:0;font-size:inherit;font-weight:inherit;color:inherit;transform:none;text-align:left}
summary .inosu-brand{display:inline;min-width:0;height:auto;padding:0;margin:0;background:none;border-radius:0;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:#8bc7ff;transform:none}
details[open] summary .faq-question,details[open] summary .inosu-brand{transform:none}
/* Plain sans-serif contact number. */
.phone{font-family:Arial,sans-serif;font-style:normal;font-weight:400}
.hero-introduction{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.hero-strategy{font-size:11px;letter-spacing:1px;color:#a9bed2;line-height:1.6;padding-left:15px}.brand-stage .art-top{justify-content:flex-end}
@media(max-width:700px){.hero-strategy{font-size:10px;letter-spacing:.45px;padding-left:12px;max-width:340px}}
/* Compact mobile call action with a single, cohesive label. */
@media(max-width:700px){
.mobile-contact{left:50%;right:auto;transform:translateX(-50%);width:270px;max-width:calc(100% - 32px);bottom:max(12px,env(safe-area-inset-bottom));padding:5px;background:#101d2ee8;border:1px solid #8bc7ff35;box-shadow:0 8px 30px #0007}
.mobile-contact a{display:flex;justify-content:flex-start;align-items:center;gap:11px;padding:9px 14px 9px 9px;min-height:50px;background:linear-gradient(110deg,#dceeff,#add7ff);color:#102b46;border-radius:999px;font-family:Arial,sans-serif}
.mobile-contact .mobile-call-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:#123d6210;color:#225d8e}
.mobile-call-icon svg{width:18px;height:18px}
.mobile-contact .mobile-call-label{font-size:14px;font-weight:500;line-height:1.2;white-space:nowrap}
.mobile-contact .mobile-call-label .inosu-brand{font-family:inherit;font-size:inherit;font-weight:700;color:#174974}
.mobile-contact .mobile-call-arrow{margin-left:auto;font-size:20px;line-height:1}
}
@media(max-width:700px){.mobile-contact{border:0;padding:0;background:transparent;backdrop-filter:none;box-shadow:0 8px 24px #0004}.mobile-contact a{border:0}}

/* Vector icons keep the same appearance on mobile and desktop. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex-shrink:0;overflow:visible}.service-symbol>.ui-icon,.step-icon>.ui-icon{width:1em;height:1em}.intro-skip .ui-icon{width:18px;height:18px}


/* Original dropdown appearance, limited to the right half. */
.mobile-nav{display:none}
@media(max-width:700px){
 .mobile-nav:not([hidden]){display:grid;position:absolute;top:100px;left:auto;right:12px;width:calc(50% - 12px);max-width:none;margin:0;padding:20px 12px;gap:18px;border:0;border-radius:24px;background:#101720;box-shadow:0 20px 50px #0008;text-align:right}
 .mobile-nav a{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:26px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(12px,3.5vw,16px);line-height:1.4}
}
