/* Alternative: poster composition, centered display, three-part visual rhythm. */
[data-theme="dark"] { --bg:#080b09;--surface:#151a16;--dark:#edf1ec;--gray:#a3aea4;--accent:#c2f45b;--border:#2b342d; }
#navbar { left:3%;right:3%;top:18px;width:auto;padding:14px 24px;border:1px solid var(--border);border-radius:100px;background:var(--bg); }
.logo::after { display:none; }
#navbar .nav-cta { border-radius:100px; }
.tool-btn { border-radius:100%; }
.poster-hero.hero { display:block;max-width:1600px;padding:138px 4% 0;text-align:center;margin:auto;min-height:0; }
.poster-topline { display:flex;justify-content:space-between;gap:24px;font-size:.56rem;letter-spacing:.1em;color:var(--gray); }
.poster-topline>span:last-child::before { content:'●';color:var(--accent);margin-right:8px; }
.poster-hero h1 { display:block;max-width:none;margin:38px auto 22px;font-family:'Manrope',Arial,sans-serif;font-size:clamp(4rem,8.7vw,9rem);line-height:.95;letter-spacing:-.07em;font-weight:800; }
.poster-hero h1>span { display:block; }
.poster-hero h1 em { display:block;font:inherit;font-style:normal;color:var(--accent);font-weight:800;line-height:1.02;letter-spacing:inherit; }
.poster-subline { max-width:730px;margin:26px auto 36px;display:flex;align-items:center;justify-content:center;gap:30px; }
.poster-subline>span { color:var(--accent);font-size:2.5rem; }
.poster-subline>p { max-width:360px;font-size:.78rem !important;line-height:1.7 !important;text-align:left;margin:0;color:var(--gray); }
.poster-contact { font-size:.73rem;color:var(--dark);text-decoration:none;white-space:nowrap;border-bottom:1px solid var(--border);padding:12px 0; }
.poster-contact:hover { color:var(--accent); }
.poster-mosaic { display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:20px;align-items:start; }
.poster-tile { display:block;text-decoration:none;color:var(--dark);min-width:0; }
.poster-tile img { display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--surface);filter:saturate(.85);transition:filter .25s; }
.poster-tile:hover img { filter:saturate(1); }
.poster-tile-main img { aspect-ratio:1.45; }
.poster-tile-small { padding-top:70px; }
.poster-tile-last { padding-top:120px; }
.poster-tile>span { display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 0;font-size:.63rem;text-align:left; }
.poster-tile strong { font-size:.78rem;font-weight:500; }
.poster-tile>span>span { color:var(--gray); }
.poster-explore { display:flex;justify-content:center;align-items:center;gap:28px;color:var(--dark);text-decoration:none;font-size:.7rem;padding:26px 0 36px;border-bottom:1px solid var(--border);margin-top:10px; }
.poster-explore>span:last-child { color:var(--accent);font-size:1.3rem; }
.ticker { display:none; }
.carousel-section { padding-top:80px; }
.carousel-header { align-items:center; }
.carousel-header .s-title { font-size:clamp(2.5rem,5vw,4rem);max-width:none;font-weight:700; }
.carousel-track { grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px; }
.carousel-card:nth-child(even) { margin-top:0; }
.carousel-card .card-thumb { aspect-ratio:1/1; }
.card-body h3 { font-size:.92rem; }
.card-meta { font-size:.62rem; }
.work-filters { justify-content:flex-start; }
.work-filters button { border-radius:100px;border:1px solid var(--border); }
.work-filters button[aria-pressed="true"] { background:var(--action);color:var(--action-text);border-color:var(--action); }
.services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.about-img { border-radius:100% 100% 0 0; }
.contact-wrap .s-title em { font-family:inherit;font-weight:700;font-style:normal; }
.contact-wrap .s-title { font-weight:700; }
@media(max-width:960px) {
 #navbar { padding:12px 18px; }
 .poster-hero.hero { padding:128px 24px 0; }
 .poster-hero h1 { font-size:10vw; }
 .poster-mosaic { gap:16px; }
 .poster-tile-small { padding-top:40px; }
 .poster-tile-last { padding-top:65px; }
 .poster-tile>span { align-items:start;flex-direction:column;gap:6px; }
 .carousel-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 #navbar { left:12px;right:12px;top:12px;padding:8px 12px; }
 .logo { font-size:1.15rem; }
 .poster-hero.hero { padding:112px 20px 0; }
 .poster-topline { font-size:.48rem;letter-spacing:.03em;line-height:1.6;gap:16px;text-align:left; }
 .poster-topline>span:last-child { text-align:right;max-width:130px; }
 .poster-hero h1 { font-size:12vw;margin:36px auto 24px; }
 .poster-subline { gap:14px;margin-bottom:28px;flex-wrap:wrap; }
 .poster-subline>p { flex:1;font-size:.76rem !important; }
 .poster-subline>span { font-size:1.8rem; }
 .poster-contact { padding-top:6px;margin-left:auto; }
 .poster-mosaic { grid-template-columns:1fr 1fr;gap:20px 14px; }
 .poster-tile-main { grid-column:1/-1;grid-row:1; }
 .poster-tile-main img { aspect-ratio:4/3; }
 .poster-tile-small,.poster-tile-last { padding-top:0; }
 .poster-tile>span { flex-direction:column;align-items:flex-start; }
 .poster-tile strong { font-size:.73rem; }
 .poster-tile>span>span { font-size:.6rem; }
 .carousel-track { grid-template-columns:1fr; }
 .services-grid { grid-template-columns:1fr; }
 .carousel-header .s-title { font-size:2.6rem; }
}
@media(prefers-reduced-motion:reduce) { .poster-tile img { transition:none; } }
.poster-tile img { height:auto; }
/* Professional profile from the supplied CV. No portrait or personal address. */
.profile-section { border-top:1px solid var(--border); }
.profile-grid { display:grid;grid-template-columns:1fr 1fr;gap:9%; }
.profile-intro .s-title { font-size:clamp(2.1rem,3.7vw,3.8rem);line-height:1.08;max-width:13ch;margin-bottom:28px; }
.profile-intro>p { color:var(--gray);font-size:.91rem;line-height:1.85;margin-bottom:18px; }
.profile-grid h3 { font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;margin-bottom:20px; }
.profile-education,.profile-tools { border-top:1px solid var(--border);padding-top:26px;margin-top:30px; }
.profile-education strong { font-size:.9rem;font-weight:600; }
.profile-education p { color:var(--gray);font-size:.84rem;line-height:1.7;margin-top:8px; }
.profile-tools ul { display:flex;flex-wrap:wrap;gap:9px;list-style:none; }
.profile-tools li { font-size:.7rem;line-height:1.5;border:1px solid var(--border);border-radius:4px;padding:9px 12px;color:var(--gray); }
.profile-intro .btn-outline { display:inline-flex;margin-top:30px; }
.profile-experience>h3 { padding-bottom:20px;border-bottom:1px solid var(--border); }
.experience-list { list-style:none; }
.experience-list>li { position:relative;padding:0 0 26px 23px;border-left:1px solid var(--border); }
.experience-list>li::before { content:'';position:absolute;width:7px;height:7px;border-radius:100%;background:var(--accent);left:-4px;top:4px; }
.experience-date { display:block;color:var(--accent);font-size:.64rem;letter-spacing:.05em;margin-bottom:9px; }
.profile-grid h4 { font-size:.95rem;font-weight:600;line-height:1.5;margin-bottom:6px; }
.profile-experience p { color:var(--gray);font-size:.82rem;line-height:1.75; }
.previous-experience { border-top:1px solid var(--border);padding-top:18px; }
.previous-experience summary { cursor:pointer;font-size:.8rem;color:var(--dark);padding:10px 0; }
.previous-entry { margin-top:22px; }
@media(max-width:760px) { .profile-grid { grid-template-columns:1fr;gap:48px; } .profile-intro .s-title { font-size:2.6rem;max-width:15ch; } }
.profile-portrait { width:100%;max-width:430px;margin-bottom:34px;overflow:hidden;border-radius:6px;background:var(--surface); }
.profile-portrait img { width:100%;height:auto;aspect-ratio:4/4;max-height:430px;object-fit:cover;object-position:center 35%;display:block; }
@media(max-width:760px) { .profile-portrait { max-width:100%; } .profile-portrait img { max-height:420px;aspect-ratio:4/4; } }
