/* v116: normalized devices, original photographs, and readable case studies. */
.cover-art.cover-tgc.mockup-surface{container-type:size;overflow:hidden;padding:0;background:#eee5d9}
.cover-tgc .tgc-device-row{width:100%;height:100%;padding:0;gap:7%;align-items:center;justify-content:center}
.cover-tgc .supplied-device{display:block;position:relative;flex:none;height:83%;aspect-ratio:982/1898;max-width:42%;overflow:visible}
.cover-tgc .mockup-stage .supplied-device>img{position:absolute;display:block;left:-9.37%;top:-5.005%;width:115.17%;height:107.9%;max-width:none;max-height:none;object-fit:fill;padding:0;margin:0;border:0;transform:none;scale:1;filter:none;background:none;box-shadow:none}
.cover-tgc .mockup-stage>.device-shell{height:76%;padding:3px;box-sizing:border-box;aspect-ratio:982/1898;max-width:42%;border-radius:19px}
.cover-tgc .device-screen{width:100%;height:100%;aspect-ratio:auto;border-radius:15px}
.cover-tgc .reel-device .device-screen>img{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain}
.menu-entry[data-preview=tgc]::before{background-size:auto 86%;background-position:center;background-repeat:no-repeat}

/* Screenshots use their actual 1290:2796 ratio; no duplicated status overlays. */
.personal-social-card .social-card-images.mockup-surface{height:360px;overflow:visible}
.personal-social-card .mockup-stage{padding:9px 0}
.personal-social-card .account-device{height:auto;width:calc(100% - 8px);max-width:166px;padding:4px;border-radius:27px;box-sizing:border-box;background:linear-gradient(120deg,#a5a19c,#252525 24%,#101010 70%,#77736e);box-shadow:0 10px 25px #21170f40}
.personal-social-card .account-screen{width:100%;height:auto;aspect-ratio:1290/2796;border-radius:22px;background:#fff}
.personal-social-card .account-screen>img{display:block;width:100%;height:auto;max-width:none;object-fit:contain;transform:none;scale:1;border:0;padding:0}
.social-card-content p{line-height:2;max-width:27em}
.personal-photo>img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;transform:none;scale:1}
.about-postcards .personal-photo{aspect-ratio:4/5}
.about-postcards{height:440px}
.about-postcards figure:nth-child(3){top:43%;width:37%}
.everyday-panel>.personal-photo{height:240px}
.hero-paper-main img{aspect-ratio:1.1;object-position:center 65%}
.hero-paper-small img{object-position:50% 52%}
.hero-note>p{max-width:35em;line-height:2.05}
.hero-jp{line-height:1.85}
.about-intro-copy>p:not(.about-tagline){font-size:14px;line-height:2.05;margin-top:18px}
.about-tagline{line-height:1.85}
.project-overview-copy h2{font-size:clamp(19px,1.65vw,24px);line-height:1.8;max-width:23em}
.project-summary,.project-note p{font-size:14px;line-height:2.1;letter-spacing:.025em;overflow-wrap:anywhere}
.project-summary{max-width:38em}
.compact-notes{gap:38px;padding-block:32px 42px}
.compact-notes.tgc-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 60px}
.project-note h2{font-size:16px;line-height:1.85}
.project-note p{margin-top:13px;max-width:42em}
.approach-section{padding-block:35px 65px}
.approach-section .section-heading{margin-bottom:28px}
.approach-section h2{font-size:26px}
.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.approach-number{display:block;font-size:12px;color:var(--muted);margin-bottom:17px}
.approach-grid h3{font-size:17px;line-height:1.8;margin:0 0 15px;font-weight:500}
.approach-grid p{font-size:14px;line-height:2.1;color:var(--muted);margin:0}
.guitar-note{grid-column:1/-1;font-size:13px;line-height:2;color:var(--muted);max-width:65em;margin-top:28px}
.about-fact p,.everyday-panel p{font-size:14px;line-height:2.05}
.page-heading>p{max-width:58em;line-height:2;font-size:14px}
.section-intro p,.about-copy p{font-size:14px;line-height:2.05}
@media(max-width:1100px) and (min-width:761px){
 .about-postcards{height:360px}
 .approach-grid{gap:26px}
 .personal-social-card .social-card-images.mockup-surface{height:315px}
 .cover-tgc .mockup-stage>.device-shell{border-radius:15px}
 .cover-tgc .device-screen{border-radius:11px}
}
@media(max-width:760px){
 .cover-tgc .mockup-stage>.device-shell{border-radius:17px}
 .cover-tgc .device-screen{border-radius:13px}
 .personal-social-card .social-card-images.mockup-surface{height:auto;aspect-ratio:1290/3100}
 .personal-social-card .mockup-stage{padding:5px 0}
 .personal-social-card .account-device{border-radius:25px}
 .personal-social-card .account-screen{border-radius:20px}
 .about-postcards{height:340px;max-width:430px;margin:30px auto 10px}
 .about-postcards figure:nth-child(3){top:38%}
 .about-intro-copy>p:not(.about-tagline),.project-summary,.project-note p,.about-fact p,.everyday-panel p,.section-intro p,.about-copy p{font-size:13px;line-height:2.05}
 .compact-notes,.compact-notes.tgc-notes{grid-template-columns:1fr;gap:0;padding-block:18px 30px}
 .project-note{padding-block:17px}
 .project-note h2{font-size:15px}
 .project-note p{padding-bottom:3px}
 .approach-section{padding-block:25px 42px}
 .approach-section h2{font-size:22px}
 .approach-grid{grid-template-columns:1fr;gap:28px}
 .approach-number{margin-bottom:9px}
 .approach-grid h3{font-size:16px;margin-bottom:10px}
 .approach-grid p{font-size:13px}
 .everyday-panel>.personal-photo{height:195px}
 .guitar-note{font-size:12px;margin-top:25px}
 .page-heading>p{font-size:13px}
}
@media(max-width:380px){
 .about-postcards{height:285px}
 .personal-social-card .social-card-images.mockup-surface{height:auto}
 .everyday-panel>.personal-photo{height:165px}
}

/* Equal physical frames for the account screenshot and reel preview. */
.cover-tgc .tgc-device-row{gap:7%;padding:0;align-items:center}
.cover-tgc .mockup-stage>.device-shell{height:83%;aspect-ratio:9/19.5;width:auto;max-width:42%;padding:4px;border-radius:20px;flex:none;box-sizing:border-box;transform:none}
.cover-tgc .device-screen{width:100%;height:100%;aspect-ratio:auto;border-radius:16px;position:relative;overflow:hidden}
.cover-tgc .account-preview .device-screen>img{position:absolute;width:130.75%;height:119.1%;max-width:none;left:-17.34%;top:-9.88%;object-fit:fill;transform:none}
.cover-tgc .reel-device .device-screen>img{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain}
.cover-meltone.mockup-surface{background:#e9ded0;overflow:hidden}
.cover-meltone .mockup-stage{padding:0;position:relative;width:100%;height:100%}
.cover-meltone .mockup-stage>img{position:absolute;width:125%;height:125%;max-width:none;max-height:none;left:-37%;top:-12.5%;object-fit:cover;object-position:center;transform:none}
.cover-cume.mockup-surface{background:#f4b8d3 url('assets/mockups/cume-sparkle.webp') center/cover}
.editing-preview{display:flex;align-items:center;justify-content:center;height:270px;background:#eee5d9;overflow:hidden;border-radius:3px}
.editing-phone{display:block;width:116px;padding:4px;border-radius:21px;background:#292725;box-shadow:0 9px 20px #35271d30}
.editing-phone img{display:block;width:100%;height:auto;border-radius:17px}
@media(max-width:760px){.editing-preview{height:245px}.editing-phone{width:104px}.cover-tgc .mockup-stage>.device-shell{border-radius:17px}.cover-tgc .device-screen{border-radius:13px}.everyday-tabs button{white-space:nowrap}}

.cover-art.cover-cume.mockup-surface,.work-preview .cover-art.cover-cume.mockup-surface,.project-overview-art .cover-art.cover-cume.mockup-surface{background:#f4b8d3 url('assets/mockups/cume-sparkle.webp') center/cover}
.cover-art.cover-meltone .mockup-stage>img,.work-preview .cover-art.cover-meltone .mockup-stage>img{position:absolute;width:125%;height:125%;max-width:none;max-height:none;left:-37%;top:-12.5%;object-fit:cover;object-position:center;transform:none;mask-image:linear-gradient(to right,#000 75%,transparent 100%)}
.cover-art.cover-meltone .mockup-stage{background:url('assets/mockups/meltone-supplied.png') center/cover}
.menu-entry[data-preview=cume]::before{background-image:url('assets/mockups/cume-supplied.png'),url('assets/mockups/cume-sparkle.webp');background-size:contain,cover;background-position:center;background-repeat:no-repeat}
.menu-entry[data-preview=meltone]::before{background-size:125%;background-position:100% center}
.cover-art.cover-meltone .mockup-stage{background:#e9ded0}.cover-art.cover-meltone .mockup-stage>img,.work-preview .cover-art.cover-meltone .mockup-stage>img{mask-image:linear-gradient(to right,#000 90%,transparent 100%)}

/* v118: the two supplied screenshots share one identical frame and full screen. */
.cover-art.cover-tgc .tgc-device-row{display:flex;justify-content:center;align-items:center;gap:7%;padding:0;width:100%;height:100%}
.cover-art.cover-tgc .mockup-stage>.device-shell.tgc-phone{height:83%;width:auto;aspect-ratio:1290/2796;max-width:42%;box-sizing:border-box;padding:4px;border:1px solid #7a7772;border-radius:20px;transform:none;flex:none}
.cover-art.cover-tgc .tgc-phone>.device-screen{display:block;position:relative;width:100%;height:100%;aspect-ratio:auto;border-radius:15px;overflow:hidden;background:#fff}
.cover-art.cover-tgc .tgc-phone>.device-screen>img{display:block;position:static;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:fill;object-position:center;margin:0;padding:0;transform:none;scale:1;aspect-ratio:auto}
.cover-art.cover-tgc .tgc-phone>.device-island{top:3%;height:2.4%;left:34%;width:32%}
.editing-preview{background:none;border:0;box-shadow:none;border-radius:0}
.editing-phone{box-shadow:none}
@media(max-width:760px){.cover-art.cover-tgc .mockup-stage>.device-shell.tgc-phone{padding:3px;border-radius:17px}.cover-art.cover-tgc .tgc-phone>.device-screen{border-radius:13px}}
.menu-entry[data-preview=tgc]::before{background-image:url('assets/mockups/tgc-profile-20261004.webp'),url('assets/mockups/tgc-reel-20261004.webp');background-size:auto 86%,auto 86%;background-position:26% center,74% center;background-repeat:no-repeat;background-color:#eee5d9}
.menu-entry[data-preview=tgc]::before{background-image:url('assets/mockups/tgc-profile-20261004.webp'),url('assets/mockups/tgc-reel-20261004.webp');background-size:auto 86%,auto 86%;background-position:26% center,74% center;background-repeat:no-repeat;background-color:#eee5d9}

/* Four hobbies stay together, including guitar. */
.everyday-tabs{flex-wrap:wrap;row-gap:10px}
.everyday-panel>.guitar-photo{height:260px}
.guitar-photo>img{object-position:50% 90%}
@media(max-width:760px){.everyday-panel>.guitar-photo{height:230px}.everyday-tabs{gap:8px}.everyday-tabs button{padding-inline:14px}}
