/* Scoped to the logo portfolio and identity cases; the shared Studio shell is preserved. */
.identity-restaurant{--identity-ink:#5a302b;--identity-paper:#f4e4ce;--identity-accent:#db9561;--identity-soft:#8c8b63;--identity-support:#8b7669;}
.identity-repair{--identity-ink:#192a36;--identity-paper:#edf0ea;--identity-accent:#ee8b57;--identity-soft:#7ca8ae;--identity-support:#6d8e97;}
.identity-dental{--identity-ink:#34424c;--identity-paper:#f6f2ed;--identity-accent:#c3b6a0;--identity-soft:#9f8471;--identity-support:#697d85;}
.identity-guest{--identity-ink:#324039;--identity-paper:#efe7d8;--identity-accent:#b99764;--identity-soft:#a4a491;--identity-support:#788779;}
.identity-florist{--identity-ink:#3f4b3b;--identity-paper:#f3eee1;--identity-accent:#b97766;--identity-soft:#d4b88b;--identity-support:#8c9d7c;}
.identity-bicycle{--identity-ink:#29363a;--identity-paper:#f3e9da;--identity-accent:#d5683e;--identity-soft:#96afa9;--identity-support:#738b88;}
.identity-learning{--identity-ink:#4c4163;--identity-paper:#f7f0e1;--identity-accent:#d9a84f;--identity-soft:#6ba8a1;--identity-support:#9b8caa;}
.identity-accounting{--identity-ink:#383b42;--identity-paper:#f1efe9;--identity-accent:#aa8a68;--identity-soft:#a4b2ae;--identity-support:#727c7b;}
.identity-index{font:500 .68rem/1.5 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.identity-directory{margin-top:3rem}
.identity-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.3rem 0}
.identity-filters button,.identity-surface button{display:flex;align-items:center;gap:1rem;min-height:46px;padding:.7rem 1rem;border:1px solid #80939566;border-radius:2px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.identity-filters button[aria-pressed=true]{background:#e8eedf;color:#152932;border-color:#e8eedf}
.identity-filters button span{font:.7rem monospace;opacity:.75}
.identity-count{font-size:.75rem;color:#b4c3c7}
.identity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 1.6rem}
.identity-grid .identity-card{border:0;border-radius:0;background:transparent;overflow:visible}
.identity-card[hidden]{display:none}
.identity-card-art{position:relative;display:block;overflow:hidden;background:var(--identity-paper)}
.identity-card-art img{display:block;width:100%;height:auto;transition:transform .4s}
.identity-card a:hover .identity-card-art img{transform:scale(1.035)}
.identity-card-number{position:absolute;left:1rem;bottom:.8rem;color:var(--identity-paper);background:var(--identity-ink);padding:.4rem .55rem;font:500 .6rem monospace;letter-spacing:.07em}
.identity-repair .identity-card-number,.identity-bicycle .identity-card-number{color:var(--identity-paper)}
.identity-card-copy{display:grid;gap:.6rem;padding:1.3rem 0 .5rem}
.identity-category{font:600 .65rem/1.5 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.identity-card-copy>strong{font:400 clamp(1.5rem,2.5vw,2.3rem)/1.15 Georgia,serif}
.identity-card-copy>span:not(.identity-category){color:#becacf;font-size:.92rem}
.identity-case{background:var(--identity-paper);color:var(--identity-ink);--mark-accent:var(--identity-accent);--mark-ground:var(--identity-paper);--mark-third:var(--identity-support)}
.identity-case p{line-height:1.65}
.identity-case a{color:inherit}
.identity-case figure{margin:0;min-width:0}
.identity-case img{display:block;width:100%;height:auto}
.identity-breadcrumb{display:flex;justify-content:space-between;gap:1.5rem;padding-block:1.25rem;font-size:.72rem;border-bottom:1px solid color-mix(in srgb,var(--identity-ink) 22%,transparent)}
.identity-breadcrumb a{text-decoration:none}
/* Material applications lead each case; the full compositions remain uncropped. */
.identity-hero{padding:clamp(1.4rem,3vw,3rem) 0 clamp(2rem,4vw,4rem)}
.identity-hero-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}
.identity-case h1{font:400 clamp(2.4rem,4.3vw,4.8rem)/1.05 Georgia,serif;letter-spacing:-.045em;margin:.6rem 0 0;overflow-wrap:anywhere}
.identity-hero-direction{font:400 1.2rem/1.35 Georgia,serif;max-width:24ch;margin:0 0 .3rem}
.identity-hero-direction>span{display:block;font:600 .62rem/1.5 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}
.identity-hero-media{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1rem,2vw,2rem);align-items:start}
.identity-hero-media .identity-application:first-child{grid-column:auto}
.identity-hero-media .identity-application:last-child{margin-top:clamp(2rem,4vw,4rem)}
.identity-hero-media .identity-application img{aspect-ratio:3/2;max-height:none;object-fit:contain}
.identity-hero-media .identity-application button{box-shadow:0 22px 65px -40px var(--identity-ink)}
.identity-hero-summary{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:clamp(2.5rem,5vw,5rem);padding-top:2rem;border-top:1px solid color-mix(in srgb,var(--identity-ink) 23%,transparent)}
.identity-thesis{font:400 clamp(1.2rem,1.7vw,1.65rem)/1.3 Georgia,serif;max-width:30ch;margin:0}
.identity-hero-summary>div>p{font-size:.9rem;max-width:58ch;margin:0}
.identity-fiction{display:block;margin-top:1rem;font-size:.65rem;letter-spacing:.05em}
.identity-repair .identity-hero,.identity-bicycle .identity-hero{background:var(--identity-ink);color:var(--identity-paper)}
.identity-repair h1,.identity-bicycle h1{font-family:Arial,sans-serif;font-weight:700;letter-spacing:-.06em}
.identity-hero :is(a,button):focus-visible{outline-color:currentColor}
.identity-section{padding:clamp(3.2rem,7vw,6rem) 0;border-top:1px solid color-mix(in srgb,var(--identity-ink) 23%,transparent);scroll-margin-top:6rem}
.identity-section-head{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:2.3rem;align-items:start}
.identity-case h2{font:400 clamp(1.7rem,3vw,3rem)/1.12 Georgia,serif;letter-spacing:-.035em;max-width:24ch;margin:0}
.identity-direction-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:start}
.identity-direction-options,.identity-variants{border:0;padding:0;margin:0;min-width:0}
.identity-direction-options legend,.identity-variants legend{font-size:.72rem;margin-bottom:1rem;opacity:.8}
.identity-direction-option{position:relative;display:grid;grid-template-columns:22px 1fr;column-gap:.75rem;padding:1.2rem 0;border-top:1px solid color-mix(in srgb,var(--identity-ink) 30%,transparent);cursor:pointer}
.identity-direction-option input{grid-row:1/5;margin:.2rem 0;width:17px;height:17px;accent-color:var(--identity-ink)}
.identity-direction-option>span:first-of-type{font-size:.63rem;letter-spacing:.12em;text-transform:uppercase}
.identity-direction-option strong{font:400 1.3rem Georgia,serif;margin:.5rem 0}
.identity-direction-option>span:last-of-type{font-size:.8rem;line-height:1.6}
.identity-direction-option small{font-size:.65rem;font-weight:700;margin-top:.7rem}
.identity-direction-option:has(input:checked){border-top:2px solid var(--identity-ink)}
.identity-choice{font-size:.8rem;border-left:2px solid var(--identity-accent);padding-left:1rem}
.identity-direction-preview{background:color-mix(in srgb,var(--identity-ink) 5%,transparent);padding:1.5rem;position:sticky;top:7rem}
.identity-case figcaption{font-size:.75rem;line-height:1.6;padding-top:1rem}
.identity-explorer{display:grid;grid-template-columns:230px 1fr;gap:2.5rem}
.identity-variants label{display:block;cursor:pointer;position:relative}
.identity-variants input{position:absolute;opacity:0;width:1px;height:1px}
.identity-variants span{display:block;padding:.85rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--identity-ink) 20%,transparent);font-size:.8rem}
.identity-variants input:checked+span{background:var(--identity-ink);color:var(--identity-paper)}
.identity-variants input:focus-visible+span{outline:3px solid var(--identity-ink);outline-offset:3px}
.identity-preview{border:1px solid color-mix(in srgb,var(--identity-ink) 23%,transparent);padding:1.4rem;background:var(--identity-paper)}
.identity-preview[data-tone=dark]{background:var(--identity-ink)}
.identity-preview[data-variant=icon]{display:grid;place-items:center;min-height:340px}.identity-preview[data-variant=icon] img{width:64px;height:64px}
.identity-preview-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.7rem}
.identity-preview-toolbar p{margin:.8rem 0}
.identity-surface{display:flex;gap:.5rem;margin-top:.7rem;flex-wrap:wrap}
.identity-surface button{font-size:.7rem;padding:.5rem .9rem;min-height:42px}
.identity-surface button[aria-pressed=true]{border:2px solid var(--identity-ink);font-weight:700}
.identity-construction-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center}
.identity-original{border:1px solid color-mix(in srgb,var(--identity-ink) 20%,transparent);padding:1rem}
.identity-original figcaption{display:grid;gap:.3rem}
.identity-original img{opacity:.85}
.identity-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.identity-swatch>span{display:block;aspect-ratio:1/1.1;margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--identity-ink) 25%,transparent)}
.swatch-0>span{background:var(--identity-ink)}.swatch-1>span{background:var(--identity-paper)}.swatch-2>span{background:var(--identity-accent)}.swatch-3>span{background:var(--identity-soft)}.swatch-4>span{background:var(--identity-support)}
.identity-swatch strong{display:block;font:.8rem monospace}.identity-swatch small{display:block;font-size:.7rem;margin-top:.35rem}
.identity-system-note{font-size:.75rem;max-width:80ch;opacity:.85;margin:1.5rem 0 2rem}
.identity-type-specimen{display:grid;grid-template-columns:1.7fr 1fr;gap:3rem;padding:3rem 0;border-block:1px solid color-mix(in srgb,var(--identity-ink) 20%,transparent)}
.identity-type-large{font:400 clamp(2.3rem,4vw,4.3rem)/1.05 Georgia,serif;letter-spacing:-.04em;margin:1rem 0 2rem;max-width:17ch}
.identity-type-alphabet{font:400 1.4rem/1.7 Georgia,serif}
.identity-type-mono .identity-type-large,.identity-type-mono .identity-type-alphabet{font-family:'Courier New',monospace}
.identity-type-sans .identity-type-large,.identity-type-sans .identity-type-alphabet{font-family:Arial,sans-serif;font-weight:700}
.identity-type-rounded .identity-type-large,.identity-type-rounded .identity-type-alphabet{font-family:'Trebuchet MS',sans-serif}
.identity-type-italic .identity-type-large,.identity-type-italic .identity-type-alphabet{font-style:italic}
.identity-type-specimen dl{margin:0;padding-top:1rem}.identity-type-specimen dt{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;margin-top:1rem}.identity-type-specimen dd{font-size:.95rem;margin:.35rem 0 0}
.identity-applications{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}
.identity-application:first-child{grid-column:1/-1}
.identity-application button{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;color:inherit}
.identity-application button>span{position:absolute;bottom:1rem;right:1rem;background:var(--identity-paper);width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;color:var(--identity-ink)}
.identity-applications .identity-application:first-child img{max-height:680px}
.identity-application figcaption{max-width:58ch}.identity-application figcaption strong{font-size:1rem;font-weight:500}.identity-application figcaption p{margin:.4rem 0 0}
.identity-motion{display:grid;place-items:center;background:var(--identity-ink);color:var(--identity-paper);--mark-ground:var(--identity-ink);min-height:360px;padding:3rem;overflow:hidden}
.identity-motion svg{width:200px;height:200px;overflow:visible}
.identity-motion-controls{display:flex;align-items:center;gap:1.5rem;margin-top:1rem}.identity-motion-controls button{padding:.8rem 1rem;min-height:44px;border:1px solid var(--identity-ink);background:transparent;color:inherit;cursor:pointer}.identity-motion-controls p{font-size:.72rem}
.is-playing .identity-geometry>g>*{animation:identity-form 1.35s cubic-bezier(.22,.8,.22,1) both;transform-origin:center;transform-box:fill-box}
.is-playing .identity-geometry>g>:nth-child(2){animation-delay:.14s}.is-playing .identity-geometry>g>:nth-child(3){animation-delay:.24s}.is-playing .identity-geometry>g>:nth-child(4){animation-delay:.1s}
.motion-trace.is-playing path,.motion-ledger.is-playing path,.motion-portal.is-playing path{stroke-dasharray:650;animation:identity-trace 1.35s ease both}
.motion-drive.is-playing circle{animation:identity-wheel 1.3s ease both;transform-origin:center;transform-box:fill-box}
.motion-bloom.is-playing path,.motion-unfold.is-playing path,.motion-pages.is-playing path{animation:identity-unfold 1.2s ease both;transform-origin:50% 100%;transform-box:fill-box}
@keyframes identity-form{from{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes identity-trace{from{stroke-dashoffset:650;opacity:.15}to{stroke-dashoffset:0;opacity:1}}
@keyframes identity-wheel{from{transform:translateX(-30px) rotate(-100deg);opacity:0}to{transform:translateX(0) rotate(0);opacity:1}}
@keyframes identity-unfold{from{transform:scaleX(.15) rotate(-15deg);opacity:0}to{transform:scaleX(1) rotate(0);opacity:1}}
.identity-closing>p{max-width:70ch;font-size:.95rem}.identity-closing>div:last-child{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:2rem}.identity-closing .button{background:var(--identity-ink);color:var(--identity-paper);border-color:var(--identity-ink)}.identity-back{font-size:.8rem}
.identity-lightbox{max-width:min(1100px,94vw);width:94vw;max-height:92vh;padding:1rem;background:var(--identity-paper);color:var(--identity-ink);border:1px solid var(--identity-ink)}
.identity-lightbox::backdrop{background:#071117df}.identity-lightbox>button{display:block;margin:0 0 1rem auto;min-height:44px;padding:.5rem 1rem;background:var(--identity-ink);color:var(--identity-paper);border:0;cursor:pointer}.identity-lightbox img{width:100%;height:auto;max-height:73vh;object-fit:contain}.identity-lightbox p{font-size:.7rem;margin:.6rem}.identity-modal-open{overflow:hidden}
.identity-case :is(a,button,input):focus-visible{outline:3px solid var(--identity-ink);outline-offset:5px}
@media(min-width:1600px){.identity-case .shell{max-width:1440px}}
@media(max-width:900px){.identity-direction-layout{gap:1.5rem;grid-template-columns:1fr 1fr}.identity-explorer{grid-template-columns:170px 1fr;gap:1rem}.identity-construction-layout{gap:1.5rem}.identity-section-head{grid-template-columns:1fr 2fr}}
@media(max-width:700px){.identity-hero-heading{display:block;margin-bottom:1.5rem}.identity-case h1{font-size:2.4rem}.identity-hero-direction{margin-top:1rem;max-width:none;font-size:1rem}.identity-hero-media{grid-template-columns:1fr;gap:2rem}.identity-hero-media .identity-application:last-child{margin-top:0}.identity-hero-summary{grid-template-columns:1fr;gap:1rem;margin-top:2.5rem}}
@media(max-width:650px){.identity-grid{grid-template-columns:1fr;gap:2.2rem}.identity-breadcrumb{font-size:.65rem}.identity-breadcrumb>span{display:none}.identity-section-head{grid-template-columns:1fr;gap:.8rem;margin-bottom:1.5rem}.identity-direction-layout,.identity-construction-layout,.identity-type-specimen{grid-template-columns:1fr;gap:1.5rem}.identity-direction-preview{position:static;padding:.7rem}.identity-explorer{display:flex;flex-direction:column}.identity-variants{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}.identity-variants legend{margin-bottom:.7rem}.identity-variants span{font-size:.7rem;padding:.8rem .6rem;height:100%;border:1px solid color-mix(in srgb,var(--identity-ink) 20%,transparent)}.identity-preview{padding:.5rem}.identity-preview-toolbar{flex-wrap:wrap;gap:.1rem}.identity-palette{grid-template-columns:repeat(3,1fr);gap:1rem .6rem}.identity-swatch>span{aspect-ratio:1}.identity-swatch strong{font-size:.7rem}.identity-swatch small{font-size:.65rem}.identity-type-specimen{padding:2rem 0}.identity-applications{grid-template-columns:1fr;gap:2rem}.identity-application:first-child{grid-column:auto}.identity-motion{min-height:280px;padding:2rem}.identity-motion-controls{flex-direction:column;align-items:flex-start;gap:.5rem}.identity-motion-controls p{margin:.3rem 0}.identity-filters button{font-size:.75rem;gap:.6rem;padding:.6rem .75rem}.identity-type-large{font-size:2.8rem}.identity-section{padding:3rem 0}}
@media(prefers-reduced-motion:reduce){.identity-card-art img{transition:none}.identity-case .identity-geometry>g>*{animation:none!important;transform:none!important;stroke-dashoffset:0!important}}

/* Approved B: outlined wordmark proof and direct transparent-master download. */
.identity-type-proof{aspect-ratio:4/1;object-fit:cover;margin:1rem 0 2rem}.identity-preview-toolbar{flex-wrap:wrap}.identity-master-link{font-weight:600}.identity-application img{aspect-ratio:3/2;object-fit:cover}.identity-motion .identity-geometry defs{animation:none}.identity-type-alphabet{font-family:Arial,sans-serif}

/* Keep every portfolio preview in the same landscape frame. */
.identity-card-art { aspect-ratio: 3 / 2; }
.identity-card-art img { height: 100%; object-fit: cover; }
.identity-florist .identity-hero-media { grid-template-columns: minmax(0, 1fr); max-width: 1000px; margin-inline: auto; }
.identity-florist .identity-hero-media .identity-application:last-child { margin-top: 0; }
