/* One readable direction at a time. No text or artwork overlaps. */
.design-gallery{padding:70px 0 55px;background:#eeeaf5;color:#261b33;overflow:hidden}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px}.gallery-heading .eyebrow{color:#62536d;margin-bottom:24px;font-size:13px}.gallery-heading h2{font-size:clamp(42px,4.8vw,70px);font-weight:500;letter-spacing:-.045em;line-height:1.03}.gallery-heading h2 em{font-family:Newsreader,Georgia,serif;font-weight:400}.gallery-heading>p{font-size:16px;line-height:1.6;color:#685b73;max-width:310px;margin-bottom:3px}.showcase-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,.8fr);align-items:center;gap:6%}.showcase-image{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:635/432;cursor:grab;touch-action:pan-y;background:#ded9e6;box-shadow:0 22px 60px #38244215;transform:translateX(var(--drag,0px));transition:transform .3s cubic-bezier(.2,.8,.2,1)}.showcase-image:active{cursor:grabbing;transition:none}.showcase-image>img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;display:block}.showcase-drag{position:absolute;right:16px;bottom:14px;background:#24192edb;color:white;font-size:10px;letter-spacing:.1em;padding:7px 10px;border-radius:3px;opacity:0;transition:opacity .25s;pointer-events:none}.showcase-image:hover .showcase-drag,.showcase-image:focus-visible .showcase-drag{opacity:1}.showcase-counter{font-size:14px;letter-spacing:.1em;color:#76667f;display:block;margin-bottom:29px;font-variant-numeric:tabular-nums}.showcase-category{font-size:12px;letter-spacing:.09em;color:#715386;margin-bottom:12px}.showcase-caption h3{font:400 clamp(34px,3.4vw,52px)/1.05 Newsreader,Georgia,serif;letter-spacing:-.035em;white-space:pre-line}.showcase-description{font-size:16px;line-height:1.6;color:#665770;margin:21px 0 22px}.showcase-caption>.text-link{display:block;width:fit-content;text-decoration:underline;text-underline-offset:5px;font-size:14px}.showcase-caption>a.text-link{margin-top:9px;text-decoration:none;color:#72568c}.showcase-controls{display:flex;gap:16px;align-items:center;margin-top:30px}.showcase-controls button{border:1px solid #aa9bb7;border-radius:30px;background:transparent;padding:11px 16px;color:inherit;font-size:13px;transition:background .2s}.showcase-controls button:hover{background:#d8c6eb}.showcase-progress{height:2px;background:#cfc4da;flex:1;overflow:hidden}.showcase-progress i{display:block;width:100%;height:100%;background:#74518e;transform:scaleX(var(--gallery-progress,.25));transform-origin:left;transition:transform .5s}.showcase-thumbnails{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border-top:1px solid #d3c7de;margin-top:42px;padding-top:24px}.showcase-thumbnails button{background:none;text-align:left;border:0;border-bottom:2px solid transparent;padding:0 0 16px;display:flex;align-items:center;gap:15px;opacity:.6;transition:opacity .2s,border-color .2s;color:inherit}.showcase-thumbnails button:hover,.showcase-thumbnails button[aria-pressed=true]{opacity:1}.showcase-thumbnails button[aria-pressed=true]{border-color:#744899}.showcase-thumbnails img{width:70px;height:48px;object-fit:contain;border-radius:3px}.showcase-thumbnails button>span{display:block;font-size:14px;line-height:1.3}.showcase-thumbnails small{display:block;color:#756481;font-size:11px;margin-bottom:5px}.showcase-note{font-size:12px;color:#82758e;margin-top:17px}.design-viewer{width:min(1080px,calc(100vw - 48px));max-height:92dvh;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:20px;overflow:auto}.design-viewer::backdrop{background:#0e0918d9;backdrop-filter:blur(12px)}.design-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.design-viewer-top p{font-size:14px;color:var(--text)}.design-viewer>img{width:100%;height:auto;max-height:76dvh;object-fit:contain}.shape-switch{position:absolute;bottom:0;right:0;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:10px 14px;font:13px Hanken,sans-serif;border-radius:25px;z-index:5;display:flex;align-items:center;gap:10px;transition:background .2s,border-color .2s}.shape-switch:hover{border-color:var(--purple);background:var(--panel,#251e2c)}.shape-switch>span{font-size:20px;line-height:1;transition:transform .5s}.shape-switch:hover>span{transform:rotate(140deg)}
@media(max-width:1000px){.showcase-layout{grid-template-columns:minmax(0,1.5fr) minmax(235px,1fr);gap:30px}.showcase-thumbnails{gap:15px}.showcase-thumbnails img{width:48px;height:33px}.showcase-thumbnails button{gap:10px}.gallery-heading{gap:25px}.showcase-counter{margin-bottom:16px}.showcase-description{margin:14px 0}.showcase-controls{margin-top:20px;gap:10px}}
@media(max-width:760px){.design-gallery{padding:42px 0}.gallery-heading{display:block;margin-bottom:26px}.gallery-heading h2{font-size:43px}.gallery-heading>p{font-size:15px;margin-top:22px}.gallery-heading .eyebrow{font-size:12px;margin-bottom:20px}.showcase-layout{display:flex;flex-direction:column;gap:26px}.showcase-image{width:100%;border-radius:4px}.showcase-caption{width:100%}.showcase-caption h3{font-size:37px;white-space:normal}.showcase-counter{margin-bottom:13px}.showcase-description{max-width:550px;font-size:16px}.showcase-thumbnails{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px;padding-top:22px}.showcase-thumbnails img{width:60px;height:41px}.showcase-thumbnails button{padding-bottom:10px}.showcase-thumbnails button>span{font-size:13px}.showcase-controls{margin-top:22px}.showcase-controls button{font-size:14px;min-height:44px}.showcase-caption>.text-link{font-size:15px;min-height:40px}.showcase-drag{display:none}.shape-switch{padding:8px 12px;font-size:12px;bottom:6px}.design-viewer{width:calc(100vw - 24px);padding:14px}.design-viewer-top p{font-size:12px}}
.showcase-thumbnails button{opacity:1;color:#65546f}.showcase-thumbnails button>img{opacity:.65;transition:opacity .2s}.showcase-thumbnails button:hover,.showcase-thumbnails button[aria-pressed=true]{color:#261b33}.showcase-thumbnails button:hover>img,.showcase-thumbnails button[aria-pressed=true]>img{opacity:1}
/* Portfolio above; concise service index below. Each section has a different role. */

.portfolio-gallery .showcase-image{aspect-ratio:635/432;border-radius:4px}

.portfolio-gallery .showcase-category{display:inline-flex;border:1px solid #ae9bbb;border-radius:30px;padding:5px 12px;font-size:14px;letter-spacing:0;margin-bottom:20px;color:#4e3b61}
.project-scope{margin:20px 0 16px;border-block:1px solid #cec3d8;padding:16px 0}
.project-scope dt{font-size:13px;color:#725f81;margin-bottom:7px}
.project-scope dd{margin:0;font-size:14px;line-height:1.65;color:#46334f}
.portfolio-gallery .showcase-caption>.text-link{font-size:14px}
.portfolio-gallery .showcase-thumbnails{grid-template-columns:repeat(2,1fr)}
.portfolio-gallery .showcase-thumbnails button{gap:18px}
.portfolio-gallery .showcase-thumbnails img{width:94px;height:66px}
.portfolio-gallery .showcase-thumbnails small{font-size:12px}
.portfolio-gallery .showcase-thumbnails button>span{font-size:16px}
body[data-page=""] .service-index-section{padding-top:100px;padding-bottom:0}
.service-index-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}
.service-index-intro h2{font-family:Hanken,sans-serif;font-size:clamp(42px,5.5vw,78px);font-weight:500;letter-spacing:-.055em;line-height:1.06}
.service-index-intro .eyebrow{margin-bottom:24px}
.service-index-intro>p{max-width:360px;font-size:17px;line-height:1.65;color:var(--muted)}
.service-index-row{display:grid;grid-template-columns:35px 1fr 1.1fr auto;align-items:center;gap:25px;padding:34px 0;border-top:1px solid var(--line);position:relative;transition:background .25s,padding .3s}
.service-index-row:last-child{border-bottom:1px solid var(--line)}
.service-index-number{color:var(--purple);font-size:14px}
.service-index-row h3{font-family:Newsreader,Georgia,serif;font-size:clamp(26px,2.7vw,40px);letter-spacing:-.02em;line-height:1.15}
.service-index-row p{color:var(--muted);font-size:16px;line-height:1.65;max-width:450px}
.service-index-link{font-size:14px;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
.service-index-row:hover,.service-index-row:focus-visible{background:var(--panel);padding-inline:18px}
.service-index-row:hover .service-index-link{color:var(--purple)}
@media(max-width:1000px){.service-index-row{grid-template-columns:25px 1fr 1.1fr;gap:18px}.service-index-link{grid-column:2/-1}.portfolio-gallery .showcase-thumbnails img{width:76px;height:54px}}
@media(max-width:760px){.portfolio-gallery .gallery-heading h2{font-size:42px}.portfolio-gallery .showcase-category{margin-bottom:15px}.portfolio-gallery .showcase-thumbnails button{gap:12px}.portfolio-gallery .showcase-thumbnails img{width:54px;height:38px}.portfolio-gallery .showcase-thumbnails button>span{font-size:14px}.portfolio-gallery .showcase-thumbnails small{font-size:12px}.project-scope{margin-top:16px}body[data-page=""] .service-index-section{padding-top:60px}.service-index-intro{display:block;margin-bottom:30px}.service-index-intro h2{font-size:46px}.service-index-intro>p{margin-top:20px;font-size:16px}.service-index-row{grid-template-columns:24px 1fr;gap:12px 16px;padding:25px 0}.service-index-row h3{font-size:31px}.service-index-row p{grid-column:2}.service-index-link{grid-column:2}.service-index-row:hover,.service-index-row:focus-visible{padding-inline:0;background:transparent}}
