/* WSense GAIA-adapted front page / draft only. Original TCD header + slider + footer stay intact. */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&display=swap');
body.home:has(.ws-gai) .l-container__inner{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;display:block!important}
body.home:has(.ws-gai) .l-main{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important}
.ws-gai{--ink:#f6efe1;--sub:#c4cad5;--gold:#dfbd82;--line:rgba(218,187,133,.28);color:var(--ink);background:#081321;width:100%;font-family:'Noto Serif JP','Yu Mincho',serif}
.ws-gai *,.ws-gai *:before,.ws-gai *:after{box-sizing:border-box}
.ws-gai .ws-section{padding:110px 28px;position:relative;overflow:hidden;background:linear-gradient(145deg,#091526,#0b1a2d);border-bottom:1px solid var(--line)}
.ws-gai .ws-section:nth-child(2n){background:linear-gradient(145deg,#07111e,#101f34)}
.ws-gai .ws-frame{width:min(1220px,100%);margin:0 auto;position:relative;z-index:1}
.ws-gai h2,.ws-gai h3,.ws-gai p{font-family:'Noto Serif JP','Yu Mincho',serif!important;color:var(--ink)!important;margin:0!important}
.ws-gai h2{font-size:clamp(29px,3vw,46px)!important;font-weight:500!important;letter-spacing:.055em!important;line-height:1.6!important;margin:10px 0 36px!important}
.ws-gai h3{font-size:clamp(20px,1.9vw,29px)!important;font-weight:500!important;line-height:1.5!important}
.ws-gai p{font-size:16px!important;line-height:2.1!important;letter-spacing:.02em!important}
.ws-gai .ws-kicker{color:var(--gold)!important;font:600 14px/1.6 Georgia,serif!important;letter-spacing:.14em!important;margin-bottom:13px!important}
.ws-gai .ws-standfirst{font-size:clamp(20px,2.25vw,30px)!important;line-height:1.8!important}
.ws-gai .ws-en{font:600 13px/1.65 Georgia,serif;letter-spacing:.13em;color:var(--gold)}
.ws-gai a{color:#fae2b2!important;text-decoration:none!important}
.ws-gai a:focus-visible,.ws-gai button:focus-visible{outline:3px solid #ffdc85;outline-offset:4px}
.ws-gai .ws-manifesto-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.ws-gai .ws-manifesto-grid p:not(.ws-kicker){margin-bottom:19px!important;color:#e2dfd8!important}
.ws-gai .ws-three,.ws-gai .ws-philo-grid,.ws-gai .ws-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.ws-gai .ws-foundation,.ws-gai .ws-philo-card,.ws-gai .ws-role-grid article{padding:36px 26px;background:#101f32;border:1px solid var(--line);border-radius:2px;display:flex;flex-direction:column}
.ws-gai .ws-foundation{align-items:center;text-align:center}
.ws-gai .ws-symbol{height:180px;width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:15px;position:relative}
.ws-gai .ws-symbol:after{content:'';position:absolute;left:calc(50% - 3px);top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#f2d19b;box-shadow:0 0 22px 7px rgba(230,177,89,.18);animation:ws-wink 8s ease-in-out infinite}
.ws-gai .ws-symbol svg{height:155px;max-width:100%;filter:drop-shadow(0 0 9px rgba(237,184,97,.19))}
.ws-gai .ws-foundation h3,.ws-gai .ws-role-grid h3{margin:11px 0 15px!important}
.ws-gai .ws-foundation p,.ws-gai .ws-role-grid p{color:#e0e2e7!important;font-size:15px!important}
.ws-gai .ws-foundation .ws-icon-caption{color:#d5b981!important;font-size:13px!important;margin-top:auto!important;padding-top:24px}
.ws-gai .ws-philo-card{min-height:310px}
.ws-gai .ws-philo-card h3{margin:25px 0 15px!important}
.ws-gai .ws-philo-card p{font-size:15px!important;line-height:1.95!important;flex:1}
.ws-gai .ws-philo-card a{margin-top:30px;align-self:start;border-bottom:1px solid #d6ab6e;padding-bottom:8px;font-size:15px}
.ws-gai .ws-section-intro{max-width:860px;color:#d8dfe8!important}
.ws-gai .ws-field{background:radial-gradient(ellipse at 65% 70%,rgba(26,71,126,.23),transparent 55%),linear-gradient(#091528,#0a1728)!important}
.ws-gai .ws-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 50px;margin:52px 0 22px;counter-reset:ws}
.ws-gai .ws-flow-step{min-height:155px;padding:24px 18px 23px 24px;background:#10253b;border:1px solid var(--line);position:relative}
.ws-gai .ws-flow-step:not(:nth-child(3n)):after{content:'→';position:absolute;right:-38px;top:38%;font:28px Georgia,serif;color:#d7b278}
.ws-gai .ws-flow-step .ws-flow-n{display:block;color:#d6b47b;font:700 14px Georgia,serif;letter-spacing:.12em}
.ws-gai .ws-flow-step strong{display:block;color:#f5e7d0;font-size:20px;margin:7px 0;line-height:1.5}
.ws-gai .ws-flow-step span:last-child{display:block;font-size:14px;line-height:1.8;color:#d3dbe5}
.ws-gai .ws-flow-after{margin-top:25px!important;color:#ecd4a9!important;text-align:center}
.ws-gai .ws-role-icon{height:160px;display:flex;align-items:center;justify-content:center}
.ws-gai .ws-role-icon svg{height:155px;width:190px;max-width:100%;filter:drop-shadow(0 0 8px rgba(209,167,106,.21))}
.ws-gai .ws-role-grid small{display:block;font-size:13px;line-height:1.8;color:#d4b47e;margin-top:22px}
.ws-gai .ws-role-grid article{align-items:center;text-align:center}
.ws-gai .ws-practice-tabs{display:flex;align-items:stretch;gap:12px;margin:46px 0 24px;flex-wrap:wrap}
.ws-gai .ws-practice-tabs button{border:1px solid var(--line);background:#13243a;color:#e8dcc8;min-width:186px;padding:14px 26px;font-family:'Noto Serif JP',serif;font-size:16px;line-height:1.5;cursor:pointer;transition:background .25s}
.ws-gai .ws-practice-tabs button[aria-selected="true"]{background:#d7b67b;color:#07111e;border-color:#d7b67b;font-weight:600}
.ws-gai .ws-tab-panel[hidden]{display:none!important}
.ws-gai .ws-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ws-gai .ws-post{display:block;background:#102237;border:1px solid var(--line);color:#faf1e3!important;min-height:220px;overflow:hidden;transition:border-color .25s,transform .25s}
.ws-gai .ws-post:hover{border-color:#dfb978;transform:translateY(-4px)}
.ws-gai .ws-post img{display:block;width:100%;height:180px;object-fit:cover}
.ws-gai .ws-post-main{display:flex;flex-direction:column;padding:23px 23px 25px;gap:10px}
.ws-gai .ws-post-main time{font:13px Georgia,serif;color:#d8b57a}
.ws-gai .ws-post-main strong{display:block;font:500 16px/1.75 'Noto Serif JP',serif;color:#f2eadd}
.ws-gai .ws-post-main>span{font:14px Georgia,serif;color:#e7c891;letter-spacing:.16em;margin-top:8px}
.ws-gai .ws-list-link{display:inline-block;border-bottom:1px solid #d7b67b;padding-bottom:7px;margin-top:30px;font-size:16px}
.ws-gai .ws-post-note{color:#c9d2de!important;font-size:14px!important;margin-top:20px!important}
.ws-gai .ws-initiative-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.ws-gai .ws-initiative{min-height:255px;padding:30px 24px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:16px;position:relative;background:linear-gradient(135deg,#132640,#0b182b);border:1px solid var(--line);transition:background .3s,border .3s,transform .3s}
.ws-gai .ws-initiative:hover{background:linear-gradient(135deg,#1c385a,#122840);border-color:#d3aa72;transform:translateY(-5px)}
.ws-gai .ws-initiative strong{font:500 clamp(18px,1.5vw,24px)/1.4 'Noto Serif JP',serif;color:#f4eee3}
.ws-gai .ws-initiative>span:nth-child(3){font-size:15px;color:#d0d8e6}
.ws-gai .ws-initiative-arrow{font-size:28px;align-self:flex-end;margin-top:auto;color:#f7ddb1;transition:transform .3s}
.ws-gai .ws-initiative:hover .ws-initiative-arrow{transform:translate(3px,-3px)}
.ws-gai .ws-people{background:radial-gradient(ellipse at 84% 32%,rgba(178,117,60,.16),transparent 50%),linear-gradient(#0c192a,#0a1727)!important}
.ws-gai .ws-people .ws-standfirst{margin:30px 0!important}
.ws-gai .ws-closing{min-height:550px;display:flex;align-items:center;background:radial-gradient(ellipse at 55% 100%,rgba(189,119,64,.27),transparent 58%),linear-gradient(165deg,#081426,#172942)!important}
.ws-gai .ws-closing h2{font-size:clamp(28px,3vw,45px)!important;line-height:2!important;letter-spacing:.13em!important}
.ws-gai .ws-cta-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:35px}
.ws-gai .ws-cta-links a{font-size:17px;display:flex;align-items:center;justify-content:space-between;gap:35px;min-width:250px;border:1px solid #c3a274;padding:17px 21px;background:rgba(8,21,39,.76)}
.ws-gai .ws-cta-links a:hover{background:rgba(237,197,127,.12)}
@keyframes ws-wink{0%,100%{opacity:.35;transform:scale(.7)}46%,54%{opacity:1;transform:scale(1.5)}}
@media(max-width:900px){.ws-gai .ws-section{padding:78px 22px}.ws-gai .ws-manifesto-grid{grid-template-columns:1fr;gap:6px}.ws-gai .ws-three,.ws-gai .ws-role-grid,.ws-gai .ws-philo-grid{gap:12px}.ws-gai .ws-foundation,.ws-gai .ws-philo-card,.ws-gai .ws-role-grid article{padding:26px 18px}.ws-gai .ws-flow{gap:18px 25px}.ws-gai .ws-flow-step:not(:nth-child(3n)):after{right:-20px}.ws-gai .ws-initiative-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.ws-gai .ws-section{padding:64px 18px}.ws-gai p{font-size:15px!important}.ws-gai .ws-three,.ws-gai .ws-role-grid,.ws-gai .ws-philo-grid{grid-template-columns:1fr}.ws-gai .ws-symbol{height:150px}.ws-gai .ws-symbol svg{height:145px}.ws-gai .ws-flow{grid-template-columns:1fr;gap:22px}.ws-gai .ws-flow-step{min-height:0}.ws-gai .ws-flow-step:not(:nth-child(3n)):after{display:none}.ws-gai .ws-flow-step:not(:last-child):after{content:'↓';display:block;position:absolute;left:50%;right:auto;top:auto;bottom:-25px;font-size:22px;transform:translateX(-50%)}.ws-gai .ws-posts{grid-template-columns:1fr}.ws-gai .ws-practice-tabs button{flex:1;min-width:125px;padding:13px}.ws-gai .ws-initiative-grid{gap:10px}.ws-gai .ws-initiative{min-height:215px;padding:23px 15px}.ws-gai .ws-initiative strong{font-size:16px}.ws-gai .ws-initiative .ws-en{font-size:11px}.ws-gai .ws-closing{min-height:450px}.ws-gai .ws-closing h2{font-size:24px!important}.ws-gai .ws-cta-links a{width:100%}}
@media(prefers-reduced-motion:reduce){.ws-gai *,.ws-gai *:after,.ws-gai *:before{animation:none!important;transition:none!important}.ws-gai .ws-post:hover,.ws-gai .ws-initiative:hover{transform:none!important}}
/* Additive GAIA hero enhancement: retain GAIA slider layout and navigation */
body.home:has(.ws-gai) #js-index-header{position:relative;isolation:isolate}
body.home:has(.ws-gai) #js-index-header .p-fp-slider__headline{font-family:'Noto Serif JP','Yu Mincho',serif!important;font-weight:500!important;font-size:clamp(33px,4vw,62px)!important;line-height:1.55!important;text-shadow:0 3px 25px rgba(0,0,0,.8);letter-spacing:.12em}
body.home:has(.ws-gai) #js-index-header .p-fp-slider__content-inner{z-index:5;max-width:1160px}
body.home:has(.ws-gai) #js-index-header .p-fp-slider__overlay{background:linear-gradient(90deg,rgba(4,13,31,.8),rgba(4,15,33,.3))!important;z-index:1}
body.home:has(.ws-gai) #js-index-header .ws-gai-hero-details{position:relative;z-index:7;color:#f8ead6;max-width:780px;text-shadow:0 3px 16px rgba(0,0,0,.9);font-family:'Noto Serif JP',serif}
body.home:has(.ws-gai) #js-index-header .ws-gai-hero-details p{line-height:1.8;margin:12px 0;color:#f6eddf;font-size:clamp(14px,1.3vw,20px)}
body.home:has(.ws-gai) #js-index-header .ws-gai-hero-details .ws-gaia-company{font-size:clamp(16px,1.55vw,23px);font-weight:500}
body.home:has(.ws-gai) #js-index-header .ws-gai-hero-details .ws-gaia-principles{font-size:clamp(13px,1vw,17px);line-height:2.05;color:#e7edf5}
body.home:has(.ws-gai) #js-index-header .ws-gai-hero-details .ws-gaia-hero-sign{font:600 13px Georgia,serif;letter-spacing:.18em;color:#e8c58b}
body.home:has(.ws-gai) #js-index-header::after{content:'';position:absolute;z-index:3;right:12%;top:15%;width:4px;height:4px;border-radius:50%;box-shadow:0 0 5px 2px #e9c076,0 0 16px 6px rgba(230,182,87,.7),-120px 60px 2px 0 rgba(255,218,158,.6),60px 160px 2px 0 rgba(222,179,101,.5);animation:ws-wink 9s ease-in-out infinite;pointer-events:none}
@media(max-width:650px){body.home:has(.ws-gai) #js-index-header .p-fp-slider__headline{font-size:34px!important;line-height:1.6!important}body.home:has(.ws-gai) #js-index-header .ws-gai-hero-details p{font-size:12px}body.home:has(.ws-gai) #js-index-header .ws-gai-hero-details .ws-gaia-company{font-size:13px}body.home:has(.ws-gai) #js-index-header .ws-gai-hero-details .ws-gaia-principles{font-size:12px}}
