:root{--accent:#646a62;--carbon:#151715;--bone:#fff;--blush:#e7ede5;--rose:#7b8b76;--line:#e5e8e3;--muted:#646a62;--mono:'IBM Plex Mono',monospace;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:#fff;color:var(--carbon);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1{font-size:clamp(48px,6vw,82px);font-weight:400;line-height:1.04;letter-spacing:-.065em}h2{font-family:var(--sans);font-size:clamp(30px,3.2vw,44px);font-weight:400;line-height:1.16;letter-spacing:-.045em;margin-bottom:32px}h3{font-size:23px;font-weight:500;line-height:1.25;letter-spacing:-.04em}p{margin:15px 0;color:var(--muted);line-height:1.7}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #54704d;outline-offset:5px}.shell{max-width:1320px;margin:auto;padding:0 58px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;gap:10px;align-items:center;font-size:19px;letter-spacing:-.04em;font-weight:500}.brand-star{font-size:30px;line-height:1}.header nav{display:flex;gap:34px;font-size:13px}.header nav a{padding:10px 0}.header nav a:hover{color:#64725e}.nav-contact{background:var(--accent);color:white;font-size:12px;border-radius:99px;padding:11px 22px;display:flex;gap:25px}.hero-copy{text-align:center;padding:30px 20px 66px;max-width:940px;margin:auto}.hero-copy .eyebrow{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:13px;margin-bottom:26px}.eyebrow{display:block;font:10px var(--mono);letter-spacing:.07em;margin-bottom:22px;color:var(--muted)}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#798d6b;margin-right:8px}.hero-copy p{font-size:17px;line-height:1.6;margin-top:24px;color:#454b44}.actions{display:flex;gap:10px;justify-content:center;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 25px;border:1px solid #b6bcb3;border-radius:99px;font-family:var(--sans);font-size:12px;font-weight:500;line-height:1.3;background:transparent;transition:transform .2s,background .2s}.button:hover,.nav-contact:hover{transform:translateY(-2px)}.button.dark{background:var(--accent);color:#fff;border-color:var(--accent)}.button.outline{background:white;color:var(--carbon)}.nature-banner{height:400px;position:relative;overflow:hidden;border-radius:24px;background:#687d5d}.nature-banner>img{object-position:center 55%;filter:brightness(.8)}.nature-tag{position:absolute;top:28px;left:32px;color:#fff;font-size:13px}.nature-note{position:absolute;bottom:32px;left:32px;color:white}.nature-note>span{font:9px var(--mono);letter-spacing:.06em}.nature-note p{color:white;font-size:32px;line-height:1.2;letter-spacing:-.04em;margin:12px 0 0}.brand-strip{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:36px 8px;border-bottom:1px solid #eff0ed}.brand-strip>span{font:9px var(--mono);letter-spacing:.05em;color:#72776f}.brand-strip b{font-size:26px;font-weight:600;letter-spacing:-.07em}.brand-strip .familidoo-name{color:#a52635;font-style:italic}section:not(.hero):not(.project-intro){margin-top:132px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-top h2{margin-bottom:0}.filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;padding-bottom:5px}.filter{font:11px var(--sans);border:1px solid #e0e4dd;background:white;color:#52594e;padding:9px 13px;border-radius:99px;transition:background .2s}.filter.active{background:var(--accent);color:white;border-color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 30px}.project-card{display:block;min-width:0}.card-image{height:330px;border-radius:20px;overflow:hidden;background:#f3f5f0}.card-image>img{transition:transform .6s}.project-card:hover .card-image>img{transform:scale(1.035)}.card-caption{padding:23px 2px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.card-caption h3{font-size:23px}.card-caption p{font-size:14px;margin:7px 0 0;max-width:390px}.card-caption>span{display:flex;align-items:center;justify-content:center;border:1px solid #dfe3db;border-radius:50%;width:35px;height:35px;flex-shrink:0;font-size:18px;transition:background .2s}.project-card:hover .card-caption>span{background:#eef2e9}.project-card[hidden]{display:none}.image-note{font-size:10px;color:#70766b;text-align:right;margin:24px 0 0}.experience-heading{margin-bottom:42px}.experience-row{display:grid;grid-template-columns:140px 1fr auto 20px;gap:25px;align-items:center;padding:34px 0;border-top:1px solid var(--line)}.experience-row:last-child{border-bottom:1px solid var(--line)}.experience-row h3{font-size:20px}.experience-row p{font-size:13px;margin:7px 0 0}.experience-row:hover h3{text-decoration:underline;text-underline-offset:5px}.company-mark{font-size:26px;font-weight:600;letter-spacing:-.07em}.experience-row:nth-child(2) .company-mark{color:#a52635;font-style:italic}.period{font-size:11px;color:#6e7569}.about-strip{text-align:center;max-width:1020px;margin-left:auto;margin-right:auto;padding:45px 20px 25px}.about-strip h2{font-size:clamp(32px,4vw,51px);line-height:1.3;margin:28px 0}.about-strip h2 span{color:#7a8475}.about-strip p{font-size:15px;margin-bottom:30px}.about-strip>.eyebrow{display:inline-block;background:#f3f5f0;padding:7px 10px;border-radius:4px}.small{font-size:12px}.mono,.metadata,.breadcrumb,.tags{font-family:var(--mono)}.text-link{display:inline-block;border-bottom:1px solid #b7bfb0;padding-bottom:3px;font-size:13px}footer{margin-top:135px;border-top:1px solid var(--line);padding:80px 0 55px;display:flex;align-items:center;justify-content:space-between;gap:40px}footer h2{font-size:42px;line-height:1.15;margin-bottom:20px}footer p{font-size:14px}.contact-actions{display:flex;gap:10px;flex-shrink:0}.bottom{display:flex;justify-content:space-between;gap:20px;padding:22px 0 35px;border-top:1px solid #eef0eb;font-size:10px;color:#6e7569}.project-intro{text-align:center;padding:30px 50px 45px;max-width:1120px;margin:auto}.breadcrumb{display:inline-block;font-size:10px;color:#65705e;margin-bottom:30px}.project-intro .tags{justify-content:center;margin-bottom:30px}.tags{display:flex;gap:8px;flex-wrap:wrap;font-size:10px}.tags>span{display:inline-block;background:#f3f5f0;border-radius:99px;padding:7px 13px;color:#4d5947}.project-intro h1{font-size:clamp(45px,6vw,80px)}.lead{font-size:19px;margin-top:20px}.metadata{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;text-align:left;border-top:1px solid var(--line);padding-top:30px;margin-top:50px;font-size:10px}.metadata span{color:#727c6b;font-size:9px;letter-spacing:.04em}.metadata p{font:13px var(--sans);line-height:1.6;margin:9px 0 0;color:#333c2e}.project-cover{height:480px;border-radius:24px;overflow:hidden;margin-top:20px}.project-cover .art{padding:60px}.challenge{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;align-items:center}.challenge p{font-size:17px;max-width:550px}.white-card{padding:32px;background:#f5f7f2;border:1px solid #eef1e9;border-radius:16px}.white-card p{font-size:15px;margin-bottom:0}.white-card h3{font-size:23px}.white-card .eyebrow{margin-bottom:14px}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.step{display:block;font:11px var(--mono);color:#77816e;margin-bottom:30px}.section-desc{max-width:650px;margin-bottom:32px;font-size:15px}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.evidence{border:1px solid #e5e9e0;border-radius:20px;overflow:hidden;background:#fff}.evidence summary{cursor:pointer;list-style:none;padding:22px}.evidence summary::-webkit-details-marker{display:none}.evidence-icon{display:flex;align-items:center;justify-content:center;border-radius:12px;height:175px;background:#e9eee3;color:#6c805c;font-size:45px;margin-bottom:25px}.evidence:nth-child(2) .evidence-icon{background:#eef0f3;color:#687589}.evidence h3{font-size:22px;margin-bottom:18px}.evidence .small{display:flex;justify-content:space-between;font-size:9px;color:#748169}.evidence p{padding:0 24px 24px;font-size:14px}.evidence[open] summary b{transform:rotate(45deg)}.metric{background:#f7f8f5;border:0;border-radius:4px}.metric strong{font-size:62px;font-weight:400;letter-spacing:-.07em;line-height:1.2}.metric p{font-size:13px}.learning{margin-top:32px;background:white;padding:24px 0;border:0;max-width:780px}.tools{display:flex;align-items:center;justify-content:space-between;gap:30px}.tools h2{margin-bottom:0;font-size:30px}.next-project{display:flex;justify-content:space-between;align-items:center;margin-top:115px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 0}.next-project h3{font-size:40px;font-weight:400}.next-project>span{font-size:40px}.next-project .eyebrow{margin-bottom:15px}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.about-layout p{margin-bottom:24px}.about-tall{height:480px;border-radius:20px;overflow:hidden}
.art{padding:60px}.challenge{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}.challenge p{max-width:650px}.white-card{background:#fff;border:1px solid var(--line);box-shadow:0 4px 13px #39241608;border-radius:20px;padding:30px}.white-card p{font-size:15px;margin-bottom:0}.white-card .eyebrow{margin-bottom:8px}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.step{font:12px var(--mono);color:#77564b;display:block;margin-bottom:18px}.section-desc{max-width:700px;margin-bottom:24px}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.evidence{background:var(--accent);color:var(--bone);border-radius:20px;overflow:hidden}.evidence summary{list-style:none;cursor:pointer;padding:28px}.evidence summary::-webkit-details-marker{display:none}.evidence-icon{display:block;background:#38312e;color:var(--blush);font-size:48px;text-align:center;padding:28px;margin-bottom:25px;border-radius:12px}.evidence summary h3{margin-bottom:16px}.evidence .small{color:var(--blush);display:flex;justify-content:space-between}.evidence p{color:var(--blush);padding:0 28px 25px}.evidence[open] summary b{transform:rotate(45deg)}.metric{background:var(--accent);border-color:var(--accent);color:var(--bone)}.metric strong{font-size:44px;font-weight:500;letter-spacing:-.05em}.metric p{color:var(--blush)}.learning{margin-top:24px}.tools{display:flex;justify-content:space-between;align-items:center;gap:30px}.tools h2{margin:0}.next-project{display:flex;justify-content:space-between;align-items:center;margin-top:65px;border-radius:24px;background:var(--accent);color:var(--bone);padding:40px}.next-project .eyebrow{color:var(--blush);margin-bottom:12px}.next-project h3{font-size:32px}.next-project>span{font-size:38px;color:var(--blush)}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.about-layout p{margin-bottom:24px}.about-tall{height:450px;border-radius:24px;overflow:hidden}.art{height:100%;width:100%;padding:32px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.family{background:#e8c4b8;color:#652b30}.family strong{font-size:42px;line-height:1.12;letter-spacing:-.06em;font-weight:500;margin:18px 0;z-index:1}.family>span{font:10px var(--mono);letter-spacing:.12em;z-index:1}.family .art-label{font-size:14px;font-weight:500}.orbits{position:absolute;width:240px;height:240px;border:45px solid #f5ede88a;border-radius:50%;right:-65px;bottom:-65px}.dashboard{background:#e6e8e4;color:#273f39;gap:22px}.dash-head{display:flex;justify-content:space-between;font:10px var(--mono);gap:16px}.dash-head i{font-size:8px;font-style:normal}.dash-stats{display:flex;gap:22px}.dash-stats b{font-size:16px;font-weight:500}.dash-stats small{display:block;font-size:9px;font-weight:400;margin-top:6px}.bars{display:flex;height:115px;gap:10px;align-items:flex-end;border-bottom:1px solid #a7b4ab}.bars i{display:block;background:#718c7b;height:var(--h);flex:1;border-radius:4px 4px 0 0}.bars i:nth-child(3n){background:#c48b7a}.dash-foot{font:10px var(--mono)}.web{background:#d7dfe8;color:#203144}.browser-dots{font-size:9px;letter-spacing:3px;border-bottom:1px solid #aab7c7;padding-bottom:12px;margin-bottom:16px}.mini-nav{font:9px var(--mono);display:flex;justify-content:space-between}.web strong{font-size:42px;line-height:1.15;font-weight:500;letter-spacing:-.05em;margin:25px 0}.web>span{font:9px var(--mono)}dialog{border:1px solid var(--line);border-radius:24px;background:var(--bone);color:var(--carbon);padding:40px;width:min(520px,calc(100% - 32px));box-shadow:0 25px 100px #0003}dialog::backdrop{background:#1a1a1a70;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:18px;top:10px;border:0;background:none;font-size:30px}dialog p{margin:20px 0 28px}.skip{position:fixed;top:-80px;left:20px;background:var(--accent);color:white;padding:10px 20px;z-index:20}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Calm, spacious editorial surfaces. */
.art.family{background:#edf1e7;color:#3d5035}.family .orbits{border-color:#d9e5cd}.art.dashboard{background:#eaf0e7}.web{background:#e8edf1}.evidence .mono{font-family:var(--mono)}dialog{background:white;border-color:#e1e7db;border-radius:20px}dialog h2{font-size:28px}.white-card .eyebrow{color:#59674f}
@media(min-width:1450px){.hero-copy{padding-top:30px;padding-bottom:75px}.nature-banner{height:440px}.card-image{height:365px}}
@media(max-width:1050px){.shell{padding:0 35px}.hero-copy{padding-top:30px}.section-top{align-items:flex-start;flex-direction:column;gap:28px}.filters{justify-content:flex-start}.card-image{height:280px}.experience-row{grid-template-columns:115px 1fr 20px}.period{display:none}.challenge,.about-layout{gap:40px}.white-card{padding:25px}.contact-actions{flex-direction:column}.tools{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.shell{padding:0 22px}.header{min-height:104px;height:auto;flex-wrap:wrap;padding:22px 0;gap:20px}.brand{font-size:18px}.brand-star{font-size:25px}.nav-contact{font-size:11px;padding:10px 16px;gap:15px}.header nav{order:3;width:100%;justify-content:center;gap:35px;font-size:12px}.hero-copy{padding:30px 0 40px}.hero-copy .eyebrow{font-size:11px;margin-bottom:24px}h1{font-size:47px;letter-spacing:-.065em}.hero-copy p{font-size:15px;max-width:300px;margin:24px auto 0}.actions{margin-top:28px;gap:8px}.button{font-size:11px;padding:13px 20px;gap:16px}.nature-banner{height:310px;border-radius:18px}.nature-tag{font-size:10px;top:20px;left:20px}.nature-note{left:20px;bottom:25px;right:20px}.nature-note>span{font-size:8px}.nature-note p{font-size:28px}.brand-strip{gap:16px;flex-wrap:wrap;justify-content:center;padding:28px 0}.brand-strip>span:first-child{width:100%;text-align:center}.brand-strip>span:last-child{display:none}.brand-strip b{font-size:23px;margin:0 10px}section:not(.hero):not(.project-intro){margin-top:84px}h2{font-size:31px;margin-bottom:26px;line-height:1.18}.eyebrow{font-size:9px;margin-bottom:16px}.section-top{gap:23px;margin-bottom:30px}.filter{font-size:10px;padding:9px 11px}.project-grid{grid-template-columns:1fr;gap:38px}.card-image{height:265px;border-radius:17px}.card-caption{padding:20px 0 0}.card-caption h3{font-size:22px}.card-caption p{font-size:13px}.card-caption>span{width:30px;height:30px;font-size:17px}.image-note{font-size:9px;text-align:left;line-height:1.6}.experience-row{grid-template-columns:1fr 20px;gap:8px;padding:27px 0}.company-mark{grid-column:1/-1;font-size:23px;margin-bottom:9px}.experience-row h3{font-size:18px}.experience-row p{font-size:12px}.experience-heading{margin-bottom:30px}.about-strip{padding:15px 0}.about-strip h2{font-size:31px;line-height:1.35}.about-strip br{display:none}.about-strip h2 span{display:block;margin-top:12px}.about-strip p{font-size:14px}.about-strip>.eyebrow{font-size:8px}footer{margin-top:80px;padding:50px 0 30px;flex-direction:column;align-items:flex-start;gap:25px}footer h2{font-size:36px}footer p{font-size:13px}.contact-actions{flex-direction:row;gap:9px}.bottom{font-size:9px;padding:22px 0 28px}.project-intro{padding:30px 0 28px}.project-intro h1{font-size:48px}.project-intro .tags{margin-bottom:26px}.breadcrumb{font-size:10px;margin-bottom:24px}.lead{font-size:17px;max-width:330px;margin:22px auto 0}.metadata{grid-template-columns:1fr;gap:23px;padding-top:25px;margin-top:35px}.metadata p{font-size:13px}.project-cover{height:280px;border-radius:18px;margin-top:0}.project-cover .art{padding:25px}.challenge,.three-grid,.evidence-grid,.about-layout{grid-template-columns:1fr;gap:24px}.challenge p{font-size:16px}.white-card{padding:28px}.white-card h3{font-size:22px}.white-card p{font-size:15px}.step{margin-bottom:20px}.metric strong{font-size:55px}.metric p{font-size:13px}.learning{padding:15px 0}.section-desc{font-size:14px}.tools h2{font-size:27px}.next-project{margin-top:70px;padding:32px 0}.next-project h3{font-size:32px}.next-project>span{font-size:30px}.about-tall{height:340px}.about-layout{gap:30px}.small{font-size:11px}.family strong,.web strong{font-size:36px}.art{padding:25px}.dash-head{font-size:9px}.dash-stats{gap:15px}.dash-stats small{font-size:8px}dialog{padding:30px}dialog h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Consistent first-section spacing and desktop content gutters. */
main > section:first-child { margin-top: 0; }
@media (min-width: 1051px) { main { padding-inline: 48px; } }
.button, .nav-contact, .filter { transition: transform 360ms cubic-bezier(.22,1,.36,1), background-color 360ms ease, border-color 360ms ease, color 360ms ease; }
.button > span, .nav-contact > span { display: inline-block; transition: transform 360ms cubic-bezier(.22,1,.36,1); }
@media (hover: hover) { .button:hover > span, .nav-contact:hover > span { transform: translate(2px,-2px); } }
@media (prefers-reduced-motion: reduce) { .button, .nav-contact, .filter, .button > span, .nav-contact > span { transition: none; } }

/* Original company branding, with consistent optical sizing. */
.logo-frame{display:inline-flex;position:relative;align-items:center;justify-content:center;flex:none;width:112px;height:48px;overflow:hidden;vertical-align:middle}
.logo-frame img{display:block;width:100%;height:100%;object-fit:contain}
.logo-tern{width:86px;height:44px}
.logo-familidoo{width:124px;height:44px}
.logo-new-century{width:124px;height:44px;border-radius:7px}
.logo-new-century img{position:absolute;width:140px;height:140px;max-width:none;object-fit:contain}
.project-logos{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.card-caption .project-logos{margin:0 0 18px;gap:18px}
.card-caption .logo-frame{height:36px}
.card-caption .logo-tern{width:72px}
.card-caption .logo-familidoo{width:108px}
.card-caption .logo-new-century{width:108px}
.card-caption .logo-new-century img{width:122px;height:122px}
.project-intro>.project-logos{justify-content:center;margin:0 0 24px}
.company-mark .project-logos{gap:8px;flex-direction:column;align-items:flex-start}
.company-mark .logo-frame{max-width:110px}
.brand-strip>.logo-frame{letter-spacing:normal}
@media(max-width:600px){.brand-strip{gap:22px}.brand-strip>.logo-frame{width:96px}.brand-strip .logo-new-century img{width:108px;height:108px}.brand-strip .logo-new-century{height:34px}.company-mark .project-logos{flex-direction:row;align-items:center;gap:18px}}

/* Cherish logo pack: preserve original artwork and colours. */
.brand-star{display:block;width:32px;height:50px;flex:none;mix-blend-mode:multiply}
.brand-star img{width:100%;height:100%;object-fit:contain}
.nature-tag{display:flex;align-items:center;gap:12px}
.nature-tag .nature-brand{width:24px;height:38px;object-fit:contain;border-radius:4px;filter:none;flex:none}
.footer-brand{display:block;width:36px;height:56px;margin-bottom:25px;mix-blend-mode:multiply}
.footer-brand img{object-fit:contain}
.brand-strip>.logo-tern{width:64px;height:33px}
.brand-strip>.logo-familidoo{width:93px;height:33px}
.brand-strip>.logo-new-century{width:93px;height:33px}
.brand-strip>.logo-new-century img{width:105px;height:105px}
.brand-strip>b{font-size:20px}
@media(max-width:600px){.brand-star{width:26px;height:41px}.brand-strip{gap:20px}.brand-strip>.logo-tern{width:58px;height:30px}.brand-strip>.logo-familidoo,.brand-strip>.logo-new-century{width:80px;height:29px}.brand-strip>.logo-new-century img{width:90px;height:90px}.brand-strip>b{font-size:18px;margin:0}}

.contact-actions{flex-wrap:wrap}


.work-collection{border-top:1px solid var(--line);padding:24px 0}.work-collection summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none}.work-collection summary span{font:11px var(--mono);white-space:nowrap}.work-collection>.eyebrow{margin:25px 0 18px}.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.social-card{min-width:0;border:1px solid var(--line);border-radius:18px;padding:24px;background:#fafbf8}.social-card h4{margin:0;font-size:17px;font-weight:500}.social-card p{font-size:13px}.external-post{display:block;margin-top:18px;text-decoration:underline;text-underline-offset:4px;font-size:13px}.social-card .embed-note{font-size:11px}.instagram-slot{overflow:hidden}.instagram-slot iframe,.instagram-slot blockquote{max-width:100%!important;min-width:0!important;width:100%!important}.original-work h3{margin:42px 0 18px}.creative-carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 20px}.creative-carousel>a{flex:0 0 32%;scroll-snap-align:start}.creative-carousel img,.creative-grid img{height:auto;object-fit:contain;border-radius:14px}.creative-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.creative-grid span{display:block;font-size:12px;margin-top:10px}.about-strip p{max-width:780px;margin-inline:auto}
@media(max-width:600px){.social-grid,.creative-grid{grid-template-columns:1fr}.creative-carousel>a{flex-basis:80%}.work-collection summary h3{font-size:20px}.social-card{padding:16px}}

.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.tern-gallery .work-collection{padding:36px 0}.instagram-slot{min-height:650px;border-radius:12px;background:#f1f3ed;display:grid;place-items:center}.instagram-slot iframe{display:block;border:0;height:700px;background:white}.social-card h4{margin-bottom:18px}.embed-placeholder{font-family:var(--mono);color:#65695f}.tern-campaign>.section-desc{max-width:760px}.tern-campaign .creative-carousel{margin-top:24px}.social-card{align-self:start}
@media(max-width:600px){.instagram-slot{min-height:580px}.instagram-slot iframe{height:650px}.collection-heading h3{font-size:21px}}

/* Compact desktop gallery; retain comfortable tablet and phone layouts. */
.tern-gallery .social-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.tern-gallery .social-card{padding:12px}.tern-gallery .social-card h4{font-size:14px;overflow-wrap:anywhere;min-height:34px;margin-bottom:12px}
.tern-gallery .instagram-slot{position:relative;display:block;min-height:0;height:480px}
.tern-gallery .instagram-slot iframe{transform-origin:top left;max-width:none!important}
.embed-placeholder{padding:24px 8px}
.work-collection summary::-webkit-details-marker{display:none}
.work-collection summary .mono::after{content:' +';margin-left:16px}
.work-collection[open] summary .mono::after{content:' −'}
@media(max-width:1000px){.tern-gallery .social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tern-gallery .social-grid{grid-template-columns:1fr}.tern-gallery .social-card{padding:16px}}

/* Fixed card tracks keep all media, titles and links aligned. */
.tern-gallery .social-card{height:520px;display:grid;grid-template-rows:44px minmax(0,1fr) 24px 44px;gap:12px;align-self:stretch;overflow:hidden}
.tern-gallery .social-card>h4{grid-row:1;margin:0;min-height:0;align-self:center;line-height:1.4}
.tern-gallery .social-card>.instagram-slot{grid-row:2;height:100%;min-height:0;justify-items:start;align-items:start}
.tern-gallery .social-card>.external-post{grid-row:3;margin:0;align-self:center}
.tern-gallery .social-card>.embed-note{grid-row:4;margin:0;line-height:1.5}
.tern-gallery .instagram-slot iframe{position:absolute;left:0;top:0;margin:0;transform-origin:0 0;display:block}
@media(max-width:600px){.tern-gallery .social-card{height:600px}}

.work-collection>.tern-campaign.original-work{margin-top:32px;margin-bottom:40px}.work-collection>.tern-campaign.original-work>h2{font-size:30px}

.skill-navigation{margin:28px 0 36px}.skill-tag{border:1px solid #bbc6b5;border-radius:99px;padding:8px 13px;background:#edf1e9;color:#283324}.skill-tag:hover{background:#dfe8d8}.contribution-copy{max-width:780px;margin:20px 0 28px!important;font-size:15px!important}.skill-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}.skill-metrics strong{font-size:34px;letter-spacing:-.04em;font-weight:500}.skill-metrics p{font-size:13px}.report-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}.report-gallery figure{margin:0;min-width:0}.report-gallery img{height:auto;object-fit:contain;border:1px solid var(--line);border-radius:12px}.report-gallery figcaption,.evidence-context{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px}#skill-meta-ads .report-gallery{grid-template-columns:1fr}@media(max-width:600px){.skill-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-metrics .white-card{padding:18px}.report-gallery{grid-template-columns:1fr}}

#skill-event-marketing .report-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:800px){#skill-event-marketing .report-gallery{grid-template-columns:1fr}}

.card-image>img,.project-cover>img{width:100%;height:100%;object-fit:cover;object-position:center}.card-image,.project-cover{overflow:hidden}

.work-card-role{margin-top:10px;font-size:15px;line-height:1.5;font-weight:500}.work-card-period{margin-top:5px;font:11px/1.6 var(--mono);color:var(--muted)}.card-caption .work-card-skills{margin-top:12px;font:11px/1.7 var(--mono);color:var(--carbon)}

/* Personal photography: a consistent, non-destructive warm display treatment. */
.personal-photo{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;background:#e7e8df;height:100%}
.personal-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(.94) brightness(1.06) sepia(.12)}
.personal-photo.soft-photo img{filter:saturate(.82) contrast(.94) brightness(1.13) sepia(.10)}
.personal-photo.cool-photo img{filter:saturate(.70) contrast(.95) brightness(1.07) sepia(.24)}
.personal-photo:after{content:"";position:absolute;inset:0;background:#ead8b7;opacity:.055;pointer-events:none}
.personal-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.personal-journey figure,.moments-grid figure{margin:0;min-width:0}
.personal-journey .personal-photo{height:360px}
.personal-journey figcaption,.moments-grid figcaption{font:11px/1.6 var(--mono);margin-top:13px;color:var(--muted)}
.journey-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:26px 0 8px}.journey-caption .eyebrow{margin:0}.journey-caption p{margin:0;font-size:18px}
.about-tall.personal-portrait{height:560px}.personal-portrait .personal-photo{border-radius:24px}
.moments-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.moments-grid .personal-photo{height:330px}
.language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.language-grid>div{padding:28px 0;border-top:1px solid var(--line)}.language-grid h3{font-size:clamp(30px,3vw,42px);font-weight:400}.language-grid p{font:15px/1.6 var(--mono);margin:12px 0 0;color:var(--carbon)}
@media(max-width:800px){.personal-journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.personal-journey .personal-photo{height:300px}.moments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.moments-grid .personal-photo{height:320px}.journey-caption{display:block}.journey-caption p{margin-top:9px}.about-tall.personal-portrait{height:500px}}
@media(max-width:480px){.personal-journey .personal-photo{height:220px}.moments-grid{gap:22px 12px}.moments-grid .personal-photo{height:230px}.personal-photo{border-radius:15px}.language-grid{grid-template-columns:1fr}.language-grid h3{font-size:34px}.about-tall.personal-portrait{height:440px}}

/* Skill interactions and supporting links. */
.three-grid .skill-page-card{transition:transform .35s cubic-bezier(.2,.7,.3,1),background-color .35s ease,color .35s ease,border-color .35s ease;transform:scale(1)}
.three-grid .skill-page-card p,.three-grid .skill-page-card h3{transition:color .35s ease}
.three-grid .skill-page-card:hover,.three-grid .skill-page-card:focus-visible{transform:scale(.97);background:var(--accent);border-color:var(--accent);color:#f5ede8}
.three-grid .skill-page-card:hover h3,.three-grid .skill-page-card:hover p,.three-grid .skill-page-card:focus-visible h3,.three-grid .skill-page-card:focus-visible p{color:#f5ede8}
.three-grid .skill-page-card:focus-visible{outline:2px solid #74816d;outline-offset:4px}
.skill-summary>.button{margin-top:28px}
@media(prefers-reduced-motion:reduce){.three-grid .skill-page-card,.three-grid .skill-page-card h3,.three-grid .skill-page-card p{transition:none}.three-grid .skill-page-card:hover,.three-grid .skill-page-card:focus-visible{transform:none}}
/* Homepage v2: editorial cover and compact profile. */
.home-v2{background:var(--bone);color:var(--carbon)}.home-v2 .shell{max-width:1440px}.home-v2 .header{border-bottom:1px solid #dedfd5}.home-v2 section{margin:0}.home-v2 .v2-cover{min-height:660px;height:calc(100svh - 130px);max-height:900px;display:flex;flex-direction:column;justify-content:space-between;padding:45px 0 35px;border-bottom:1px solid #cdd1c3}.v2-cover-top,.v2-cover-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;font:11px/1.6 var(--mono);letter-spacing:.09em}.v2-cover-top>span:first-child{font:400 22px/1.5 var(--sans);letter-spacing:.27em}.home-v2 .v2-cover h1{font-size:clamp(90px,17vw,235px);font-weight:400;line-height:.95;letter-spacing:-.075em;margin:40px 0}.v2-cover h1>span{color:#778264}.v2-cover-bottom a>span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #bfc5b4;border-radius:50%;margin-left:15px;font-size:21px}.home-v2 .v2-profile{padding:100px 0 45px}.v2-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.v2-bio h2{font-size:clamp(60px,7vw,104px);line-height:1;letter-spacing:-.06em;margin:20px 0 32px;font-weight:500}.v2-bio h2 em{font-style:normal;color:#687951}.v2-bio p{font-size:16px;line-height:1.8;max-width:470px;margin:0 0 20px}.v2-bio .text-link{margin-top:10px}.v2-portrait{margin:0}.v2-portrait img{width:100%;height:570px;object-fit:cover;object-position:50% 66%;border-radius:24px}.v2-portrait figcaption{font:10px/1.5 var(--mono);letter-spacing:.1em;margin-top:14px;color:#737b69}.v2-columns{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:100px}.v2-block{margin-bottom:56px;scroll-margin-top:30px}.v2-block>h3{font:500 13px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.12em;border-top:1px solid #cdd1c3;padding-top:22px;margin-bottom:28px}.v2-detail{display:grid;grid-template-columns:90px 1fr;gap:18px;margin-bottom:24px}.v2-detail>span{font:11px/1.7 var(--mono);color:#737b69}.v2-block h4{font-size:17px;line-height:1.5;font-weight:500}.v2-block p{font-size:13px;line-height:1.7;margin:5px 0 0}.v2-tools{display:flex;flex-wrap:wrap;gap:10px}.v2-tools span{border:1px solid #d7dbce;border-radius:8px;padding:12px 16px;font:12px var(--mono)}.v2-languages>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 0}.v2-languages strong{font-size:24px;font-weight:400}.v2-languages span{font:11px/1.5 var(--mono);color:#637052}.v2-skill-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v2-skill-links a{padding:15px;border:1px solid #d7dbce;border-radius:10px;font-size:14px;display:flex;justify-content:space-between;transition:background .3s,color .3s,transform .3s}.v2-skill-links a:hover,.v2-skill-links a:focus-visible{background:var(--accent);color:#faf8f1;transform:scale(.97)}.v2-block .v2-soft{margin-top:22px;color:#737b69}.v2-job{display:block;margin-bottom:22px}.v2-job>span{font:10px var(--mono);color:#737b69}.v2-job h4{margin-top:7px}.v2-job h4 b{float:right;font-weight:400}.v2-job:hover h4{color:#687951}.v2-contact{border-top:1px solid #cdd1c3;padding:30px 0;display:flex;justify-content:space-between;gap:20px;font:13px var(--mono)}.v2-contact>div{display:flex;gap:28px}.v2-bottom{display:flex;justify-content:space-between;padding:20px 0 30px;font:10px var(--mono);color:#737b69}
@media(max-width:800px){.home-v2 .v2-cover{min-height:500px;height:70svh}.v2-cover-top{align-items:flex-start;flex-direction:column}.v2-cover-top>span:first-child{font-size:18px}.v2-cover-bottom>span{max-width:170px}.v2-intro,.v2-columns{gap:40px}.v2-portrait img{height:460px}.v2-detail{grid-template-columns:65px 1fr;gap:12px}.v2-languages>div{display:block}.v2-languages span{display:block;margin-top:4px}}
@media(max-width:600px){.home-v2 .header nav{gap:14px}.home-v2 .v2-cover{min-height:460px;padding-top:30px}.home-v2 .v2-cover h1{font-size:clamp(76px,20vw,120px)}.v2-cover-bottom{font-size:9px;gap:10px}.v2-cover-bottom a>span{width:32px;height:32px;margin-left:4px}.home-v2 .v2-profile{padding-top:60px}.v2-intro,.v2-columns{grid-template-columns:1fr}.v2-bio h2{font-size:70px}.v2-portrait img{height:470px}.v2-columns{margin-top:60px;gap:0}.v2-languages>div{display:flex}.v2-contact{flex-direction:column;font-size:12px}.v2-cover-top{gap:12px}.v2-block{margin-bottom:42px}}
@media(prefers-reduced-motion:reduce){.v2-skill-links a{transition:none}.v2-skill-links a:hover{transform:none}}

/* Reveal homepage navigation after the opening cover. */
.home-v2 .header{position:fixed;top:0;left:0;right:0;z-index:1000;width:100%;margin:0;padding:16px max(24px,calc((100vw - 1280px)/2));min-height:80px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 4px 20px rgba(36,40,32,.04);opacity:0;visibility:hidden;transform:translateY(-100%);pointer-events:none;transition:transform .35s ease,opacity .25s ease,visibility .35s}
.home-v2 .header.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.home-v2 .v2-cover{height:calc(100svh - 30px)}
.home-v2 #skills,.home-v2 #work,.home-v2 #contact{scroll-margin-top:120px}
@media(max-width:600px){.home-v2 .header{padding:12px 20px;min-height:72px;gap:12px;flex-wrap:wrap}.home-v2 .header nav{display:flex;gap:16px}.home-v2 .header .nav-contact{display:none}.home-v2 .header .brand{font-size:14px}.home-v2 .header nav a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.home-v2 .header{transition:none}}

/* Full portfolio galleries follow the v2 profile columns. */
.home-v2 .v2-portfolio-sections{padding-top:20px}.home-v2 .v2-portfolio-sections>section{margin-top:110px;margin-bottom:0}.home-v2 .v2-portfolio-sections .brand-strip{margin-top:0}.home-v2 .v2-portfolio-sections .about-strip{margin:110px auto 70px;padding-top:35px}.home-v2 #experience,.home-v2 #work{scroll-margin-top:120px}.anchor-alias{display:block;position:relative;top:-1px}.home-v2 .v2-portfolio-sections .white-card{background:#fff}.home-v2 .v2-portfolio-sections .skill-page-card:hover,.home-v2 .v2-portfolio-sections .skill-page-card:focus-visible{background:var(--accent)}
@media(max-width:600px){.home-v2 .v2-portfolio-sections>section{margin-top:65px}.home-v2 .v2-portfolio-sections .about-strip{margin-top:70px}.home-v2 .header nav{gap:12px}}
.website-index{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 50px}.website-case{padding:44px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.website-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;margin-bottom:30px}.website-heading>div{max-width:740px}.website-heading h3{font-size:clamp(27px,3.5vw,42px);margin:12px 0 18px;letter-spacing:-.04em}.website-heading p{font-size:15px;line-height:1.8}.website-heading .button{flex-shrink:0;margin-top:30px}.website-case figure{margin:0}.website-feature img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid var(--line)}.website-case figcaption{font:11px/1.7 var(--mono);color:var(--muted);margin:12px 0 20px}.website-details{margin-top:20px;border:1px solid var(--line);border-radius:16px;padding:22px}.website-details summary{cursor:pointer;list-style:none;font:12px/1.6 var(--mono);display:flex;justify-content:space-between;gap:12px}.website-details summary::-webkit-details-marker{display:none}.website-details[open] summary{margin-bottom:26px}.website-details[open] summary span{transform:rotate(45deg)}.website-screenshots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.website-screenshots img{width:100%;height:auto;border:1px solid var(--line);border-radius:10px}.ia-contribution p{max-width:780px}.ia-contribution .tags{margin-top:25px}@media(max-width:650px){.website-heading{display:block}.website-heading .button{margin-top:8px}.website-screenshots{grid-template-columns:1fr}.website-details{padding:16px}.website-case{padding:32px 0}}

/* Recovered portfolio videos: on-demand playback, consistent frames. */
.report-gallery.video-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.video-gallery figure{min-width:0;margin:0}.video-gallery video{display:block;width:100%;height:380px;object-fit:contain;background:var(--accent);border-radius:16px}.video-gallery figcaption{padding:12px 0;line-height:1.6}.report-gallery img{object-fit:contain}@media(max-width:850px){.report-gallery.video-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.report-gallery.video-gallery{grid-template-columns:1fr}.video-gallery video{height:400px}}

/* Shared sage accent with accessible light text. */
.metric p,.next-project p,.next-project .eyebrow,.evidence p,.evidence .small{color:#fff}.three-grid .skill-page-card:hover,.three-grid .skill-page-card:focus-visible,.v2-skill-links a:hover,.v2-skill-links a:focus-visible{color:#fff}.three-grid .skill-page-card:hover p,.three-grid .skill-page-card:focus-visible p{color:#fff}

.ga-certification{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}.ga-certification figure{margin:0;min-width:0}.ga-certification img,.ga-course-grid img{width:100%;height:auto;object-fit:contain;border:1px solid var(--line);border-radius:14px}.ga-certification figcaption{font:11px/1.6 var(--mono);color:var(--muted);margin-top:12px}.credential-facts{display:grid;gap:14px;margin:28px 0}.credential-facts div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:12px}.credential-facts dt{font:11px/1.8 var(--mono);color:var(--muted)}.credential-facts dd{margin:0;font-size:14px}.ga-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.ga-course-grid .white-card{min-width:0}.ga-course-grid img{margin-bottom:26px}.ga-course-grid h3{line-height:1.4}.ga-course-grid .credential-id{font:11px/1.8 var(--mono);margin:18px 0}.ga-course-grid .text-link{margin-top:10px}@media(max-width:800px){.ga-certification{grid-template-columns:1fr;gap:30px}}@media(max-width:600px){.ga-course-grid{grid-template-columns:1fr}}

/* More breathing room around page content. */
main#main{padding-inline:88px}
@media(max-width:1050px){main#main{padding-inline:48px}}
@media(max-width:700px){main#main{padding-inline:26px}}
