.detail-body { background:#f8f5ef; color:#30143e; }
.detail-body *, .detail-body *::before, .detail-body *::after { box-sizing:border-box; }
.detail-body p,.detail-body h2 { margin:0; }
.detail-body a { color:inherit; }
.detail-intro { padding:clamp(48px,7vw,108px) clamp(24px,6vw,100px); display:grid; grid-template-columns:1fr 2.15fr; gap:36px; }
.detail-kicker { font-size:12px; line-height:1.5; text-transform:uppercase; letter-spacing:.12em; font-weight:600; }
.detail-lead { font-size:clamp(29px,3.8vw,64px); line-height:1.08; letter-spacing:-.045em; max-width:1000px; }
.detail-editorial { padding:0 clamp(24px,6vw,100px) clamp(60px,7vw,110px); display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
.detail-editorial h2 { font-size:clamp(28px,3.1vw,52px); line-height:1.1; letter-spacing:-.04em; font-weight:500; }
.detail-editorial p { font-size:clamp(17px,1.4vw,21px); line-height:1.65; max-width:630px; }
.detail-editorial p+p { margin-top:1em; }
.detail-statement { padding:clamp(36px,5vw,76px) clamp(24px,6vw,100px); display:flex; justify-content:space-between; align-items:center; gap:32px; border-block:1px solid #30143e; background:#eee4f6; }
.detail-statement p { max-width:900px; font-size:clamp(36px,5.5vw,85px); line-height:1.05; letter-spacing:-.055em; }
.detail-statement>span { font-size:clamp(76px,12vw,190px); line-height:1; color:#652bbd; }
.detail-services { padding:0 clamp(24px,6vw,100px); }
.detail-row { display:grid; grid-template-columns:70px 1fr 1.1fr; gap:28px; padding:clamp(32px,4.4vw,66px) 0; border-bottom:1px solid #c6bac9; }
.detail-number { font-size:14px; letter-spacing:.06em; }
.detail-row h2 { font-size:clamp(25px,2.5vw,40px); line-height:1.12; font-weight:500; letter-spacing:-.035em; }
.detail-row p { font-size:clamp(17px,1.35vw,20px); line-height:1.6; max-width:620px; }
.detail-cta { margin-top:clamp(60px,7vw,110px); padding:clamp(48px,7vw,110px) clamp(24px,6vw,100px); background:#e9d8fb; }
.detail-cta h2 { margin:28px 0 36px; max-width:950px; font-size:clamp(38px,6vw,90px); line-height:1.04; letter-spacing:-.055em; font-weight:500; }
.detail-link { display:inline-flex; align-items:center; gap:46px; background:#30143e; color:#fff; border:1px solid #30143e; padding:18px 23px; font:inherit; font-size:18px; cursor:pointer; text-decoration:none; transition:background .2s,color .2s; }
.detail-link:hover { background:#f563d4; color:#30143e; }
.detail-link span { font-size:24px; }
.detail-wordmark { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px clamp(24px,6vw,100px) 44px; font-size:clamp(55px,14vw,220px); line-height:1; letter-spacing:-.08em; background:#cfff6a; border-block:1px solid #30143e; }
.detail-wordmark span { font-size:1.25em; font-weight:300; }
.detail-contact { padding:0 clamp(24px,6vw,100px) clamp(60px,7vw,110px); }
.detail-contact>p { font-size:18px; line-height:1.6; }
.detail-email { font-size:clamp(27px,6.8vw,108px); letter-spacing:-.045em; line-height:1.3; display:inline-block; text-decoration-thickness:2px; text-underline-offset:.14em; margin:24px 0 72px; overflow-wrap:anywhere; }
.detail-email span { display:inline-block; transition:transform .25s; }
.detail-email:hover span { transform:translate(5px,-5px); }
.detail-contact-grid { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:44px; padding-top:32px; border-top:1px solid #30143e; }
.detail-contact-grid h2 { font-size:12px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:24px; }
.detail-contact-grid a { display:inline-block; font-size:clamp(17px,1.65vw,24px); text-decoration-thickness:1px; text-underline-offset:5px; }
.detail-contact-grid p { margin-top:14px; font-size:17px; line-height:1.6; }
.detail-contact-grid .detail-small-link { margin-top:17px; font-size:16px; }
.detail-signoff { background:#ffbdf2; padding:clamp(48px,7vw,110px) clamp(24px,6vw,100px); display:flex; justify-content:space-between; align-items:center; gap:28px; }
.detail-signoff p { font-size:clamp(36px,5.6vw,90px); line-height:1.03; letter-spacing:-.055em; }
.detail-signoff>span { font-size:clamp(70px,12vw,190px); line-height:1; }
.project-grid { padding:0 clamp(24px,6vw,100px); display:grid; grid-template-columns:1fr 1fr; gap:64px 32px; }
.project-card { display:block; min-width:0; text-decoration:none; }
.project-card .project-image { position:relative; width:100%; height:auto; aspect-ratio:1.22; overflow:hidden; background:#ded2e6; border:0; box-shadow:none; }
.project-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.22,1,.36,1); }
.project-card:hover img { transform:scale(1.035); }
.project-caption { display:flex; justify-content:space-between; align-items:flex-end; gap:15px; padding-top:20px; }
.project-caption p { font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:9px; }
.project-caption h2 { font-size:clamp(25px,2.7vw,42px); line-height:1.1; letter-spacing:-.035em; font-weight:500; }
.project-visit { font-size:13px; white-space:nowrap; padding-bottom:4px; }
.project-visit>span { font-size:22px; margin-left:8px; }
.detail-body a:focus-visible,.detail-body button:focus-visible { outline:3px solid #722cea; outline-offset:6px; }
.detail-visual { margin:0 clamp(24px,6vw,100px) clamp(55px,7vw,105px); }
.detail-visual figure { margin:0; min-width:0; overflow:hidden; position:relative; }
.detail-visual img { display:block; width:100%; height:100%; object-fit:cover; }
.detail-visual figcaption { font-size:13px; line-height:1.5; letter-spacing:-.015em; }
.detail-visual-agency { display:grid; grid-template-columns:1.35fr 1fr; gap:16px; }
.detail-visual-architecture { min-height:620px; }
.detail-visual-architecture img { position:absolute; inset:0; object-position:45% center; }
.detail-visual-agency figure::after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,#1710219c); pointer-events:none; }
.detail-visual-agency figcaption { position:absolute; z-index:1; bottom:24px; left:28px; color:#fff; }
.detail-visual-agency-side { display:grid; grid-template-rows:1fr 1fr; gap:16px; min-width:0; }
.detail-visual-mark { position:relative; display:flex; align-items:center; justify-content:center; background:#e7d5f6; overflow:hidden; min-height:260px; }
.detail-visual-mark img { width:45%; height:72%; object-fit:contain; transform:rotate(-10deg); }
.detail-visual-mark span { position:absolute; left:27px; bottom:22px; font-size:12px; }
.detail-visual-moment img { position:absolute; inset:0; }
.detail-visual-branding { display:grid; grid-template-columns:1.15fr 1fr; gap:16px; }
.detail-visual-brand-image { min-height:510px; background:#dfd0f3; }
.detail-visual-brand-image img { position:absolute; inset:0; object-position:center; }
.detail-visual-brand-image figcaption { position:absolute; top:24px; left:27px; color:#3b145f; }
.detail-visual-type { display:flex; flex-direction:column; background:#30203f; color:#f4c8ee; padding:27px; min-width:0; overflow:hidden; }
.detail-visual-type-top { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:12px; }
.detail-visual-type-top img { width:45px; height:45px; object-fit:contain; }
.detail-visual-aa { display:flex; align-items:center; justify-content:space-between; gap:10px; flex:1; font-size:clamp(85px,15vw,225px); letter-spacing:-.1em; line-height:1.25; }
.detail-visual-aa>span { font-size:.55em; color:#e0eeac; letter-spacing:0; font-weight:300; }
.detail-visual-swatches { display:grid; grid-template-columns:repeat(4,1fr); height:44px; }
.detail-visual-swatches i:nth-child(1){background:#d1b2f5}.detail-visual-swatches i:nth-child(2){background:#f1bade}.detail-visual-swatches i:nth-child(3){background:#2759ec}.detail-visual-swatches i:nth-child(4){background:#dfefa3}
.detail-visual-type-foot { display:block; font-size:11px; padding-top:17px; }
.detail-visual-web { display:grid; grid-template-columns:1.35fr 1fr; gap:24px; align-items:start; }
.detail-visual-browser { border:1px solid #30143e; background:#fff; overflow:hidden; }
.detail-visual-browser>img { height:auto; aspect-ratio:1.12; object-position:center; }
.detail-visual-browser-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; height:40px; padding:0 15px; border-bottom:1px solid #30143e; background:#edf0ff; }
.detail-visual-browser-bar>span:first-child { display:flex; gap:5px; }
.detail-visual-browser-bar i { display:block; width:6px; height:6px; border:1px solid #30143e; border-radius:50%; }
.detail-visual-browser-bar b { font-size:9px; font-weight:400; letter-spacing:.03em; }
.detail-visual-web-side { display:flex; flex-direction:column; gap:28px; padding-top:54px; }
.detail-visual-web-side>img { height:auto; aspect-ratio:1.5; }
.detail-visual-web-side .detail-kicker { font-size:10px; }
.detail-visual-web-line { font-size:clamp(29px,3.4vw,52px); line-height:1.1; letter-spacing:-.045em; padding:18px 0 22px; }
.detail-visual-text-link { display:inline-flex; justify-content:space-between; align-items:center; gap:28px; padding:0 0 8px; border:0; border-bottom:1px solid currentColor; background:transparent; font:inherit; font-size:13px; cursor:pointer; }
.detail-visual-text-link>span { font-size:23px; }
.detail-visual-marketing { display:grid; grid-template-columns:1.3fr 1fr; gap:0; background:#cddffd; }
.detail-visual-marketing figure { min-height:510px; }
.detail-visual-marketing figure>img { position:absolute; inset:0; object-fit:cover; object-position:center; }
.detail-visual-reach { position:relative; display:flex; flex-direction:column; overflow:hidden; background:#dfefa3; padding:30px; min-width:0; }
.detail-visual-reach>.detail-kicker { font-size:10px; position:relative; z-index:1; }
.detail-visual-orbits { position:relative; min-height:260px; flex:1; display:grid; place-items:center; }
.detail-visual-orbits i { width:77%; aspect-ratio:1; border:1px solid #69734180; border-radius:50%; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.detail-visual-orbits i:nth-child(2) { width:53%; }.detail-visual-orbits i:nth-child(3) { width:29%; }
.detail-visual-orbits>span { font-size:170px; font-weight:300; line-height:1; color:#38431a; z-index:1; }
.detail-visual-reach>p { font-size:clamp(28px,3.7vw,58px); line-height:1.1; letter-spacing:-.05em; }
.detail-visual-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }
.detail-visual-tags span { border:1px solid #768446; padding:8px 12px; border-radius:30px; font-size:10px; }
.detail-visual-approach { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.detail-visual-approach figure>div { aspect-ratio:.88; overflow:hidden; }
.detail-visual-approach img { object-fit:cover; }
.detail-visual-approach figure:nth-child(2) { padding-top:60px; }
.detail-visual-approach figure:nth-child(3) { padding-top:120px; }
.detail-visual-approach figcaption { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:17px 0; border-bottom:1px solid #c6bac9; font-size:clamp(15px,1.7vw,26px); letter-spacing:-.045em; }
.detail-visual-approach figcaption b { font-size:28px; font-weight:400; }
.detail-visual-contact { display:grid; place-items:center; padding:clamp(28px,5vw,80px); background:#30203f; overflow:hidden; }
.detail-visual-postcard { width:min(100%,800px); background:#f1bade; padding:28px 34px; position:relative; transform:rotate(-4deg); box-shadow:14px 17px 0 #ffffff15; }
.detail-visual-postcard>span { font-size:10px; line-height:1.7; letter-spacing:.06em; display:block; padding-right:100px; }
.detail-visual-stamp { position:absolute; right:28px; top:25px; padding:7px; width:76px; height:83px; background:#fff; border:1px dashed #983fde; }
.detail-visual-stamp img { object-fit:contain; }
.detail-visual-postcard>p { font-size:clamp(45px,10vw,150px); line-height:1.4; letter-spacing:-.065em; padding:42px 0 25px; display:flex; justify-content:space-between; gap:15px; }
.detail-visual-postcard>p span { color:#7227dc; font-weight:300; }
.detail-visual-postcard-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:16px; border-top:1px solid #64174665; font-size:9px; line-height:1.5; }
.detail-visual-album { display:grid; grid-template-columns:1.5fr 1fr; gap:20px; align-items:start; }
.detail-visual-album-main { margin-top:38px!important; background:#e8dfd3; }
.detail-visual-album-main>img { height:auto; aspect-ratio:.88; object-position:46% center; }
.detail-visual-album figcaption { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:17px 20px; font-size:14px; }
.detail-visual-album-main figcaption>span:last-child { font-size:25px; }
.detail-visual-album-side { display:flex; flex-direction:column; gap:20px; min-width:0; }
.detail-visual-album-wedding { background:#eee9e3; }
.detail-visual-album-wedding>img { height:auto; aspect-ratio:1.15; object-position:center; }
.detail-visual-album-studio { background:#e6d4ee; }
.detail-visual-album-studio>img { height:auto; aspect-ratio:1.7; }
.detail-visual-album-note { grid-column:1/-1; font-size:clamp(29px,4.4vw,66px); line-height:1.1; letter-spacing:-.05em; padding:26px 0 0; }
@media(max-width:760px) {
  .detail-intro { grid-template-columns:1fr; gap:24px; }
  .detail-editorial { grid-template-columns:1fr; gap:28px; }
  .detail-row { grid-template-columns:36px 1fr; gap:18px; }
  .detail-row p { grid-column:2; }
  .detail-contact-grid { grid-template-columns:1fr; gap:34px; }
  .detail-contact-grid h2 { margin-bottom:14px; }
  .detail-email { margin-bottom:45px; }
  .project-grid { grid-template-columns:1fr; gap:40px; }
  .detail-statement>span { font-size:76px; }
  .detail-signoff>span { font-size:75px; }
  .detail-wordmark { font-size:16vw; }
  .detail-visual-agency,.detail-visual-branding,.detail-visual-web,.detail-visual-marketing { grid-template-columns:1fr; }
  .detail-visual-architecture { min-height:370px; }
  .detail-visual-agency-side { grid-template-columns:1fr 1fr; grid-template-rows:none; gap:10px; }
  .detail-visual-mark { min-height:215px; }
  .detail-visual-mark img { width:72%; height:60%; }
  .detail-visual-mark span { left:14px; bottom:15px; font-size:10px; }
  .detail-visual-agency figcaption { left:16px; bottom:17px; font-size:11px; }
  .detail-visual-brand-image { min-height:300px; }
  .detail-visual-type { min-height:370px; padding:22px; }
  .detail-visual-aa { font-size:clamp(84px,27vw,130px); }
  .detail-visual-web-side { padding-top:0; gap:23px; }
  .detail-visual-web-side>img { aspect-ratio:1.8; }
  .detail-visual-web-line { font-size:36px; }
  .detail-visual-marketing figure { min-height:300px; }
  .detail-visual-reach { min-height:365px; padding:25px; }
  .detail-visual-orbits { min-height:210px; }
  .detail-visual-orbits i { width:67%; }.detail-visual-orbits i:nth-child(2) { width:47%; }.detail-visual-orbits i:nth-child(3) { width:27%; }
  .detail-visual-orbits>span { font-size:145px; }
  .detail-visual-approach { grid-template-columns:1fr; gap:25px; }
  .detail-visual-approach figure:nth-child(2),.detail-visual-approach figure:nth-child(3) { padding-top:0; }
  .detail-visual-approach figure>div { aspect-ratio:1.35; }
  .detail-visual-approach figcaption { font-size:21px; }
  .detail-visual-contact { padding:24px 16px; }
  .detail-visual-postcard { padding:20px; transform:rotate(-3deg); }
  .detail-visual-postcard>span { font-size:7px; padding-right:55px; }
  .detail-visual-stamp { width:48px; height:54px; padding:4px; right:15px; top:17px; }
  .detail-visual-postcard>p { font-size:clamp(30px,10vw,65px); padding:30px 0 20px; gap:9px; }
  .detail-visual-postcard-bottom { font-size:7px; gap:14px; }
  .detail-visual-album { grid-template-columns:1fr; gap:18px; }
  .detail-visual-album-main { margin-top:0!important; }
  .detail-visual-album-main>img { aspect-ratio:1.05; }
  .detail-visual-album-side { gap:18px; }
  .detail-visual-album-wedding>img { aspect-ratio:1.4; }
  .detail-visual-album figcaption { padding:14px 17px; font-size:12px; }
  .detail-visual-album-note { padding-top:12px; }
}
@media(prefers-reduced-motion:reduce) { .project-image img,.detail-email span,.detail-link { transition:none; } }
