*{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#131414;
  --paper:#f2f0ea;
  --paper-2:#e7e3da;
  --accent:#b59a67;
  --muted:#77766f;
  --line:rgba(19,20,20,.15);
}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans JP",sans-serif;
  color:var(--ink);
  background:var(--paper);
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
.noise{
  pointer-events:none;position:fixed;z-index:9999;inset:0;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.header{
  position:fixed;z-index:1000;top:0;left:0;width:100%;height:84px;
  display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;
  color:white;transition:.35s ease;
}
.header.scrolled{background:rgba(16,17,17,.94);backdrop-filter:blur(15px);height:72px}
.logo{
  display:flex;align-items:center;gap:11px;font-family:"DM Sans";font-size:17px;
  font-weight:600;letter-spacing:.18em
}
.logo-mark{
  width:31px;height:31px;border:1px solid currentColor;display:grid;place-items:center;
  font-family:"Noto Serif JP";font-size:17px;transform:rotate(45deg)
}
.logo-mark::first-letter{transform:rotate(-45deg)}
.nav{display:flex;align-items:center;gap:2.4vw;font:500 11px/1 "DM Sans";letter-spacing:.14em}
.nav a{position:relative;opacity:.78;transition:.25s}
.nav a:hover{opacity:1}
.nav-contact{border:1px solid rgba(255,255,255,.45);padding:14px 20px}
.menu-btn{display:none;background:none;border:0;width:38px;height:38px;position:relative}
.menu-btn span{position:absolute;left:5px;width:28px;height:1px;background:white;transition:.3s}
.menu-btn span:first-child{top:14px}.menu-btn span:last-child{top:23px}
.menu-open .menu-btn span:first-child{top:19px;transform:rotate(45deg)}
.menu-open .menu-btn span:last-child{top:19px;transform:rotate(-45deg)}

.hero{
  min-height:100svh;position:relative;color:#f5f4ef;background:
  radial-gradient(circle at 78% 42%,rgba(181,154,103,.13),transparent 22%),
  radial-gradient(circle at 66% 18%,rgba(100,126,153,.10),transparent 24%),
  linear-gradient(125deg,#090a0a 0%,#111313 47%,#070808 100%);
  overflow:hidden;display:flex;align-items:center
}
.hero-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:72px 72px;mask-image:linear-gradient(to right,black,rgba(0,0,0,.25) 80%,transparent);
}
.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35}
.hero-glow-a{width:440px;height:440px;right:15%;top:18%;background:rgba(181,154,103,.18)}
.hero-glow-b{width:320px;height:320px;right:3%;bottom:4%;background:rgba(68,90,111,.13)}
.hero-layout{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;min-height:100svh;padding:95px 5vw 95px 8vw}
.hero-inner{max-width:760px;padding:0}
.eyebrow,.kicker{font:600 11px/1.2 "DM Sans";letter-spacing:.22em;color:var(--accent);margin-bottom:30px}
.hero h1{font-weight:500;letter-spacing:-.045em;line-height:1.13;font-size:clamp(48px,5.7vw,88px)}
.hero h1 span{display:block;color:#f0eee8}
.hero h1 em{display:block;font-family:"Noto Serif JP";font-style:normal;color:#cfb37b;font-weight:500;text-shadow:0 0 40px rgba(181,154,103,.12)}
.hero-copy{margin-top:38px;font-size:clamp(14px,1.15vw,17px);line-height:2;color:rgba(255,255,255,.68)}
.hero-actions{display:flex;align-items:center;gap:35px;margin-top:45px}
.button{font:600 11px "DM Sans";letter-spacing:.14em;padding:18px 22px;display:inline-flex;gap:38px;align-items:center}
.button.primary{background:transparent;color:#f3eee4;border:1px solid rgba(207,179,123,.75);box-shadow:inset 0 0 0 0 var(--accent);transition:.35s}
.button.primary:hover{background:var(--accent);color:#111}
.text-link{font:600 11px "DM Sans";letter-spacing:.14em;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:8px}
.text-link span{margin-left:20px}

.digital-stage{position:relative;height:min(660px,72vh);min-height:530px;perspective:1400px}
.digital-stage:before{
  content:"";position:absolute;left:8%;top:14%;width:82%;height:72%;
  background:radial-gradient(ellipse at center,rgba(181,154,103,.10),transparent 62%);
  filter:blur(20px)
}
.phone{
  position:absolute;z-index:5;width:260px;height:525px;left:40%;top:7%;
  transform:rotateY(-14deg) rotateZ(8deg);
  border-radius:42px;background:linear-gradient(150deg,#4a4c4c,#0b0c0c 22%,#181919 80%,#666);
  padding:9px;box-shadow:0 40px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.13),0 0 55px rgba(181,154,103,.08)
}
.phone:after{content:"";position:absolute;inset:5px;border-radius:38px;border:1px solid rgba(255,255,255,.12);pointer-events:none}
.phone-notch{position:absolute;z-index:4;width:92px;height:22px;background:#050606;left:50%;top:12px;transform:translateX(-50%);border-radius:0 0 14px 14px}
.phone-screen{height:100%;border-radius:34px;overflow:hidden;background:#111;color:white}
.phone-top{height:58px;padding:28px 19px 0;display:flex;justify-content:space-between;font:500 8px "DM Sans";letter-spacing:.06em;color:rgba(255,255,255,.48)}
.phone-visual{height:320px;position:relative;overflow:hidden;background:
  radial-gradient(circle at 75% 28%,rgba(181,154,103,.45),transparent 18%),
  linear-gradient(145deg,#1c2429,#0f1112 55%,#6a5740)}
.phone-visual:before{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(214,186,129,.4);border-radius:50%;right:-35px;top:42px;box-shadow:0 0 55px rgba(181,154,103,.18)}
.phone-visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:36px 36px}
.phone-copy{position:absolute;left:22px;bottom:28px}
.phone-copy small{font:600 7px "DM Sans";letter-spacing:.18em;color:#cfb37b}
.phone-copy strong{display:block;margin-top:8px;font:500 38px/.95 "DM Sans";letter-spacing:-.04em}
.phone-ui{padding:18px}
.phone-ui div{display:flex;gap:6px}.phone-ui i{width:7px;height:7px;border:1px solid rgba(255,255,255,.5);border-radius:50%}
.phone-ui p{font:500 8px "DM Sans";letter-spacing:.08em;color:rgba(255,255,255,.44);margin-top:18px}

.orbit{position:absolute;z-index:3;border:1px solid rgba(207,179,123,.4);border-radius:50%;box-shadow:0 0 22px rgba(207,179,123,.13)}
.orbit-a{width:560px;height:210px;left:10%;top:34%;transform:rotate(-14deg)}
.orbit-b{width:460px;height:170px;left:21%;top:45%;transform:rotate(19deg);opacity:.55}
.orbit-a:after,.orbit-b:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#e1c58d;box-shadow:0 0 16px #d7b878}
.orbit-a:after{right:12%;top:12%}.orbit-b:after{left:18%;bottom:8%}

.social-chip{position:absolute;z-index:9;width:54px;height:54px;border-radius:15px;display:grid;place-items:center;color:white;font:700 17px "DM Sans";box-shadow:0 15px 35px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.16);backdrop-filter:blur(10px)}
.social-chip span{font-size:19px}.social-chip b{font-size:8px;position:absolute;bottom:6px;right:7px;letter-spacing:.08em}
.chip-ig{left:29%;top:3%;background:linear-gradient(135deg,#7b55d9,#d44d87 54%,#e39a55)}
.chip-x{right:5%;top:34%;background:rgba(14,15,15,.92);font-size:24px}
.chip-tt{left:14%;top:20%;background:linear-gradient(145deg,#111,#27292b)}
.chip-yt{left:24%;bottom:18%;background:linear-gradient(145deg,#8e1f28,#d54149)}

.metric-card,.floating-card{
  position:absolute;z-index:8;background:linear-gradient(145deg,rgba(37,42,45,.82),rgba(16,18,19,.64));
  border:1px solid rgba(255,255,255,.13);box-shadow:0 18px 45px rgba(0,0,0,.36);
  backdrop-filter:blur(16px);color:#e9e8e3
}
.metric-card{width:170px;padding:17px;border-radius:13px}
.metric-card span{display:block;font:500 7px "DM Sans";letter-spacing:.14em;color:rgba(255,255,255,.45)}
.metric-card strong{display:block;margin-top:7px;font:400 26px "DM Sans"}
.metric-followers{right:1%;top:9%;transform:rotate(2deg)}
.metric-engagement{right:0;bottom:13%;transform:rotate(-2deg)}
.metric-card svg{width:100%;height:45px;margin-top:6px;overflow:visible}
.metric-card polyline{fill:none;stroke:#d2bc8d;stroke-width:2}
.mini-bars{display:flex;gap:5px;align-items:end;height:36px;margin-top:10px}
.mini-bars i{display:block;flex:1;background:rgba(207,179,123,.52);border-radius:2px 2px 0 0}
.mini-bars i:nth-child(1){height:22%}.mini-bars i:nth-child(2){height:38%}.mini-bars i:nth-child(3){height:53%}.mini-bars i:nth-child(4){height:73%}.mini-bars i:nth-child(5){height:100%}

.floating-card{width:145px;min-height:176px;padding:17px;border-radius:12px}
.floating-card small{font:500 7px "DM Sans";letter-spacing:.14em;color:#bca574}
.floating-card strong{display:block;font:500 22px/1.12 "Noto Serif JP";margin-top:20px}
.floating-card span{font:500 7px "DM Sans";letter-spacing:.12em;color:rgba(255,255,255,.42)}
.card-strategy{left:5%;top:30%;transform:rotate(-7deg)}
.card-creative{right:21%;top:22%;transform:rotate(7deg)}
.card-analysis{left:17%;bottom:5%;transform:rotate(5deg)}
.visual-block{height:88px;margin:13px 0;background:linear-gradient(135deg,#89765c,#262d31 60%,#151719);position:relative;overflow:hidden}
.visual-block:after{content:"";position:absolute;width:70px;height:70px;border:1px solid rgba(255,255,255,.3);border-radius:50%;right:-12px;top:12px}
.data-lines{margin:16px 0 19px}.data-lines i{display:block;height:5px;margin-top:8px;background:linear-gradient(90deg,#c5a970,var(--accent) 58%,rgba(255,255,255,.08) 58%);border-radius:8px}
.data-lines i:nth-child(2){background:linear-gradient(90deg,#c5a970 42%,rgba(255,255,255,.08) 42%)}.data-lines i:nth-child(3){background:linear-gradient(90deg,#c5a970 72%,rgba(255,255,255,.08) 72%)}
.stage-caption{position:absolute;right:0;bottom:1%;font:500 9px/1.7 "DM Sans";letter-spacing:.18em;color:rgba(255,255,255,.32);text-align:right}

.hero-side{
  position:absolute;right:2.2vw;bottom:95px;display:flex;align-items:center;gap:16px;transform:rotate(90deg);
  transform-origin:right bottom;font:500 9px "DM Sans";letter-spacing:.2em;color:rgba(255,255,255,.5)
}
.hero-side i{width:70px;height:1px;background:rgba(255,255,255,.3)}
.hero-stat{
  position:absolute;z-index:10;left:8vw;bottom:0;display:flex;border-top:1px solid rgba(255,255,255,.12)
}
.hero-stat div{padding:17px 25px;border-right:1px solid rgba(255,255,255,.12);min-width:150px}
.hero-stat strong{display:block;font:500 20px "DM Sans";color:var(--accent)}
.hero-stat span{font:400 8px "DM Sans";letter-spacing:.08em;color:rgba(255,255,255,.42)}

.section{padding:120px 8vw}
.section-label{
  font:600 10px "DM Sans";letter-spacing:.18em;border-top:1px solid var(--line);
  padding-top:15px;margin-bottom:85px;color:#676762
}
.section-label span{display:inline-block;color:var(--accent);margin-right:24px}
.section-label.light{border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.55)}
.kicker.light{color:var(--accent)}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.about-title h2,.strength-head h2,.company-title h2,.services-head h2,.contact h2{
  font-family:"Noto Serif JP";font-weight:500;line-height:1.45;letter-spacing:-.03em;font-size:clamp(34px,4.1vw,61px)
}
.about-copy{padding-top:32px}
.about-copy p{font-size:14px;line-height:2.3;color:#5f5f5b;margin-bottom:24px;max-width:620px}
.about-copy .lead{font-size:20px;line-height:2;font-weight:500;color:var(--ink)}

.services{background:#151717;color:#ebe9e2}
.services-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:80px}
.services-head>p{font-size:13px;line-height:2;color:rgba(255,255,255,.52);padding-bottom:10px}
.service-list{border-top:1px solid rgba(255,255,255,.15)}
.service-item{
  display:grid;grid-template-columns:70px 1.05fr 1fr 40px;gap:25px;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.15);padding:38px 4px;transition:.35s
}
.service-item:hover{padding-left:18px;background:rgba(255,255,255,.025)}
.service-item .num{font:500 10px "DM Sans";color:var(--accent)}
.service-item h3{font:500 clamp(24px,2.6vw,38px) "DM Sans";letter-spacing:-.03em}
.service-item>div p{font-size:11px;color:rgba(255,255,255,.4);margin-top:7px}
.service-item .desc{font-size:12px;line-height:2;color:rgba(255,255,255,.52)}
.arrow{font-size:22px;color:var(--accent)}

.strength-head{max-width:800px;margin-bottom:70px}
.strength-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.strength-card{
  min-height:310px;padding:40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;transition:.35s
}
.strength-card:hover{background:#e8e4db}
.strength-card.featured{background:#232525;color:white}
.strength-card>span{font:500 10px "DM Sans";color:var(--accent)}
.strength-card h3{margin-top:auto;font:500 clamp(24px,2.4vw,36px) "DM Sans";letter-spacing:-.03em}
.strength-card p{font-size:12px;line-height:2;color:#77766f;margin-top:18px;max-width:440px}
.strength-card.featured p{color:rgba(255,255,255,.52)}



.company{background:#e8e4db}
.company-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.company-data{border-top:1px solid rgba(19,20,20,.2)}
.company-data div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid rgba(19,20,20,.15);padding:23px 0}
.company-data dt{font-size:10px;color:#777}
.company-data dd{font-size:13px;line-height:1.9}

.contact{
  background:#101111;color:white;padding:125px 9vw;position:relative;overflow:hidden
}
.contact:after{
  content:"Trifecta";position:absolute;right:-2vw;bottom:-7vw;font:700 14vw "DM Sans";
  letter-spacing:-.06em;color:rgba(255,255,255,.025)
}
.contact-inner{position:relative;z-index:2;max-width:980px}
.contact h2{font-size:clamp(39px,5.5vw,76px)}
.contact p:not(.kicker){margin-top:25px;font-size:13px;color:rgba(255,255,255,.5)}
.contact-button{
  margin-top:52px;width:min(500px,100%);border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);
  padding:24px 0;display:flex;justify-content:space-between;align-items:center;font:500 13px "DM Sans";letter-spacing:.15em
}
.contact-button strong{color:var(--accent);font-size:22px}
.footer{
  background:#0c0d0d;color:rgba(255,255,255,.5);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;
  padding:50px 5vw;font-size:9px;border-top:1px solid rgba(255,255,255,.08)
}
.footer-logo{color:white}.footer>p:nth-child(2){text-align:center}.copyright{text-align:right}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .header{height:70px;padding:0 22px}.nav{
    position:fixed;inset:0;background:#111313;display:flex;flex-direction:column;justify-content:center;
    align-items:flex-start;padding:0 12vw;gap:34px;transform:translateX(100%);transition:.35s;
    font-size:18px
  }
  .menu-open .nav{transform:none}.menu-btn{display:block;z-index:2}
  .nav-contact{border:0;padding:0}
  .hero-inner{padding:12vh 7vw 190px}
  .hero h1{font-size:clamp(44px,12vw,72px)}
  .hero-stat{left:7vw;right:auto;width:86%;overflow:hidden}
  .hero-stat div{padding:16px 13px;min-width:0;flex:1}.hero-stat strong{font-size:17px}
  .hero-stat span{font-size:6px}.hero-side{display:none}.orb-1{right:-210px}
  .section{padding:85px 6.5vw}.section-label{margin-bottom:55px}
  .about-layout,.services-head-inner,.company-layout{grid-template-columns:1fr;gap:45px}
  .about-copy{padding-top:0}.about-copy .lead{font-size:17px}
  .service-item{grid-template-columns:35px 1fr 30px;gap:16px}
  .service-item .desc{grid-column:2/4}.service-item h3{font-size:25px}
  .strength-grid{grid-template-columns:1fr}.strength-card{min-height:250px;padding:30px}
  .message-layout{grid-template-columns:60px 1fr}.quote-mark{font-size:90px}
  .footer{grid-template-columns:1fr;gap:25px}.footer>p:nth-child(2),.copyright{text-align:left}
}
@media(max-width:520px){
  .hero h1{font-size:42px}.hero-copy{font-size:13px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-stat{display:none}.hero-inner{padding-bottom:80px}
  .message-layout{grid-template-columns:1fr}.quote-mark{height:70px}
  .company-data div{grid-template-columns:85px 1fr}
}
@media(max-width:1100px){
  .hero-layout{grid-template-columns:1fr .9fr;padding-left:6vw;padding-right:3vw}
  .phone{left:34%;transform:scale(.9) rotateY(-14deg) rotateZ(8deg)}
  .metric-followers{right:0}.metric-engagement{right:-3%}
  .card-creative{right:11%}.orbit-a{left:-2%}.orbit-b{left:7%}
}
@media(max-width:900px){
  .hero{min-height:auto}
  .hero-layout{grid-template-columns:1fr;min-height:auto;padding:125px 6.5vw 80px}
  .hero-inner{max-width:720px}
  .digital-stage{height:570px;min-height:0;margin-top:45px}
  .phone{left:50%;top:2%;transform:translateX(-50%) scale(.88) rotateY(-12deg) rotateZ(6deg)}
  .orbit-a{left:6%;top:34%;width:88%}.orbit-b{left:15%;width:72%}
  .chip-ig{left:24%}.chip-tt{left:8%}.chip-yt{left:15%}
  .card-strategy{left:2%}.card-analysis{left:9%}.card-creative{right:5%}
  .metric-followers{right:1%}.metric-engagement{right:2%;bottom:8%}
  .stage-caption{display:none}
  .hero-stat{position:relative;left:auto;bottom:auto;margin:0 6.5vw;width:87%;overflow:hidden}
  .hero-stat div{flex:1;min-width:0;padding:15px 12px}
  .message-layout{grid-template-columns:1fr;gap:25px}
  .message-side{border-right:0;border-bottom:1px solid var(--line);padding:0 0 35px}
  .quote-mark{margin:35px 0 20px;font-size:95px}
}
@media(max-width:600px){
  .digital-stage{height:500px;margin-left:-5vw;margin-right:-5vw;overflow:hidden}
  .phone{transform:translateX(-50%) scale(.72) rotateY(-10deg) rotateZ(5deg);top:-4%}
  .orbit-a{width:115%;left:-7%;top:31%}.orbit-b{width:95%;left:4%}
  .floating-card{transform:scale(.82)}
  .card-strategy{left:-2%;top:27%}.card-analysis{left:2%;bottom:2%}.card-creative{right:-3%;top:18%}
  .metric-card{transform:scale(.82)}
  .metric-followers{right:-5%;top:6%}.metric-engagement{right:-7%;bottom:6%}
  .chip-ig{left:18%;top:0}.chip-tt{left:1%;top:19%}.chip-x{right:-1%;top:34%}.chip-yt{left:9%;bottom:16%}
  .hero-stat{display:none}
}


/* Website-first sections */
.works{padding:130px 8vw;background:#111313;color:#efede6}
.works-head{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:70px}
.works-head h2,.trust-copy h2{font-family:"Noto Serif JP";font-weight:500;line-height:1.45;letter-spacing:-.03em;font-size:clamp(34px,4.1vw,61px)}
.works-head>p{font-size:12px;line-height:2;color:rgba(255,255,255,.48)}
.works-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px}
.work-card-large{grid-row:span 2}
.work-visual{height:290px;position:relative;overflow:hidden;padding:24px;background:
 radial-gradient(circle at 70% 28%,rgba(181,154,103,.55),transparent 20%),
 linear-gradient(135deg,#3a4144,#151718 58%,#786548)}
.work-card-large .work-visual{height:650px}
.work-visual.alt{background:radial-gradient(circle at 25% 30%,rgba(181,154,103,.38),transparent 24%),linear-gradient(145deg,#655844,#242728 62%,#151616)}
.work-visual.dark{background:linear-gradient(135deg,#202627,#0b0d0d)}
.work-visual:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px}
.work-visual span{position:relative;z-index:2;font:600 9px "DM Sans";letter-spacing:.16em;color:#d2b77e}
.work-visual strong{position:absolute;z-index:2;right:24px;bottom:15px;font:400 90px "DM Sans";color:rgba(255,255,255,.08)}
.work-meta{display:flex;justify-content:space-between;align-items:end;padding:20px 2px 10px;border-bottom:1px solid rgba(255,255,255,.14)}
.work-meta h3{font:500 20px "DM Sans"}.work-meta p{font-size:9px;color:rgba(255,255,255,.4)}
.works-note-note{margin-top:28px;font-size:10px;color:rgba(255,255,255,.35)}

.trust-strip{padding:85px 9vw;background:#ded9cf;display:grid;grid-template-columns:1fr auto;gap:8vw;align-items:end;border-top:1px solid rgba(19,20,20,.1)}
.trust-copy{max-width:780px}.trust-copy h2{font-size:clamp(30px,3.5vw,50px)}
.trust-copy>p:last-child{font-size:12px;line-height:2;color:#67655f;margin-top:20px}
.trust-link{width:210px;border-top:1px solid #89857b;border-bottom:1px solid #89857b;padding:20px 0;display:flex;justify-content:space-between;font-size:12px}
.trust-link strong{color:var(--accent);font-size:20px}
.logo > span:last-child{text-transform:none}
.contact:after{content:"Trifecta"}

@media(max-width:900px){
 .works{padding:90px 6.5vw}.works-head{grid-template-columns:1fr;gap:25px}
 .works-grid{grid-template-columns:1fr}.work-card-large{grid-row:auto}.work-card-large .work-visual,.work-visual{height:420px}
 .member-grid{grid-template-columns:repeat(2,1fr)}
 .trust-strip{grid-template-columns:1fr}.trust-link{width:100%}
}
@media(max-width:560px){
 .work-card-large .work-visual,.work-visual{height:330px}
 .work-meta{display:block}.work-meta p{margin-top:8px}
 .member-grid{grid-template-columns:1fr 1fr;gap:14px}
 .member-card h3{font-size:16px}.member-role{font-size:7px}
}


/* ===== Scroll experience refinement ===== */
html{scroll-padding-top:72px}
body{background:#f2f0ea}
.scroll-progress{
  position:fixed;z-index:2000;top:0;left:0;height:2px;width:0;
  background:linear-gradient(90deg,#8e774d,#d3b779);
  box-shadow:0 0 14px rgba(211,183,121,.35);
  pointer-events:none
}
.scroll-section{position:relative;overflow:hidden;isolation:isolate}
.section-word{
  position:absolute;z-index:-1;right:-1.5vw;top:32px;
  font:600 clamp(74px,12vw,190px)/.8 "DM Sans";
  letter-spacing:-.065em;color:rgba(19,20,20,.035);
  white-space:nowrap;transform:translate3d(0,var(--word-shift,0),0);
  will-change:transform
}
.section-word.light-word{color:rgba(255,255,255,.035)}
.section-label{position:relative;z-index:2}
.section-label:after{
  content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:var(--accent);
  transition:width 1.2s cubic-bezier(.2,.7,.2,1)
}
.section-label.visible:after{width:88px}

.about,.strength,.company{min-height:80vh;display:flex;flex-direction:column;justify-content:center}
.services,.works{min-height:92vh}

.reveal{
  opacity:0;transform:translate3d(0,40px,0);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)
}
.reveal.visible{opacity:1;transform:translate3d(0,0,0)}
.service-item.reveal:nth-child(2),
.member-card.reveal:nth-child(2),
.strength-row.reveal:nth-child(2){transition-delay:.08s}
.service-item.reveal:nth-child(3),
.member-card.reveal:nth-child(3),
.strength-row.reveal:nth-child(3){transition-delay:.16s}
.strength-row.reveal:nth-child(4){transition-delay:.24s}

.marquee{
  overflow:hidden;background:#d7d1c5;border-top:1px solid rgba(19,20,20,.12);
  border-bottom:1px solid rgba(19,20,20,.12);padding:19px 0
}
.marquee-track{
  width:max-content;display:flex;align-items:center;gap:28px;
  animation:trifectaMarquee 30s linear infinite;
  font:500 12px "DM Sans";letter-spacing:.22em;color:#6b675f
}
.marquee-track i{font-style:normal;color:#b59a67}
@keyframes trifectaMarquee{to{transform:translateX(-50%)}}

.strength{padding-top:145px;padding-bottom:145px}
.strength-head{position:sticky;top:105px;max-width:700px;margin-bottom:85px}
.strength-editorial{margin-left:20vw}
.strength-row{
  display:grid;grid-template-columns:70px minmax(280px,1.25fr) minmax(250px,.75fr);
  gap:42px;align-items:end;padding:54px 0;border-top:1px solid var(--line)
}
.strength-row:last-child{border-bottom:1px solid var(--line)}
.strength-num{font:500 10px "DM Sans";letter-spacing:.16em;color:var(--accent);align-self:start;padding-top:7px}
.strength-main small{font:600 9px "DM Sans";letter-spacing:.18em;color:#9a8151}
.strength-main h3{
  margin-top:16px;font-family:"Noto Serif JP";font-size:clamp(28px,3vw,46px);
  font-weight:500;line-height:1.45;letter-spacing:-.03em
}
.strength-row>p{font-size:12px;line-height:2;color:#706e67;padding-bottom:7px}

.work-card{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.work-card:hover{transform:translateY(-8px)}
.work-visual{overflow:hidden}
.work-visual:before{
  content:"";position:absolute;inset:-10%;background:radial-gradient(circle at var(--px,50%) var(--py,50%),rgba(218,190,132,.22),transparent 24%);
  transition:opacity .3s;opacity:.7;pointer-events:none
}
.work-card-large{transform:translateY(var(--work-shift,0))}
.work-card-large:hover{transform:translateY(calc(var(--work-shift,0) - 8px))}


.trust-strip{position:relative;overflow:hidden}
.trust-strip:before{
  content:"Trifecta";position:absolute;right:-2vw;bottom:-4vw;
  font:600 13vw "DM Sans";letter-spacing:-.07em;color:rgba(19,20,20,.025)
}

.contact{min-height:72vh;display:flex;flex-direction:column;justify-content:center}
.back-top{
  position:absolute;right:6vw;bottom:45px;display:flex;gap:20px;align-items:center;
  font:600 9px "DM Sans";letter-spacing:.16em;color:rgba(255,255,255,.6)
}
.back-top strong{font-size:18px;color:#caae77}

@media(max-width:900px){
  .about,.strength,.company,.services,.works{min-height:auto}
  .section-word{top:48px;right:-10px;font-size:22vw}
  .strength-head{position:relative;top:auto}
  .strength-editorial{margin-left:0}
  .strength-row{grid-template-columns:45px 1fr;gap:18px 20px;padding:38px 0}
  .strength-row>p{grid-column:2}
  .team .member-card:nth-child(2) .member-card:nth-child(3){margin-top:0}
  }
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marquee-track{animation:none}
  .reveal{transition:none;opacity:1;transform:none}
  .section-word,.work-card-large{transform:none!important}
}

/* Official PDF logo in header/footer */
.brand-logo{display:inline-flex;align-items:center;line-height:0}
.brand-logo img{display:block;width:auto;height:52px;max-width:230px;object-fit:contain;filter:invert(1) brightness(1.06)}
.header.scrolled .brand-logo img{height:46px}
.footer-logo.brand-logo img{height:64px;max-width:260px}
@media(max-width:900px){
  .brand-logo img{height:42px;max-width:190px}
  .header.scrolled .brand-logo img{height:40px}
  .footer-logo.brand-logo img{height:54px;max-width:220px}
}
