:root{
  --sky:#628ad1;
  --peach:#f6e3d6;
  --pale:#d3e7ff;
  --navy:#3d5e86;
  --mist:#f1f5f8;
  --ink:#1b1b1b;
  --dark:#1f1f1f;
  --card:#4a4744;
  --text:#524f4b;
  --pad:40px;
  --c4:calc(var(--pad) + (100vw - var(--pad) * 2) * .3194);
  --disp:"Geist","Noto Sans JP",system-ui,sans-serif;
  --body:"Inter","Noto Sans JP",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:#fff;color:var(--text);font-family:var(--body);font-size:16px;line-height:1.3;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-feature-settings:"palt"}
body.lock{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.px{padding-left:var(--pad);padding-right:var(--pad)}
@media (max-width:760px){:root{--pad:16px;--c4:16px}}

/* ---- button ↳ ---- */
.btn{display:inline-flex;align-items:stretch;gap:3px;font-size:14px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.btn .ic{width:30px;display:flex;align-items:center;justify-content:center;background:var(--pale);color:var(--sky);border-radius:2px;font-size:15px;transition:background .3s,color .3s}
.btn .lb{display:flex;align-items:center;padding:7px 11px;border:1px solid #d6d5d2;border-radius:2px;background:#fff;transition:background .3s,color .3s,border-color .3s}
.btn:hover .ic{background:var(--sky);color:#fff}
.btn:hover .lb{background:var(--ink);color:#fff;border-color:var(--ink)}
.dark .btn .lb,.contact .btn .lb{background:transparent;color:#fff;border-color:#5a5856}
.dark .btn:hover .lb,.contact .btn:hover .lb{background:#fff;color:var(--ink)}

/* ---- header ---- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;height:68px;display:flex;align-items:center;padding:0 var(--pad) 0 28px;color:#fff;transition:background .4s,color .4s,transform .5s}
.hdr.solid{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink)}
.hdr.hide{transform:translateY(-100%)}
.logo{display:flex;align-items:center;gap:7px;font-family:var(--disp);font-weight:400;font-size:21px;letter-spacing:-.045em;white-space:nowrap}
.logo svg{width:24px;height:24px;flex:0 0 auto}
.nav{display:flex;gap:30px;margin-left:auto;margin-right:auto;font-size:13px;font-weight:500;padding-left:80px}
.nav a:hover{opacity:.6}
.hdr .cta{background:var(--pale);color:var(--ink);font-size:13px;font-weight:500;padding:9px 14px;border-radius:2px;transition:background .3s,color .3s;white-space:nowrap}
.hdr .cta:hover{background:var(--sky);color:#fff}
@media (max-width:900px){.nav{display:none}.hdr .cta{margin-left:auto}.hdr{padding-left:16px}}

/* ---- intro ---- */
.intro{position:fixed;inset:0;z-index:80;pointer-events:none}
.intro .plate{position:absolute;inset:0;background:var(--pale);transition:opacity .25s}
.intro .bars{position:absolute;inset:0;display:flex}
.intro .bars i{flex:1;background:linear-gradient(180deg,var(--sky) 0%,#97b0e2 55%,var(--peach) 100%);transform-origin:right;transition:transform .9s cubic-bezier(.75,0,.2,1)}
.intro .mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;color:var(--ink);font-family:var(--disp);font-weight:400;font-size:25px;letter-spacing:-.045em;white-space:nowrap;transition:opacity .3s}
.intro .mark svg{width:28px;height:28px}
.intro .mark span{display:inline-block;overflow:hidden;max-width:0;transition:max-width 1.1s cubic-bezier(.6,0,.2,1)}
.intro.s1 .mark span{max-width:220px}
.intro.s2 .plate,.intro.s2 .mark{opacity:0}
.intro.s3 .bars i{transform:scaleX(0)}
.intro.out{display:none}

/* ---- hero ---- */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:linear-gradient(180deg,var(--sky) 0%,#8ea9de 38%,#c7cbe3 68%,var(--peach) 100%)}
.hero .big{position:absolute;left:var(--pad);right:var(--pad);top:15.5vh;z-index:1;color:#fff;font-family:var(--disp);font-weight:200;font-size:min(13.9vw,200px);line-height:1;letter-spacing:-.03em}
.hero .big>span{display:block}
.hero .big>span:nth-child(2){display:flex;justify-content:space-between;padding-left:6vw}
.hero .big .w{display:inline-block;transform:translateY(50px);opacity:0;transition:transform 1.3s cubic-bezier(.2,.7,.2,1),opacity 1.3s}
.ready .hero .big .w{transform:none;opacity:1}
.hero .big .w.d2{transition-delay:.12s}.hero .big .w.d3{transition-delay:.24s}
.obj{position:absolute;z-index:0;left:0;right:0;bottom:0;height:62%;transform:translateY(6%);opacity:0;transition:transform 2.2s cubic-bezier(.2,.7,.2,1),opacity 1.6s;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 38%);mask-image:linear-gradient(180deg,transparent 0%,#000 38%)}
.obj video{width:100%;height:100%;object-fit:cover;object-position:50% 70%;filter:saturate(.85) brightness(1.05)}
.obj::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(199,203,227,.35),rgba(246,227,214,.18))}
.ready .obj{transform:none;opacity:1}
.hero .sub{position:absolute;z-index:3;color:#fff!important;border-color:rgba(255,255,255,.6)!important;left:calc(var(--pad) + 4px);bottom:7vh;border-left:1px solid rgba(82,79,75,.45);padding:8px 0 8px 18px;font-family:var(--disp);font-weight:300;font-size:22px;line-height:1.35;color:var(--text);opacity:0;transition:opacity 1.2s .6s}
.ready .hero .sub{opacity:1}
@media (max-width:760px){
  .hero{min-height:560px;height:88svh}
  .hero .big{top:15vh;font-size:16.5vw}
  .hero .sub{font-size:15px;bottom:3.5vh;background:rgba(246,227,214,.55)}
}

/* ---- two columns ---- */
.row2{display:grid;grid-template-columns:calc(var(--c4) - var(--pad)) 1fr}
.row2 .lab{font-size:14px;line-height:1.35;color:var(--ink);padding-right:30px}
.row2 .lab.blue{color:var(--navy)}
.row2 .lab.w{color:#fff}
@media (max-width:760px){.row2{grid-template-columns:1fr}.row2 .lab{margin-bottom:20px}}
.lede{font-family:var(--disp);font-weight:300;font-size:clamp(20px,1.95vw,28px);line-height:1.38;letter-spacing:-.015em;color:var(--ink);max-width:22.5em}
.lede.navy{color:var(--navy)}
.lede.w{color:#fff}
.lede+.btn{margin-top:28px}

.mission{padding-top:100px;padding-bottom:70px}
.story{padding-bottom:110px;align-items:start}
.story p{font-family:var(--disp);font-weight:300;font-size:clamp(16px,1.4vw,20px);line-height:1.4;color:var(--text);max-width:14em}
.story .v{aspect-ratio:16/8.8;overflow:hidden;border-radius:2px;transform-origin:left top;will-change:transform}
.story .v video{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.story p{margin-bottom:24px;max-width:none}}

.define{position:relative;height:100svh;min-height:560px;overflow:hidden;color:#fff}
.define video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.define::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,30,.55) 0%,rgba(10,16,30,.35) 45%,rgba(10,16,30,.05) 80%)}
.define .in{position:absolute;z-index:2;left:var(--pad);right:var(--pad);top:26vh;border-top:1px solid rgba(255,255,255,.55);padding-top:14px}
.define .w{font-family:var(--disp);font-weight:300;font-size:20px;line-height:1.25}
.define .w small{display:block;font-size:14px;opacity:.85;margin-top:3px}
.define p{position:absolute;left:52%;top:14px;font-family:var(--disp);font-weight:200;font-size:clamp(22px,2.2vw,32px);line-height:1.25;max-width:15em}
@media (max-width:760px){.define p{position:static;margin-top:28px}}

/* ---- mist sections ---- */
.mistbg{background:var(--mist)}
.tech{padding-top:150px}
.hd2{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:70px}
.h2{font-family:var(--disp);font-weight:250;font-size:clamp(30px,2.8vw,40px);line-height:1.08;letter-spacing:-.03em;color:var(--ink)}
.dark .h2,.w .h2{color:#fff}
.hd2 .r{width:min(316px,100%);font-size:13px;line-height:1.5}
.hd2 .r .btn{margin-top:24px}
.dark .hd2 .r{color:#d9d7d3}
@media (max-width:760px){.hd2{flex-direction:column;gap:22px;margin-bottom:44px}}
.bigimg{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:16/8.4}
.bigimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.14);transition:transform 1.8s cubic-bezier(.2,.7,.2,1),opacity 1.4s ease}
.bigimg img.on{opacity:1}
.bigimg.vis img.on{transform:scale(1);transition:transform 7s linear,opacity 1.4s ease}
.capcard{position:absolute;left:24px;bottom:24px;background:#000;color:#fff;padding:16px 16px 18px;width:min(320px,80%);border-radius:2px}
.capcard b{display:flex;align-items:center;gap:8px;font-weight:300;font-size:16px;margin-bottom:12px}
.capcard b::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
.capcard p{font-size:12px;line-height:1.5;color:#e6e4e1}
@media (max-width:760px){.bigimg{aspect-ratio:4/5}.capcard{left:12px;bottom:12px}}
.intel{padding-top:110px;padding-bottom:130px}

/* ---- spec (object + 4 features) ---- */
.spec{position:relative;padding-top:24px;overflow:hidden}
.spec .top{display:flex;justify-content:space-between;align-items:flex-start;padding:0 30px}
.tag{font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);border:1px solid #cbd5e1;padding:5px 9px;border-radius:2px}
.spec dl{display:grid;grid-template-columns:auto auto;gap:3px 12px;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.spec dt{color:var(--navy);font-weight:600;text-align:right}
.spec dd{color:#6d8bb0}
.spec .stage{display:grid;grid-template-columns:1fr minmax(260px,28vw) 1fr;align-items:center;column-gap:4vw;padding:60px 30px 130px}
.spec .col{display:flex;flex-direction:column;gap:120px;max-width:300px}
.spec .col:last-child{justify-self:end}
.spec h4{font-weight:400;font-size:16px;color:var(--navy);padding-bottom:16px;border-bottom:1px solid #c9d3df;margin-bottom:16px}
.spec .col p{font-size:13px;line-height:1.5;color:var(--navy)}
.spec .mid{align-self:end;display:flex;justify-content:center}
.spec .mid{align-self:center}
.spec .mid img,.spec .mid video{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:2px}
@media (max-width:900px){.spec .stage{grid-template-columns:1fr;min-height:0;gap:40px;padding-bottom:60px}.spec .col{gap:40px;max-width:none}.spec .col:last-child{justify-self:stretch}.spec .mid{order:-1}}

/* ---- dark: brands slider ---- */
.dark{background:var(--dark);color:#fff}
.brands{padding-top:130px;padding-bottom:110px}
.tabs{display:flex;gap:28px;border-bottom:1px solid #3a3a3a;margin-bottom:60px;overflow-x:auto;scrollbar-width:none}
.tabs button{background:none;border:0;color:#9a9893;font:inherit;font-size:13px;font-weight:300;padding:0 0 13px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}
.tabs button.on{color:#fff;border-color:var(--sky)}
.slider{position:relative}
.strack{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.strack::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none}
.slide{flex:0 0 auto;display:flex;gap:10px;scroll-snap-align:start}
.slide .ph{width:min(312px,70vw);aspect-ratio:312/440;overflow:hidden;border-radius:2px}
.slide .ph img{width:100%;height:100%;object-fit:cover}
.slide .cd{width:min(390px,78vw);background:var(--card);border-radius:2px;padding:24px 28px 20px;display:flex;flex-direction:column}
.slide .cd .k{display:flex;align-items:center;gap:8px;font-weight:300;font-size:13px;margin-bottom:28px}
.slide .cd .k::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pale)}
.slide .cd h3{font-family:var(--disp);font-weight:250;font-size:24px;line-height:1.25;letter-spacing:-.02em;margin-bottom:22px}
.slide .cd p{font-size:13px;line-height:1.55;color:#e3e1dd}
.slide .cd .more{margin-top:auto;border-top:1px solid #6b6865;padding-top:14px;font-size:12px;display:flex;gap:8px}
.slide .cd .more:hover{color:var(--pale)}
.snext,.sprev{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:2px;background:var(--pale);color:var(--sky);font-size:16px;cursor:pointer;z-index:2}
.snext{right:14px}.sprev{left:14px}
.sprev[disabled],.snext[disabled]{opacity:0;pointer-events:none}
@media (max-width:760px){.slide{flex-direction:column}.slide .ph{aspect-ratio:4/3;width:78vw}.slide .cd{min-height:300px}}
.together{padding-top:120px}

/* ---- service ---- */
.service{padding-top:150px;padding-bottom:130px;display:grid;grid-template-columns:calc(var(--c4) - var(--pad)) 1fr;column-gap:30px}
.service .t{display:flex;flex-direction:column;justify-content:space-between}
.service .t .tx{font-size:13px;line-height:1.5;max-width:300px}
.service .t .tx p+p{margin-top:1.2em}
.service .t .btn{margin-top:28px}
.service .collage{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:min(62vw,800px)}
.service .collage div{overflow:hidden;border-radius:2px}
.service .collage img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.service .collage div:hover img{transform:scale(1.05)}
.service .collage .a{grid-row:1/3}
.service .collage .d{grid-column:2/4}
@media (max-width:900px){.service{grid-template-columns:1fr}.service .t .tx{margin:24px 0 40px}.service .collage{height:120vw}}

/* ---- team ---- */
.team{padding-top:130px;padding-bottom:150px}
.team .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px 10px;margin-top:100px}
.person .pic{aspect-ratio:228/300;border-radius:2px;background:linear-gradient(180deg,#8faee6 0%,#c9dcf7 55%,#eef3f9 100%);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.person .pic b{font-family:var(--disp);font-weight:200;font-size:clamp(64px,8.5vw,130px);letter-spacing:-.06em;color:#fff;line-height:.8}
.person h4{font-weight:500;font-size:14px;color:var(--ink);margin-top:12px;letter-spacing:-.01em}
.person .r{font-size:14px;color:var(--text);margin-top:4px;line-height:1.3}
.person details{margin-top:10px;font-size:12.5px;line-height:1.65}
.person summary{cursor:pointer;color:var(--navy);list-style:none;display:flex;gap:6px;font-size:12px}
.person summary::-webkit-details-marker{display:none}
.person details[open] summary{margin-bottom:8px}
.person details a{text-decoration:underline;text-underline-offset:2px}
.person .sns{display:flex;gap:12px;margin-top:8px;color:var(--navy);flex-wrap:wrap}
.more-card{grid-column:span 2;background:var(--pale);border-radius:2px;padding:20px 20px 18px;display:flex;flex-direction:column;justify-content:space-between;min-height:320px}
.more-card svg{width:16px;height:16px;color:var(--navy)}
.more-card h3{font-family:var(--disp);font-weight:250;font-size:clamp(24px,2.2vw,32px);line-height:1.15;color:var(--navy);margin-bottom:18px}
.more-card a{border-top:1px solid #a9c0de;padding-top:12px;font-size:13px;color:var(--navy);display:flex;gap:8px}
.partners-l{margin-top:110px;margin-bottom:-60px;font-size:14px;color:var(--navy)}
@media (max-width:900px){.team .grid{grid-template-columns:repeat(2,1fr)}.more-card{min-height:240px}}

/* ---- media ---- */
.media{padding-top:130px;padding-bottom:120px}
.logos{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #e3e2df;border-left:1px solid #e3e2df}
.logos a{aspect-ratio:2/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-right:1px solid #e3e2df;border-bottom:1px solid #e3e2df;padding:12px;transition:background .3s}
.logos a:hover{background:var(--mist)}
.logos img{max-height:26px;max-width:70%;width:auto;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}
.logos img.sq{max-height:38px}
.logos a:hover img{filter:none;opacity:1}
.logos small{font-size:10.5px;color:#8a8783;text-align:center}
@media (max-width:900px){.logos{grid-template-columns:repeat(2,1fr)}}
.strip{overflow:hidden;margin-top:110px}
.strip .tr{display:flex;gap:10px;width:max-content;animation:marq 70s linear infinite}
.strip img{height:clamp(200px,24vw,330px);width:auto;border-radius:2px;flex:0 0 auto}
@keyframes marq{to{transform:translateX(calc(-50% - 5px))}}

/* ---- contact ---- */
.contact{background:#000;padding:var(--pad) var(--pad) 0}
.contact .box{background:var(--dark);border-radius:2px;display:grid;grid-template-columns:1fr 1.25fr;gap:40px;padding:90px 20px 20px 20px;min-height:600px}
.contact .l{display:flex;flex-direction:column;padding-bottom:20px}
.contact .l svg{width:16px;height:16px;color:#fff;opacity:.85}
.contact h2{font-family:var(--disp);font-weight:250;font-size:clamp(22px,2.2vw,32px);line-height:1.28;color:#b6b5b2;max-width:13em;margin:auto 0 60px}
.contact h2 b{font-weight:300;color:#fff}
.contact .mail{display:block;margin-top:14px;font-size:13px;color:#b6b5b2}
.contact .pics{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}
.contact .pics div{overflow:hidden;border-radius:2px}
.contact .pics img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.contact .box{grid-template-columns:1fr;padding-top:50px}.contact h2{margin:60px 0 40px}.contact .pics{height:70vw}}

/* ---- footer ---- */
.foot{background:#000;color:#fff;padding:60px var(--pad) 30px}
.foot .top{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.foot .tag2{font-family:var(--disp);font-weight:250;font-size:clamp(26px,2.8vw,40px);line-height:1.05;letter-spacing:-.02em}
.foot .addr{margin-top:40px;font-size:12px;line-height:1.75;color:#9a9893}
.foot .links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 30px;font-size:13px;font-weight:500;align-content:start}
.foot .links div{display:flex;flex-direction:column;gap:10px}
.foot .links a:hover{opacity:.6}
.foot .dots{height:1px;margin:90px 0 70px;background-image:linear-gradient(90deg,#666 40%,transparent 0);background-size:6px 1px}
.foot .bot{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.foot .big{display:flex;align-items:center;gap:14px;font-family:var(--disp);font-weight:400;font-size:clamp(34px,4vw,58px);letter-spacing:-.05em}
.foot .big svg{width:clamp(36px,3.8vw,56px);height:auto}
.foot .copy{font-size:11.5px;color:#b6b5b2;display:flex;gap:28px;flex-wrap:wrap}
@media (max-width:900px){.foot .top{grid-template-columns:1fr}}

.rv{opacity:0;transform:translateY(26px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.rv.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.strip .tr{animation:none}}

/* ---- art (零の宿) ---- */
.art{padding-top:40px;padding-bottom:130px}
.art .note{font-size:13px;line-height:1.6;color:#b6b5b2;max-width:34em;margin-top:24px}
.yt{position:relative;margin-top:70px;aspect-ratio:16/9;overflow:hidden;border-radius:2px;background:#000;cursor:pointer}
.yt img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1),opacity .4s}
.yt:hover img{transform:scale(1.03);opacity:.85}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt .play{position:absolute;left:24px;bottom:24px;display:flex;align-items:center;gap:12px;background:#000;color:#fff;border:0;border-radius:2px;padding:12px 16px 12px 12px;font:inherit;font-size:14px;font-weight:300;cursor:pointer}
.yt .play span{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--pale);color:var(--sky);border-radius:2px;font-size:11px}
.credits{display:flex;flex-direction:column;gap:6px;margin-top:18px;font-size:12px;color:#9a9893;padding-left:calc(var(--c4) - var(--pad))}
.credits a:hover{color:#fff}
@media (max-width:760px){.credits{padding-left:0}.yt .play{left:12px;bottom:12px}}
@media (max-width:760px){.hero .sub{background:none!important}}

/* ---- brand logo (mask so color follows currentColor) ---- */
.lt-m,.lt-w,.lt-f{display:inline-block;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;flex:0 0 auto}
.lt-m{-webkit-mask-image:url(/images/brand/lt-mark.svg);mask-image:url(/images/brand/lt-mark.svg);aspect-ratio:2280/790;height:22px}
.lt-w{-webkit-mask-image:url(/images/brand/lt-word.svg);mask-image:url(/images/brand/lt-word.svg);aspect-ratio:3564/268;height:12px}
.lt-f{-webkit-mask-image:url(/images/brand/lt-logo.svg);mask-image:url(/images/brand/lt-logo.svg);aspect-ratio:3564/1278;height:clamp(70px,8vw,120px)}
.lt-m.sm{height:16px;width:auto}
.logo{gap:12px}
.logo .lt-m{height:24px}
.logo .lt-w{height:12px}
.intro .mark{color:#4c4948;gap:16px}
.intro .mark .lt-m{height:34px}
.intro .mark span{display:flex;align-items:center;height:34px}
.intro .mark .lt-w{height:15px}
.intro.s1 .mark span{max-width:240px}
.more-card .lt-m{color:var(--navy)}
.contact .lt-m{color:#fff;opacity:.85}
@media (max-width:760px){.logo .lt-w{height:10px}.logo .lt-m{height:20px}}

/* team: no photos — text cards */
.team .grid{gap:0 30px;margin-top:80px}
.person{border-top:1px solid #c9d3df;padding-top:16px;padding-bottom:40px}
.person h4{margin-top:0;font-size:16px}
.more-card{min-height:200px;grid-column:span 2}

.spec p a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#9fb0c6}
.spec p a:hover{text-decoration-color:currentColor}

.h2 .kw{display:block;font-family:var(--body,inherit);font-size:13px;font-weight:400;letter-spacing:.04em;line-height:1.4;color:var(--navy);margin-bottom:16px}
.dark .h2 .kw,.w .h2 .kw{color:rgba(255,255,255,.8)}
h2.tag{display:inline-block}
h2.lab{font-weight:inherit}
.bs-nav{position:absolute;right:24px;bottom:24px;z-index:3;display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.55);padding:6px;border-radius:2px}
.bs-prev,.bs-next{width:34px;height:34px;border:0;border-radius:2px;background:var(--pale);color:var(--sky);font-size:16px;cursor:pointer}
.bs-prev:hover,.bs-next:hover{background:#fff}
.bs-dots{display:flex;gap:6px}
.bs-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer}
.bs-dot.on{background:#fff}
@media (max-width:760px){.bs-nav{right:12px;bottom:auto;top:12px;gap:8px}.bs-prev,.bs-next{width:30px;height:30px}}
