/* Combined CSS for Yassine Soufa Portfolio - Generated for performance optimization */
/* Files included: portfolio-polish.css, hub.css, content.css, pro.css, visitor.css, language.css, mobile-responsive.css, account-nav.css */

@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.24s}
:root{--surface:#fff;--ui-ink:#151515;--ui-border:#d8d8d8;color-scheme:light}
:root[data-theme=dark]{--paper:#141516;--ink:#eeeef0;--muted:#b1b3ba;--line:rgba(255,255,255,.2);--blue:#8facff;--surface:#202225;--ui-ink:#f2f2f4;--ui-border:#50535b;color-scheme:dark}
body{transition:background-color .3s ease,color .3s ease}
.site-header,.hero-copy>*,.hero-portrait{animation:none!important}
.reveal{opacity:1;transform:none}
.reveal.is-visible{opacity:1;transform:none}
.pf-tools{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:24px;z-index:800;display:flex;gap:6px;padding:5px;border:1px solid var(--ui-border);background:var(--surface);border-radius:28px;color:var(--ui-ink);box-shadow:0 3px 12px #0001}
.pf-tools button{min-height:40px;border:0;background:transparent;border-radius:22px;padding:7px 12px;font:14px Arial,sans-serif;color:inherit;cursor:pointer}.pf-tools button:hover{background:var(--line)}
#pf-palette{position:fixed;inset:0;margin:auto;width:min(540px,calc(100vw - 32px));height:auto;max-height:75dvh;padding:20px;border:1px solid var(--ui-border);border-radius:16px;background:var(--surface);color:var(--ui-ink);box-shadow:0 16px 50px #0003}
#pf-palette::backdrop{background:#0008;backdrop-filter:blur(5px)}#pf-palette header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}#pf-palette button{color:inherit;background:transparent;border:0;font:inherit;cursor:pointer;min-height:40px}#pf-palette input{font:16px Arial,sans-serif;width:100%;padding:13px;border:1px solid var(--ui-border);border-radius:8px;background:var(--paper);color:var(--ink)}#pf-results{max-height:43dvh;overflow:auto;margin-top:12px;display:grid;gap:4px}#pf-results a{padding:12px;border-radius:7px;font:16px Arial,sans-serif;color:inherit}#pf-results a:hover,#pf-results a:focus{background:var(--paper);outline:2px solid var(--blue);outline-offset:-2px}#pf-palette small{display:block;margin-top:12px;color:var(--muted);font-size:13px}.pf-tools :focus-visible,#pf-palette :focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.pf-image-pending{filter:blur(7px);transition:filter .35s ease}.pf-image-loaded{filter:none;transition:filter .35s ease}
#ys-chat .ys-launch{background:#1748d1;color:#fff;border:1px solid #ffffff40;box-shadow:0 4px 20px #1748d133}.ys-greeting{position:absolute;bottom:64px;right:0;width:260px;background:var(--surface);color:var(--ui-ink);padding:16px;border:1px solid var(--ui-border);border-radius:14px;box-shadow:0 8px 24px #0002;font-size:14px}.ys-greeting button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.ys-greeting .ys-greet-close{position:absolute;right:5px;top:3px;width:30px;height:30px}.ys-greeting .ys-greet-open{text-align:left;padding:6px 15px 0 0;width:100%}.ys-attention{animation:pf-pulse 1s ease 2}.ys-panel:not([hidden]){animation:pf-panel .24s ease both}
@keyframes pf-panel{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pf-pulse{50%{box-shadow:0 0 0 7px #1748d120}}
[data-theme=dark] #ys-chat .ys-panel{background:var(--surface);color:var(--ui-ink);border-color:var(--ui-border)}[data-theme=dark] #ys-chat .ys-message{background:#2c2f34}[data-theme=dark] #ys-chat .ys-visitor{background:#26395d}[data-theme=dark] #ys-chat input,[data-theme=dark] #ys-chat .ys-quick button{background:#25272b;color:#eee;border-color:#555}[data-theme=dark] #ys-chat small,[data-theme=dark] #ys-chat .ys-thinking{color:#b9bdc5}[data-theme=dark] #ys-chat a{color:#acc1ff}[data-theme=dark] #ys-chat .ys-close{color:#eee}[data-theme=dark] #ys-chat header,[data-theme=dark] #ys-chat .ys-form{border-color:#484b51}
@media(max-width:700px){.pf-tools{left:12px;bottom:max(16px,env(safe-area-inset-bottom))}.pf-tools button{padding:7px 9px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body,.pf-image-pending,.pf-image-loaded{transition:none!important}.ys-attention,.ys-panel:not([hidden]){animation:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* Mobile utility controls belong in the page flow, not over the portfolio. */
@media(max-width:700px){
 .pf-tools{position:static;inset:auto;z-index:auto;box-shadow:none;width:max-content;max-width:calc(100% - 40px);margin:16px 20px calc(84px + env(safe-area-inset-bottom));flex-wrap:wrap;border-radius:12px}
 .pf-tools button{min-width:64px;min-height:44px;font-size:14px}
 #pf-palette{width:calc(100% - 32px);max-width:480px;padding:20px;max-height:calc(100dvh - 64px)}
}

/* Explicit section surfaces remain legible in both themes. */
#photography.photography{background:#151516!important;color:#fff!important}
#photography .photography-heading h2,#photography .photography-heading .eyebrow{color:#fff!important}
#photography .photography-heading>p{color:#d1d1d3!important}
#photography .photo-panel{color:#fff;background:#151516}
#photography .photo-kicker,#photography .photo-source{color:#d1d1d3}
.pf-tools{position:relative!important;inset:auto!important;width:max-content;max-width:calc(100% - 32px);margin:24px auto;padding-bottom:calc(5px + env(safe-area-inset-bottom))}
.pf-tools button,#pf-palette button{min-height:44px}
.language-welcome,#pf-palette{max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto}
.video-poster{background:#202225}.video-poster-title{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;padding:10px 14px;background:#151515;color:#fff;font:500 16px/1.4 Arial,sans-serif;text-align:left;border-radius:6px}
.video-poster img[hidden]{display:none!important}

/* BEGIN YASSINE THUMBNAIL CONTRAST FIX */
/* Keep video titles in their existing captions, outside the photographs. */
[data-video] .video-poster-title,[data-video] .video-platform{display:none!important}
/* Bind each media section's text and surface to the same theme. */
:root{--media-surface:#f5f5f2;--media-text:#171719;--media-secondary:#4d4d52}
:root[data-theme="dark"]{--media-surface:#151516;--media-text:#f5f5f7;--media-secondary:#c8c8ce}
html #video,html #photography.photography{background:var(--media-surface)!important;color:var(--media-text)!important}
html #video .video-heading h2,html #video .video-meta h3,html #photography .photography-heading h2{color:var(--media-text)!important;opacity:1!important}
html #video .video-heading .eyebrow,html #video .video-heading>p,html #video .video-meta p,html #photography .photography-heading .eyebrow,html #photography .photography-heading>p{color:var(--media-secondary)!important;opacity:1!important}
html #photography .photo-panel{background:#151516!important;color:#fff!important}
html #photography .photo-panel .photo-kicker,html #photography .photo-panel .photo-source{color:#d1d1d3!important}
html #photography .photo-number,html #photography .photo-control{color:#fff!important}
/* END YASSINE THUMBNAIL CONTRAST FIX */

/* BEGIN trusted logo backgrounds v1 */
/* Animated tracks form stacking contexts: give logo blending a matching local surface. */
.trusted {
  --trusted-surface: #ededeb;
  --trusted-text: #171719;
  --trusted-muted: #505054;
  background: var(--trusted-surface);
  color: var(--trusted-text);
  isolation: isolate;
}
.trusted .trusted-heading h2 { color: var(--trusted-text); }
.trusted .trusted-heading .eyebrow { color: var(--trusted-muted); }
.trusted .logo-grid,
.trusted .logo-card { background: var(--trusted-surface); }
.trusted .logo-card img {
  /* The old inline blur thumbnail otherwise shows outside the contained logo. */
  background: none !important;
  mix-blend-mode: multiply;
  filter: grayscale(1) contrast(1.05);
}
:root[data-theme="dark"] .trusted {
  --trusted-surface: #141516;
  --trusted-text: #eeeef0;
  --trusted-muted: #b1b3ba;
}
:root[data-theme="dark"] .trusted .logo-card img {
  mix-blend-mode: screen;
  filter: grayscale(1) contrast(1.05) invert(1);
}
:root[data-theme="dark"] .trusted .logo-card:not(:last-child)::after {
  background: rgba(255,255,255,.22);
}
/* END trusted logo backgrounds v1 */
.hub-public{max-width:760px;width:calc(100% - 40px);margin:64px auto}.hub-public h1{font-size:clamp(34px,5vw,56px);line-height:1.15}.hub-public form,.hub-project-form{display:grid;gap:18px}.hub-public label,.hub-project-form label,#hub-content form label{display:grid;gap:7px;font-size:16px;margin-bottom:15px}.hub-public input:not([type=checkbox]),.hub-public textarea,.hub-project-form input,.hub-project-form textarea,#hub-content input{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface,#fff);color:var(--ink);font:16px/1.5 inherit}.hub-public input[type=checkbox]{width:20px;height:20px}.hub-public button,.hub-tabs button,#hub-content button,.hub-reactions button{padding:10px 15px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--surface,#fff);color:var(--ink);cursor:pointer;font-size:15px}.hub-tabs{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.hub-tabs a{text-decoration:underline}.hub-row{border-bottom:1px solid var(--line);padding:24px 0;overflow-wrap:anywhere}.hub-row h2{font-size:22px}.hub-row button{margin-right:8px}.hub-row p{white-space:pre-wrap}.hub-privacy{font-size:14px;color:var(--muted);margin-top:25px}.hub-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.hub-reactions{display:flex;align-items:center;justify-content:center;gap:16px;padding:30px}.hub-contributions{display:grid;grid-template-rows:repeat(7,9px);grid-auto-flow:column;grid-auto-columns:9px;gap:3px;overflow:auto;max-width:100%;margin:16px 0}.hub-contributions span{background:var(--blue);border-radius:2px}.hub-now{border-left:3px solid var(--blue);padding-left:14px}#hub-preview iframe{width:100%;height:75vh;border:0}#hub-notice{min-height:24px}#hub-content form{max-width:900px}.hub-project-form textarea{resize:vertical}footer .hub-tabs{font-size:14px}
.studio-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:2rem}.studio-grid aside{max-height:70vh;overflow:auto;position:sticky;top:1rem;align-self:start}.studio-grid aside button{display:block;width:100%;text-align:left;margin-bottom:.5rem}.studio-grid label{display:grid;gap:.35rem;margin:1rem 0}.studio-grid input:not([type=checkbox]),.studio-grid textarea,.studio-grid select{width:100%;padding:.7rem;font:inherit;color:inherit;background:var(--paper,#fff);border:1px solid var(--line,#ccc);border-radius:6px}.studio-grid fieldset{border:1px solid var(--line,#ccc);padding:1rem;margin:1rem 0}.studio-grid details{border-block:1px solid var(--line,#ccc);padding:1rem 0}.studio-grid summary{cursor:pointer;font-weight:600}.studio-grid button,.studio-actions a,[data-bookmark],#reading-list button{padding:.65rem .9rem;margin:.25rem;border:1px solid var(--line,#ccc);background:var(--paper,#fff);color:inherit;cursor:pointer;border-radius:5px}.studio-actions{display:flex;flex-wrap:wrap;align-items:center}.studio-actions button:nth-child(2){background:#2455e8;color:white}.entry-languages{display:flex;gap:.6rem}.entry-languages [aria-current]{font-weight:700;text-decoration:underline}.entry-facts{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.entry-facts dt{font-size:.8rem;color:var(--muted)}.entry-facts dd{margin:0}.entry-tags{font-size:.85rem;color:var(--muted)}.content-video{width:100%;aspect-ratio:16/9;border:0}.article pre{overflow:auto;padding:1.2rem;background:var(--paper,#eee);border:1px solid var(--line,#ccc);white-space:pre}.article blockquote{border-left:3px solid #2455e8;padding:1rem 1.5rem;margin:2rem 0}.compare-images{position:relative;aspect-ratio:3/2;overflow:hidden}.compare-images img{width:100%;height:100%;object-fit:contain;margin:0!important;background:var(--paper,#eee)}.compare-images .compare-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split,50%))}.compare label{display:grid;gap:.4rem;margin-top:.75rem}.compare input{width:100%;accent-color:#2455e8}.content-footer{display:flex;gap:1rem;flex-wrap:wrap}.hero{position:relative;isolation:isolate}.hero-ribbon{position:absolute;width:100%;height:240px;left:0;bottom:0;pointer-events:none;z-index:-1}.skills-section{padding:4rem 0}.skill-bar{display:block;width:100%;max-width:650px;margin:.75rem 0;padding:.9rem;text-align:left;border:1px solid var(--line,#ccc);color:inherit;background:linear-gradient(90deg,rgba(36,85,232,.16) var(--skill),transparent var(--skill));cursor:pointer;transition:background .25s}.skill-bar:focus-visible{outline:2px solid #2455e8}#studio-preview{width:min(1100px,95vw);height:90vh}#studio-preview iframe{width:100%;height:90%;border:0}#reading-list p{display:flex;align-items:center;gap:1rem;justify-content:space-between}@media(max-width:760px){.studio-grid{grid-template-columns:1fr}.studio-grid aside{position:static;max-height:200px}.entry-facts{grid-template-columns:1fr}.hero-ribbon{height:160px}}@media(prefers-reduced-motion:reduce){.skill-bar{transition:none}.hero-ribbon{display:none}}
.pro-links,.privacy-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.privacy-dialog{max-width:480px;width:calc(100% - 2rem);padding:1.5rem;color:var(--ink,#111);background:var(--paper,#fff);border:1px solid var(--line,#ccc);border-radius:12px}.privacy-dialog::backdrop{background:rgb(0 0 0/.35)}.privacy-dialog h2{font-size:1.6rem}.privacy-dialog p{margin:1rem 0}.privacy-dialog label{display:flex;align-items:center;gap:.6rem;margin:1rem 0}.privacy-actions button,.pro-links button,.booking-link{padding:.6rem .9rem;background:var(--paper,#fff);border:1px solid var(--line,#aaa);border-radius:6px;color:inherit;cursor:pointer}#services-form label,#site-search label{display:grid;gap:.4rem;margin:1rem 0}#services-form input,#site-search input{padding:.7rem;font:inherit;width:100%}.field-error{display:block;color:#b62828;font-size:.875rem}.guided-intake [aria-invalid=true]{outline:2px solid #b62828}.guided-intake [hidden]{display:none!important}.guided-intake select{font:inherit;padding:.7rem;border:1px solid var(--line,#aaa);background:var(--paper,#fff);color:inherit}.guided-intake>p{font-weight:600}#search-results article{padding:1rem 0;border-bottom:1px solid var(--line,#ddd)}#search-results a{font-size:1.2rem;font-weight:600}.booking-link{display:inline-block;margin:1rem 0}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
.visitor-controls{background:var(--paper);color:var(--ink);padding:24px 0;border-bottom:1px solid var(--line)}.visitor-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0}.visitor-row>span{font-size:14px;min-width:130px}.visitor-row button{font:14px/1.3 Arial,sans-serif;min-height:44px;padding:10px 14px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:6px;cursor:pointer}.visitor-row button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.visitor-path-note{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;margin:12px 0}.visitor-section{padding:64px 0;background:var(--paper);color:var(--ink)}.visitor-section h2{font-size:clamp(28px,4vw,44px);line-height:1.15;margin-bottom:20px}.visitor-section label,#visitor-admin label{display:grid;gap:8px;margin:16px 0}.visitor-section textarea,#visitor-admin input,#visitor-admin textarea{font:16px/1.5 Arial,sans-serif;box-sizing:border-box;max-width:100%;width:100%;border:1px solid var(--line,#ccc);border-radius:6px;padding:14px;background:var(--surface,#fff);color:var(--ink)}.visitor-section small{font-size:14px;display:block;line-height:1.5}.visitor-section [aria-live]{margin-top:24px}.job-result{border-top:1px solid var(--line);padding:20px 0}.job-result h3{font-size:22px;line-height:1.3}.job-result p{margin:10px 0;max-width:70ch}.growth-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,44%);gap:24px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:16px}.growth-track article{scroll-snap-align:start;min-width:0}.growth-track img{aspect-ratio:4/3;object-fit:contain;background:var(--surface,#eee);width:100%}.growth-track h3{font-size:23px;margin:18px 0 12px}.public-pulse{display:flex;flex-wrap:wrap;gap:12px 24px;padding-block:20px;font-size:14px;border-bottom:1px solid var(--line)}#visitor-admin fieldset{border:1px solid #ccd3df;border-radius:8px;padding:16px;margin:24px 0;min-width:0}#visitor-admin button{min-height:44px;padding:10px 14px;margin:4px;cursor:pointer}@media(max-width:700px){.visitor-section{padding:36px 0}.visitor-row>span{width:100%;margin-bottom:4px}.visitor-row button{flex:1;min-width:90px}.growth-track{grid-auto-columns:88%;gap:16px}.public-pulse{font-size:14px}.visitor-section h2{font-size:30px}.visitor-path-note{gap:12px}}
.visitor-section[hidden]{display:none!important}
.language-control{display:flex;align-items:center;gap:8px;flex-shrink:0;order:2}.language-control>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.language-control select{font:14px/1.4 Arial,sans-serif;min-height:44px;max-width:112px;padding:8px 12px;background:var(--surface,#fff);color:var(--ui-ink,#151515);border:1px solid var(--ui-border,#ccc);border-radius:6px;cursor:pointer}.site-header{gap:14px}.site-header .site-nav{order:1;gap:clamp(10px,1.5vw,24px)}.site-header .menu-button{order:3}.blog-header{gap:18px;flex-wrap:wrap}.blog-header nav{order:1}.entry-languages{display:none}.matcher-access{padding-block:20px}.matcher-access button{font:15px/1.4 Arial,sans-serif;padding:10px 16px;min-height:44px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);cursor:pointer}html[dir=rtl] body{font-family:Tahoma,Arial,sans-serif}html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] .eyebrow{letter-spacing:normal!important;font-family:Tahoma,Arial,sans-serif}html[dir=rtl] .hero-copy,html[dir=rtl] .project-meta,html[dir=rtl] .section-heading{text-align:start}html[dir=rtl] .project-meta p{text-transform:none;letter-spacing:normal}html[dir=rtl] .article[dir=ltr]{text-align:left}html[dir=rtl] .article[dir=rtl]{text-align:right}html[dir=rtl] input[type=email],html[dir=rtl] input[type=url],html[dir=rtl] input[type=tel]{direction:ltr;text-align:left}html[dir=rtl] .growth-track{direction:rtl}html[dir=rtl] .cms-prose{letter-spacing:normal}@media(max-width:700px){.site-header{gap:12px}.language-control{margin-inline-start:auto}.language-control select{font-size:16px;padding:8px;max-width:112px}.blog-header .language-control{margin-inline-start:0}.blog-header nav{flex-wrap:wrap}.matcher-access{padding-block:16px}html[dir=rtl] .hero-copy h1{font-size:clamp(30px,8vw,48px);line-height:1.35}.language-control select:focus-visible{outline:2px solid var(--blue,#2455e8);outline-offset:2px}}

.language-welcome{position:fixed;inset:0;margin:auto;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 48px);box-sizing:border-box;padding:40px 28px;border:0;border-radius:18px;background:#fff;color:#151515;text-align:center;box-shadow:0 24px 90px #0004;overflow:auto}.language-welcome::backdrop{background:rgb(0 0 0 / .62)}.language-welcome h2{font-size:22px;line-height:1.4;font-weight:500;margin:12px 0}.language-welcome p{font-size:16px;margin:8px 0;color:#606060}.language-globe{font-size:30px;color:#1548dc}.language-close{position:absolute;right:8px;top:6px;width:44px;height:44px;border:0;background:transparent;color:#151515;font-size:28px;cursor:pointer}.language-options{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}.language-options button{min-width:125px;min-height:48px;border:1px solid #1548dc;border-radius:30px;padding:10px 20px;background:#fff;color:#1548dc;font:600 16px Arial,sans-serif;cursor:pointer}.language-options button:hover{background:#1548dc;color:white}.language-welcome button:focus-visible{outline:3px solid #1548dc;outline-offset:3px}@media(max-width:480px){.language-welcome{padding:40px 20px 28px}.language-welcome h2{font-size:20px}.language-options{gap:10px}.language-options button{flex:1 1 100%;width:100%}}

/* Native route switcher: inherits the existing theme in both modes. */
.route-languages{display:flex!important;align-items:center;gap:2px;order:2;flex-shrink:0;color:inherit}
.route-languages a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;font:600 14px/1.2 Arial,sans-serif;color:inherit!important;text-decoration:none;opacity:.7;border-radius:5px}
.route-languages a[aria-current=page]{opacity:1;text-decoration:underline;text-underline-offset:5px}
.route-languages a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media(max-width:680px){.site-header{gap:8px}.route-languages{gap:0}.route-languages a{min-width:44px}}
/* Compact, readable public layouts for phones and tablets. */
@media(max-width:900px){
 .site-header .site-nav{overflow-y:auto;max-height:100dvh;align-content:safe center;padding:90px 20px max(28px,env(safe-area-inset-bottom));gap:12px;box-sizing:border-box;overscroll-behavior:contain}
 .site-nav a{min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1.4;text-align:center}
 .site-header .language-control{position:relative;z-index:26}
}
@media(max-width:700px){
 *,*::before,*::after{box-sizing:border-box}
 .site-header{gap:8px}.site-header .brand{min-width:0}.site-header .language-control{margin-inline-start:auto}.site-header .menu-button{flex-shrink:0}
 .section-shell{width:calc(100% - 32px);max-width:100%}
 .hero{min-height:0}.hero-copy,.about-copy,.contact-copy,.contact-side,.case-contact-inner>*{min-width:0}
 .hero-copy h1{font-size:clamp(32px,10vw,48px);line-height:1.12;overflow-wrap:break-word}
 .section-heading h2,.photography-heading h2,.video-heading h2,.about h2,.contact h2,.case-section-heading h2,.case-outcome h2{font-size:clamp(28px,8vw,40px);line-height:1.15;overflow-wrap:break-word}
 .project-grid,.blog-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .project-meta,.project-meta:has(>h3){display:flex;flex-direction:column;gap:10px;align-items:stretch}
 .project-meta>*{position:static;min-width:0;max-width:100%;margin:0;float:none}
 .project-meta h3{font-size:22px;line-height:1.3;overflow-wrap:break-word}
 .project-meta p{font-size:16px!important;line-height:1.6;letter-spacing:normal;text-transform:none}
 .project-meta a,.project-page-link{width:auto;min-height:44px;white-space:normal;overflow-wrap:break-word}
 .video-meta p,.video-grid--portrait .video-meta p{font-size:14px;line-height:1.5}
 .blog-header,.blog-footer{width:calc(100% - 32px);padding:20px 0;gap:12px;flex-wrap:wrap}
 .blog-header nav{order:3;width:100%;display:flex;flex-wrap:wrap;gap:8px 18px}.blog-header nav a{min-height:44px;display:inline-flex;align-items:center}
 .blog-header .language-control{margin-inline-start:auto}.blog-brand{gap:8px;font-size:24px}.blog-brand span{font-size:14px}
 .blog-index,.article,.hub-public{width:calc(100% - 32px);max-width:100%;margin-inline:auto;overflow-wrap:break-word}
 .article-content,.cms-prose{min-width:0;font-size:16px;line-height:1.75}.article-content img,.cms-prose img{max-width:100%;height:auto}
 .article-content pre,.cms-prose pre{max-width:100%;overflow-x:auto}.article-content table{display:block;max-width:100%;overflow-x:auto}
 .case-hero{min-height:0;padding-bottom:44px}.case-hero h1{font-size:clamp(32px,10vw,48px);line-height:1.15;overflow-wrap:break-word}
 .case-contact-actions{flex-wrap:wrap}.case-contact-actions a{white-space:normal;overflow-wrap:anywhere}
 input,select,textarea{max-width:100%;font-size:16px!important}textarea{min-width:0}
 .privacy-dialog,#pf-palette{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
 .privacy-actions{display:grid;grid-template-columns:1fr}.privacy-actions button{min-height:44px}
 #ys-chat{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}#ys-chat .ys-panel{width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 100px)}
 .ys-greeting{max-width:calc(100vw - 32px)}.public-pulse{flex-wrap:wrap;overflow-wrap:anywhere}
 .site-footer,.blog-footer{padding-bottom:88px}.site-footer a,.blog-footer a{overflow-wrap:anywhere}
}
@media(max-width:380px){.video-grid--portrait{grid-template-columns:minmax(0,1fr)}.language-control select{max-width:100px}.blog-brand span{max-width:90px}}

/* Neutral interface, without decorative overlays across text. */
:root{--blue:#292929}:root[data-theme=dark]{--blue:#e3e3e3}
.hero::before,.hero::after,.hero-ribbon{display:none!important}
.hero-copy{position:relative;z-index:1}
.contact{background:#202020;color:#fff}
#ys-chat .ys-launch{background:#222;color:#fff;box-shadow:none}
.language-globe{color:#333}.language-options button{border-color:#555;color:#222}.language-options button:hover{background:#222;color:#fff}
.language-welcome button:focus-visible{outline-color:#555}
.skill-bar{background:var(--paper);border-color:var(--line)}
.article blockquote{border-color:#777}.compare input{accent-color:#555}
.account-menu{position:relative;font:500 14px/1.4 Arial,sans-serif}.account-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none;white-space:nowrap}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary::after{content:'⌄'}.account-nav{position:absolute;inset-inline-end:0;top:100%;z-index:60;display:flex;flex-direction:column;gap:6px;min-width:185px;padding:12px;border:1px solid #ccc;border-radius:16px;background:#fff;color:#171717;box-shadow:0 12px 35px #0002}.account-nav a{display:block!important;padding:12px 16px!important;min-height:44px;color:#171717!important;background:transparent!important;text-decoration:none;border-radius:9px;font:500 14px/1.4 Arial,sans-serif!important;letter-spacing:0!important}.account-nav .account-primary{background:#202020!important;color:white!important}.account-nav a:hover{outline:1px solid #aaa}.account-menu :focus-visible{outline:2px solid #999;outline-offset:3px}
@media(max-width:900px){.account-menu{width:100%}.account-menu summary{justify-content:center}.account-nav{position:static;margin:8px auto;max-width:280px}.site-header{row-gap:8px}}
.language-control{position:relative}.language-control::after{content:'⌄';position:absolute;inset-inline-end:15px;top:50%;transform:translateY(-60%);pointer-events:none;font:18px Arial;color:inherit}.language-control select{appearance:none;-webkit-appearance:none;min-width:118px;max-width:150px;min-height:44px;border-radius:999px;padding:10px 35px 10px 16px;font:500 14px/1.4 Arial,sans-serif;background:transparent;color:inherit;border:1px solid currentColor;cursor:pointer}.site-header .language-control{color:#fff}.site-header .language-control select{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25)}.language-control option{color:#171717;background:#fff}.language-control select:focus-visible{outline:2px solid #aaa;outline-offset:4px}html[dir=rtl] .language-control select{padding-inline:16px 35px}
