@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Outfit:wght@500;600;700&display=swap');
:root{--navy:#123c5a;--deep:#092b41;--blue:#426f89;--sky:#edf3f5;--green:#a88b55;--pale:#f7f5ef;--ink:#18303e;--muted:#61717a;--line:#dbe3e5;--white:#fff;--shadow:0 18px 50px rgba(9,43,65,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.85;background:#fff;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.4}h2{font-size:clamp(2rem,4.4vw,3.45rem);letter-spacing:-.035em}h2 em,h1 em{font-style:normal;color:var(--blue)}p{color:var(--muted)}strong{color:var(--navy)}.container{width:min(1180px,calc(100% - 48px));margin:auto}.narrow{width:min(850px,calc(100% - 48px))}.section{padding:110px 0}.eyebrow{font-family:Outfit,sans-serif;color:var(--green);font-weight:700;letter-spacing:.18em;font-size:.82rem;margin-bottom:18px}.section-head{max-width:760px;margin-bottom:54px}.section-head>p:last-child{font-size:1.05rem}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.split{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 28px;border:0;border-radius:100px;background:var(--green);color:#fff!important;font-weight:700;box-shadow:0 10px 28px rgba(168,139,85,.25);cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px);filter:brightness(.96)}.btn-small{min-height:44px;padding:0 20px;font-size:.9rem}.skip{position:fixed;left:10px;top:-60px;z-index:999;background:#fff;padding:8px}.skip:focus{top:10px}.header{position:fixed;inset:0 0 auto;z-index:50;height:82px;background:rgba(255,255,255,.95);border-bottom:1px solid transparent;backdrop-filter:blur(14px);transition:.2s}.header.scrolled{height:72px;border-color:var(--line);box-shadow:0 8px 25px rgba(18,60,90,.06)}.header-inner{height:100%;padding:0 3vw;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-weight:700;font-size:.74rem;white-space:nowrap}.brand img{width:74px;height:52px;object-fit:contain}.nav{display:flex;align-items:center;justify-content:center;gap:clamp(15px,2vw,30px);margin-left:auto}.nav a{font-size:.87rem;font-weight:600;white-space:nowrap;position:relative}.nav a:after{content:'';position:absolute;inset:auto 50% -8px;width:0;height:2px;background:var(--green);transition:.2s}.nav a:hover:after{width:100%;left:0}.menu-btn{display:none}.hero{min-height:840px;padding:170px 0 90px;background:linear-gradient(120deg,#faf9f5 0%,#fff 46%,#edf3f5 100%);overflow:hidden;position:relative}.hero:before{content:'';position:absolute;width:460px;height:460px;border:80px solid rgba(168,139,85,.08);border-radius:50%;right:-170px;top:80px}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:7vw;align-items:center}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(2.55rem,5.1vw,4.8rem);letter-spacing:-.055em;color:var(--deep);margin-bottom:28px}.hero .lead{font-size:1.13rem;color:#3f5967}.actions{display:flex;align-items:center;gap:30px;margin:36px 0}.text-link{color:var(--navy);font-weight:700}.text-link span{color:var(--green);margin-left:8px}.trust{display:flex;gap:12px;list-style:none;padding:0;margin:24px 0 0;flex-wrap:wrap}.trust li{font-size:.8rem;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:100px;padding:7px 13px}.trust li:before{content:'✓';color:var(--green);font-weight:800;margin-right:6px}.hero-visual{position:relative;min-height:550px}.portrait-wrap{position:relative;width:min(460px,100%);margin:20px auto 0;aspect-ratio:1;background:linear-gradient(150deg,#e6eef1,#f3eee4);border-radius:49% 51% 44% 56% / 55% 48% 52% 45%;box-shadow:var(--shadow)}.portrait-wrap>img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.float-card{position:absolute;background:#fff;border:1px solid #e8f0f0;border-radius:14px;padding:11px 16px;font-weight:700;color:var(--navy);font-size:.86rem;box-shadow:var(--shadow)}.float-card:before{content:'●';color:var(--green);margin-right:8px}.card-1{left:-35px;top:21%}.card-2{right:-30px;bottom:22%}.hero-tag{position:absolute;right:-10px;bottom:0;background:var(--navy);color:#fff;padding:18px 24px;border-radius:16px;box-shadow:var(--shadow)}.hero-tag b,.hero-tag span{display:block}.hero-tag b{font-family:Outfit,sans-serif;font-size:1.15rem}.hero-tag span{font-size:.76rem;color:#cfe3eb}.problems{background:#fff}.problem{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:.25s}.problem:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.problem i{font-family:Outfit,sans-serif;font-style:normal;font-weight:700;color:var(--green)}.problem h3{font-size:1.1rem;color:var(--navy);margin:13px 0 8px}.problem p{font-size:.9rem;margin:0}.answer{margin-top:60px;text-align:center;background:var(--navy);color:#fff;padding:46px;border-radius:var(--radius);box-shadow:var(--shadow)}.answer span{color:#c7dde6}.answer h3{font-size:clamp(1.45rem,3vw,2.25rem);margin:10px 0 28px}.answer ol{list-style:none;display:flex;justify-content:center;align-items:center;gap:10px;padding:0;margin:0}.answer li{background:rgba(255,255,255,.1);padding:9px 14px;border-radius:100px;font-size:.88rem}.answer li:not(:last-child):after{content:'→';margin-left:20px;color:var(--green)}.about{background:var(--pale)}.about .section-head{margin:0}.about-copy .large,.profile .large{font-size:1.25rem;color:var(--navy);font-weight:700}.about blockquote{margin:32px 0 0;padding:24px 28px;border-left:5px solid var(--green);background:#fff;color:var(--navy);font-size:1.2rem}.services{background:var(--deep);color:#fff}.services .section-head p{color:#bad0da}.service{position:relative;padding:42px;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius);background:rgba(255,255,255,.06);overflow:hidden;transition:.25s}.service:hover{transform:translateY(-4px);background:rgba(255,255,255,.1)}.service>span{position:absolute;right:24px;top:15px;font-family:Outfit;font-size:3.5rem;font-weight:700;color:rgba(255,255,255,.06)}.service-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--green);font-family:Outfit;font-weight:800;font-size:1.1rem;margin-bottom:24px}.service h3{font-size:1.42rem;margin-bottom:9px}.service h4{color:#d2bd91;font-size:.93rem}.service p,.service li{color:#c5d5dc;font-size:.9rem}.service ul{padding-left:1.2em;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.service a{display:inline-block;color:#fff;font-weight:700;margin-top:18px}.reasons{background:#f3f6f7}.reason{background:#fff;border-radius:var(--radius);padding:30px 26px;border-top:4px solid var(--green)}.reason b{font-family:Outfit;color:var(--blue);font-size:1.5rem}.reason h3{color:var(--navy);font-size:1.08rem;margin:20px 0 10px}.reason p{font-size:.88rem;margin:0}.cases{background:#fff}.case{padding:38px;border-radius:var(--radius);border:1px solid var(--line);box-shadow:0 12px 38px rgba(18,60,90,.05)}.case span{color:var(--green);font:700 .8rem Outfit,sans-serif;letter-spacing:.08em}.case h3{font-size:1.35rem;color:var(--navy);margin:13px 0}.case small{display:block;border-top:1px solid var(--line);padding-top:16px;color:var(--blue)}.flow{background:var(--pale)}.steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;margin:0;gap:16px}.steps li{position:relative;background:#fff;padding:28px 20px;border-radius:18px}.steps li:not(:last-child):after{content:'→';position:absolute;right:-15px;top:45%;color:var(--green);font-size:1.4rem;z-index:2}.steps b{color:var(--green);font-family:Outfit}.steps h3{font-size:1.02rem;color:var(--navy);margin:13px 0 8px}.steps p{font-size:.83rem;margin:0}.seminar{background:linear-gradient(130deg,#092b41,#123c5a);color:#fff}.seminar .section-head{margin:0}.seminar .section-head>p:not(.eyebrow){color:#c7dce4}.seminar-panel{background:#fff;color:var(--ink);padding:42px;border-radius:var(--radius)}.seminar-panel h3{color:var(--navy)}.seminar-panel ul{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:0;list-style:none}.seminar-panel li{padding:11px 10px;border-bottom:1px solid var(--line);font-size:.9rem}.seminar-panel li:before{content:'✓';color:var(--green);font-weight:800;margin-right:8px}.profile-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:center}.profile-photo{background:linear-gradient(145deg,#f3eee4,#e6eef1);border-radius:var(--radius);overflow:hidden}.profile-photo img{display:block;width:100%}.profile-copy h2 small{font-size:.9rem;color:var(--muted);font-weight:500;margin-left:12px}.profile-copy dl{margin-top:30px}.profile-copy dl div{display:grid;grid-template-columns:150px 1fr;padding:15px 0;border-top:1px solid var(--line)}.profile-copy dt{font-weight:700;color:var(--navy)}.profile-copy dd{margin:0;color:var(--muted)}.faq{background:#f3f6f7}.accordion details{background:#fff;border-bottom:1px solid var(--line)}.accordion summary{position:relative;cursor:pointer;list-style:none;padding:25px 60px 25px 28px;font-weight:700;color:var(--navy)}.accordion summary:before{content:'Q';color:var(--green);font-family:Outfit;font-size:1.2rem;margin-right:15px}.accordion summary:after{content:'＋';position:absolute;right:26px;color:var(--blue)}.accordion details[open] summary:after{content:'−'}.accordion details p{padding:0 30px 25px 64px;margin:0}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.contact-copy .note{margin-top:40px;font-size:.85rem;border-left:3px solid var(--green);padding-left:16px}.contact-form{padding:42px;border-radius:var(--radius);background:var(--pale);box-shadow:var(--shadow)}.contact-form label{display:block;color:var(--navy);font-weight:700;margin-bottom:20px}.contact-form label>span:not(.check span){font-size:.7rem;color:#fff;background:var(--green);padding:3px 8px;border-radius:20px;margin-left:8px}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;margin-top:8px;padding:14px 16px;border:1px solid #cbdade;border-radius:10px;background:#fff;font:inherit;color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(8,127,193,.16);border-color:var(--blue)}.check{display:flex!important;gap:8px;align-items:center;font-size:.84rem!important;font-weight:500!important}.contact-form .btn{width:100%}.hidden{display:none}.footer{background:#082638;color:#fff;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px}.footer img{width:110px;filter:brightness(0) invert(1)}.footer h2{font-size:1rem;margin:8px 0}.footer h3{font:700 .8rem Outfit;letter-spacing:.12em;color:#cfb77f}.footer p{color:#a9c0ca;font-size:.85rem}.footer a{display:block;color:#c7d7de;font-size:.84rem;margin:9px 0}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:22px;color:#8fa9b4;font-size:.75rem}.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.simple-page{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px;background:var(--pale)}.simple-page>div{max-width:700px}.simple-page img{width:140px}.simple-page .btn{margin-top:25px}.legal-page{padding:70px 0;max-width:850px}.legal-page .brand{margin-bottom:65px}.legal-page h1{font-size:clamp(2rem,5vw,3.5rem);color:var(--navy)}.legal-page h2{font-size:1.25rem;margin-top:38px;color:var(--navy)}
@media(max-width:1050px){.nav{gap:15px}.nav a{font-size:.78rem}.brand span{display:none}.hero-grid{gap:4vw}.grid-4{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){body{padding-bottom:68px}.container,.narrow{width:min(100% - 34px,600px)}.section{padding:78px 0}h2{font-size:2rem}.header,.header.scrolled{height:68px}.header-inner{padding:0 17px}.brand img{width:68px}.header>.btn,.header-inner>.btn{display:none}.menu-btn{display:flex;margin-left:auto;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;align-items:center;gap:5px}.menu-btn span{width:24px;height:2px;background:var(--navy);transition:.2s}.menu-btn b{position:absolute;font-size:0}.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav{position:fixed;inset:68px 0 auto;display:none;flex-direction:column;align-items:stretch;background:#fff;padding:16px 24px 28px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{font-size:1rem;padding:11px;border-bottom:1px solid var(--line)}.hero{min-height:auto;padding:115px 0 72px}.hero-grid,.split,.profile-grid,.contact-grid{grid-template-columns:1fr}.hero h1{font-size:2.55rem}.hero-copy{order:1}.hero-visual{order:2;min-height:390px}.portrait-wrap{width:330px}.hero-tag{right:0}.card-1{left:-8px}.card-2{right:-8px}.grid-3,.grid-2{grid-template-columns:1fr}.answer{padding:32px 20px}.answer ol{flex-direction:column;align-items:stretch}.answer li:not(:last-child):after{content:'↓';margin-left:10px}.about .section-head,.seminar .section-head{margin-bottom:20px}.service{padding:30px 25px}.service ul{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps li:not(:last-child):after{content:'↓';right:auto;left:50%;top:auto;bottom:-22px}.profile-grid{gap:35px}.profile-photo{max-width:360px;margin:auto}.profile-copy dl div{grid-template-columns:1fr;gap:3px}.seminar-panel{padding:28px 22px}.seminar-panel ul{grid-template-columns:1fr}.contact-grid{gap:30px}.contact-form{padding:28px 20px}.footer{padding-bottom:40px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.mobile-cta{display:flex;position:fixed;z-index:45;left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));height:54px;border-radius:100px;background:var(--green);color:#fff;align-items:center;justify-content:center;font-weight:700;box-shadow:0 10px 30px rgba(10,43,66,.3)}.mobile-cta span{margin-left:15px}.actions{align-items:flex-start;flex-direction:column;gap:18px}.reveal{transform:translateY(12px)}}
@media(max-width:420px){.hero h1{font-size:2.15rem}.hero .lead{font-size:1rem}.hero-visual{min-height:350px}.portrait-wrap{width:290px}.float-card{font-size:.72rem;padding:9px 11px}.hero-tag{padding:14px 16px}.grid-4,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.accordion summary{padding-left:20px}.accordion details p{padding-left:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}

/* Google Workspace service visual */
.tech-visual{min-height:590px}.tech-orbit{position:relative;width:min(500px,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;background:radial-gradient(circle,#fff 0 35%,rgba(237,243,245,.88) 36% 58%,rgba(168,139,85,.10) 59% 60%,transparent 61%);border:1px solid rgba(18,60,90,.08)}.tech-orbit:before,.tech-orbit:after{content:'';position:absolute;border-radius:50%;inset:13%;border:1px dashed rgba(18,60,90,.14)}.tech-orbit:after{inset:29%;border-style:solid;border-color:rgba(168,139,85,.22)}.tech-core{position:absolute;z-index:2;inset:32%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,var(--deep),var(--navy));color:#fff;border-radius:50%;box-shadow:0 20px 50px rgba(9,43,65,.22)}.tech-core span{font-size:.68rem;color:#c7d7de}.tech-core strong{font-size:1.08rem;line-height:1.5;color:#fff;margin:5px 0}.tech-core small{font-family:Outfit,sans-serif;font-size:.5rem;letter-spacing:.14em;color:#d7c49c}.app-icon{position:absolute;z-index:3;width:78px;height:78px;border-radius:20px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:0 12px 35px rgba(9,43,65,.12);border:1px solid rgba(18,60,90,.08)}.app-icon img{width:38px;height:38px;object-fit:contain}.app-icon span{font:600 .57rem Outfit,sans-serif;color:var(--navy)}.app-drive{left:10%;top:8%}.app-gmail{right:10%;top:8%}.app-calendar{right:-1%;top:42%}.app-docs{right:12%;bottom:6%}.app-meet{left:12%;bottom:6%}.app-sheets{left:-1%;top:42%}.tech-label{position:absolute;z-index:4;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 15px;box-shadow:var(--shadow)}.tech-label b,.tech-label span{display:block}.tech-label b{font-size:.78rem;color:var(--navy)}.tech-label span{font-size:.62rem;color:var(--muted)}.label-ai{left:-25px;bottom:40px}.label-people{right:-20px;top:36px}.tech-visual .hero-tag{right:0;bottom:-8px}.workspace-panel{background:linear-gradient(145deg,var(--deep),var(--navy));color:#fff;border-radius:var(--radius);padding:42px;box-shadow:var(--shadow)}.workspace-panel h3{font-size:1.6rem;margin-bottom:30px}.workspace-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.workspace-icons div{display:flex;flex-direction:column;align-items:center;text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:15px 8px}.workspace-icons img{width:34px;height:34px;object-fit:contain;margin-bottom:7px}.workspace-icons span{font-size:.67rem;color:#dce7eb}.workspace-note{margin:24px 0 0;color:#c4d4da;font-size:.85rem}.profile-no-photo{grid-template-columns:1.18fr .82fr;gap:7vw}.copyright{display:flex;justify-content:space-between;gap:30px}.copyright small{display:block;max-width:620px;line-height:1.6;text-align:right;color:#7895a2}
@media(max-width:780px){.tech-visual{min-height:440px}.tech-orbit{width:340px}.app-icon{width:60px;height:60px;border-radius:16px}.app-icon img{width:30px;height:30px}.app-icon span{font-size:.5rem}.tech-core strong{font-size:.8rem}.label-ai{left:0;bottom:15px}.label-people{right:0;top:15px}.tech-visual .hero-tag{bottom:-15px}.profile-no-photo{grid-template-columns:1fr}.workspace-panel{padding:30px 22px}.copyright{flex-direction:column}.copyright small{text-align:left}}
@media(max-width:420px){.tech-visual{min-height:390px}.tech-orbit{width:300px}.app-icon{width:54px;height:54px}.app-icon img{width:27px;height:27px}.app-icon span{display:none}.tech-label{padding:8px 10px}.tech-visual .hero-tag{left:5px;right:5px}.workspace-icons{grid-template-columns:repeat(2,1fr)}}

/* Detailed case studies */
.case-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center;margin-bottom:28px;padding:48px;border-radius:var(--radius);background:linear-gradient(140deg,var(--deep),var(--navy));color:#fff;box-shadow:var(--shadow)}.case-feature>div>span{font:700 .78rem Outfit,sans-serif;letter-spacing:.12em;color:#d4bc89}.case-feature h3{font-size:clamp(1.7rem,3vw,2.45rem);margin:14px 0 18px}.case-feature p{color:#c8d8de;margin:0}.case-feature ol{list-style:none;padding:0;margin:0;counter-reset:feature}.case-feature li{position:relative;padding:16px 0 16px 54px;border-bottom:1px solid rgba(255,255,255,.13);counter-increment:feature}.case-feature li:before{content:'0' counter(feature);position:absolute;left:0;top:17px;color:#d4bc89;font:700 1rem Outfit,sans-serif}.case-feature li b,.case-feature li span{display:block}.case-feature li b{font-size:.95rem}.case-feature li span{margin-top:3px;color:#bbced6;font-size:.8rem}.case-grid{align-items:stretch}.case-grid .case{display:flex;flex-direction:column}.case dl{margin:8px 0 20px}.case dl div{display:grid;grid-template-columns:64px 1fr;gap:11px;padding:12px 0;border-top:1px solid var(--line)}.case dt{font-size:.75rem;font-weight:800;color:var(--green)}.case dd{margin:0;color:var(--muted);font-size:.84rem;line-height:1.75}.case-grid .case small{margin-top:auto}.case-cta{margin-top:40px;padding:34px 40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--pale);border:1px solid var(--line)}.case-cta p{margin:0;color:var(--navy);font-weight:700}.case-cta .btn{flex:none}
@media(max-width:780px){.case-feature{grid-template-columns:1fr;padding:32px 24px;gap:25px}.case-cta{padding:28px 22px;align-items:stretch;flex-direction:column}.case dl div{grid-template-columns:56px 1fr}}

/* 2026 editorial refinement: generous whitespace, quiet surfaces, diagram-led storytelling */
body{background:#fbfaf7}.header{height:92px;background:rgba(251,250,247,.88)}.header.scrolled{height:76px;background:rgba(251,250,247,.96);box-shadow:none}.header-inner{max-width:1440px;margin:auto}.nav a{font-weight:500;letter-spacing:.02em}.btn{box-shadow:none;letter-spacing:.02em}.section{padding:140px 0}.section-head{margin-bottom:72px}.section-head h2{font-weight:600;line-height:1.48}.eyebrow{font-size:.72rem;letter-spacing:.24em}.hero{min-height:930px;padding:205px 0 120px;background:#fbfaf7}.hero:before{width:660px;height:660px;right:-270px;top:70px;border-width:95px;border-color:rgba(168,139,85,.065)}.hero:after{content:'';position:absolute;width:260px;height:260px;border-radius:47% 53% 63% 37%/42% 45% 55% 58%;left:-125px;bottom:-55px;background:rgba(66,111,137,.055)}.hero-grid{grid-template-columns:1.04fr .96fr;gap:8vw}.hero h1{font-size:clamp(3rem,5.5vw,5.15rem);line-height:1.34;font-weight:600;letter-spacing:-.045em}.hero .lead{max-width:680px;line-height:2}.hero-copy>p:not(.eyebrow):not(.lead){max-width:620px}.trust li{background:transparent;border:0;padding-left:0;margin-right:16px}.tech-orbit{border:0;background:radial-gradient(circle,#fff 0 34%,rgba(237,243,245,.76) 35% 56%,rgba(168,139,85,.12) 57% 57.5%,transparent 58%)}.tech-orbit:before{border-color:rgba(18,60,90,.11)}.app-icon{box-shadow:0 10px 35px rgba(9,43,65,.08);border:0}.tech-core{box-shadow:none}.tech-label{border:0;box-shadow:0 10px 35px rgba(9,43,65,.07)}.hero-tag{box-shadow:none;border-radius:2px}.problems{background:#fff}.problem{padding:34px 8px 32px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.problem:hover{transform:none;box-shadow:none;border-top-color:var(--green)}.problem i{font-size:.72rem;letter-spacing:.12em}.problem h3{font-size:1.16rem;margin-top:22px}.answer{margin-top:85px;padding:65px;border-radius:2px;box-shadow:none;background:var(--deep)}.about{position:relative;background:var(--pale);overflow:hidden}.about:after{content:'';position:absolute;width:420px;height:420px;border-radius:50%;right:-170px;bottom:-240px;border:65px solid rgba(168,139,85,.08)}.about blockquote{background:transparent;border-left-width:2px;padding-left:32px}.services{background:#fff;color:var(--ink)}.services .section-head p{color:var(--muted)}.service-grid{gap:0 70px;border-top:1px solid var(--line)}.service{padding:55px 10px 55px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.service:nth-child(even){padding-left:10px}.service:hover{transform:none;background:transparent}.service>span{top:38px;right:10px;color:rgba(18,60,90,.055);font-size:5.5rem}.service-icon{width:44px;height:44px;border-radius:50%;background:var(--pale);color:var(--green);border:1px solid #e8dfce}.service h3{color:var(--navy);font-size:1.55rem}.service h4{color:var(--green)}.service p,.service li{color:var(--muted)}.service a{color:var(--navy);border-bottom:1px solid var(--green);padding-bottom:5px}.reasons{background:var(--pale)}.reason{padding:42px 28px;background:transparent;border:0;border-left:1px solid rgba(18,60,90,.13);border-radius:0}.reason:first-child{border-left:0}.reason b{font-size:.85rem;color:var(--green);letter-spacing:.12em}.reason h3{font-size:1.2rem;margin-top:28px}.cases{background:#fff}.case-feature{padding:70px;background:var(--pale);color:var(--ink);box-shadow:none;border-radius:2px;border:1px solid #ece7dc}.case-feature>div>span,.case-feature li:before{color:var(--green)}.case-feature h3{color:var(--navy)}.case-feature p,.case-feature li span{color:var(--muted)}.case-feature li{border-bottom-color:rgba(18,60,90,.12)}.case{padding:48px 5px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.case-grid{gap:0 70px}.case dl div{padding:16px 0}.case-cta{margin-top:70px;padding:48px;background:var(--deep);border:0;border-radius:2px}.case-cta p{color:#fff}.flow{background:var(--pale)}.steps{gap:0;border-top:1px solid rgba(18,60,90,.13)}.steps li{padding:40px 24px;background:transparent;border-radius:0;border-left:1px solid rgba(18,60,90,.13)}.steps li:first-child{border-left:0}.seminar{background:var(--deep)}.seminar-panel{border-radius:2px;box-shadow:none}.profile{background:#fff}.workspace-panel{border-radius:2px;box-shadow:none}.faq{background:var(--pale)}.accordion details{background:transparent}.contact{background:#fff}.contact-form{background:var(--pale);border:1px solid #ece7dc;border-radius:2px;box-shadow:none}.contact-form input:not([type=checkbox]),.contact-form textarea{border-radius:2px}.footer{background:var(--deep)}
@media(max-width:780px){.header,.header.scrolled{height:72px}.section{padding:92px 0}.section-head{margin-bottom:48px}.hero{padding:130px 0 90px}.hero h1{font-size:2.65rem}.hero-grid{gap:50px}.answer{margin-top:55px;padding:38px 22px}.service-grid,.case-grid{border-top:1px solid var(--line)}.service,.service:nth-child(even){padding:42px 0}.reason{border-left:0;border-top:1px solid rgba(18,60,90,.13);padding:32px 5px}.reason:first-child{border-top:0}.case-feature{padding:38px 24px}.case{padding:38px 0}.case-cta{padding:34px 24px}.steps{border-top:0}.steps li,.steps li:first-child{border-left:0;border-top:1px solid rgba(18,60,90,.13);padding:30px 5px}.workspace-panel{border-radius:2px}}

/* 2026 corporate refresh — calm, open and human-centered */
:root{--navy:#173f57;--deep:#0d3045;--blue:#5f91ad;--sky:#edf7fb;--green:#b49457;--pale:#f5f8f9;--ink:#173543;--muted:#617680;--line:#dce8ec}
body{background:#fff}.hero{background:linear-gradient(135deg,#fff 5%,#f5fbfd 58%,#eef8fb 100%)}.hero:before{border-color:rgba(112,182,218,.08)}.hero:after{background:rgba(180,148,87,.08)}.hero h1 em{background:linear-gradient(100deg,#2d6a88,#72b8da);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .lead{font-size:1.2rem}.concept-visual{position:relative;min-height:590px}.concept-glow{position:absolute;border-radius:50%;filter:blur(2px)}.glow-one{width:390px;height:390px;right:5%;top:10%;background:rgba(126,197,229,.19)}.glow-two{width:250px;height:250px;left:5%;bottom:5%;background:rgba(229,208,164,.22)}.concept-card{position:absolute;z-index:3;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 70px rgba(27,78,103,.1);backdrop-filter:blur(14px);border-radius:22px;padding:20px 24px;color:var(--navy)}.concept-card small{font:700 .65rem Outfit;letter-spacing:.16em;color:var(--blue)}.concept-card b{font-size:.9rem;margin-left:12px}.concept-main{left:17%;top:26%;width:68%;padding:46px}.concept-main strong{display:block;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.5;margin:12px 0;color:var(--deep)}.concept-main span{font-size:.78rem;color:var(--muted)}.concept-a{left:0;top:9%}.concept-b{right:0;top:15%}.concept-c{right:3%;bottom:8%}.concept-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}.concept-lines path{fill:none;stroke:rgba(71,135,165,.22);stroke-width:2;stroke-dasharray:6 9}.vision{background:#fff}.vision-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.vision h2{font-size:clamp(2.5rem,5vw,4.6rem)}.vision-lead{font-size:1.35rem;color:var(--navy);font-weight:700}.vision-copy>p{line-height:2.15}.vision-statement{margin-top:50px;padding:36px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:25px}.vision-statement span{font:700 .7rem Outfit;letter-spacing:.18em;color:var(--green)}.vision-statement strong{font-size:1.45rem;line-height:1.7}.news{background:#f4f9fb}.news-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.news-heading h2{margin-bottom:0}.news-heading>p{text-align:right;margin:0}.news-list{border-top:1px solid #cbdce3}.news-item{display:grid;grid-template-columns:130px 100px 1fr 30px;gap:24px;align-items:center;padding:28px 8px;border-bottom:1px solid #cbdce3;transition:.2s}.news-item:hover{background:rgba(255,255,255,.65);padding-left:18px}.news-item time{font:600 .82rem Outfit;color:var(--muted)}.news-tag{font:700 .65rem Outfit;letter-spacing:.1em;color:#387da0}.news-item strong{font-size:.95rem;font-weight:600}.news-item i{font-style:normal;color:var(--blue);font-size:1.2rem}.news-source{text-align:right;margin-top:18px;font-size:.75rem}.expertise-panel{background:linear-gradient(145deg,#123b51,#235870);color:#fff;padding:48px;border-radius:24px}.expertise-panel h3{font-size:1.7rem}.expertise-panel ol{list-style:none;padding:0;margin:30px 0}.expertise-panel li{display:grid;grid-template-columns:45px 1fr;gap:16px;padding:20px 0;border-top:1px solid rgba(255,255,255,.15)}.expertise-panel li>span{font:700 .72rem Outfit;color:#abd8eb}.expertise-panel b,.expertise-panel small{display:block}.expertise-panel b{color:#fff}.expertise-panel small,.expertise-panel>p{color:#c9dce4}.expertise-panel small{margin-top:3px}.legal-page{padding-bottom:110px}.legal-page .policy-meta{color:var(--muted);font-size:.85rem;border-bottom:1px solid var(--line);padding-bottom:25px}.legal-page li{color:var(--muted);margin:.6em 0}.policy-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:55px}.policy-links a{border-bottom:1px solid var(--line);padding:8px 0;font-size:.85rem;margin-right:18px}
@media(max-width:780px){.concept-visual{min-height:420px}.concept-main{left:8%;top:25%;width:84%;padding:32px 26px}.concept-a{left:0}.concept-b{right:0;top:12%}.concept-c{right:0;bottom:2%}.vision-grid{grid-template-columns:1fr;gap:35px}.vision h2{font-size:2.5rem}.news-heading{display:block}.news-heading>p{text-align:left}.news-item{grid-template-columns:90px 1fr 20px;gap:12px 15px}.news-tag{grid-column:1}.news-item strong{grid-column:2}.news-item i{grid-column:3;grid-row:1/3}.expertise-panel{padding:34px 24px;border-radius:18px}}
@media(max-width:420px){.concept-visual{min-height:390px}.concept-card:not(.concept-main){padding:10px 12px}.concept-card b{font-size:.7rem;margin-left:5px}.concept-main strong{font-size:1.55rem}.vision-statement{grid-template-columns:1fr;gap:8px}.news-item{grid-template-columns:82px 1fr 18px}.news-item strong{font-size:.87rem}}

/* EDL-inspired energy, softened for a care-sector corporate identity */
.concept-visual:before,.concept-visual:after{content:'';position:absolute;z-index:0;border-radius:50%;transform:rotate(-24deg);pointer-events:none}.concept-visual:before{width:570px;height:210px;left:-6%;top:17%;border:42px solid rgba(99,174,210,.11)}.concept-visual:after{width:470px;height:170px;right:-11%;bottom:8%;border:30px solid rgba(207,174,105,.12);transform:rotate(25deg)}.concept-main{left:12%;width:76%}.concept-main strong{font-size:clamp(1.55rem,2.15vw,2rem)}.news-item strong{color:var(--ink)}.check a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}

/* Google Workspace service page */
.sub-header{height:82px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.sub-header .container,.sub-footer .container{height:100%;display:flex;align-items:center;justify-content:space-between}.workspace-hero{padding:130px 0 100px;background:linear-gradient(135deg,#fff,#eff9fc);overflow:hidden}.workspace-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;align-items:center}.workspace-hero h1{font-size:clamp(3rem,5.7vw,5.5rem);line-height:1.3;color:var(--deep);letter-spacing:-.05em}.workspace-hero h1 em{font-style:normal;background:linear-gradient(90deg,#3375a0,#68b6d7);-webkit-background-clip:text;background-clip:text;color:transparent}.workspace-lead{font-size:1.18rem;max-width:650px}.workspace-brand-card{min-height:430px;display:flex;flex-direction:column;justify-content:center;padding:60px;background:#fff;border-radius:32px;box-shadow:0 30px 90px rgba(35,100,130,.11);position:relative}.workspace-brand-card:after{content:'';position:absolute;width:220px;height:220px;border:34px solid rgba(80,172,216,.1);border-radius:50%;right:-70px;bottom:-80px}.workspace-brand-card img{width:100%;height:auto}.workspace-brand-card p{margin:70px 0 0;font-size:1.1rem}.workspace-brand-card strong{font-size:1.5rem}.workspace-program{background:var(--deep);color:#fff}.workspace-program .section-head p{color:#bad0da}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}.program-grid article{padding:42px 28px;border-left:1px solid rgba(255,255,255,.18)}.program-grid article:first-child{border-left:0}.program-grid b{font:700 .75rem Outfit;color:#9fd5eb}.program-grid h3{font-size:1.15rem;margin-top:24px}.program-grid p{font-size:.88rem;color:#bfd1d8}.workspace-outcomes{margin-top:65px;padding:40px;background:rgba(255,255,255,.07)}.workspace-outcomes ul{display:flex;gap:12px;flex-wrap:wrap;padding:0;list-style:none}.workspace-outcomes li{padding:9px 15px;background:rgba(255,255,255,.09);border-radius:99px;font-size:.84rem}.funding{background:#f4f9fb}.fund-card{background:#fff;padding:45px;border:1px solid var(--line);border-radius:20px}.fund-card>span{font:700 .7rem Outfit;letter-spacing:.14em;color:var(--blue)}.fund-card h3{font-size:1.35rem;margin-top:18px}.fund-card a{color:var(--navy);font-weight:700;border-bottom:1px solid var(--blue)}.fund-note{margin-top:32px;padding:26px 30px;border-left:3px solid var(--green);background:#fff}.fund-note p{margin:7px 0 0;font-size:.82rem}.workspace-timeline{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;border-top:1px solid var(--line)}.workspace-timeline li{padding:38px 24px;border-left:1px solid var(--line)}.workspace-timeline li:first-child{border-left:0}.workspace-timeline b,.workspace-timeline span{display:block}.workspace-timeline b{color:var(--blue);margin-bottom:12px}.workspace-timeline span{font-size:.9rem;color:var(--muted)}.workspace-cta{text-align:center;background:linear-gradient(135deg,#eff9fc,#fff)}.sub-footer{height:110px;background:var(--deep);color:#fff}.sub-footer p{margin:0;color:#9eb8c4}.sub-footer a{font-size:.85rem}
@media(max-width:780px){.sub-header{height:68px}.sub-header .brand span{display:none}.workspace-hero{padding:90px 0 70px}.workspace-hero-grid{grid-template-columns:1fr;gap:45px}.workspace-hero h1{font-size:2.8rem}.workspace-brand-card{min-height:270px;padding:36px}.workspace-brand-card p{margin-top:45px}.program-grid,.workspace-timeline{grid-template-columns:1fr}.program-grid article,.program-grid article:first-child,.workspace-timeline li,.workspace-timeline li:first-child{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:30px 5px}.workspace-timeline li,.workspace-timeline li:first-child{border-top-color:var(--line)}.workspace-outcomes{padding:28px 22px}.fund-card{padding:32px 24px}.sub-footer .container{height:auto;padding:30px 0;flex-direction:column;align-items:flex-start}.sub-footer{height:auto}}
.workspace-hero h1{font-size:clamp(2.9rem,4.5vw,4.4rem);word-break:keep-all}
@media(max-width:780px){.workspace-hero h1{font-size:2.75rem}}

/* Calm corporate palette: deep teal × mist sage × warm white */
:root{--navy:#274b47;--deep:#193936;--blue:#6f9188;--sky:#edf3f0;--green:#789185;--pale:#f3f5f1;--ink:#263d3a;--muted:#697b77;--line:#d8e1dd;--white:#fff;--shadow:0 18px 55px rgba(25,57,54,.1)}
body{background:#fbfaf7}.header{background:rgba(251,250,247,.94)}.btn,.mobile-cta{background:#315d56;box-shadow:none}.eyebrow{color:#718a7e}.hero{background:linear-gradient(135deg,#fbfaf7 4%,#f3f6f3 58%,#eaf1ed 100%)}.hero h1 em,.workspace-hero h1 em{background:linear-gradient(100deg,#315d56,#809e91);-webkit-background-clip:text;background-clip:text;color:transparent}.hero:before{border-color:rgba(87,124,112,.08)}.hero:after{background:rgba(129,151,141,.08)}.concept-visual:before{border-color:rgba(91,132,119,.11)}.concept-visual:after{border-color:rgba(160,174,164,.12)}.glow-one{background:rgba(122,158,145,.18)}.glow-two{background:rgba(184,194,184,.2)}.services,.seminar,.workspace-program,.footer,.sub-footer{background:var(--deep)}.service-icon{border-color:#d8e1dc;color:var(--navy)}.reason b,.case span,.case-feature>div>span,.case-feature li:before,.steps b{color:#718a7e}.answer,.case-cta{background:var(--deep)}.news{background:#f0f4f1}.news-tag{color:#587a70}.workspace-hero,.workspace-cta{background:linear-gradient(135deg,#fbfaf7,#edf3ef)}.funding{background:#f0f4f1}.workspace-brand-card:after{border-color:rgba(95,133,120,.1)}

/* Slowly moving, clickable case studies */
.case-window{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;padding:10px 0 26px}.case-marquee{display:flex!important;width:max-content;grid-template-columns:none!important;gap:24px!important;border:0!important;animation:case-scroll 72s linear infinite;will-change:transform}.case-marquee:hover{animation-play-state:paused}.case-marquee .case{width:min(560px,82vw);min-height:520px;flex:0 0 auto;padding:42px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 45px rgba(25,57,54,.06);cursor:pointer;transition:transform .25s,box-shadow .25s}.case-marquee .case:hover,.case-marquee .case:focus{transform:translateY(-7px);box-shadow:0 22px 55px rgba(25,57,54,.12);outline:2px solid #789185;outline-offset:3px}.case-marquee .case h3:after{content:' ↗';font-size:.8em;color:var(--green)}
@keyframes case-scroll{to{transform:translateX(calc(-50% - 12px))}}
@media(prefers-reduced-motion:reduce){.case-marquee{animation:none}.reveal{transition:none}}
@media(max-width:780px){.case-window{overflow-x:auto;scroll-snap-type:x mandatory;padding-left:17px}.case-window::-webkit-scrollbar{display:none}.case-marquee{animation:none}.case-marquee .case{width:86vw;min-height:500px;scroll-snap-align:start;padding:30px 24px}.case-marquee .case[aria-hidden=true]{display:none}}

/* Case study detail page */
.case-detail-hero{padding:130px 0 95px;background:linear-gradient(135deg,#fbfaf7,#edf3ef)}.case-detail-hero h1{font-size:clamp(3rem,5.8vw,5.4rem);color:var(--deep);letter-spacing:-.05em}.case-detail-hero h1 em{font-style:normal;color:#718a7e}.case-detail-hero>div>p:last-child{font-size:1.1rem;max-width:700px}.case-index{position:sticky;top:0;z-index:20;background:rgba(251,250,247,.94);backdrop-filter:blur(10px);border-block:1px solid var(--line)}.case-index .container{display:flex;overflow-x:auto}.case-index a{white-space:nowrap;padding:18px 20px;font-size:.78rem;color:var(--muted)}.case-detail{padding:100px 0;scroll-margin-top:60px;border-bottom:1px solid var(--line)}.case-detail:nth-of-type(even){background:#f3f5f1}.case-detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.case-detail h2{font-size:clamp(2rem,3.5vw,3.3rem);color:var(--deep)}.case-summary{font-size:1.08rem}.case-detail dl{margin:0}.case-detail dl div{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:26px 0;border-top:1px solid var(--line)}.case-detail dt{font-weight:700;color:#607e74}.case-detail dd{margin:0;color:var(--muted)}
@media(max-width:780px){.case-detail-hero{padding:90px 0 65px}.case-detail-hero h1{font-size:2.65rem}.case-detail{padding:70px 0}.case-detail-grid{grid-template-columns:1fr;gap:25px}.case-detail dl div{grid-template-columns:1fr;gap:6px}}
.services{background:#fbfaf7;color:var(--ink)}
body{overflow-x:hidden}
.hero-line{display:block;white-space:nowrap}.hero h1{font-size:clamp(2.8rem,4.5vw,4.45rem)}
@media(max-width:780px){.hero h1{font-size:clamp(2rem,9vw,2.35rem)}}

/* Logo-derived corporate palette: Care IT navy × C7 blue */
:root{--navy:#102c4d;--deep:#102c4d;--blue:#015da4;--sky:#edf5fa;--green:#0075c1;--pale:#f3f7fa;--ink:#20364a;--muted:#586b7c;--line:#d6e1e9;--white:#fff;--shadow:0 18px 55px rgba(16,44,77,.10)}
body{background:#fff}.header,.header.scrolled{background:rgba(255,255,255,.96)}.header.scrolled{border-color:var(--line)}.nav a:after{background:var(--blue)}.btn,.mobile-cta{background:var(--navy);box-shadow:0 10px 28px rgba(16,44,77,.14)}.btn:hover,.mobile-cta:hover{background:var(--blue);filter:none}.eyebrow{color:var(--blue)}.hero{background:linear-gradient(135deg,#fff 5%,#f5f9fc 58%,#edf5fa 100%)}.hero h1 em,.workspace-hero h1 em{background:linear-gradient(135deg,#102c4d 0%,#015da4 55%,#0075c1 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero:before{border-color:rgba(0,117,193,.07)}.hero:after{background:rgba(1,93,164,.055)}.concept-visual:before{border-color:rgba(0,117,193,.10)}.concept-visual:after{border-color:rgba(1,93,164,.08)}.glow-one{background:rgba(0,117,193,.14)}.glow-two{background:rgba(154,182,207,.18)}.concept-card small{color:var(--blue)}.concept-lines path{stroke:rgba(1,93,164,.22)}.concept-main{border-color:#fff}.vision,.problems,.services,.cases,.profile,.contact{background:#fff}.about,.reasons,.flow,.faq{background:var(--pale)}.about:after{border-color:rgba(0,117,193,.07)}.about blockquote{border-color:var(--blue)}.services{color:var(--ink)}.service-icon{background:var(--pale);color:var(--blue);border-color:var(--line)}.service h4,.service a,.reason b,.case span,.case-feature>div>span,.case-feature li:before,.steps b{color:var(--blue)}.service a{border-bottom-color:var(--green)}.answer,.case-cta,.seminar,.workspace-program,.footer,.sub-footer{background:var(--navy)}.answer li:not(:last-child):after,.steps li:not(:last-child):after{color:#6db5e2}.case-feature{background:var(--pale);border-color:var(--line)}.case-feature h3{color:var(--navy)}.case-feature p,.case-feature li span{color:var(--muted)}.case-feature li{border-bottom-color:var(--line)}.case-marquee .case{border-color:var(--line);box-shadow:0 14px 45px rgba(16,44,77,.06)}.case-marquee .case:hover,.case-marquee .case:focus{box-shadow:0 22px 55px rgba(16,44,77,.12);outline-color:var(--green)}.news,.funding{background:var(--pale)}.news-list,.news-item{border-color:var(--line)}.news-tag,.news-item i{color:var(--blue)}.expertise-panel{background:linear-gradient(145deg,#102c4d,#015da4)}.workspace-hero,.workspace-cta,.case-detail-hero{background:linear-gradient(135deg,#fff,#edf5fa)}.workspace-brand-card{box-shadow:0 30px 90px rgba(16,44,77,.10)}.workspace-brand-card:after{border-color:rgba(0,117,193,.10)}.program-grid b{color:#8ec9ee}.fund-note{border-left-color:var(--blue)}.case-detail-hero h1 em{color:var(--blue)}.case-index{background:rgba(255,255,255,.95)}.case-detail:nth-of-type(even){background:var(--pale)}.case-detail dt{color:var(--blue)}.contact-form{background:var(--pale);border-color:var(--line)}.contact-copy .note{border-color:var(--blue)}.contact-form label>span:not(.check span){background:var(--blue)}.footer h3{color:#8ec9ee}.footer p,.footer a{color:#c9d9e5}.copyright,.copyright small{color:#9ab6cf}.check a{color:var(--blue)}

/* Responsive heading rhythm */
h1,h2,h3{text-wrap:balance;line-break:strict}.phrase{display:inline-block}.contact-copy h2{max-width:11em;font-size:clamp(2.05rem,3.7vw,3.25rem);line-height:1.55;letter-spacing:-.045em}

/* Hero photography and gently floating message bubbles */
.photo-visual{position:relative;min-height:590px;isolation:isolate}.photo-visual>img{position:absolute;inset:35px 0;width:100%;height:calc(100% - 70px);object-fit:cover;object-position:68% center;border-radius:42% 58% 46% 54%/48% 42% 58% 52%;box-shadow:0 26px 80px rgba(16,44,77,.13)}.photo-visual:after{content:'';position:absolute;inset:35px 0;z-index:1;border-radius:42% 58% 46% 54%/48% 42% 58% 52%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);pointer-events:none}.photo-visual .concept-card{z-index:3;background:rgba(255,255,255,.93);border:1px solid rgba(255,255,255,.95);box-shadow:0 16px 45px rgba(16,44,77,.14);backdrop-filter:blur(12px)}.photo-visual .concept-a{left:-3%;top:7%;animation:bubble-float-a 6.4s ease-in-out infinite}.photo-visual .concept-b{right:-4%;top:35%;animation:bubble-float-b 7.1s ease-in-out -2.1s infinite}.photo-visual .concept-c{left:6%;bottom:3%;animation:bubble-float-c 6.8s ease-in-out -4s infinite}@keyframes bubble-float-a{0%,100%{transform:translate3d(0,0,0) rotate(-.4deg)}50%{transform:translate3d(8px,-13px,0) rotate(.5deg)}}@keyframes bubble-float-b{0%,100%{transform:translate3d(0,0,0) rotate(.3deg)}50%{transform:translate3d(-9px,-11px,0) rotate(-.5deg)}}@keyframes bubble-float-c{0%,100%{transform:translate3d(0,0,0) rotate(-.2deg)}50%{transform:translate3d(7px,-12px,0) rotate(.4deg)}}

/* High-contrast rules for dark sections */
.seminar .eyebrow,.workspace-program .eyebrow{color:#9bd5f4}.seminar h2,.seminar h2 em{color:#fff;background:none;-webkit-background-clip:border-box;background-clip:border-box}.seminar h2 em{color:#9bd5f4;-webkit-text-fill-color:#9bd5f4}.seminar .section-head>p:not(.eyebrow){color:#d7e4ed}.seminar .btn,.case-cta .btn{background:#fff;color:var(--navy)!important;box-shadow:0 10px 28px rgba(0,0,0,.14)}.seminar .btn:hover,.case-cta .btn:hover{background:#dceefa;color:var(--navy)!important}.seminar-panel p{color:#586b7c}

@media(max-width:780px){.photo-visual{min-height:430px}.photo-visual>img,.photo-visual:after{inset:25px 0;height:calc(100% - 50px)}.photo-visual .concept-card{padding:11px 14px}.photo-visual .concept-card b{font-size:.74rem;margin-left:6px}.photo-visual .concept-a{left:0;top:4%}.photo-visual .concept-b{right:0;top:40%}.photo-visual .concept-c{left:4%;bottom:1%}.contact-copy h2{max-width:12em;font-size:clamp(2rem,9.2vw,2.6rem)}}
@media(prefers-reduced-motion:reduce){.photo-visual .concept-card{animation:none}}

/* The supplied care/technology artwork is the first-view header background. */
.hero{background-color:#fff;background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 35%,rgba(255,255,255,.70) 48%,rgba(255,255,255,.08) 67%,rgba(255,255,255,0) 100%),url('../assets/hero-care-technology.png');background-position:center;background-size:cover;background-repeat:no-repeat}
.hero:before,.hero:after{display:none}.photo-visual:after{display:none}.photo-visual>img{display:none}
@media(max-width:780px){.hero{background-image:linear-gradient(180deg,#fff 0%,#fff 48%,rgba(255,255,255,.88) 57%,rgba(255,255,255,.08) 76%,rgba(255,255,255,0) 100%),url('../assets/hero-care-technology.png');background-position:center bottom;background-size:auto 54%;background-repeat:no-repeat}.photo-visual{min-height:430px}}
html,body{overflow-x:hidden}

/* Compact rhythm, fixed message breaks and operable case carousel */
.section{padding:96px 0}.section-head{margin-bottom:48px}.hero{min-height:760px;padding:150px 0 78px}.hero-grid{gap:6vw}.hero-visual,.photo-visual{min-height:500px}.hero .actions{margin:30px 0 0}.fixed-line{display:block;white-space:nowrap}.hero h1{font-size:clamp(2.8rem,4.5vw,4.1rem)}.vision h2{font-size:clamp(2.05rem,3.2vw,2.65rem)}.about h2{font-size:clamp(2.05rem,3.4vw,3rem)}.vision-statement{margin-top:34px;padding:28px 0}.answer{margin-top:58px;padding:48px}.case-feature{padding:44px;margin-bottom:24px}.case-cta{margin-top:38px;padding:34px 40px}.steps li{padding:32px 20px}.profile-copy h2 small{display:block;margin:10px 0 0;font-size:1rem;letter-spacing:.02em}.case-controls{display:flex;justify-content:flex-end;gap:10px;margin:0 0 18px}.case-controls button{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font:700 .84rem 'Noto Sans JP',sans-serif;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.case-controls button:hover,.case-controls button:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-2px);outline:none}.case-controls button span{font-size:1.15rem}.case-window{width:100%;margin-left:0;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:8px 4px 18px;touch-action:pan-x}.case-window::-webkit-scrollbar{display:none}.case-marquee{animation:none;width:max-content;gap:20px!important;will-change:auto}.case-marquee .case{width:min(500px,82vw);min-height:0;padding:30px 32px}.case dl{margin:4px 0 14px}.case dl div{padding:11px 0}.case dd{line-height:1.65}.case-grid .case small{margin-top:12px}
@media(max-width:780px){.section{padding:64px 0}.section-head{margin-bottom:36px}.hero{min-height:auto;padding:108px 0 48px}.hero-grid{gap:24px}.hero-visual,.photo-visual{min-height:390px}.hero h1{font-size:clamp(1.55rem,7.7vw,2.35rem)}.vision h2,.about h2{font-size:clamp(1.4rem,7vw,2.2rem)}.answer{margin-top:40px;padding:30px 18px}.case-feature{padding:30px 22px}.case-controls{justify-content:space-between;margin-bottom:12px}.case-controls button{min-height:44px;padding:0 15px}.case-window{padding-left:0}.case-marquee .case{width:84vw;min-height:0;padding:26px 22px}.case-cta{margin-top:28px;padding:28px 22px}.profile-copy h2 small{font-size:.9rem}}

/* Refined hero sequence: a soft, slightly blurred pop-up followed by the wordmark. */
.hero-message .fixed-line{overflow:hidden}.hero-slide-text{display:block;opacity:0;filter:blur(8px);transform:translateY(46px) scale(.965);transform-origin:left bottom;animation:hero-message-pop 1.25s cubic-bezier(.16,1,.3,1) forwards}.hero-message .fixed-line:nth-child(2) .hero-slide-text{animation-delay:.2s}.hero-wordmark{position:relative;width:min(300px,62vw);aspect-ratio:3.1;overflow:hidden;margin:12px 0 0;opacity:0;transform:translateY(34px);animation:hero-wordmark-rise 1.8s cubic-bezier(.16,1,.3,1) 1.25s forwards}.hero-wordmark img{position:absolute;left:0;top:0;width:164.5%;max-width:none;height:auto;transform:translate(-20%,-40.2%)}.hero .actions{margin-top:16px;opacity:0;transform:translateY(14px);animation:hero-actions-rise .8s ease 2.65s forwards}@keyframes hero-message-pop{0%{opacity:0;filter:blur(8px);transform:translateY(46px) scale(.965)}68%{opacity:1;filter:blur(0);transform:translateY(-3px) scale(1.006)}100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}@keyframes hero-wordmark-rise{0%{opacity:0;transform:translateY(34px)}100%{opacity:1;transform:translateY(0)}}@keyframes hero-actions-rise{to{opacity:1;transform:translateY(0)}}
@media(max-width:780px){.hero-wordmark{width:min(240px,66vw);margin-top:10px}.hero .actions{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.hero-slide-text,.hero-wordmark,.hero .actions{animation:none;opacity:1;filter:none;transform:none}}

/* Refined brand gradients for navy sections. */
.editorial-seminar,
.editorial-contact,
.editorial-footer,
.footer,
.sub-footer,
.workspace-program,
.case-cta{
  background:
    radial-gradient(circle at 88% 12%,rgba(0,117,193,.24),transparent 34%),
    linear-gradient(135deg,#081f39 0%,#102f55 50%,#075d8f 100%);
}

/* Profile: introduction first, portrait second. */
.editorial-profile .profile-story{grid-template-columns:minmax(0,1fr) 220px}
.editorial-profile .profile-portrait{justify-self:end;margin-left:0}

/* Google Workspace nonprofit support and readable actions. */
.workspace-hero .actions .btn,
.workspace-cta .btn{white-space:nowrap}
.nonprofit-support{background:#fff}
.nonprofit-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:clamp(65px,9vw,120px);align-items:start}
.nonprofit-copy h2{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.45;letter-spacing:-.04em}
.nonprofit-copy>p:not(.eyebrow){max-width:650px;line-height:2}
.nonprofit-copy .text-link{display:inline-flex;margin-top:18px;color:var(--navy);font-weight:700;border-bottom:1px solid var(--blue);padding-bottom:5px}
.nonprofit-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.nonprofit-steps li{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}
.nonprofit-steps b{font:700 .75rem Outfit,sans-serif;letter-spacing:.12em;color:var(--blue)}
.nonprofit-steps h3{margin:0 0 7px;font-size:1.15rem}
.nonprofit-steps p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.8}
.workspace-flow .section-head>p:not(.eyebrow){max-width:720px;margin-top:20px;color:var(--muted)}

/* News archive. Article data is shared with the home page. */
.news-archive-link{margin-top:34px}
.archive-hero{padding:120px 0 86px;background:linear-gradient(135deg,#fff 10%,#f2f7fb 62%,#e7f1f8)}
.archive-hero h1,.downloads-hero h1{margin:0;font-size:clamp(3rem,7vw,6rem);line-height:1.2;letter-spacing:-.055em;color:var(--navy)}
.archive-hero p:last-child{max-width:620px;margin-top:28px;font-size:1.05rem}
.news-archive{background:#fff}
.news-filter-groups{display:grid;grid-template-columns:auto 1fr;gap:28px 72px;align-items:start;margin-bottom:62px}
.news-filter-groups>div>span{display:block;margin-bottom:12px;font:700 .65rem Outfit,sans-serif;letter-spacing:.16em;color:var(--blue)}
.news-filters{display:flex;gap:10px;flex-wrap:wrap}
.news-filters button{appearance:none;min-width:92px;padding:11px 18px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--navy);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.news-filters button:hover,.news-filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.news-year-label{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}
.news-year-label span{font:700 clamp(2rem,4vw,3.8rem) Outfit,sans-serif;color:var(--navy)}
.news-year-label small{font:700 .68rem Outfit,sans-serif;letter-spacing:.16em;color:var(--blue)}
.archive-news-list .news-item{grid-template-columns:145px 130px minmax(0,1fr) 26px;padding:31px 8px}
.archive-news-list .news-item:hover{background:var(--pale)}
.news-empty{padding:38px 0;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* Downloads placeholder page. */
.downloads-main{min-height:calc(100svh - 192px)}
.downloads-hero{min-height:calc(100svh - 192px);display:flex;align-items:center;padding:92px 0;background:linear-gradient(135deg,#fff 8%,#f2f7fb 60%,#e5f0f8)}
.downloads-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(430px,1.15fr);gap:clamp(70px,10vw,140px);align-items:center}
.downloads-status{padding:55px 0;border-top:1px solid #9fb7c9;border-bottom:1px solid #9fb7c9}
.downloads-status>span{font:700 .7rem Outfit,sans-serif;letter-spacing:.18em;color:var(--blue)}
.downloads-status h2{margin:22px 0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.45;color:var(--navy)}
.downloads-status p{max-width:590px;line-height:2}
.downloads-status .text-link{display:inline-flex;margin-top:20px;color:var(--navy);font-weight:700;border-bottom:1px solid var(--blue);padding-bottom:5px}

@media(max-width:780px){
  .editorial-profile .profile-story{grid-template-columns:1fr}
  .editorial-profile .profile-portrait{justify-self:center;margin:0}
  .workspace-hero .actions .btn{width:auto;max-width:100%;padding-inline:25px}
  .nonprofit-grid{grid-template-columns:1fr;gap:44px}
  .nonprofit-copy h2{font-size:clamp(1.8rem,8vw,2.5rem)}
  .archive-hero{padding:82px 0 62px}
  .archive-hero h1,.downloads-hero h1{font-size:clamp(2.35rem,12vw,3.6rem)}
  .news-filter-groups{grid-template-columns:1fr;gap:26px;margin-bottom:45px}
  .news-filters{gap:8px}
  .news-filters button{min-width:0;padding:9px 14px}
  .archive-news-list .news-item{grid-template-columns:1fr 22px;gap:6px 14px;padding:25px 3px}
  .archive-news-list .news-item time,.archive-news-list .news-tag,.archive-news-list .news-item strong{grid-column:1}
  .archive-news-list .news-item i{grid-column:2;grid-row:1/4}
  .downloads-main,.downloads-hero{min-height:auto}
  .downloads-hero{padding:78px 0}
  .downloads-layout{grid-template-columns:1fr;gap:52px}
  .downloads-status{padding:38px 0}
}

@media(max-width:420px){
  .workspace-hero .actions .btn{width:100%;padding-inline:18px}
  .workspace-cta .btn{font-size:.83rem;padding-inline:18px}
  .nonprofit-steps li{grid-template-columns:42px 1fr;gap:12px}
  .news-year-label{align-items:center}
  .news-year-label small{font-size:.6rem}
}

/* Editorial corporate redesign — fewer containers, stronger hierarchy, one visual language. */
.editorial-home{--editorial-space:clamp(82px,9vw,132px);background:#fff;color:#20364a}
.editorial-home .section{padding:var(--editorial-space) 0}
.editorial-home .btn{min-height:54px;padding:0 26px;border-radius:6px;box-shadow:none}
.editorial-home .btn:hover{transform:none;background:#015da4}
.editorial-home .header{height:76px;border-bottom:1px solid rgba(214,225,233,.72);box-shadow:none}
.editorial-home .header.scrolled{height:68px;box-shadow:none}
.editorial-home .header-inner{max-width:1440px;margin:auto}
.editorial-home .brand img{width:68px}
.editorial-home .nav{gap:clamp(18px,2vw,34px)}
.editorial-home .nav a{font-size:.82rem;letter-spacing:.01em}

.editorial-hero{min-height:720px;padding:152px 0 88px;background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 38%,rgba(255,255,255,.72) 54%,rgba(255,255,255,.12) 72%,rgba(255,255,255,0) 100%),url('../assets/hero-care-technology.png');background-position:center;background-size:cover}
.editorial-hero-inner{display:flex;min-height:480px;align-items:center}
.editorial-hero .hero-copy{width:min(650px,58%)}
.editorial-hero .eyebrow{font-family:'Noto Sans JP',sans-serif;font-size:.78rem;letter-spacing:.08em}
.editorial-hero h1{margin-bottom:12px;font-size:clamp(3rem,5vw,4.8rem);line-height:1.28}
.editorial-hero .hero-wordmark{width:min(330px,72vw);margin-top:8px}
.editorial-hero .hero-intro{max-width:35em;margin:18px 0 0;color:#40576b;font-size:.95rem;line-height:1.9;opacity:0;animation:hero-actions-rise .8s ease 2.15s forwards}
.editorial-hero .actions{margin-top:25px}

.proof-strip{background:#102c4d;color:#fff}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-grid>div{min-height:138px;padding:28px 26px;border-left:1px solid rgba(255,255,255,.17);display:flex;flex-direction:column;justify-content:center}
.proof-grid>div:first-child{border-left:0}
.proof-grid strong{color:#fff;font:600 clamp(1.55rem,2.5vw,2.15rem) Outfit,sans-serif;letter-spacing:-.02em}
.proof-grid span{margin-top:7px;color:#bfd0dd;font-size:.76rem;line-height:1.65}

.experience-band{padding:72px 0;background:#f3f7fa;border-block:1px solid #d6e1e9}
.experience-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,9vw,140px);align-items:start}
.experience-layout header{position:sticky;top:105px}
.experience-layout h2{margin:0;color:#102c4d;font-size:clamp(2rem,3.2vw,2.85rem);line-height:1.45}
.experience-list{margin:0;padding:0;border-top:1px solid #9fb7c9;list-style:none}
.experience-list li{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:21px 0;border-bottom:1px solid #cbd9e4}
.experience-list li>span{padding-top:3px;color:#015da4;font:700 .7rem Outfit,sans-serif;letter-spacing:.1em}
.experience-list b,.experience-list small{display:block}
.experience-list b{color:#102c4d;font-size:.95rem;line-height:1.65}
.experience-list small{margin-top:4px;color:#617487;font-size:.76rem;line-height:1.7}

.brand-statement{position:relative;display:flex;min-height:620px;align-items:center;padding:var(--editorial-space) 0;isolation:isolate;background-image:linear-gradient(90deg,rgba(243,247,250,.97) 0%,rgba(243,247,250,.9) 48%,rgba(243,247,250,.5) 74%,rgba(243,247,250,.18) 100%),url('../assets/vision-care.png');background-position:center;background-size:cover}
.brand-statement:before{display:none}
.brand-statement-inner{display:grid;grid-template-columns:1.05fr .75fr;gap:clamp(60px,9vw,135px);align-items:end}
.brand-statement .eyebrow{color:#015da4}
.brand-statement h2{max-width:760px;margin:0;color:#102c4d;font-size:clamp(2.55rem,4vw,4rem);line-height:1.45;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.brand-statement h2 em{color:#015da4}
.brand-statement p:last-child{max-width:38em;margin:0;color:#314d64;font-size:1rem;font-weight:500;line-height:2.05;text-shadow:0 1px 0 rgba(255,255,255,.72)}

.editorial-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:58px}
.editorial-heading .eyebrow{grid-column:1/-1;margin-bottom:-18px}
.editorial-heading h2{margin:0;color:#102c4d;font-size:clamp(2.3rem,4.1vw,3.7rem);line-height:1.38}
.editorial-heading>p:not(.eyebrow){margin:0 0 5px;line-height:1.95}

.service-overview{background:#fff}
.service-editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #cbd9e4}
.service-editorial{position:relative;display:flex;min-height:470px;padding:44px 40px 38px;flex-direction:column;border-left:1px solid #cbd9e4;background:#fff;transition:background .25s ease}
.service-editorial:first-child{border-left:0}
.service-editorial:hover,.service-editorial:focus-visible{background:#f3f7fa;outline:none}
.service-editorial>span{color:#015da4;font:700 .71rem Outfit,sans-serif;letter-spacing:.13em}
.service-editorial h3{margin:50px 0 22px;color:#102c4d;font-size:clamp(1.6rem,2.35vw,2.15rem);line-height:1.55}
.service-editorial p{font-size:.9rem;line-height:1.95}
.service-editorial b{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:28px;border-top:1px solid #d6e1e9;color:#102c4d;font-size:.83rem}
.service-editorial i{font-size:1.15rem;font-style:normal;transition:transform .2s ease}
.service-editorial:hover i{transform:translateX(5px)}

.editorial-cases{background:#f3f7fa}
.case-editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case-editorial{position:relative;display:flex;min-height:440px;padding:38px 34px 32px;flex-direction:column;background:#fff;border-top:3px solid #015da4;transition:border-color .2s ease}
.case-editorial:hover,.case-editorial:focus-visible{border-top-color:#0075c1;outline:1px solid #cbd9e4;outline-offset:0}
.case-editorial>span{color:#015da4;font:700 .71rem Outfit,sans-serif;letter-spacing:.1em}
.case-editorial h3{margin:34px 0 20px;color:#102c4d;font-size:clamp(1.45rem,2vw,1.95rem);line-height:1.55}
.case-editorial p{font-size:.86rem;line-height:1.9}
.case-editorial strong{margin-top:auto;padding-top:23px;border-top:1px solid #d6e1e9;font-size:.86rem;line-height:1.8}
.case-editorial>i{position:absolute;right:30px;top:30px;color:#015da4;font-style:normal}
.section-link{display:flex;width:max-content;align-items:center;gap:28px;margin:36px 0 0 auto;padding-bottom:8px;border-bottom:1px solid #8fb2c9;color:#102c4d;font-weight:700;font-size:.86rem}

.editorial-home .workspace-spotlight{padding:var(--editorial-space) 0;background:#fff}
.editorial-home .workspace-spotlight-card{padding:72px 0;border:0;border-block:1px solid #cbd9e4;border-radius:0;background:#fff;box-shadow:none}
.editorial-home .workspace-spotlight-card:hover,.editorial-home .workspace-spotlight-card:focus-visible{transform:none;border-color:#8fb2c9;box-shadow:none}
.editorial-home .workspace-spotlight-visual{animation:none}

.editorial-flow{background:#fff}
.editorial-flow .editorial-heading{grid-template-columns:1fr;margin-bottom:38px}
.flow-editorial{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;border-top:1px solid #9fb7c9;list-style:none}
.flow-editorial li{min-height:235px;padding:32px 30px;border-left:1px solid #d6e1e9}
.flow-editorial li:first-child{border-left:0}
.flow-editorial b{color:#015da4;font:700 .74rem Outfit,sans-serif}
.flow-editorial h3{margin:56px 0 12px;color:#102c4d;font-size:1.35rem}
.flow-editorial p{margin:0;font-size:.82rem}

.editorial-seminar{background:#102c4d}
.seminar-editorial-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(70px,9vw,140px);align-items:start}
.editorial-seminar .editorial-heading{display:block;margin:0}
.editorial-seminar .editorial-heading .eyebrow{margin-bottom:28px;color:#8ec9ee}
.editorial-seminar .editorial-heading h2{margin:0 0 26px;color:#fff}
.editorial-seminar .editorial-heading h2 em{color:#8ec9ee}
.editorial-seminar .editorial-heading>p:not(.eyebrow){margin-bottom:36px;color:#c9d9e5}
.btn-light{background:#fff!important;color:#102c4d!important}
.btn-light:hover{background:#dfeef7!important}
.seminar-topic-list{border-top:1px solid rgba(255,255,255,.28)}
.seminar-topic-list a{display:grid;grid-template-columns:48px 1fr auto;gap:18px;align-items:center;min-height:82px;border-bottom:1px solid rgba(255,255,255,.2);color:#fff}
.seminar-topic-list span{color:#8ec9ee;font:700 .7rem Outfit,sans-serif}
.seminar-topic-list b{font-size:.95rem}
.seminar-topic-list small{color:#afc4d2;font-size:.73rem}
.seminar-topic-list a:hover b{color:#8ec9ee}

.editorial-news{background:#fff}
.editorial-news .news-list{border-top:1px solid #9fb7c9}
.editorial-news .news-item{grid-template-columns:160px 95px minmax(0,1fr) 24px;padding:28px 8px;border-bottom:1px solid #d6e1e9}
.editorial-news .news-item:hover{background:#f3f7fa}

.editorial-profile{background:#f3f7fa}
.editorial-profile .profile-story{width:min(1050px,calc(100% - 48px));grid-template-columns:220px minmax(0,1fr);gap:clamp(65px,9vw,120px)}
.editorial-profile .profile-portrait span{width:205px;border-width:0;box-shadow:none}
.editorial-profile .profile-portrait:before{border-color:rgba(1,93,164,.28)}
.editorial-profile .profile-copy{max-width:730px}
.editorial-profile .profile-copy>p:not(.eyebrow){max-width:47em}
.editorial-profile .profile-copy dl div{grid-template-columns:110px 1fr}

.editorial-faq{background:#fff}
.editorial-faq .editorial-heading{grid-template-columns:1fr;margin-bottom:38px}
.editorial-faq .accordion{border-top:1px solid #9fb7c9}
.editorial-faq .accordion details{border-bottom:1px solid #d6e1e9}

.editorial-contact{padding:100px 0!important;background:#102c4d;color:#fff}
.contact-editorial-inner{text-align:center}
.contact-editorial-inner .eyebrow{color:#8ec9ee}
.contact-editorial-inner h2{margin:0;color:#fff;font-size:clamp(2.35rem,4.4vw,4rem);line-height:1.45}
.contact-editorial-inner>p:not(.eyebrow){margin:24px auto 35px;color:#c9d9e5}
.contact-editorial-inner .contact-form-link{min-width:240px}

.editorial-footer{padding-top:65px}
.editorial-footer .footer-grid{padding-bottom:15px}
.editorial-footer img{width:92px}
.editorial-footer h2{font-size:1rem}
.editorial-home .mobile-cta{border-radius:6px}

@media(max-width:980px){
  .editorial-home .nav a{font-size:.75rem}
  .editorial-hero .hero-copy{width:65%}
  .proof-grid{grid-template-columns:repeat(2,1fr)}
  .proof-grid>div:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.17)}
  .proof-grid>div:nth-child(4){border-top:1px solid rgba(255,255,255,.17)}
  .brand-statement-inner,.editorial-heading{grid-template-columns:1fr}
  .brand-statement p:last-child{max-width:44em}
  .service-editorial{padding:38px 27px}
  .service-editorial h3{font-size:1.55rem}
}

@media(max-width:780px){
  .editorial-home{--editorial-space:72px}
  .editorial-home .header,.editorial-home .header.scrolled{height:68px}
  .editorial-home .nav{gap:0}
  .editorial-hero{min-height:650px;padding:104px 0 52px;background-image:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.97) 49%,rgba(255,255,255,.66) 65%,rgba(255,255,255,.06) 82%,rgba(255,255,255,0) 100%),url('../assets/hero-care-technology.png');background-position:center bottom;background-size:auto 55%}
  .editorial-hero-inner{min-height:495px;align-items:flex-start}
  .editorial-hero .hero-copy{width:100%}
  .editorial-hero h1{font-size:clamp(2.2rem,9.5vw,3.15rem)}
  .editorial-hero .hero-intro{max-width:29em;font-size:.85rem;line-height:1.8}
  .editorial-hero .actions .btn{width:auto}
  .proof-grid>div{min-height:118px;padding:24px 18px}
  .proof-grid strong{font-size:1.55rem}
  .proof-grid span{font-size:.69rem}
  .experience-band{padding:58px 0}
  .experience-layout{grid-template-columns:1fr;gap:32px}
  .experience-layout header{position:static}
  .experience-layout h2{font-size:1.85rem}
  .experience-list li{grid-template-columns:42px 1fr;gap:13px;padding:18px 0}
  .brand-statement{min-height:570px;background-image:linear-gradient(180deg,rgba(243,247,250,.95) 0%,rgba(243,247,250,.86) 58%,rgba(243,247,250,.62) 100%),url('../assets/vision-care.png');background-position:center}
  .brand-statement-inner{gap:35px}
  .brand-statement h2{font-size:clamp(1.9rem,8vw,2.65rem)}
  .brand-statement p:last-child{font-size:.9rem;line-height:1.95}
  .editorial-heading{gap:20px;margin-bottom:39px}
  .editorial-heading .eyebrow{margin-bottom:0}
  .editorial-heading h2{font-size:clamp(1.85rem,8vw,2.55rem)}
  .service-editorial-grid,.case-editorial-grid,.flow-editorial{grid-template-columns:1fr}
  .service-editorial-grid{border-block:0;border-top:1px solid #cbd9e4}
  .service-editorial{min-height:0;padding:34px 5px;border-left:0;border-bottom:1px solid #cbd9e4}
  .service-editorial h3{margin:25px 0 14px;font-size:1.55rem}
  .service-editorial b{margin-top:25px}
  .case-editorial-grid{gap:16px}
  .case-editorial{min-height:0;padding:31px 25px}
  .case-editorial h3{margin:26px 0 15px;font-size:1.45rem}
  .case-editorial strong{margin-top:22px}
  .section-link{margin-top:29px}
  .editorial-home .workspace-spotlight-card{gap:32px;padding:48px 0;border-radius:0}
  .editorial-home .workspace-spotlight-copy h2{font-size:clamp(1.9rem,8vw,2.45rem)}
  .flow-editorial li{min-height:0;padding:27px 5px;border-left:0;border-bottom:1px solid #d6e1e9}
  .flow-editorial h3{margin:22px 0 8px}
  .seminar-editorial-grid{grid-template-columns:1fr;gap:55px}
  .editorial-seminar .editorial-heading .eyebrow{margin-bottom:22px}
  .seminar-topic-list a{grid-template-columns:40px 1fr;min-height:78px}
  .seminar-topic-list small{grid-column:2;display:block;margin-top:-23px;padding-bottom:13px}
  .editorial-news .news-heading{gap:18px}
  .editorial-news .news-item{grid-template-columns:1fr 24px;gap:6px 15px;padding:24px 3px}
  .editorial-news .news-item time,.editorial-news .news-tag{grid-column:1}
  .editorial-news .news-item strong{grid-column:1}
  .editorial-news .news-item i{grid-column:2;grid-row:1/4}
  .editorial-profile .profile-story{width:min(100% - 34px,600px);grid-template-columns:1fr;gap:42px}
  .editorial-profile .profile-portrait{justify-self:start}
  .editorial-profile .profile-portrait span{width:170px}
  .editorial-profile .profile-copy dl div{grid-template-columns:1fr;gap:5px}
  .editorial-contact{padding:74px 0!important}
  .contact-editorial-inner h2{font-size:clamp(1.85rem,8vw,2.55rem)}
  .contact-editorial-inner h2 .fixed-line{white-space:normal}
  .editorial-home .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:480px){
  .editorial-hero h1{font-size:clamp(1.85rem,8.9vw,2.35rem)}
  .editorial-hero .hero-intro{font-size:.8rem}
  .editorial-hero .actions .btn{width:100%}
  .proof-grid{grid-template-columns:1fr}
  .proof-grid>div,.proof-grid>div:nth-child(3){min-height:98px;border-left:0;border-top:1px solid rgba(255,255,255,.17)}
  .proof-grid>div:first-child{border-top:0}
  .brand-statement h2 .fixed-line,.contact-editorial-inner h2 .fixed-line{white-space:normal}
  .editorial-home .workspace-spotlight-visual .workspace-official-logo{width:min(94%,330px)}
  .editorial-home .workspace-spotlight-visual .workspace-product-lockup{width:min(96%,340px)}
  .editorial-home .footer-grid{grid-template-columns:1fr}
  .editorial-home .footer-grid>div:first-child{grid-column:auto}
}

@media(max-width:360px){
  .editorial-hero h1{font-size:1.72rem}
  .editorial-hero .eyebrow{font-size:.68rem;letter-spacing:.13em}
  .contact-editorial-inner h2{font-size:1.75rem}
}

@media(prefers-reduced-motion:reduce){
  .editorial-hero .hero-intro{animation:none;opacity:1}
  .service-editorial,.case-editorial,.service-editorial i{transition:none}
}

/* Keep the featured case heading on the intended two lines. */
.case-feature h3{font-size:clamp(1.65rem,2.6vw,2rem);letter-spacing:-.04em}.case-feature h3 .fixed-line{white-space:nowrap}
@media(max-width:780px){.case-feature h3{font-size:clamp(1.1rem,5.3vw,1.7rem)}}

/* Visualize scattered tools becoming one connected workflow behind the cases intro. */
.cases{background-color:#fff;background-image:linear-gradient(180deg,rgba(255,255,255,.54) 0%,rgba(255,255,255,.72) 46%,#fff 78%),url('../assets/cases-flow-background.png');background-position:center top;background-size:100% 680px,auto 680px;background-repeat:no-repeat}
@media(max-width:780px){.cases{background-image:linear-gradient(180deg,rgba(255,255,255,.52) 0%,rgba(255,255,255,.76) 48%,#fff 80%),url('../assets/cases-flow-background.png');background-size:100% 520px,auto 520px;background-position:center top}}

/* A quiet floating motion for the cases background only. */
.cases{position:relative;isolation:isolate;overflow:hidden;background:#fff}.cases:before{content:'';position:absolute;z-index:0;inset:-12px 0 auto;height:704px;background-image:linear-gradient(180deg,rgba(255,255,255,.54) 0%,rgba(255,255,255,.72) 46%,#fff 78%),url('../assets/cases-flow-background.png');background-position:center top;background-size:100% 704px,auto 704px;background-repeat:no-repeat;pointer-events:none;transform-origin:center top;animation:cases-quiet-float 16s ease-in-out infinite}.cases>.container{position:relative;z-index:1}@keyframes cases-quiet-float{0%,100%{transform:translate3d(0,0,0) scale(1.006)}50%{transform:translate3d(0,8px,0) scale(1.012)}}
@media(max-width:780px){.cases:before{height:544px;background-size:100% 544px,auto 544px;animation-duration:18s}}
@media(prefers-reduced-motion:reduce){.cases:before{animation:none;transform:none}}

/* Seminar themes — independent cards drifting in a quiet field. */
.seminar .split{grid-template-columns:.88fr 1.12fr;gap:clamp(48px,7vw,100px)}
.theme-stage{position:relative;isolation:isolate;overflow:hidden;min-height:650px;padding:46px;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(0,117,193,.08));border:1px solid rgba(255,255,255,.14);border-radius:28px;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.theme-stage:before,.theme-stage:after{content:'';position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);pointer-events:none}
.theme-stage:before{width:260px;height:260px;right:-105px;top:-90px;background:radial-gradient(circle,rgba(62,153,211,.25),rgba(62,153,211,0) 70%)}
.theme-stage:after{width:220px;height:220px;left:-85px;bottom:-90px;background:radial-gradient(circle,rgba(116,185,226,.16),rgba(116,185,226,0) 70%)}
.theme-stage-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px;padding:0 4px}
.theme-stage-head span{font:700 .67rem Outfit,sans-serif;letter-spacing:.22em;color:#8ec9ee}
.theme-stage-head h3{margin:0;color:#fff;font-size:1.4rem;font-weight:600}
.seminar-panel .theme-cloud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin:0;padding:0;list-style:none}
.seminar-panel .theme-cloud li{--base-x:0px;--base-y:0px;--tilt:0deg;--tilt-back:0deg;position:relative;display:flex;min-width:0;min-height:132px;padding:24px 22px 20px;flex-direction:column;justify-content:center;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.82);border-radius:22px;box-shadow:0 18px 45px rgba(3,26,45,.18);animation:theme-card-drift 8.5s ease-in-out infinite;transition:box-shadow .35s ease,filter .35s ease;will-change:transform}
.seminar-panel .theme-cloud li:nth-child(2){--base-y:12px;--tilt:.35deg;--tilt-back:-.35deg;animation-delay:-2.8s;animation-duration:9.4s}
.seminar-panel .theme-cloud li:nth-child(3){--base-y:-5px;--tilt:-.3deg;--tilt-back:.3deg;animation-delay:-5.7s;animation-duration:9s}
.seminar-panel .theme-cloud li:nth-child(4){--base-y:9px;--tilt:.25deg;--tilt-back:-.25deg;animation-delay:-1.6s;animation-duration:10.2s}
.seminar-panel .theme-cloud li:nth-child(5){--base-y:-7px;--tilt:-.2deg;--tilt-back:.2deg;animation-delay:-4.4s;animation-duration:9.7s}
.seminar-panel .theme-cloud li:nth-child(6){--base-y:7px;--tilt:.3deg;--tilt-back:-.3deg;animation-delay:-7.1s;animation-duration:10.5s}
.seminar-panel .theme-cloud li:hover{z-index:2;box-shadow:0 28px 58px rgba(3,26,45,.28);filter:brightness(1.02);animation-play-state:paused;transform:translate3d(var(--base-x),calc(var(--base-y) - 8px),0) rotate(0) scale(1.025)}
.seminar-panel .theme-cloud i{position:absolute;right:18px;top:14px;font:700 .68rem Outfit,sans-serif;font-style:normal;letter-spacing:.12em;color:#8aa7b9}
.seminar-panel .theme-cloud b{display:block;padding-right:22px;color:var(--navy);font-size:clamp(.9rem,1.25vw,1.05rem);line-height:1.5;letter-spacing:-.025em}
.seminar-panel .theme-cloud small{display:block;margin-top:5px;color:#60798a;font-size:.75rem;line-height:1.55}
.seminar-panel .theme-cloud li:before{content:'';width:24px;height:3px;margin-bottom:15px;border-radius:10px;background:linear-gradient(90deg,#0075c1,#7fc4e8)}
.seminar-panel .theme-note{margin:34px 4px 0;color:#cfdeE8;font-size:.86rem;line-height:1.9}
@keyframes theme-card-drift{0%,100%{transform:translate3d(var(--base-x),var(--base-y),0) rotate(var(--tilt))}50%{transform:translate3d(calc(var(--base-x) + 5px),calc(var(--base-y) - 10px),0) rotate(var(--tilt-back))}}
@media(max-width:780px){.seminar .split{grid-template-columns:1fr;gap:42px}.theme-stage{min-height:0;padding:34px 28px 42px;border-radius:24px}.theme-stage-head{margin-bottom:25px}.seminar-panel .theme-cloud{gap:16px}.seminar-panel .theme-cloud li{min-height:122px;padding:21px 18px}.seminar-panel .theme-cloud b{font-size:.91rem}.seminar-panel .theme-note{margin-top:30px}}
@media(max-width:420px){.theme-stage{padding:30px 18px 36px}.seminar-panel .theme-cloud{gap:13px 12px}.seminar-panel .theme-cloud li{min-height:118px;padding:20px 14px 17px;border-radius:18px}.seminar-panel .theme-cloud i{right:12px;top:11px}.seminar-panel .theme-cloud b{font-size:.82rem;padding-right:14px}.seminar-panel .theme-cloud small{font-size:.68rem}.seminar-panel .theme-note br{display:none}}
@media(prefers-reduced-motion:reduce){.seminar-panel .theme-cloud li{animation:none;transform:none}.seminar-panel .theme-cloud li:hover{transform:none}}

/* Contact now hands off to the existing Google Form. */
.contact-link-panel{position:relative;align-self:center;padding:clamp(38px,5vw,62px);overflow:hidden;background:linear-gradient(145deg,#f3f8fc,#fff);border:1px solid var(--line);border-radius:28px;box-shadow:0 22px 60px rgba(16,44,77,.08)}
.contact-link-panel:after{content:'';position:absolute;width:220px;height:220px;right:-115px;bottom:-125px;border:38px solid rgba(0,117,193,.07);border-radius:50%;pointer-events:none}
.contact-link-panel h3{position:relative;margin-bottom:18px;color:var(--navy);font-size:clamp(1.5rem,2.4vw,2rem)}
.contact-link-panel>p:not(.eyebrow){position:relative;max-width:34em;margin-bottom:32px;line-height:1.95}
.contact-form-link{position:relative;gap:13px;min-width:min(100%,310px)}
.contact-form-link span{font-size:1.12rem;transition:transform .25s ease}
.contact-form-link:hover span{transform:translate(3px,-3px)}
.contact-link-panel small{position:relative;display:block;margin-top:15px;color:var(--muted);font-size:.73rem}
@media(max-width:780px){.contact-link-panel{padding:34px 25px;border-radius:22px}.contact-form-link{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.contact-form-link span{transition:none}}

/* A clear in-page route to the dedicated Google Workspace service page. */
.workspace-spotlight{padding:46px 0 120px;background:#fff}
.workspace-spotlight-card{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(45px,7vw,95px);align-items:center;padding:clamp(48px,6vw,78px);overflow:hidden;background:linear-gradient(135deg,#f3f8fc 0%,#fff 58%,#edf6fb 100%);border:1px solid var(--line);border-radius:30px;box-shadow:0 20px 65px rgba(16,44,77,.07);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.workspace-spotlight-card:hover,.workspace-spotlight-card:focus-visible{transform:translateY(-5px);border-color:#a9cce2;box-shadow:0 30px 80px rgba(16,44,77,.13);outline:none}
.workspace-spotlight-copy{position:relative;z-index:2}
.workspace-spotlight-copy h2{margin-bottom:24px;color:var(--navy);font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.45}
.workspace-spotlight-copy h2 em{color:var(--blue)}
.workspace-spotlight-copy>p:not(.eyebrow){max-width:43em;margin-bottom:30px;line-height:2}
.workspace-spotlight-link{display:inline-flex;align-items:center;gap:18px;padding-bottom:7px;border-bottom:1px solid #9dbdd1;color:var(--navy);font-weight:700}
.workspace-spotlight-link i{font-size:1.25rem;font-style:normal;transition:transform .25s ease}
.workspace-spotlight-card:hover .workspace-spotlight-link i{transform:translateX(5px)}
.workspace-spotlight-visual{position:relative;display:flex;min-width:0;min-height:300px;padding:46px 38px;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.92);border:1px solid rgba(214,225,233,.9);border-radius:24px;box-shadow:0 18px 50px rgba(16,44,77,.08);animation:workspace-spotlight-float 10s ease-in-out infinite}
.workspace-spotlight-visual:before{content:'';position:absolute;width:180px;height:180px;right:-72px;top:-80px;border:28px solid rgba(0,117,193,.07);border-radius:50%}
.workspace-spotlight-visual img{position:relative;width:min(100%,390px);height:auto;object-fit:contain}
.workspace-spotlight-visual ul{position:relative;display:flex;gap:8px;margin:38px 0 0;padding:0;list-style:none;flex-wrap:wrap;justify-content:center}
.workspace-spotlight-visual li{padding:7px 13px;background:var(--pale);border:1px solid var(--line);border-radius:100px;color:var(--navy);font-size:.72rem;font-weight:600}
@keyframes workspace-spotlight-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@media(max-width:780px){.workspace-spotlight{padding:18px 0 92px}.workspace-spotlight-card{grid-template-columns:1fr;gap:38px;padding:38px 27px;border-radius:24px}.workspace-spotlight-copy h2{font-size:clamp(1.9rem,8.2vw,2.5rem)}.workspace-spotlight-visual{min-height:240px;padding:38px 24px}.workspace-spotlight-visual ul{margin-top:30px}}
@media(max-width:420px){.workspace-spotlight-card{padding:34px 20px}.workspace-spotlight-copy h2{font-size:1.85rem}.workspace-spotlight-link{font-size:.9rem}.workspace-spotlight-visual{min-height:215px;padding:32px 18px}.workspace-spotlight-visual li{font-size:.65rem;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){.workspace-spotlight-card,.workspace-spotlight-link i{transition:none}.workspace-spotlight-visual{animation:none}}

/* Human imagery, kept quiet and secondary to the message. */
.vision-image{position:relative;margin:52px 0 0;overflow:hidden;aspect-ratio:3/2;background:var(--pale);border-radius:28px 88px 28px 28px;box-shadow:0 18px 55px rgba(16,44,77,.09)}
.vision-image:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,44,77,.025),transparent 48%,rgba(0,117,193,.06));pointer-events:none}
.vision-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.vision-image:hover img{transform:scale(1.025)}
.profile-story{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(60px,8vw,110px);align-items:center;width:min(1040px,calc(100% - 48px))}
.profile-portrait{position:relative;justify-self:center;margin:0}
.profile-portrait:before{content:'';position:absolute;inset:-18px -14px 20px;border:1px solid rgba(0,117,193,.18);border-radius:50%;transform:rotate(-7deg);pointer-events:none}
.profile-portrait span{position:relative;display:block;width:238px;aspect-ratio:.82;overflow:hidden;background:var(--pale);border:8px solid #fff;border-radius:50% / 43%;box-shadow:0 20px 55px rgba(16,44,77,.13)}
.profile-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 43%;transform:scale(1.04);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.profile-portrait:hover img{transform:scale(1.075)}
@media(max-width:780px){.vision-image{margin-top:38px;border-radius:22px 62px 22px 22px}.profile-story{grid-template-columns:1fr;gap:48px;width:min(100% - 34px,600px)}.profile-portrait{justify-self:start;margin-left:12px}.profile-portrait span{width:190px;border-width:6px}.profile-portrait:before{inset:-14px -12px 17px}.profile-copy h2 small{display:block;margin:10px 0 0}}
@media(max-width:420px){.vision-image{border-radius:18px 48px 18px 18px}.profile-portrait span{width:168px}}
@media(prefers-reduced-motion:reduce){.vision-image img,.profile-portrait img{transition:none}.vision-image:hover img,.profile-portrait:hover img{transform:none}}

/* Vision photography sits behind the message rather than below it. */
.vision-message{position:relative;display:flex;min-height:520px;padding:48px 42px;overflow:hidden;flex-direction:column;justify-content:flex-end;border-radius:28px 88px 28px 28px;box-shadow:0 18px 55px rgba(16,44,77,.09);isolation:isolate}
.vision-message:after{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.2) 100%),linear-gradient(0deg,rgba(255,255,255,.9) 0%,transparent 62%);pointer-events:none}
.vision-message>.eyebrow,.vision-message>h2{position:relative;z-index:2}
.vision-message>.eyebrow{margin-bottom:16px}
.vision-message>h2{margin:0;font-size:clamp(1.85rem,2.85vw,2.45rem);line-height:1.55;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.vision-message .vision-image{position:absolute;z-index:0;inset:0;margin:0;aspect-ratio:auto;border-radius:inherit;box-shadow:none}
.vision-message .vision-image:after{display:none}
.vision-message .vision-image img{width:100%;height:100%;object-position:center;transform:scale(1.01)}
.vision-message:hover .vision-image img{transform:scale(1.035)}
@media(max-width:780px){.vision-message{min-height:440px;padding:36px 28px;border-radius:22px 62px 22px 22px}.vision-message>h2{font-size:clamp(1.55rem,6.3vw,2.2rem)}.vision-message:after{background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.72) 62%,rgba(255,255,255,.18)),linear-gradient(0deg,rgba(255,255,255,.9),transparent 68%)}}
@media(max-width:420px){.vision-message{min-height:390px;padding:30px 20px;border-radius:18px 48px 18px 18px}.vision-message>h2{font-size:clamp(1.38rem,5.9vw,1.62rem)}}
@media(prefers-reduced-motion:reduce){.vision-message .vision-image img,.vision-message:hover .vision-image img{transform:none}}

/* The care photograph spans the entire Vision section. */
.vision-photo{position:relative;isolation:isolate;background-image:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.5) 48%,rgba(255,255,255,.75) 100%),linear-gradient(0deg,rgba(238,246,251,.3),rgba(255,255,255,.04)),url('../assets/vision-care.png');background-position:center;background-size:cover;background-repeat:no-repeat}
.vision-photo:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 56% 43%,rgba(255,255,255,.04),rgba(255,255,255,.2) 70%);pointer-events:none}
.vision-photo .vision-grid{position:relative;z-index:1;align-items:center}
.vision-photo .vision-copy{padding:38px 40px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.74);border-radius:24px;box-shadow:0 18px 55px rgba(16,44,77,.06);backdrop-filter:blur(5px)}
.vision-photo .vision-statement{margin-bottom:0}
@media(max-width:780px){.vision-photo{background-image:linear-gradient(180deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.72) 48%,rgba(255,255,255,.91) 100%),url('../assets/vision-care.png');background-position:58% center}.vision-photo .vision-copy{padding:30px 26px}.vision-photo h2{font-size:clamp(1.55rem,6.3vw,2.2rem)}}
@media(max-width:420px){.vision-photo h2{font-size:clamp(1.38rem,5.9vw,1.62rem)}.vision-photo .vision-copy{padding:26px 20px}}

/* Consolidated responsive layer — phones and small tablets. */
@media(max-width:780px){
  html{scroll-padding-top:72px}
  body{overflow-x:hidden;padding-bottom:76px;font-size:15.5px}
  body.menu-open{overflow:hidden}
  .container,.narrow,.profile-story{width:min(calc(100% - 32px),600px)}
  .section{padding:74px 0}
  .section-head{margin-bottom:38px}
  h1,h2,h3{overflow-wrap:normal;word-break:normal;text-wrap:balance}
  h2{font-size:clamp(1.75rem,7.2vw,2.25rem);line-height:1.48}
  p{line-height:1.82}
  .eyebrow{margin-bottom:13px;font-size:.67rem;letter-spacing:.2em}
  .header,.header.scrolled{height:68px}
  .header-inner{padding:0 16px;gap:12px}
  .brand{gap:7px}
  .brand img{width:60px;height:44px}
  .menu-btn{width:42px;height:42px}
  .nav{inset:68px 0 auto;max-height:calc(100dvh - 68px);overflow-y:auto;padding:10px 18px 22px}
  .nav a{padding:12px 6px;font-size:.96rem}
  .hero{padding:108px 0 66px}
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero h1{font-size:clamp(1.95rem,7.8vw,2.35rem);line-height:1.42;letter-spacing:-.045em}
  .hero-wordmark{width:min(250px,67vw)}
  .hero .actions{margin-top:18px}
  .hero .actions .btn{width:100%;max-width:330px}
  .hero-visual,.photo-visual{min-height:370px}
  .photo-visual>img,.photo-visual:after{inset:18px 0;height:calc(100% - 36px)}
  .photo-visual .concept-a{left:0;top:3%}
  .photo-visual .concept-b{right:0;top:40%}
  .photo-visual .concept-c{left:4%;bottom:0}
  .vision-photo{padding:80px 0;background-position:55% center}
  .vision-photo .vision-grid{grid-template-columns:1fr;gap:34px}
  .vision-photo .vision-copy{margin:0;padding:29px 25px;border-radius:20px}
  .vision-photo h2{font-size:clamp(1.55rem,6.3vw,2.1rem)}
  .problems .grid-3{grid-template-columns:1fr}
  .problem{padding:27px 4px}
  .answer{padding:34px 20px}
  .answer ol{gap:7px}
  .about .split{grid-template-columns:1fr;gap:30px}
  .about h2{font-size:clamp(1.55rem,6.5vw,2.05rem)}
  .about blockquote{margin-top:24px;padding:18px 0 18px 20px;font-size:1.02rem}
  .workspace-spotlight{padding:14px 0 76px}
  .workspace-spotlight-card{grid-template-columns:1fr;gap:32px;padding:34px 24px;border-radius:22px}
  .workspace-spotlight-copy h2{font-size:clamp(1.75rem,7.6vw,2.3rem)}
  .workspace-spotlight-copy>p:not(.eyebrow){line-height:1.85}
  .workspace-spotlight-visual{min-height:220px;padding:32px 20px}
  .workspace-spotlight-visual ul{margin-top:25px}
  .cases{padding-top:76px}
  .cases .section-head h2{font-size:clamp(1.7rem,7vw,2.15rem)}
  .case-feature{grid-template-columns:1fr;gap:24px;padding:29px 22px}
  .case-feature h3{font-size:clamp(1.05rem,5vw,1.45rem)}
  .case-feature p{line-height:1.75}
  .case-feature li{padding:14px 0 14px 46px}
  .case-feature li:before{top:15px}
  .case-controls{justify-content:space-between;gap:9px}
  .case-controls button{min-width:0;min-height:44px;padding:0 14px;flex:1;justify-content:center;font-size:.78rem}
  .case-window{padding-bottom:12px;scroll-snap-type:x mandatory}
  .case-marquee{gap:14px!important}
  .case-marquee .case{width:min(86vw,440px);padding:27px 23px;scroll-snap-align:center;border-radius:19px}
  .case h3{font-size:1.18rem}
  .case dl div{grid-template-columns:54px minmax(0,1fr);gap:9px}
  .case-cta{margin-top:42px;padding:29px 22px;align-items:stretch;flex-direction:column}
  .case-cta .btn{width:100%}
  .steps{grid-template-columns:1fr}
  .steps li,.steps li:first-child{padding:27px 5px}
  .seminar .split{grid-template-columns:1fr;gap:38px}
  .seminar .section-head{margin-bottom:0}
  .seminar .section-head .btn{width:100%;margin-top:6px}
  .theme-stage{padding:31px 24px 38px}
  .theme-stage-head{margin-bottom:23px}
  .news-heading{margin-bottom:34px}
  .news-heading>p{margin-top:10px}
  .news-item{grid-template-columns:78px minmax(0,1fr) 18px;gap:8px 12px;padding:21px 2px}
  .news-item time{font-size:.72rem}
  .news-tag{grid-column:1}
  .news-item strong{grid-column:2;font-size:.86rem;line-height:1.7}
  .news-item i{grid-column:3;grid-row:1/3}
  .news-source{text-align:left}
  .profile-story{grid-template-columns:1fr;gap:39px}
  .profile-portrait{justify-self:start;margin-left:10px}
  .profile-portrait span{width:180px}
  .profile-copy h2{font-size:clamp(1.8rem,8vw,2.3rem)}
  .profile-copy dl div{grid-template-columns:1fr;gap:4px;padding:13px 0}
  .faq .narrow{width:min(calc(100% - 32px),600px)}
  .accordion summary{padding:21px 48px 21px 17px;line-height:1.65}
  .accordion summary:after{right:17px}
  .accordion details p{padding:0 18px 22px 46px}
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .contact-copy h2{font-size:clamp(1.45rem,6.7vw,1.95rem)}
  .contact-link-panel{padding:31px 23px;border-radius:20px}
  .contact-link-panel>p:not(.eyebrow){margin-bottom:25px}
  .contact-form-link{width:100%}
  .footer{padding:58px 0 96px}
  .footer-grid{gap:34px 25px}
  .copyright{gap:17px;margin-top:34px}
  .mobile-cta{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));height:56px}
  .sub-header{height:68px}
  .sub-header .container{width:min(calc(100% - 28px),600px)}
  .sub-header .brand span{display:none}
  .sub-header .btn{min-height:42px;padding:0 16px;font-size:.78rem}
  .workspace-hero{padding:78px 0 64px}
  .workspace-hero-grid{grid-template-columns:1fr;gap:36px}
  .workspace-hero h1{font-size:clamp(2rem,9vw,2.8rem);word-break:keep-all}
  .workspace-lead{font-size:1rem}
  .workspace-hero .actions{gap:14px}
  .workspace-hero .actions .btn{width:100%}
  .workspace-brand-card{min-height:230px;padding:32px 24px;border-radius:23px}
  .workspace-brand-card p{margin-top:34px;font-size:.96rem}
  .workspace-brand-card strong{font-size:1.2rem}
  .workspace-intro .split{grid-template-columns:1fr;gap:26px}
  .program-grid,.workspace-timeline{grid-template-columns:1fr}
  .program-grid article,.program-grid article:first-child{padding:27px 5px}
  .workspace-outcomes{margin-top:40px;padding:25px 20px}
  .funding .grid-2{grid-template-columns:1fr}
  .fund-card{padding:29px 22px}
  .fund-note{padding:22px 20px}
  .workspace-timeline li,.workspace-timeline li:first-child{padding:25px 5px}
  .workspace-cta h2{font-size:clamp(1.7rem,7.2vw,2.2rem)}
  .workspace-cta .btn{width:100%;max-width:380px}
  .sub-footer{height:auto;padding:28px 0}
  .sub-footer .container{height:auto;align-items:flex-start;flex-direction:column;gap:12px}
  .case-detail-hero{padding:80px 0 58px}
  .case-detail-hero h1{font-size:clamp(2rem,9vw,2.65rem)}
  .case-index{top:0}
  .case-index .container{width:100%;padding:0 12px}
  .case-index a{padding:15px 13px}
  .case-detail{padding:62px 0}
  .case-detail-grid{grid-template-columns:1fr;gap:21px}
  .case-detail h2{font-size:clamp(1.65rem,7.5vw,2.2rem)}
  .case-detail dl div{grid-template-columns:1fr;gap:5px;padding:21px 0}
  .legal-page{width:min(calc(100% - 32px),720px);padding:34px 0 70px}
  .legal-page .brand{margin-bottom:43px}
  .legal-page h1{font-size:clamp(1.9rem,9vw,2.6rem);line-height:1.45}
  .legal-page h2{font-size:1.12rem;margin-top:31px}
  .legal-page li{margin:.8em 0}
  .policy-links{display:grid;gap:0;margin-top:40px}
  .policy-links a{margin:0;padding:12px 0}
}

@media(max-width:520px){
  .seminar-panel .theme-cloud{grid-template-columns:1fr;gap:14px}
  .seminar-panel .theme-cloud li{--base-y:0px!important;min-height:100px;padding:19px 18px}
  .seminar-panel .theme-note{margin-top:24px}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>div:first-child{grid-column:auto}
  .copyright{flex-direction:column}
  .copyright small{text-align:left}
}

@media(max-width:360px){
  .container,.narrow,.profile-story,.faq .narrow{width:calc(100% - 26px)}
  .hero h1{font-size:1.75rem}
  .about h2{font-size:1.45rem}
  .vision-photo h2{font-size:1.3rem}
  .contact-copy h2{font-size:1.34rem}
  .case-feature h3{font-size:1rem}
  .workspace-spotlight-copy h2{font-size:1.65rem}
  .workspace-spotlight-card{padding:30px 18px}
  .workspace-spotlight-link{font-size:.84rem}
  .case-controls button{padding:0 9px;font-size:.72rem}
  .profile-portrait span{width:158px}
}

/* Official Google Workspace lockups sit directly on the section without an enclosing card. */
.workspace-spotlight-visual{min-height:0;padding:18px 0;background:transparent;border:0;border-radius:0;box-shadow:none}
.workspace-spotlight-visual:before,.workspace-brand-card:after{display:none}
.workspace-spotlight-visual .workspace-official-logo{width:min(90%,380px);height:auto}
.workspace-spotlight-visual .workspace-product-lockup{width:min(88%,360px);height:auto;margin-top:46px}
.workspace-brand-card{min-height:0;align-items:center;padding:18px 0;background:transparent;border-radius:0;box-shadow:none;text-align:center}
.workspace-brand-card .workspace-official-logo{width:min(88%,400px);height:auto}
.workspace-brand-card .workspace-product-lockup{width:min(88%,380px);height:auto;margin-top:52px}
.workspace-brand-card p{align-self:stretch;text-align:left}
@media(max-width:780px){.workspace-spotlight-visual{min-height:0;padding:10px 0}.workspace-spotlight-visual .workspace-official-logo{width:min(88%,320px)}.workspace-spotlight-visual .workspace-product-lockup{width:min(92%,340px);margin-top:34px}.workspace-brand-card{min-height:0;padding:10px 0}.workspace-brand-card .workspace-official-logo{width:min(88%,330px)}.workspace-brand-card .workspace-product-lockup{width:min(92%,340px);margin-top:38px}.workspace-brand-card p{text-align:center}}
@media(max-width:420px){.workspace-spotlight-visual .workspace-product-lockup{margin-top:27px}.workspace-brand-card .workspace-product-lockup{margin-top:30px}}

/* Deliberate contact line breaks. */
.contact-copy h2{max-width:none;font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.55}.contact-copy h2 .phrase{display:block;white-space:nowrap}
@media(max-width:780px){.contact-copy h2{max-width:none;font-size:clamp(1.45rem,7vw,2rem)}}
@media(prefers-reduced-motion:reduce){.hero-slide-text,.hero-wordmark,.hero .actions{animation:none;opacity:1;filter:none;transform:none}}

/* ==========================================================================
   Profile layout fix
   A later rule had inverted the PROFILE grid, squeezing the copy into the
   220px column meant for the portrait. Copy takes the flexible column.
   ========================================================================== */
.editorial-profile .profile-story,
.profile-story{
  grid-template-columns:minmax(0,1fr) clamp(210px,20vw,260px);
  align-items:center;
}
.editorial-profile .profile-copy,
.profile-copy{grid-column:1;min-width:0}
.editorial-profile .profile-portrait,
.profile-portrait{grid-column:2;justify-self:end;margin:0}
.editorial-profile .profile-copy{max-width:none}
.editorial-profile .profile-copy>p:not(.eyebrow){max-width:44em}
@media(max-width:900px){
  .editorial-profile .profile-story,
  .profile-story{grid-template-columns:1fr;gap:44px}
  .editorial-profile .profile-copy,
  .profile-copy,
  .editorial-profile .profile-portrait,
  .profile-portrait{grid-column:1}
  .editorial-profile .profile-portrait,
  .profile-portrait{justify-self:start}
}

/* ==========================================================================
   Modern brand gradients for the navy areas
   ========================================================================== */
:root{
  --navy-0:#081c33;
  --navy-1:#102c4d;
  --navy-2:#123f6e;
  --navy-3:#0b5589;
  --navy-glow:rgba(0,117,193,.34);
}
.editorial-seminar,
.editorial-contact,
.editorial-footer,
.footer,
.sub-footer,
.workspace-program,
.answer,
.case-cta,
.proof-strip{
  position:relative;
  isolation:isolate;
  background-color:var(--navy-1);
  background-image:
    radial-gradient(120% 90% at 86% 6%,var(--navy-glow) 0%,transparent 52%),
    radial-gradient(90% 80% at 6% 100%,rgba(1,93,164,.22) 0%,transparent 58%),
    linear-gradient(135deg,var(--navy-0) 0%,var(--navy-1) 34%,var(--navy-2) 66%,var(--navy-3) 100%);
  background-size:auto,auto,220% 220%;
  background-position:0 0,0 0,0% 50%;
  animation:navyDrift 26s ease-in-out infinite alternate;
}
@keyframes navyDrift{
  from{background-position:0 0,0 0,0% 50%}
  to{background-position:0 0,0 0,100% 50%}
}

/* Luminous hairline where a navy block begins. */
.editorial-seminar:before,
.editorial-contact:before,
.workspace-program:before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(120,196,240,.55) 30%,rgba(0,117,193,.85) 55%,transparent);
  pointer-events:none;
}

/* Navy buttons pick up the same transition. */
.btn,
.mobile-cta{
  background-image:linear-gradient(120deg,#102c4d 0%,#134271 55%,#0b5f96 100%);
  background-size:180% 100%;
  background-position:0% 50%;
  transition:background-position .45s ease,transform .2s ease,box-shadow .25s ease;
}
.btn:hover,
.btn:focus-visible,
.mobile-cta:hover{
  background-position:100% 50%;
  box-shadow:0 14px 34px rgba(11,85,137,.32);
}
.btn-light,
.seminar .btn,
.case-cta .btn,
.editorial-contact .btn{background-image:none}

@media(prefers-reduced-motion:reduce){
  .editorial-seminar,
  .editorial-contact,
  .editorial-footer,
  .footer,
  .sub-footer,
  .workspace-program,
  .answer,
  .case-cta,
  .proof-strip{animation:none;background-position:0 0,0 0,50% 50%}
  .btn,.mobile-cta{transition:none}
}

/* Footers sit under the feature blocks, so they stay deeper and calmer. */
.footer,
.editorial-footer,
.sub-footer{
  background-image:
    radial-gradient(100% 120% at 92% 0%,rgba(0,117,193,.20) 0%,transparent 55%),
    linear-gradient(160deg,#061a30 0%,#0d2544 55%,#103a63 100%);
  background-size:auto,200% 200%;
  animation-duration:34s;
}
.footer:before,
.editorial-footer:before,
.sub-footer:before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(120,196,240,.32) 40%,rgba(0,117,193,.5) 60%,transparent);
  pointer-events:none;
}

/* ==========================================================================
   PROFILE 内の経歴・実績ブロック
   ========================================================================== */
.profile-credentials{
  display:grid;
  grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);
  gap:clamp(44px,6.5vw,100px);
  align-items:start;
  width:min(1050px,calc(100% - 48px));
  margin-top:clamp(54px,6vw,84px);
  padding-top:clamp(42px,5vw,62px);
  border-top:1px solid #d6e1e9;
}
.profile-credentials header{margin:0;position:sticky;top:112px}
.profile-credentials .eyebrow{margin-bottom:14px}
.profile-credentials h3{
  margin:0;
  color:#102c4d;
  font-size:clamp(1.45rem,2.2vw,1.95rem);
  line-height:1.5;
  letter-spacing:-.02em;
}
.profile-credentials h3 .phrase{display:block;white-space:nowrap}

.profile-credentials dl{margin:0;border-top:1px solid #b9cddc}
.profile-credentials dl>div{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  gap:26px;
  padding:22px 0;
  border-bottom:1px solid #dde7ef;
}
.profile-credentials dt{
  padding-top:3px;
  color:#102c4d;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.03em;
}
.profile-credentials dd{margin:0}
.profile-credentials ul{margin:0;padding:0;list-style:none}
.profile-credentials li{
  position:relative;
  padding-left:16px;
  color:#4c5f6e;
  font-size:.87rem;
  line-height:1.85;
}
.profile-credentials li+li{margin-top:8px}
.profile-credentials li:before{
  content:'';
  position:absolute;
  left:0;
  top:.83em;
  width:6px;
  height:1px;
  background:#015da4;
}

@media(max-width:900px){
  .profile-credentials{
    grid-template-columns:1fr;
    gap:26px;
    width:min(100% - 34px,600px);
  }
  .profile-credentials header{position:static}
  .profile-credentials h3{font-size:clamp(1.3rem,5.2vw,1.7rem)}
  .profile-credentials dl>div{grid-template-columns:1fr;gap:9px;padding:19px 0}
  .profile-credentials h3 .phrase{white-space:normal}
  .wide-only{display:none}
}

/* ==========================================================================
   Modern brand gradients for the navy areas
   ========================================================================== */
:root{
  --navy-0:#081c33;
  --navy-1:#102c4d;
  --navy-2:#123f6e;
  --navy-3:#0b5589;
  --navy-glow:rgba(0,117,193,.34);
}
.editorial-seminar,
.editorial-contact,
.editorial-footer,
.footer,
.sub-footer,
.workspace-program,
.answer,
.case-cta,
.proof-strip{
  position:relative;
  isolation:isolate;
  background-color:var(--navy-1);
  background-image:
    radial-gradient(120% 90% at 86% 6%,var(--navy-glow) 0%,transparent 52%),
    radial-gradient(90% 80% at 6% 100%,rgba(1,93,164,.22) 0%,transparent 58%),
    linear-gradient(135deg,var(--navy-0) 0%,var(--navy-1) 34%,var(--navy-2) 66%,var(--navy-3) 100%);
  background-size:auto,auto,220% 220%;
  background-position:0 0,0 0,0% 50%;
  animation:navyDrift 26s ease-in-out infinite alternate;
}
@keyframes navyDrift{
  from{background-position:0 0,0 0,0% 50%}
  to{background-position:0 0,0 0,100% 50%}
}

/* Luminous hairline where a navy block begins. */
.editorial-seminar:before,
.editorial-contact:before,
.workspace-program:before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(120,196,240,.55) 30%,rgba(0,117,193,.85) 55%,transparent);
  pointer-events:none;
}

/* Navy buttons pick up the same transition. */
.btn,
.mobile-cta{
  background-image:linear-gradient(120deg,#102c4d 0%,#134271 55%,#0b5f96 100%);
  background-size:180% 100%;
  background-position:0% 50%;
  transition:background-position .45s ease,transform .2s ease,box-shadow .25s ease;
}
.btn:hover,
.btn:focus-visible,
.mobile-cta:hover{
  background-position:100% 50%;
  box-shadow:0 14px 34px rgba(11,85,137,.32);
}
.btn-light,
.seminar .btn,
.case-cta .btn,
.editorial-contact .btn{background-image:none}

@media(prefers-reduced-motion:reduce){
  .editorial-seminar,
  .editorial-contact,
  .editorial-footer,
  .footer,
  .sub-footer,
  .workspace-program,
  .answer,
  .case-cta,
  .proof-strip{animation:none;background-position:0 0,0 0,50% 50%}
  .btn,.mobile-cta{transition:none}
}

/* Footers sit under the feature blocks, so they stay deeper and calmer. */
.footer,
.editorial-footer,
.sub-footer{
  background-image:
    radial-gradient(100% 120% at 92% 0%,rgba(0,117,193,.20) 0%,transparent 55%),
    linear-gradient(160deg,#061a30 0%,#0d2544 55%,#103a63 100%);
  background-size:auto,200% 200%;
  animation-duration:34s;
}
.footer:before,
.editorial-footer:before,
.sub-footer:before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(120,196,240,.32) 40%,rgba(0,117,193,.5) 60%,transparent);
  pointer-events:none;
}

/* ==========================================================================
   EXPERIENCE & PRACTICE, relocated from the top page into PROFILE
   ========================================================================== */
.profile-experience{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(48px,7vw,110px);
  align-items:start;
  width:min(1050px,calc(100% - 48px));
  margin-top:clamp(56px,6vw,86px);
  padding-top:clamp(44px,5vw,64px);
  border-top:1px solid #d6e1e9;
}
.profile-experience header{margin:0}
.profile-experience .eyebrow{margin-bottom:14px}
.profile-experience h3{
  margin:0;
  color:#102c4d;
  font-size:clamp(1.5rem,2.3vw,2rem);
  line-height:1.5;
  letter-spacing:-.02em;
}
.profile-detail-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:26px;
  padding-bottom:3px;
  border-bottom:1px solid rgba(16,44,77,.28);
  color:#015da4;
  font-size:.86rem;
  font-weight:700;
  transition:color .2s ease,border-color .2s ease,gap .2s ease;
}
.profile-detail-link:hover,
.profile-detail-link:focus-visible{
  gap:12px;
  color:#0075c1;
  border-color:#0075c1;
}
@media(max-width:900px){
  .profile-experience{
    grid-template-columns:1fr;
    gap:26px;
    width:min(100% - 34px,600px);
  }
  .profile-experience h3{font-size:clamp(1.35rem,5.4vw,1.75rem)}
}
@media(prefers-reduced-motion:reduce){
  .profile-detail-link{transition:none}
}
.profile-experience h3 .phrase{display:block;white-space:nowrap}

/* ==========================================================================
   NEWS ARCHIVE hero — 登壇写真を背景に敷き、ブランドネイビーのスクリムを重ねる
   ========================================================================== */
.archive-hero{
  position:relative;
  padding:clamp(100px,11vw,148px) 0 clamp(74px,8vw,108px);
  background-color:#0c2340;
  background-image:
    linear-gradient(100deg,
      rgba(8,28,51,.88) 0%,
      rgba(11,32,56,.78) 30%,
      rgba(14,40,70,.58) 50%,
      rgba(11,58,96,.40) 72%,
      rgba(11,80,130,.30) 100%),
    url('../assets/news-hero.jpg');
  background-size:auto,cover;
  background-position:center,center 34%;
  background-repeat:no-repeat;
  color:#fff;
}
.archive-hero:after{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(120,196,240,.5) 45%,rgba(0,117,193,.7) 65%,transparent);
  pointer-events:none;
}
.archive-hero>.container{position:relative;z-index:1}
.archive-hero .eyebrow{color:#8ec9ee}
.archive-hero h1{color:#fff;text-shadow:0 2px 24px rgba(4,18,34,.45)}
.archive-hero p:last-child{color:#d3e2ee}

@media(max-width:780px){
  .archive-hero{
    background-image:
      linear-gradient(175deg,
        rgba(8,28,51,.90) 0%,
        rgba(12,35,60,.78) 45%,
        rgba(14,42,72,.66) 100%),
      url('../assets/news-hero.jpg');
    background-position:center,64% center;
  }
}
@media(prefers-reduced-motion:reduce){
  .archive-hero{animation:none}
}

/* ==========================================================================
   Hero choreography (rebuilt)
   マスクによる行送りリビール。全体を約1.5秒で完了させ、
   旧来のブラー付きポップアップとワードマーク演出は使用しない。
   ========================================================================== */
.editorial-hero .hero-copy>*{will-change:transform,opacity}

.editorial-hero .eyebrow{
  opacity:0;
  transform:translateY(12px);
  animation:hero-fade-up .7s cubic-bezier(.22,1,.36,1) .05s forwards;
}

.hero-message .fixed-line{
  overflow:hidden;
  padding-bottom:.08em;
  margin-bottom:-.08em;
}
.hero-slide-text{
  display:block;
  opacity:1;
  filter:none;
  transform:translateY(108%);
  transform-origin:left center;
  animation:hero-line-rise 1s cubic-bezier(.22,1,.36,1) .18s both;
}
.hero-message .fixed-line:nth-child(2) .hero-slide-text{animation-delay:.31s}

/* アクセント文字はグラデーションを一度だけ流して奥行きを出す。 */
.editorial-hero h1 em{
  background-size:220% 100%;
  background-position:100% 50%;
  animation:hero-accent-sweep 1.5s cubic-bezier(.33,1,.68,1) .5s forwards;
}

.editorial-hero .hero-intro{
  opacity:0;
  transform:translateY(14px);
  animation:hero-fade-up .8s cubic-bezier(.22,1,.36,1) .62s forwards;
}
.editorial-hero .actions{
  margin-top:16px;
  opacity:0;
  transform:translateY(14px);
  animation:hero-fade-up .8s cubic-bezier(.22,1,.36,1) .78s forwards;
}

@keyframes hero-line-rise{
  from{transform:translateY(108%)}
  to{transform:translateY(0)}
}
@keyframes hero-fade-up{
  to{opacity:1;transform:translateY(0)}
}
@keyframes hero-accent-sweep{
  from{background-position:100% 50%}
  to{background-position:0% 50%}
}

@media(prefers-reduced-motion:reduce){
  .editorial-hero .eyebrow,
  .editorial-hero .hero-intro,
  .editorial-hero .actions,
  .hero-slide-text,
  .editorial-hero h1 em{
    animation:none;
    opacity:1;
    filter:none;
    transform:none;
    background-position:0% 50%;
  }
}

/* ==========================================================================
   日本語見出しの折り返し制御
   文節を inline-block で包み、単語の途中で折れないようにする。
   ========================================================================== */
.editorial-heading h2 .phrase{display:inline-block}
@media(max-width:780px){
  /* 意図した2行構成が保てるよう、モバイルでは見出しをわずかに詰める */
  .service-overview .editorial-heading h2,
  .editorial-cases .editorial-heading h2{
    font-size:clamp(1.35rem,6.6vw,2rem);
    line-height:1.5;
  }
}

/* ==========================================================================
   プロフィール詳細ページ
   ヒーローは NEWS ARCHIVE と同じ登壇写真を使用（背景位置のみ人物寄りに調整）
   ========================================================================== */
.profile-hero{
  background-image:
    linear-gradient(100deg,
      rgba(8,28,51,.95) 0%,
      rgba(13,38,66,.90) 32%,
      rgba(16,44,77,.72) 52%,
      rgba(11,66,110,.48) 74%,
      rgba(11,85,137,.34) 100%),
    url('../assets/profile-hero.jpg');
  background-position:center,22% 38%;
}
.profile-hero h1{
  margin:0;
  font-size:clamp(2.6rem,6vw,5rem);
  line-height:1.2;
  letter-spacing:-.05em;
  color:#fff;
  text-shadow:0 2px 24px rgba(4,18,34,.45);
}
.profile-hero p:last-child{
  max-width:32em;
  margin-top:26px;
  font-size:1rem;
  color:#d3e2ee;
}

.profile-detail{padding-top:clamp(64px,7vw,96px)}
.profile-detail-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(210px,20vw,260px);
  gap:clamp(48px,7vw,110px);
  align-items:center;
  width:min(1050px,calc(100% - 48px));
}
.profile-detail-intro .profile-portrait{justify-self:end;margin:0}
.profile-detail .profile-credentials h2{
  margin:0;
  color:#102c4d;
  font-size:clamp(1.45rem,2.2vw,1.95rem);
  line-height:1.5;
  letter-spacing:-.02em;
}
.profile-detail .profile-credentials h2 .phrase{display:block;white-space:nowrap}

.profile-more-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:28px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(16,44,77,.28);
  color:#015da4;
  font-size:.88rem;
  font-weight:700;
  transition:color .2s ease,border-color .2s ease,gap .2s ease;
}
.profile-more-link:hover,
.profile-more-link:focus-visible{gap:14px;color:#0075c1;border-color:#0075c1}

@media(max-width:900px){
  .profile-detail-intro{
    grid-template-columns:1fr;
    gap:40px;
    width:min(100% - 34px,600px);
  }
  .profile-detail-intro .profile-portrait{justify-self:start}
  .profile-detail .profile-credentials h2 .phrase{white-space:normal}
}
@media(max-width:780px){
  .profile-hero{
    background-image:
      linear-gradient(175deg,
        rgba(8,28,51,.90) 0%,
        rgba(13,38,66,.82) 45%,
        rgba(16,44,77,.72) 100%),
      url('../assets/profile-hero.jpg');
    background-position:center,26% center;
  }
  .profile-hero h1{font-size:clamp(2.1rem,10vw,3.2rem)}
  .profile-hero p:last-child{font-size:.9rem;margin-top:20px}
}
@media(prefers-reduced-motion:reduce){
  .profile-more-link{transition:none}
}

/* ==========================================================================
   Google Workspace ページ: ONGOING SUPPORT
   現場写真を背景に敷き、ブランドネイビーのスクリムを重ねて文字を載せる
   ========================================================================== */
.workspace-flow{
  position:relative;
  background-color:#0c2340;
  background-image:
    linear-gradient(105deg,
      rgba(8,28,51,.94) 0%,
      rgba(12,36,62,.90) 30%,
      rgba(16,44,77,.82) 55%,
      rgba(12,62,102,.72) 78%,
      rgba(11,85,137,.60) 100%),
    url('../assets/workspace-ongoing-support.jpg');
  background-size:auto,cover;
  background-position:center,center 42%;
  background-repeat:no-repeat;
  color:#fff;
}
.workspace-flow:before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(120,196,240,.5) 42%,rgba(0,117,193,.72) 62%,transparent);
  pointer-events:none;
}
.workspace-flow>.container{position:relative;z-index:1}
.workspace-flow .eyebrow{color:#8ec9ee}
.workspace-flow .section-head h2{
  color:#fff;
  text-shadow:0 2px 22px rgba(4,18,34,.5);
}
.workspace-flow .section-head>p:not(.eyebrow){color:#d7e5f0}

.workspace-flow .workspace-timeline{border-top-color:rgba(255,255,255,.32)}
.workspace-flow .workspace-timeline li,
.workspace-flow .workspace-timeline li:first-child{border-left-color:rgba(255,255,255,.22)}
.workspace-flow .workspace-timeline li:first-child{border-left:0}
.workspace-flow .workspace-timeline b{color:#9bd5f4}
.workspace-flow .workspace-timeline span{color:#cfdeeb}

@media(max-width:780px){
  .workspace-flow{background-position:center,58% center}
  .workspace-flow .workspace-timeline li,
  .workspace-flow .workspace-timeline li:first-child{
    border-left:0;
    border-top-color:rgba(255,255,255,.22);
  }
}
/* 見出し内の文節は途中で折り返さない（.contact-copy 等の1行1文節指定は維持） */
h1 .phrase,h2 .phrase{display:inline-block}

/* 狭いカラムに入る見出しは、指定した2行構成が保てるサイズに調整 */
@media(min-width:781px){
  .workspace-intro h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}
  .nonprofit-support h2{font-size:clamp(1.6rem,2.75vw,2.2rem)}
  .workspace-flow .section-head h2{font-size:clamp(1.9rem,3.55vw,2.9rem)}
}

/* 文節ブロックの内部では改行させない（ブロック同士の間でのみ折り返す） */
.phrase{word-break:keep-all;overflow-wrap:normal}

/* ==========================================================================
   登壇・活動情報: 主な活動・実績 / その他の活動・実績 / ご相談
   ========================================================================== */
.achievements{padding-top:clamp(56px,6vw,84px)}
.achievements .editorial-heading,
.ach-archive .editorial-heading{display:block;max-width:760px;margin-bottom:clamp(28px,3.5vw,42px)}

.ach-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(30px,4vw,46px)}
.ach-filters button{
  appearance:none;
  min-height:42px;
  padding:0 17px;
  border:1px solid var(--line);
  border-radius:99px;
  background:#fff;
  color:var(--navy);
  font:700 .78rem 'Noto Sans JP',sans-serif;
  cursor:pointer;
  transition:background .2s,color .2s,border-color .2s;
}
.ach-filters button:hover,
.ach-filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}

.ach-list{margin:0;padding:0;list-style:none;border-top:1px solid #cbd9e4}
.ach{
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  gap:clamp(24px,4vw,56px);
  padding:clamp(26px,3vw,38px) 0;
  border-bottom:1px solid #e2eaf1;
}
.ach[hidden]{display:none}
.ach-meta{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.ach-cat{
  display:inline-block;
  padding:5px 12px;
  border:1px solid rgba(1,93,164,.34);
  border-radius:99px;
  color:#015da4;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
}
.ach-meta time{font:700 .8rem Outfit,sans-serif;color:#5b7183;letter-spacing:.04em}
.ach-body h3{margin:0 0 10px;color:#102c4d;font-size:1.06rem;line-height:1.6}
.ach-body p{margin:0 0 9px;color:#4c5f6e;font-size:.88rem;line-height:1.9}
.ach-body p:last-child{margin-bottom:0}
.ach-body .ach-title{color:#15436f;font-weight:700}
.ach-empty{margin-top:26px;color:var(--muted);font-size:.88rem}

/* その他の活動・実績 */
.ach-archive{background:#f3f7fa;border-top:1px solid #dde7ef}
.ach-years{display:grid;gap:clamp(30px,3.5vw,44px)}
.ach-year h3{
  margin:0 0 14px;
  padding-bottom:11px;
  border-bottom:1px solid #b9cddc;
  color:#102c4d;
  font:700 1.05rem 'Noto Sans JP',sans-serif;
  letter-spacing:.01em;
}
.ach-year ul{margin:0;padding:0;list-style:none}
.ach-year li{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);
  gap:clamp(18px,3vw,44px);
  padding:17px 0;
  border-bottom:1px solid #e2eaf1;
}
.ach-year li:last-child{border-bottom:0}
.ach-year b{color:#102c4d;font-size:.9rem;line-height:1.7}
.ach-year b em{display:block;margin-top:3px;color:#5b7183;font:600 .74rem Outfit,sans-serif;font-style:normal;letter-spacing:.03em}
.ach-year span{color:#4c5f6e;font-size:.85rem;line-height:1.9}

/* 講演・研修・取材のご相談 */
.ach-contact{text-align:center;background:#fff;border-top:1px solid #dde7ef}
.ach-contact h2{margin:0 0 22px;font-size:clamp(1.6rem,3.2vw,2.4rem)}
.ach-contact h2 .phrase{display:inline-block}
.ach-contact>.container>p{max-width:44em;margin:0 auto 14px;color:#4c5f6e;font-size:.92rem;line-height:1.95}
.ach-contact .btn{margin-top:22px}

@media(max-width:900px){
  .ach{grid-template-columns:1fr;gap:14px}
  .ach-meta{flex-direction:row;align-items:center;gap:12px}
  .ach-year li{grid-template-columns:1fr;gap:7px}
}
@media(max-width:780px){
  .ach-filters button{min-height:38px;padding:0 13px;font-size:.72rem}
  .ach-body h3{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){
  .ach-filters button{transition:none}
}
