/* hero */
.hero{padding:176px 0 0}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero h1{font-family:'Zen Old Mincho',serif;font-weight:900;font-size:clamp(31px,5.2vw,60px);
  line-height:1.5;letter-spacing:.03em;margin-top:28px}
.hero h1 .l{display:block;overflow:hidden}
.hero h1 .l>span{display:block;transform:translateY(105%);animation:rise 1.05s var(--ease) forwards}
.hero h1 .l:nth-child(2)>span{animation-delay:.13s}
@keyframes rise{to{transform:none}}
.hero .kwline{margin-top:24px;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--g1);line-height:2;opacity:0;animation:fade .9s var(--ease) .45s forwards}
.hero .sub{margin-top:28px;font-size:16px;color:var(--g1);opacity:0;animation:fade .9s var(--ease) .55s forwards}
.hero .desc{margin-top:20px;font-size:14.5px;color:var(--g1);max-width:35em;opacity:0;animation:fade .9s var(--ease) .7s forwards}
@keyframes fade{to{opacity:1}}
.const{width:100%;height:auto}
.const .ed{stroke:var(--k);stroke-width:1.1;fill:none;stroke-dasharray:260;stroke-dashoffset:260;animation:draw 1.5s var(--ease) .3s forwards}
.const .ed.b{animation-delay:.5s}
.const .nd{fill:var(--k);opacity:0;animation:pop .6s var(--ease) forwards}
.const .n1{animation-delay:1.25s}.const .n2{animation-delay:1.45s}.const .n3{animation-delay:1.65s}
.const .rg{fill:none;stroke:var(--g3);stroke-width:.7;opacity:0;animation:fade .8s ease 1.8s forwards}
.const .lb{font-family:'Space Grotesk',sans-serif;font-size:8.5px;letter-spacing:.2em;fill:var(--g2);opacity:0;animation:fade .8s ease 1.95s forwards}
.const .lj{font-size:11px;font-family:'Zen Kaku Gothic New',sans-serif;letter-spacing:.06em;fill:var(--k);opacity:0;animation:fade .8s ease 2.05s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
.entry{margin-top:84px;border-top:1px solid var(--ln)}
.entry-h{font-size:13px;color:var(--g1);padding:24px 0 4px}
.ent{background:var(--w);padding:26px 22px 30px;position:relative;transition:background .3s var(--ease);display:block}
.ent::after{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:var(--k);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.ent:hover{background:var(--mist)}
.ent:hover::after{transform:scaleX(1)}
.ent .n{font-family:'Space Grotesk',sans-serif;font-size:10.5px;letter-spacing:.22em;color:var(--g2)}
.ent h3{font-size:15.5px;font-weight:700;margin-top:12px;line-height:1.7}
.ent p{font-size:12.5px;color:var(--g1);margin-top:8px;line-height:1.8}
.ent .go{font-family:'Space Grotesk',sans-serif;font-size:12px;margin-top:16px;display:inline-flex;gap:8px;transition:gap .3s var(--ease)}
.ent:hover .go{gap:14px}
.fct{background:var(--w);padding:26px 22px 30px}
.fct .v{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:500;line-height:1.1}
.fct .v i{font-style:normal;font-size:13px;font-family:'Zen Kaku Gothic New',sans-serif;margin-left:3px}
.fct .l{font-size:12px;color:var(--g1);margin-top:10px;line-height:1.7}
/* biz cards */
.bcard{background:var(--w);display:block;transition:background .3s}
.bcard:hover{background:var(--mist)}
.bcard .bd{padding:28px 26px 34px}
.bcard .fl{font-family:'Space Grotesk',sans-serif;font-size:10.5px;letter-spacing:.2em;color:var(--g2)}
.bcard h3{font-family:'Zen Old Mincho',serif;font-size:24px;font-weight:600;margin-top:12px}
.bcard .who{font-size:12px;font-weight:700;margin-top:14px;padding:8px 12px;border:1px solid var(--ln);display:inline-block}
.bcard p{font-size:13px;color:var(--g1);margin-top:16px;line-height:2}
.bcard .go{font-family:'Space Grotesk',sans-serif;font-size:12px;margin-top:20px;display:inline-flex;gap:9px;transition:gap .3s var(--ease)}
.bcard:hover .go{gap:16px}
/* philosophy teaser */
.pht{text-align:center}
.pht .lbl{font-family:'Space Grotesk',sans-serif;font-size:11px;letter-spacing:.34em;color:var(--g2)}
.pht h2{font-family:'Zen Old Mincho',serif;font-weight:900;font-size:clamp(34px,7vw,78px);line-height:1.4;letter-spacing:.05em;margin-top:26px}
.pht p{margin-top:30px;color:var(--g3);font-size:15.5px;line-height:2.15;max-width:38em;margin-left:auto;margin-right:auto}
/* results */
.cs{background:var(--k);padding:32px 24px 36px}
.cs .cat{font-size:12.5px;font-weight:700;line-height:1.6;min-height:3.2em}
.cs .bar{display:flex;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid var(--lnk)}
.cs .k{font-family:'Space Grotesk',sans-serif;font-size:10.5px;letter-spacing:.18em;color:var(--g2)}
.cs .v{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:500;line-height:1.15;margin-top:4px}
.cs .v i{font-style:normal;font-size:13px}
/* posts */
.pts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:38px}
.pt{border-top:1px solid var(--ln);padding-top:22px}
.pt .m{font-family:'Space Grotesk',sans-serif;font-size:10.5px;letter-spacing:.16em;color:var(--g2)}
.pt h4{font-family:'Zen Old Mincho',serif;font-size:17px;font-weight:600;margin-top:12px;line-height:1.7}
.pt p{font-size:12.8px;color:var(--g1);margin-top:12px;line-height:1.95}
/* own */
.own{background:var(--w);padding:34px 30px 38px}
.own .nm{font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:700;display:flex;align-items:center;gap:9px}
.own .nm .x{font-size:12px;color:var(--g2)}
.own .sb{font-family:'Space Grotesk',sans-serif;font-size:10.5px;letter-spacing:.2em;color:var(--g2);margin-top:8px}
.own p{font-size:13px;color:var(--g1);margin-top:18px;line-height:2}
@media(max-width:1040px){.hero-grid{grid-template-columns:1fr;gap:46px}.const{max-width:400px;margin:0 auto}.pts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hero{padding:118px 0 0}.entry{margin-top:58px}.pts{grid-template-columns:1fr}}
.bnr3{display:grid;grid-template-columns:1fr 240px;gap:44px;align-items:center;margin-top:1px;padding:44px 38px 48px;transition:opacity .3s var(--ease)}
.bnr3:hover{opacity:.9}
.bnr3 .lb{font-family:'Space Grotesk',sans-serif;font-size:10.5px;letter-spacing:.22em}
.bnr3 h3{font-family:'Zen Old Mincho',serif;font-size:clamp(22px,3.2vw,30px);font-weight:600;margin-top:16px;line-height:1.6;letter-spacing:.03em}
.bnr3 p{font-size:13.5px;margin-top:18px;line-height:2.05;max-width:46em}
.bnr3 .go{font-family:'Space Grotesk',sans-serif;font-size:12px;margin-top:24px;display:inline-flex;gap:9px;padding-bottom:5px;border-bottom:1px solid currentColor}
.bnr3 .th{width:240px;aspect-ratio:400/384;overflow:hidden;border:1px solid rgba(255,255,255,.16)}
.bnr3.lt .th{border-color:var(--ln)}
.bnr3 .th img{width:100%;height:100%;object-fit:cover;display:block}
.bnr3.dk{background:var(--k);color:var(--w)}
.bnr3.dk .lb{color:var(--g2)}
.bnr3.dk p{color:var(--g3)}
.bnr3.lt{background:var(--mist);border:1px solid var(--ln);color:var(--k)}
.bnr3.lt .lb{color:var(--g2)}
.bnr3.lt p{color:var(--g1)}
@media(max-width:900px){.bnr3{grid-template-columns:1fr;gap:28px}.bnr3 .th{width:100%;max-width:320px}}
.plogo{background:var(--w);border:1px solid var(--ln);padding:26px 30px;display:flex;align-items:center;
  justify-content:center;min-height:120px}
.plogo img{max-width:230px;width:100%;height:auto;filter:grayscale(1);transition:filter .6s var(--ease)}
.plogo:hover img{filter:grayscale(0)}
.dark .plogo{background:#141416;border-color:var(--lnk)}
.dark .plogo img{filter:grayscale(1) invert(0)}
.pt .th{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--mist);margin-bottom:18px;border:1px solid var(--ln)}
.pt .th img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.pt:hover .th img{transform:scale(1.04)}
.hnw{margin-top:44px;border-top:1px solid var(--ln)}
.hnw a{display:grid;grid-template-columns:112px 140px 1fr 22px;gap:24px;align-items:baseline;
  padding:22px 4px 24px;border-bottom:1px solid var(--ln);transition:padding-left .4s var(--ease)}
.hnw a:hover{padding-left:12px;background:var(--mist)}
.hnw .d{font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.08em;color:var(--g2)}
.hnw .c{font-size:10.5px;font-weight:700;letter-spacing:.08em;border:1px solid var(--ln);padding:5px 0;text-align:center;color:var(--g1)}
.hnw h3{font-size:15px;font-weight:700;line-height:1.75}
.hnw .ar{font-family:'Space Grotesk',sans-serif;font-size:13px;color:var(--g2);text-align:right}
@media(max-width:760px){.hnw a{grid-template-columns:1fr;gap:9px}.hnw .c{display:inline-block;padding:5px 12px}.hnw .ar{display:none}}