/* Public presentation only. Admin, client portal and demo documents never load this sheet. */
body.route-home,body.route-portfolio{--bg:#0d0e16;--paper:#151722;--paper-soft:#1b1e2c;--paper-elevated:#232638;--text:#f3f3fb;--muted:#b4b6cc;--line:#303347;--primary:#b4a0ff;--primary-dark:#ccbdff;--teal:#84dfd1;--radius:20px;--shadow:0 24px 70px #0003;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.65}
html[data-theme="classic"] body:is(.route-home,.route-portfolio){--bg:#f5f6fb;--paper:#fff;--paper-soft:#eceef7;--paper-elevated:#e4e6f3;--text:#202136;--muted:#565a73;--line:#d6d8e7;--primary:#6240bb;--primary-dark:#5130a6;--teal:#16756d}
body.route-home *,body.route-home *::before,body.route-home *::after{box-sizing:border-box}
body.route-home [hidden]{display:none!important}
body.route-home .container{width:min(1200px,calc(100% - 48px));margin-inline:auto}
body.route-home h1,body.route-home h2,body.route-home h3{font-family:inherit;line-height:1.12;letter-spacing:-.045em;color:var(--text);text-wrap:balance}
body.route-home h1{font-size:clamp(2.65rem,5.2vw,4.75rem);font-weight:650;margin:22px 0}
body.route-home h2{font-size:clamp(2rem,3.3vw,3rem);font-weight:620;margin:12px 0 24px}
body.route-home h3{font-size:1.4rem;letter-spacing:-.025em;margin:18px 0 12px}
body.route-home p{color:var(--muted);margin:0 0 20px;max-width:70ch}
body.route-home small{font-size:.875rem}
body.route-home :is(a,button,input,textarea,select):focus-visible{outline:3px solid var(--teal);outline-offset:4px}
body:is(.route-home,.route-portfolio) .site-header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--line);z-index:100;box-shadow:none}
body:is(.route-home,.route-portfolio) .header-inner{display:flex;align-items:center;gap:22px;min-height:88px}
body:is(.route-home,.route-portfolio) .brand{display:flex;gap:10px;align-items:center;color:var(--text);text-decoration:none;flex-shrink:0}
body:is(.route-home,.route-portfolio) .brand-copy strong{font-size:1rem;letter-spacing:-.03em}
body:is(.route-home,.route-portfolio) .brand-copy small{font-size:.7rem;color:var(--muted)}
body:is(.route-home,.route-portfolio) .main-nav{margin-inline:auto;display:flex;gap:18px}
body:is(.route-home,.route-portfolio) .main-nav>a{font-size:.875rem;color:var(--muted);white-space:nowrap;text-decoration:none}
body:is(.route-home,.route-portfolio) .main-nav>a:hover{color:var(--text)}
body:is(.route-home,.route-portfolio) .header-tools{display:flex;gap:10px;align-items:center}
body:is(.route-home,.route-portfolio) .language-switch{display:flex;gap:2px}
body:is(.route-home,.route-portfolio) .language-switch a{padding:5px;color:var(--muted);text-decoration:none;font-size:.875rem;min-height:36px;display:grid;place-items:center}
body:is(.route-home,.route-portfolio) .language-switch .is-active{color:var(--primary)}
body:is(.route-home,.route-portfolio) .theme-toggle,body:is(.route-home,.route-portfolio) .nav-account-link{background:var(--paper);color:var(--text);border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;text-decoration:none;cursor:pointer}
body:is(.route-home,.route-portfolio) .nav-account-label{display:none}
body:is(.route-home,.route-portfolio) .header-cta{display:none}
body:is(.route-home,.route-portfolio) .yrv-ambient-scene,body.route-home .gem-orb{display:none}
body.route-home .gem-hero{padding:90px 0 72px;position:relative;background:radial-gradient(ellipse at 82% 35%,#7958d324,transparent 52%)}
body.route-home .gem-hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center}
body.route-home .gem-eyebrow,body.route-home .gem-section-kicker{display:block;font-size:.875rem;color:var(--primary);letter-spacing:.1em;font-weight:600;text-transform:uppercase}
body.route-home .gem-spark{margin-right:10px}
body.route-home .gem-gradient-text{color:var(--primary);font-weight:inherit}
body.route-home .gem-hero-copy>p{font-size:1.125rem;max-width:53ch}
body.route-home .gem-actions{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0}
body.route-home .gem-btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:12px 20px;border-radius:10px;font-family:inherit;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;border:1px solid var(--line);cursor:pointer;transition:transform .18s ease,background-color .18s ease;white-space:normal;text-align:center}
body.route-home .gem-btn-primary{background:var(--primary);color:var(--bg);border-color:var(--primary)}
body.route-home .gem-btn-secondary{background:transparent;color:var(--text)}
body.route-home .gem-btn:disabled{opacity:.65;cursor:wait}
body.route-home .gem-trust-row{display:flex;flex-wrap:wrap;gap:12px 20px;color:var(--muted);font-size:.875rem}
body.route-home .gem-trust-row i{display:inline-block;width:5px;height:5px;background:var(--teal);border-radius:50%;margin-right:7px}
body.route-home .gem-hero-side{display:grid;gap:16px}
body.route-home .gem-profile-card{background:linear-gradient(145deg,var(--paper-elevated),var(--paper));border:1px solid var(--line);border-radius:24px;padding:30px;position:relative;box-shadow:var(--shadow)}
body.route-home .gem-profile-card::before{content:"";position:absolute;top:-1px;left:30px;width:80px;height:3px;background:var(--primary)}
body.route-home .gem-profile-top{display:flex;gap:16px;align-items:center}
body.route-home .gem-profile-photo{width:66px;flex-shrink:0}
body.route-home .gem-profile-photo img{width:66px;height:66px}
body.route-home .gem-profile-top h2{font-size:1.75rem;margin:3px 0 7px}
body.route-home .gem-profile-top span,body.route-home .gem-profile-top p{font-size:.875rem;margin:0}
body.route-home .gem-availability{display:flex;align-items:center;gap:9px;font-size:.875rem;color:var(--teal);margin:26px 0;border-bottom:1px solid var(--line);padding-bottom:24px}
body.route-home .gem-availability i{width:7px;height:7px;background:var(--teal);border-radius:50%}
body.route-home .gem-profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}
body.route-home .gem-profile-stats strong{display:block;font-size:2.6rem;font-weight:500;line-height:1.2}
body.route-home .gem-profile-stats span{font-size:.875rem;color:var(--muted)}
body.route-home :is(.gem-tech-chips,.gem-suggestions,.yrv-meta-chips,.yrv-google-chips){display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
body.route-home :is(.gem-tech-chips,.yrv-meta-chips,.yrv-google-chips)>span{font-size:.875rem;padding:5px 10px;border:1px solid var(--line);border-radius:6px;color:var(--muted)}
body.route-home .gem-ask-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:22px}
body.route-home .gem-ask-head{display:flex;gap:12px;align-items:center}
body.route-home .gem-ask-head strong,body.route-home .gem-ask-head small{display:block}
body.route-home .gem-ask-head small{color:var(--muted)}
body.route-home .gem-assistant-mark{font-size:1.7rem;color:var(--primary)}
body.route-home .gem-ask-inline{display:flex;gap:8px;margin-top:16px}
body.route-home .gem-ask-inline input{flex:1;min-width:0}
body.route-home .gem-ask-inline button{width:48px;border:1px solid var(--line);border-radius:8px;background:var(--primary);color:var(--bg);font-size:1.25rem;cursor:pointer}
body.route-home .gem-suggestions{margin-top:12px}
body.route-home .gem-suggestions button{font:inherit;font-size:.875rem;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:transparent;cursor:pointer;text-align:left}
body.route-home .gem-partners .container{border-block:1px solid var(--line);padding:24px 0;display:flex;gap:30px;align-items:center}
body.route-home .gem-partners .container>span{font-size:.875rem;color:var(--muted);max-width:150px}
body.route-home .gem-partners-row{display:flex;flex-wrap:wrap;gap:26px;align-items:center;flex:1;justify-content:space-around}
body.route-home .gem-partner img{max-width:100px;max-height:40px;object-fit:contain}
body.route-home .gem-section{padding:80px 0;scroll-margin-top:80px}
body.route-home .gem-section-heading{max-width:780px;margin-bottom:38px}
body.route-home .studio-anchor{display:block;scroll-margin-top:110px}
body.route-home .studio-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body.route-home .studio-service{display:flex;flex-direction:column;align-items:flex-start;background:var(--paper);padding:32px;border:1px solid var(--line);border-radius:18px;transition:transform .2s ease,border-color .2s ease}
body.route-home .studio-service-top{display:flex;justify-content:space-between;align-items:center;width:100%;color:var(--primary);font-variant-numeric:tabular-nums}
body.route-home .studio-service-top span:last-child{font-size:1.5rem}
body.route-home .studio-service h3{font-size:1.6rem;max-width:24ch}
body.route-home .studio-service p{margin-bottom:18px}
body.route-home .studio-service ul{padding-left:20px;color:var(--muted);margin:0 0 26px}
body.route-home .studio-service li{padding-left:4px;margin:7px 0}
body.route-home .studio-service li::marker{color:var(--teal)}
body.route-home .studio-service .gem-btn{margin-top:auto}
body.route-home .studio-bundles{background:var(--paper-soft)}
body.route-home :is(.yrv-meta-shell,.yrv-google-shell,.gem-about-grid,.gem-contact-shell){display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}
body.route-home :is(.yrv-meta-cta,.yrv-google-cta){margin-top:24px}
body.route-home :is(.yrv-meta-flow,.yrv-google-visual,.gem-about-panel){padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
body.route-home :is(.yrv-meta-flow-head,.yrv-google-visual-head,.gem-about-panel-head){font-size:.875rem;letter-spacing:.08em;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px;color:var(--primary)}
body.route-home .yrv-meta-flow ol{list-style:none;padding:0;display:grid;gap:12px;counter-reset:flow}
body.route-home .yrv-meta-flow li{display:flex;gap:14px;align-items:center;background:var(--paper-soft);padding:12px 15px;border-radius:10px}
body.route-home .yrv-meta-flow li span{color:var(--primary);font-size:.875rem}
body.route-home :is(.yrv-meta-grid,.yrv-google-grid,.gem-process-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:36px}
body.route-home :is(.yrv-meta-card,.yrv-google-card,.gem-process-card){border-top:1px solid var(--line);padding:24px 0}
body.route-home :is(.yrv-meta-card,.yrv-google-card,.gem-process-card)>span{color:var(--primary);font-size:.875rem}
body.route-home .yrv-google-metrics{display:flex;gap:16px;margin-top:24px;flex-wrap:wrap}
body.route-home .yrv-google-metrics div{flex:1;min-width:95px}
body.route-home .yrv-google-metrics span{display:block;font-size:.875rem;color:var(--muted)}
body.route-home .yrv-google-metrics strong{display:block;font-size:1rem}
body.route-home .yrv-google-chart{position:relative;height:260px;overflow:hidden}
body.route-home .yrv-google-gridlines{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-around}
body.route-home .yrv-google-gridlines span{border-bottom:1px solid var(--line)}
body.route-home .yrv-google-bars{position:absolute;inset:30px 15px 45px;display:flex;align-items:flex-end;gap:18px}
body.route-home .yrv-google-bar{flex:1;height:60%;display:flex;flex-direction:column;align-items:center;position:relative}
body.route-home .yrv-google-bar i{display:block;background:linear-gradient(var(--primary),#7958d344);width:100%;height:100%;border-radius:7px 7px 0 0}
body.route-home .yrv-google-bar span{position:absolute;top:calc(100% + 6px);font-size:.875rem;white-space:nowrap}
body.route-home .yrv-google-bar.is-2{height:80%}body.route-home .yrv-google-bar.is-3{height:65%}body.route-home .yrv-google-bar.is-4{height:94%}
body.route-home .yrv-google-line{position:absolute;inset:10px 0;width:100%;height:170px}
body.route-home .yrv-google-badges{display:none}
body.route-home .yrv-google-visual>p{font-size:.875rem;margin-top:18px}
body.route-home .gem-process{background:var(--paper-soft)}
body.route-home .gem-about-capabilities>div{display:grid;grid-template-columns:30px 1fr;gap:3px 12px;padding:16px 0;border-bottom:1px solid var(--line)}
body.route-home .gem-about-capabilities span{grid-row:span 2;color:var(--primary);font-size:.875rem}
body.route-home .gem-about-capabilities small{color:var(--muted)}
body.route-home .gem-about-principle{display:flex;gap:15px;margin-top:22px;color:var(--primary)}
body.route-home .gem-about-principle p{font-size:.875rem;margin:0}
body.route-home .gem-contact{border-top:1px solid var(--line)}
body.route-home .gem-contact-shell{grid-template-columns:.8fr 1.2fr}
body.route-home .gem-contact-form{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:22px}
body.route-home .gem-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
body.route-home .gem-contact-form label{display:block;font-size:.9375rem}
body.route-home .gem-contact-form label>span{display:block;margin-bottom:7px}
body.route-home :is(input,select,textarea){background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:12px 14px;width:100%;font:inherit;min-height:48px}
body.route-home textarea{resize:vertical;min-height:145px}
body.route-home .gem-field-help{color:var(--muted);font-size:.875rem;display:block;margin-top:6px}
body.route-home .gem-message{margin-top:22px}
body.route-home .gem-contact-form .gem-privacy{display:flex;gap:12px;align-items:flex-start;margin:22px 0;font-size:.875rem;color:var(--muted)}
body.route-home .gem-privacy input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin-top:4px;accent-color:var(--primary)}
body.route-home .gem-privacy a{color:var(--primary)}
body.route-home .quote-note{font-size:.875rem}
body.route-home .gem-form-actions{display:grid;gap:12px}
body.route-home .form-status{margin:0;font-size:.9375rem}
body.route-home .form-status.is-success{color:var(--teal)}
body.route-home .form-status.is-error{color:#f094a3}
body.route-home .quote-whatsapp{margin-top:15px}
body.route-home .gem-direct-links{display:grid;gap:20px;margin-top:32px}
body.route-home .gem-direct-links a{text-decoration:none;color:var(--text)}
body.route-home .gem-direct-links small{display:block;color:var(--muted)}
body.route-home .yrv-current-plan-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
body.route-home .yrv-current-plan-card strong{display:block}
body.route-home .site-footer{border-top:1px solid var(--line);background:var(--paper)}
body.route-home .footer-top{display:flex;justify-content:space-between;gap:40px;padding-block:40px}
body.route-home .footer-top h2{font-size:2rem}
body.route-home .footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;padding-block:30px;border-top:1px solid var(--line)}
body.route-home .footer-main a{display:block;color:var(--muted);font-size:.875rem;margin:8px 0;text-decoration:none}
body.route-home .footer-main h3{font-size:1rem;letter-spacing:0}
body.route-home .footer-main p{font-size:.875rem}
body.route-home .footer-main .footer-brand{display:flex;align-items:center;gap:10px;color:var(--text);font-size:1rem}
body.route-home .footer-contact-actions{display:grid;gap:12px}
body.route-home .contact-action{display:flex;gap:12px;color:var(--text);text-decoration:none;align-items:center}
body.route-home .contact-action small{display:block;color:var(--muted)}
body.route-home .contact-action svg,body.route-home .footer-social-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
body.route-home .footer-channels{padding-block:22px;display:flex;gap:30px;border-top:1px solid var(--line)}
body.route-home .footer-social-links{display:flex;gap:20px;flex-wrap:wrap}
body.route-home .footer-social-link{color:var(--muted);display:flex;gap:8px;text-decoration:none;font-size:.875rem;align-items:center}
body.route-home .footer-bottom{border-top:1px solid var(--line);padding-block:20px;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}
body.route-home .back-to-top{position:fixed;bottom:26px;left:24px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--text);opacity:0;visibility:hidden;z-index:80;cursor:pointer}
body.route-home .back-to-top.is-visible{opacity:1;visibility:visible}
body.route-home .share-feedback:empty{display:none}
/* Portfolio data, filters, sort controls and preview URLs are left untouched. */
body.route-portfolio .portfolio-subhero{background:radial-gradient(ellipse at right top,#7958d31a,transparent 60%),var(--bg)!important;border-bottom:1px solid var(--line)}
body.route-portfolio :is(.portfolio-profile-card,.portfolio-card-compact,.portfolio-toolbar,.project-summary-card){background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:none!important}
body.route-portfolio :is(.portfolio-hero-copy h1,.project-title){font-family:inherit!important;letter-spacing:-.045em!important}
body.route-portfolio .portfolio-card-compact{transition:transform .2s ease,border-color .2s ease!important}
@media(hover:hover){body.route-home .gem-btn:hover{transform:translateY(-2px)}body.route-home .studio-service:hover,body.route-portfolio .portfolio-card-compact:hover{transform:translateY(-4px);border-color:var(--primary)!important}}
@media(max-width:1080px){body:is(.route-home,.route-portfolio) .menu-toggle{display:flex}body:is(.route-home,.route-portfolio) .main-nav{display:none;position:absolute;left:0;right:0;background:var(--paper);margin:0}body:is(.route-home,.route-portfolio).menu-open .main-nav{display:flex;flex-direction:column;gap:0}body:is(.route-home,.route-portfolio) .main-nav>a{padding:13px 8px;font-size:1rem}body:is(.route-home,.route-portfolio) .header-tools{margin-left:auto}body.route-home .gem-hero-grid{gap:32px}body.route-home .gem-hero{padding-top:60px}body.route-home :is(.yrv-meta-shell,.yrv-google-shell,.gem-about-grid,.gem-contact-shell){gap:30px}}
@media(max-width:760px){body:is(.route-home,.route-portfolio) .container{width:calc(100% - 36px)}body.route-home .gem-hero-grid,body.route-home :is(.yrv-meta-shell,.yrv-google-shell,.gem-about-grid,.gem-contact-shell){grid-template-columns:1fr}body.route-home .gem-hero{padding:46px 0}body.route-home .gem-hero-copy{max-width:600px}body.route-home .gem-section{padding:52px 0}body.route-home .gem-hero-side{grid-template-columns:1fr 1fr;align-items:start}body.route-home :is(.gem-profile-card,.gem-ask-card){padding:20px}body.route-home .gem-profile-top{flex-direction:column;align-items:start}body.route-home :is(.yrv-meta-grid,.yrv-google-grid,.gem-process-grid){grid-template-columns:1fr;gap:0}body.route-home .footer-main{grid-template-columns:1fr 1fr}body.route-home .footer-top{flex-direction:column}body.route-home .footer-bottom{flex-direction:column;gap:6px}body.route-home .studio-service{padding:24px}}
@media(max-width:520px){body.route-home .gem-hero-side,body.route-home .studio-service-grid,body.route-home .gem-form-grid{grid-template-columns:1fr}body.route-home .gem-profile-top{flex-direction:row;align-items:center}body.route-home .gem-contact-form{padding:22px 18px}body.route-home .gem-actions .gem-btn{width:100%}body.route-home .gem-partners .container{flex-direction:column;align-items:start;gap:20px}body.route-home .gem-partners .container>span{max-width:none}body.route-home .footer-main{gap:24px 18px}body.route-home .footer-channels{flex-direction:column;gap:12px}body.route-home .gem-partners-row{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body:is(.route-home,.route-portfolio) *,body:is(.route-home,.route-portfolio) *::before,body:is(.route-home,.route-portfolio) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body.route-home .sr-only{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body.route-home .reveal{opacity:1!important;visibility:visible!important;filter:none!important;animation:none!important;transform:none!important;transition:none!important}
body.route-home .menu-toggle{flex-direction:column;justify-content:center;align-items:center}body.route-home .menu-toggle span{display:block;flex:0 0 2px;width:18px}

/* Portfolio visual alignment */
body.route-portfolio{
  --bg:#0d0e16;
  --paper:#151722;
  --paper-soft:#1b1e2c;
  --paper-elevated:#232638;
  --text:#f3f3fb;
  --muted:#b4b6cc;
  --line:#303347;
  --primary:#b4a0ff;
  --primary-dark:#ccbdff;
  --teal:#84dfd1;
  --radius:20px;
  --shadow:0 24px 70px #0003;
  background:var(--bg)!important;
  color:var(--text)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  font-size:16px;
  line-height:1.65;
}
html[data-theme="classic"] body.route-portfolio{
  --bg:#f5f6fb;
  --paper:#fff;
  --paper-soft:#eceef7;
  --paper-elevated:#e4e6f3;
  --text:#202136;
  --muted:#565a73;
  --line:#d6d8e7;
  --primary:#6240bb;
  --primary-dark:#5130a6;
  --teal:#16756d;
}
body.route-portfolio *,body.route-portfolio *::before,body.route-portfolio *::after{box-sizing:border-box}
body.route-portfolio [hidden]{display:none!important}
body.route-portfolio .container{width:min(1200px,calc(100% - 48px));margin-inline:auto}
body.route-portfolio :is(h1,h2,h3){font-family:inherit!important;color:var(--text)!important;text-wrap:balance}
body.route-portfolio p{color:var(--muted)}
body.route-portfolio :is(a,button,input,textarea,select):focus-visible{outline:3px solid var(--teal);outline-offset:4px}

body.route-portfolio .subpage-main{min-height:70vh!important;background:var(--bg)!important}
body.route-portfolio .portfolio-subhero{
  position:relative!important;
  overflow:hidden!important;
  padding:72px 0 56px!important;
  border-bottom:1px solid var(--line)!important;
  background:radial-gradient(ellipse at 82% 35%,#7958d324,transparent 52%),var(--bg)!important;
}
body.route-portfolio .portfolio-subhero::before,
body.route-portfolio .portfolio-subhero::after{display:none!important}
body.route-portfolio .portfolio-hero-layout{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr)!important;gap:70px!important;align-items:center!important}
body.route-portfolio .section-label{display:block!important;margin-bottom:14px!important;color:var(--primary)!important;font-size:.875rem!important;font-weight:600!important;letter-spacing:.1em!important;text-transform:uppercase!important}
body.route-portfolio .section-label::before{display:none!important;content:none!important}
body.route-portfolio .portfolio-hero-copy h1{max-width:860px!important;margin:22px 0!important;color:var(--text)!important;font-size:clamp(2.65rem,5.2vw,4.75rem)!important;font-weight:650!important;line-height:1.06!important;letter-spacing:-.045em!important}
body.route-portfolio .portfolio-hero-copy>p{max-width:58ch!important;margin:0!important;color:var(--muted)!important;font-size:1.125rem!important;line-height:1.7!important}
body.route-portfolio .portfolio-hero-tools{display:flex!important;flex-wrap:wrap!important;gap:14px!important;margin:32px 0 0!important}
body.route-portfolio .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:48px!important;padding:12px 20px!important;border-radius:10px!important;font-family:inherit!important;font-size:.9375rem!important;font-weight:600!important;line-height:1.5!important;text-decoration:none!important;box-shadow:none!important;transition:transform .18s ease,background-color .18s ease,border-color .18s ease!important}
body.route-portfolio .button-primary{border:1px solid var(--primary)!important;background:var(--primary)!important;color:var(--bg)!important}
body.route-portfolio .button-primary:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important;transform:translateY(-2px)!important}
body.route-portfolio .button-secondary{border:1px solid var(--line)!important;background:transparent!important;color:var(--text)!important}
body.route-portfolio .button-secondary:hover{border-color:var(--primary)!important;transform:translateY(-2px)!important}
body.route-portfolio .portfolio-hero-metrics{display:flex!important;flex-wrap:wrap!important;gap:12px 22px!important;margin-top:30px!important;padding-top:24px!important;border-top:1px solid var(--line)!important;color:var(--muted)!important;font-size:.875rem!important}
body.route-portfolio .portfolio-hero-metrics span{display:flex!important;gap:6px!important;align-items:baseline!important}
body.route-portfolio .portfolio-hero-metrics strong{color:var(--text)!important;font-size:1.35rem!important;font-weight:600!important}

body.route-portfolio .portfolio-profile-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  padding:26px!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,var(--paper-elevated),var(--paper))!important;
  box-shadow:var(--shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.route-portfolio .portfolio-profile-card::before{content:""!important;display:block!important;position:absolute!important;top:-1px!important;left:30px!important;width:80px!important;height:3px!important;background:var(--primary)!important}
body.route-portfolio .portfolio-profile-portrait{width:84px!important;height:84px!important;aspect-ratio:1!important;margin:0!important;overflow:hidden!important;border-radius:22px!important;background:var(--paper-soft)!important}
body.route-portfolio .portfolio-profile-portrait img{display:block!important;width:100%!important;height:100%!important;padding:14px!important;object-fit:contain!important;filter:none!important}
body.route-portfolio .portfolio-profile-copy{display:grid!important;gap:6px!important}
body.route-portfolio .portfolio-profile-copy>span{color:var(--primary)!important;font-size:.75rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.route-portfolio .portfolio-profile-copy strong{color:var(--text)!important;font-size:1.2rem!important;font-weight:650!important;line-height:1.25!important;letter-spacing:-.025em!important}
body.route-portfolio .portfolio-profile-copy small{color:var(--muted)!important;font-size:.875rem!important;line-height:1.55!important}

body.route-portfolio .section{padding:64px 0!important}
body.route-portfolio .portfolio-page-section{padding-top:56px!important;padding-bottom:56px!important}
body.route-portfolio .portfolio-list-intro{display:grid!important;grid-template-columns:minmax(220px,.7fr) minmax(0,1fr)!important;gap:40px!important;align-items:end!important;margin:0 0 24px!important;padding:0 0 22px!important;border-bottom:1px solid var(--line)!important}
body.route-portfolio .portfolio-list-intro h2{margin:8px 0 0!important;color:var(--text)!important;font-size:clamp(2rem,3.3vw,3rem)!important;font-weight:620!important;line-height:1.1!important;letter-spacing:-.045em!important}
body.route-portfolio .portfolio-list-intro p{max-width:680px!important;margin:0!important;color:var(--muted)!important;font-size:1rem!important;line-height:1.7!important}
body.route-portfolio .portfolio-toolbar{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr) auto!important;gap:18px!important;align-items:end!important;margin:0 0 16px!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:18px!important;background:var(--paper)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.route-portfolio .portfolio-search-field{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;min-height:48px!important;padding:0 14px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--bg)!important}
body.route-portfolio .portfolio-search-field svg{width:18px!important;height:18px!important;fill:none!important;stroke:var(--muted)!important;stroke-width:1.7!important}
body.route-portfolio .portfolio-search-field input{width:100%!important;min-height:44px!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;color:var(--text)!important;font-family:inherit!important;font-size:.875rem!important;font-weight:500!important;line-height:1.4!important}
body.route-portfolio .portfolio-search-field input::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)!important}
body.route-portfolio .portfolio-filters-wrap{display:grid!important;gap:8px!important}
body.route-portfolio .portfolio-filters-wrap>span{color:var(--muted)!important;font-size:.75rem!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.route-portfolio .portfolio-filters{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
body.route-portfolio .portfolio-filters button{min-height:34px!important;padding:6px 11px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:transparent!important;color:var(--muted)!important;font-family:inherit!important;font-size:.78rem!important;font-weight:600!important;line-height:1.2!important;box-shadow:none!important;cursor:pointer!important}
body.route-portfolio .portfolio-filters button:hover{border-color:var(--primary)!important;color:var(--text)!important}
body.route-portfolio .portfolio-filters button.is-active{border-color:var(--primary)!important;background:color-mix(in srgb,var(--primary) 12%,transparent)!important;color:var(--primary)!important}
body.route-portfolio .portfolio-display-tools{display:flex!important;gap:10px!important;align-items:end!important;justify-content:flex-end!important}
body.route-portfolio .portfolio-sort{display:grid!important;gap:6px!important;color:var(--muted)!important;font-size:.75rem!important;font-weight:600!important}
body.route-portfolio .portfolio-sort select{min-height:38px!important;padding:0 32px 0 11px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:var(--bg)!important;color:var(--text)!important;font-family:inherit!important;font-size:.78rem!important;font-weight:600!important;line-height:1.2!important}
body.route-portfolio .portfolio-view-switch{display:flex!important;gap:4px!important;padding:4px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--bg)!important}
body.route-portfolio .portfolio-view-switch button{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:var(--muted)!important;cursor:pointer!important}
body.route-portfolio .portfolio-view-switch button.is-active{background:var(--paper-elevated)!important;color:var(--text)!important}
body.route-portfolio .portfolio-results{margin:0 0 14px!important;color:var(--muted)!important;font-size:.82rem!important}

body.route-portfolio .portfolio-archive-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
body.route-portfolio .portfolio-card-compact{display:flex!important;min-width:0!important;min-height:100%!important;flex-direction:column!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:20px!important;background:var(--paper)!important;box-shadow:none!important;transition:transform .2s ease,border-color .2s ease!important}
body.route-portfolio .portfolio-card-compact:hover{transform:translateY(-4px)!important;border-color:var(--primary)!important;box-shadow:none!important}
body.route-portfolio .portfolio-card-media{position:relative!important;display:block!important;width:100%!important;aspect-ratio:1/1!important;min-height:0!important;overflow:hidden!important;border:0!important;background:var(--paper-soft)!important}
body.route-portfolio .portfolio-card-media::before{display:none!important;content:none!important}
body.route-portfolio .portfolio-card-media::after{content:""!important;display:block!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,transparent 58%,rgba(5,6,12,.28))!important;pointer-events:none!important}
body.route-portfolio .portfolio-card-media img{transition:transform .35s ease!important}
body.route-portfolio .portfolio-card-compact:hover .portfolio-card-media img{transform:scale(1.025)!important}
body.route-portfolio .portfolio-static-preview-badge{position:absolute!important;z-index:3!important;right:14px!important;bottom:14px!important;padding:7px 10px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:999px!important;background:rgba(10,11,18,.72)!important;color:#fff!important;font-size:.7rem!important;font-weight:700!important;backdrop-filter:blur(10px)!important}
body.route-portfolio .portfolio-card-body{display:flex!important;flex:1!important;flex-direction:column!important;padding:26px!important}
body.route-portfolio .portfolio-card-meta{display:flex!important;justify-content:flex-start!important;gap:9px 12px!important;align-items:center!important;flex-wrap:wrap!important;color:var(--muted)!important;font-size:.75rem!important;font-weight:600!important;letter-spacing:.04em!important;text-transform:uppercase!important}
body.route-portfolio .portfolio-card-meta small{margin-left:auto!important;color:var(--muted)!important;font-size:.72rem!important}
body.route-portfolio .portfolio-project-number{display:inline-grid!important;place-items:center!important;min-width:30px!important;height:26px!important;padding:0 7px!important;border:1px solid var(--line)!important;border-radius:7px!important;color:var(--primary)!important;font-size:.72rem!important;font-weight:700!important;letter-spacing:.04em!important}
body.route-portfolio .portfolio-card-body h2{margin:16px 0 10px!important;color:var(--text)!important;font-size:1.5rem!important;font-weight:620!important;line-height:1.2!important;letter-spacing:-.035em!important}
body.route-portfolio .portfolio-card-body h2 a{color:inherit!important;text-decoration:none!important}
body.route-portfolio .portfolio-card-body p{margin:0!important;color:var(--muted)!important;font-size:.92rem!important;line-height:1.7!important}
body.route-portfolio .project-tags.compact{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:18px!important}
body.route-portfolio .project-tags.compact span{padding:5px 9px!important;border:1px solid var(--line)!important;border-radius:6px!important;background:transparent!important;color:var(--muted)!important;font-size:.72rem!important;font-weight:600!important}
body.route-portfolio .portfolio-card-bottom{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:16px!important;margin-top:auto!important;padding-top:20px!important;border-top:0!important}
body.route-portfolio .portfolio-card-bottom>small{max-width:42%!important;overflow:hidden!important;color:var(--muted)!important;font-size:.76rem!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.route-portfolio .portfolio-card-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
body.route-portfolio .text-link{color:var(--primary)!important;font-size:.8rem!important;font-weight:650!important;text-decoration:none!important}
body.route-portfolio .text-link:hover{color:var(--primary-dark)!important}
body.route-portfolio .portfolio-empty{padding:28px!important;border:1px dashed var(--line)!important;border-radius:18px!important;background:var(--paper)!important;color:var(--muted)!important}

body.route-portfolio .portfolio-archive-grid.is-list{grid-template-columns:1fr!important}
body.route-portfolio .portfolio-archive-grid.is-list .portfolio-card-compact{display:grid!important;grid-template-columns:minmax(250px,.44fr) minmax(0,1fr)!important;min-height:280px!important}
body.route-portfolio .portfolio-archive-grid.is-list .portfolio-card-media{height:100%!important;aspect-ratio:auto!important}
body.route-portfolio .portfolio-archive-grid.is-list .portfolio-card-body{padding:28px!important}

body.route-portfolio .portfolio-page-section + .section{padding-top:0!important}
body.route-portfolio .project-details-layout{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:40px!important;align-items:center!important;padding:32px!important;border:1px solid var(--line)!important;border-radius:22px!important;background:var(--paper)!important;box-shadow:none!important}
body.route-portfolio .project-details-layout article h2{margin:8px 0 12px!important;color:var(--text)!important;font-size:clamp(1.8rem,3vw,2.7rem)!important;font-weight:620!important;line-height:1.08!important;letter-spacing:-.04em!important}
body.route-portfolio .project-details-layout article p{max-width:700px!important;margin:0!important;color:var(--muted)!important}
body.route-portfolio .project-details-layout aside{padding:0!important;border:0!important}

@media(max-width:1080px){
  body.route-portfolio .portfolio-hero-layout{grid-template-columns:1fr minmax(280px,.7fr)!important;gap:36px!important}
  body.route-portfolio .portfolio-toolbar{grid-template-columns:1fr 1.2fr!important}
  body.route-portfolio .portfolio-display-tools{grid-column:1/-1!important;justify-content:flex-end!important}
  body.route-portfolio .portfolio-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body.route-portfolio .container{width:calc(100% - 36px)!important}
  body.route-portfolio .portfolio-subhero{padding:44px 0 38px!important}
  body.route-portfolio .portfolio-hero-layout{grid-template-columns:1fr!important;gap:24px!important}
  body.route-portfolio .portfolio-hero-copy h1{font-size:clamp(2.5rem,12vw,4rem)!important}
  body.route-portfolio .portfolio-hero-copy>p{font-size:1rem!important}
  body.route-portfolio .portfolio-hero-tools .button{width:100%!important}
  body.route-portfolio .portfolio-profile-card{grid-template-columns:70px minmax(0,1fr)!important;padding:20px!important}
  body.route-portfolio .portfolio-profile-portrait{width:70px!important;height:70px!important;border-radius:18px!important}
  body.route-portfolio .section{padding:46px 0!important}
  body.route-portfolio .portfolio-page-section{padding-top:40px!important;padding-bottom:44px!important}
  body.route-portfolio .portfolio-list-intro{grid-template-columns:1fr!important;gap:10px!important;margin-bottom:18px!important;padding-bottom:18px!important}
  body.route-portfolio .portfolio-toolbar{grid-template-columns:1fr!important;gap:16px!important;padding:14px!important}
  body.route-portfolio .portfolio-display-tools{grid-column:auto!important;justify-content:space-between!important}
  body.route-portfolio .portfolio-sort{min-width:0!important;flex:1!important}
  body.route-portfolio .portfolio-sort select{width:100%!important}
  body.route-portfolio .portfolio-archive-grid{grid-template-columns:1fr!important}
  body.route-portfolio .portfolio-card-compact{max-width:none!important;width:100%!important;margin:0!important}
  body.route-portfolio .portfolio-card-body{padding:22px!important}
  body.route-portfolio .portfolio-card-bottom{align-items:flex-start!important;flex-direction:column!important}
  body.route-portfolio .portfolio-card-bottom>small{max-width:100%!important}
  body.route-portfolio .portfolio-card-actions{justify-content:flex-start!important}
  body.route-portfolio .portfolio-archive-grid.is-list .portfolio-card-compact{display:flex!important;min-height:0!important}
  body.route-portfolio .portfolio-archive-grid.is-list .portfolio-card-media{height:auto!important;aspect-ratio:1/1!important}
  body.route-portfolio .project-details-layout{grid-template-columns:1fr!important;gap:24px!important;padding:24px!important}
}
@media(max-width:480px){
  body.route-portfolio .container{width:calc(100% - 28px)!important}
  body.route-portfolio .portfolio-hero-metrics{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
  body.route-portfolio .portfolio-hero-metrics span:last-child{grid-column:1/-1!important}
  body.route-portfolio .portfolio-profile-card{grid-template-columns:58px minmax(0,1fr)!important;gap:14px!important;padding:16px!important}
  body.route-portfolio .portfolio-profile-portrait{width:58px!important;height:58px!important;border-radius:15px!important}
  body.route-portfolio .portfolio-profile-copy strong{font-size:1rem!important}
  body.route-portfolio .portfolio-profile-copy small{font-size:.78rem!important}
  body.route-portfolio .portfolio-card-body h2{font-size:1.3rem!important}
}

body.route-portfolio .site-footer{border-top:1px solid var(--line)!important;background:var(--paper)!important;color:var(--text)!important}
html[data-theme="classic-dark"] body.route-portfolio .site-footer,
html[data-theme="classic"] body.route-portfolio .site-footer{background:var(--paper)!important;color:var(--text)!important}
body.route-portfolio .footer-contact-strip{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:40px!important;padding-block:40px!important;border-color:var(--line)!important}
body.route-portfolio .footer-contact-copy h2{margin:10px 0 12px!important;color:var(--text)!important;font-family:inherit!important;font-size:clamp(2rem,3.3vw,3rem)!important;font-weight:620!important;line-height:1.08!important;letter-spacing:-.045em!important}
body.route-portfolio .footer-contact-copy p{max-width:680px!important;margin:0!important;color:var(--muted)!important}
body.route-portfolio .footer-contact-actions{display:grid!important;gap:12px!important}
body.route-portfolio .contact-action{display:flex!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--bg)!important;color:var(--text)!important;text-decoration:none!important;box-shadow:none!important}
body.route-portfolio .contact-action:hover{border-color:var(--primary)!important;background:var(--paper-soft)!important;transform:none!important}
body.route-portfolio .contact-action small{display:block!important;color:var(--muted)!important}
body.route-portfolio .contact-action strong{color:var(--text)!important}
body.route-portfolio .contact-action svg,body.route-portfolio .footer-social-link svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.5!important;flex-shrink:0!important}
body.route-portfolio .footer-main{display:grid!important;grid-template-columns:1.5fr 1fr 1fr 1fr!important;gap:30px!important;padding-block:30px!important;border-top:1px solid var(--line)!important}
body.route-portfolio .footer-main h3{margin:0 0 12px!important;color:var(--text)!important;font-size:1rem!important;letter-spacing:0!important}
body.route-portfolio .footer-main p,body.route-portfolio .footer-main span{color:var(--muted)!important;font-size:.875rem!important}
body.route-portfolio .footer-main a{display:block!important;margin:8px 0!important;color:var(--muted)!important;font-size:.875rem!important;text-decoration:none!important}
body.route-portfolio .footer-main a:hover{color:var(--text)!important}
body.route-portfolio .footer-main .footer-brand{display:flex!important;align-items:center!important;gap:10px!important;color:var(--text)!important;font-size:1rem!important}
body.route-portfolio .footer-channels{display:flex!important;gap:30px!important;align-items:center!important;padding-block:22px!important;border-top:1px solid var(--line)!important}
body.route-portfolio .footer-channels-label{color:var(--text)!important;font-weight:700!important}
body.route-portfolio .footer-social-links{display:flex!important;gap:20px!important;flex-wrap:wrap!important}
body.route-portfolio .footer-social-link{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;color:var(--muted)!important;font-size:.875rem!important;text-decoration:none!important}
body.route-portfolio .footer-social-link:hover{color:var(--text)!important}
body.route-portfolio .footer-bottom{display:flex!important;justify-content:space-between!important;gap:20px!important;padding-block:20px!important;border-top:1px solid var(--line)!important;color:var(--muted)!important}
@media(max-width:760px){
  body.route-portfolio .footer-contact-strip{flex-direction:column!important;gap:24px!important}
  body.route-portfolio .footer-main{grid-template-columns:1fr 1fr!important}
  body.route-portfolio .footer-bottom{flex-direction:column!important;gap:6px!important}
}
@media(max-width:520px){
  body.route-portfolio .footer-main{grid-template-columns:1fr!important;gap:24px!important}
  body.route-portfolio .footer-channels{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}
}

/* Portfolio must visually reuse the Home header: never show the desktop CTA there. */
body.route-portfolio .site-header .header-cta{display:none!important;}

/* Project detail browser-style capture viewer. */
body.route-portfolio .project-cover.project-browser-preview{
  display:flex!important;
  flex-direction:column!important;
  align-self:start!important;
  justify-self:end!important;
  width:min(100%,760px)!important;
  height:min(74vh,760px)!important;
  min-height:500px!important;
  max-height:min(74vh,760px)!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  background:var(--paper)!important;
  box-shadow:0 20px 55px rgba(0,0,0,.18)!important;
}
body.route-portfolio .project-browser-toolbar{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:48px!important;
  padding:9px 13px!important;
  border-bottom:1px solid var(--line)!important;
  background:var(--paper-soft)!important;
  color:var(--text)!important;
}
body.route-portfolio .project-browser-dots{display:flex!important;gap:5px!important}
body.route-portfolio .project-browser-dots i{display:block!important;width:7px!important;height:7px!important;border-radius:50%!important;background:var(--line)!important}
body.route-portfolio .project-browser-dots i:nth-child(1){background:#ef7a86!important}
body.route-portfolio .project-browser-dots i:nth-child(2){background:#e9bd62!important}
body.route-portfolio .project-browser-dots i:nth-child(3){background:#69c997!important}
body.route-portfolio .project-browser-toolbar strong{font-size:.72rem!important;font-weight:700!important;white-space:nowrap!important}
body.route-portfolio .project-browser-toolbar small{min-width:0!important;overflow:hidden!important;color:var(--muted)!important;font-size:.67rem!important;text-overflow:ellipsis!important;white-space:nowrap!important;text-align:right!important}
body.route-portfolio .project-browser-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  scrollbar-width:thin!important;
  scrollbar-color:color-mix(in srgb,var(--primary) 48%,transparent) transparent!important;
  background:#f4f5f8!important;
  cursor:ns-resize!important;
}
html[data-theme="classic-dark"] body.route-portfolio .project-browser-scroll,
html[data-theme="dark"] body.route-portfolio .project-browser-scroll{background:#090a0f!important}
body.route-portfolio .project-browser-scroll::-webkit-scrollbar{width:7px!important}
body.route-portfolio .project-browser-scroll::-webkit-scrollbar-track{background:transparent!important}
body.route-portfolio .project-browser-scroll::-webkit-scrollbar-thumb{border-radius:999px!important;background:color-mix(in srgb,var(--primary) 48%,transparent)!important}
body.route-portfolio .project-browser-scroll>img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center top!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
}
body.route-portfolio .project-cover.project-browser-preview.is-placeholder{display:grid!important;place-items:center!important;height:auto!important;min-height:430px!important}
@media(max-width:900px){
  body.route-portfolio .project-cover.project-browser-preview{justify-self:center!important;width:100%!important;height:min(70vh,700px)!important;min-height:440px!important}
}
@media(max-width:620px){
  body.route-portfolio .project-cover.project-browser-preview{height:66vh!important;min-height:370px!important;max-height:66vh!important;border-radius:16px!important}
  body.route-portfolio .project-browser-toolbar{grid-template-columns:auto 1fr!important;gap:9px!important;min-height:44px!important;padding:8px 10px!important}
  body.route-portfolio .project-browser-toolbar strong{font-size:.68rem!important}
  body.route-portfolio .project-browser-toolbar small{grid-column:1/-1!important;text-align:left!important;font-size:.63rem!important;white-space:normal!important;line-height:1.25!important}
}

/* Portfolio: back-to-top control (kept local to the new visual system). */
body.route-portfolio .back-to-top{
  position:fixed;
  right:24px;
  bottom:26px;
  z-index:90;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:color-mix(in srgb,var(--paper) 94%,transparent);
  color:var(--text);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  font:700 1.05rem/1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  cursor:pointer;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease;
}
body.route-portfolio .back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
@media(hover:hover){
  body.route-portfolio .back-to-top:hover{
    border-color:var(--primary);
    background:var(--primary);
    color:var(--bg);
    transform:translateY(-2px);
  }
}
body.route-portfolio .back-to-top:active{transform:translateY(0)}
body.route-portfolio .back-to-top:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
@media(max-width:760px){
  body.route-portfolio .back-to-top{right:14px;bottom:18px;width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){
  body.route-portfolio .back-to-top{transition:none!important}
}

/* Homepage services: compact one-row infinite carousel.
   Scoped to .studio-services so Bundles and every other card grid stay unchanged. */
body.route-home .studio-services .studio-services-carousel{
  position:relative;
  min-width:0;
}
body.route-home .studio-services .studio-services-viewport{
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:none;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-y pinch-zoom;
  -webkit-overflow-scrolling:touch;
  padding:2px 0 4px;
}
body.route-home .studio-services .studio-services-viewport::-webkit-scrollbar{display:none}
body.route-home .studio-services .studio-services-viewport.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
  user-select:none;
}
body.route-home .studio-services .studio-services-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 54px)/4);
  grid-template-rows:1fr;
  align-items:stretch;
  gap:18px;
  width:100%;
  min-width:0;
}
body.route-home .studio-services .studio-service{
  width:100%;
  min-width:0;
  height:100%;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}
body.route-home .studio-services .studio-services-controls{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  margin-top:14px;
}
body.route-home .studio-services .studio-services-control{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--paper);
  color:var(--text);
  font:600 1.05rem/1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease;
}
@media(hover:hover){
  body.route-home .studio-services .studio-services-control:hover{
    transform:translateY(-2px);
    border-color:var(--primary);
    background:var(--paper-elevated);
  }
}
@media(max-width:1024px){
  body.route-home .studio-services .studio-services-track{
    grid-auto-columns:calc((100% - 32px)/3);
    gap:16px;
  }
  body.route-home .studio-services .studio-service{padding:24px}
  body.route-home .studio-services .studio-service h3{font-size:1.35rem}
}
@media(max-width:760px){
  body.route-home .studio-services .studio-services-track{
    grid-auto-columns:calc((100% - 12px)/2);
    gap:12px;
  }
  body.route-home .studio-services .studio-service{padding:18px 16px}
  body.route-home .studio-services .studio-service h3{font-size:1.08rem;line-height:1.2}
  body.route-home .studio-services .studio-service p,
  body.route-home .studio-services .studio-service li{font-size:.84rem;line-height:1.45}
  body.route-home .studio-services .studio-service ul{padding-left:17px;margin-bottom:18px}
  body.route-home .studio-services .studio-service .gem-btn{width:100%;padding-inline:10px;font-size:.82rem}
  body.route-home .studio-services .studio-services-controls{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
  body.route-home .studio-services .studio-services-viewport{scroll-behavior:auto!important}
}

/* Services carousel: compact near-square cards and full details dialog. */
body.route-home .studio-services .studio-services-track{
  grid-template-rows:auto;
  align-items:start;
}
body.route-home .studio-services .studio-service{
  position:relative;
  height:auto;
  aspect-ratio:1 / 1.04;
  min-height:0;
  overflow:hidden;
  padding:22px 20px 19px;
}
body.route-home .studio-services .studio-service h3{
  margin:18px 0 10px;
  max-width:100%;
  font-size:clamp(1.06rem,1.4vw,1.35rem);
  line-height:1.12;
  letter-spacing:-.025em;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
body.route-home .studio-services .studio-service .studio-service-summary{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.48;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
body.route-home .studio-services .studio-service .studio-service-full-list,
body.route-home .studio-services .studio-service .studio-service-full-cta{
  display:none!important;
}
body.route-home .studio-services .studio-service-more{
  margin-top:auto;
  padding:14px 0 0;
  border:0;
  background:transparent;
  color:var(--primary);
  font:700 .88rem/1.2 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor:pointer;
  text-align:left;
  transition:opacity .18s ease,transform .18s ease;
}
@media(hover:hover){
  body.route-home .studio-services .studio-service-more:hover{opacity:.78;transform:translateX(3px)}
}
body.route-home .studio-services .studio-service-dialog{
  width:min(92vw,680px);
  max-height:min(84vh,760px);
  margin:auto;
  padding:0;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--paper);
  color:var(--text);
  box-shadow:0 28px 90px rgba(0,0,0,.28);
  overflow:hidden;
}
body.route-home .studio-services .studio-service-dialog::backdrop{
  background:rgba(7,10,18,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
body.route-home .studio-services .studio-service-dialog-inner{
  max-height:min(84vh,760px);
  overflow:auto;
  padding:42px 42px 38px;
  overscroll-behavior:contain;
}
body.route-home .studio-services .studio-service-dialog-close{
  position:absolute;
  z-index:2;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--paper-elevated,var(--paper));
  color:var(--text);
  font:400 1.45rem/1 system-ui,sans-serif;
  cursor:pointer;
}
body.route-home .studio-services .studio-service-dialog h3{
  max-width:90%;
  margin:12px 0 16px;
  font-size:clamp(1.8rem,4vw,2.7rem);
  line-height:1.06;
  letter-spacing:-.04em;
}
body.route-home .studio-services .studio-service-dialog p{
  margin:0 0 24px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.7;
}
body.route-home .studio-services .studio-service-dialog ul{
  margin:0 0 28px;
  padding:20px 20px 20px 38px;
  border:1px solid var(--line);
  background:var(--paper-soft);
  color:var(--muted);
}
body.route-home .studio-services .studio-service-dialog li{margin:8px 0;line-height:1.5}
body.route-home .studio-services .studio-service-dialog .gem-btn{width:max-content;max-width:100%}
body.route-home:has(.studio-service-dialog[open]){overflow:hidden}

@media(max-width:1024px){
  body.route-home .studio-services .studio-service{
    aspect-ratio:1 / 1.05;
    padding:19px 17px 17px;
  }
  body.route-home .studio-services .studio-service h3{margin-top:14px;font-size:1.08rem}
  body.route-home .studio-services .studio-service .studio-service-summary{-webkit-line-clamp:3;font-size:.84rem}
}
@media(max-width:760px){
  body.route-home .studio-services .studio-service{
    aspect-ratio:1 / 1.06;
    padding:14px 12px 13px;
  }
  body.route-home .studio-services .studio-service-top{font-size:.75rem}
  body.route-home .studio-services .studio-service-top span:last-child{font-size:1.05rem}
  body.route-home .studio-services .studio-service h3{
    margin:9px 0 7px;
    font-size:.88rem;
    line-height:1.14;
  }
  body.route-home .studio-services .studio-service .studio-service-summary{
    -webkit-line-clamp:3;
    font-size:.74rem;
    line-height:1.38;
  }
  body.route-home .studio-services .studio-service-more{
    padding-top:8px;
    font-size:.75rem;
  }
  body.route-home .studio-services .studio-service-dialog{
    width:calc(100vw - 24px);
    max-height:88vh;
    border-radius:18px;
  }
  body.route-home .studio-services .studio-service-dialog-inner{
    max-height:88vh;
    padding:34px 22px 26px;
  }
  body.route-home .studio-services .studio-service-dialog h3{font-size:1.7rem;max-width:85%}
}

/* Compact gallery showcase and tighter vertical rhythm on Home. */
body.route-home .gem-section{padding:64px 0}
body.route-home .gem-section-heading{margin-bottom:30px}
body.route-home .yrv-home-gallery-showcase{padding:58px 0;background:var(--paper-soft);border-block:1px solid var(--line)}
body.route-home .yrv-home-gallery-showcase-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-bottom:24px}
body.route-home .yrv-home-gallery-showcase-head>div{max-width:780px}
body.route-home .yrv-home-gallery-showcase-head h2{margin:8px 0 10px;font-size:clamp(2rem,4vw,3.35rem);line-height:1.02;letter-spacing:-.05em}
body.route-home .yrv-home-gallery-showcase-head p{max-width:680px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
body.route-home .yrv-home-gallery-showcase-head .gem-btn{white-space:nowrap}
body.route-home .yrv-home-gallery-mesh{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;overflow:hidden;background:var(--line)}
body.route-home .yrv-home-gallery-tile{position:relative;display:block;min-width:0;aspect-ratio:16/10;overflow:hidden;background:var(--paper);text-decoration:none}
body.route-home .yrv-home-gallery-tile img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:scale(1.002);transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease;filter:saturate(.98) contrast(1.02)}
body.route-home .yrv-home-gallery-tile::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,10,16,0),rgba(8,10,16,.08));opacity:.55;transition:opacity .3s ease}
@media(hover:hover){body.route-home .yrv-home-gallery-tile:hover img{transform:scale(1.035);filter:saturate(1.03) contrast(1.04)}body.route-home .yrv-home-gallery-tile:hover::after{opacity:.2}}
@media(max-width:960px){
  body.route-home .yrv-home-gallery-showcase-head{grid-template-columns:1fr;align-items:start;gap:18px}
  body.route-home .yrv-home-gallery-showcase-head .gem-btn{width:max-content;max-width:100%}
  body.route-home .yrv-home-gallery-mesh{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
  body.route-home .yrv-home-gallery-tile{aspect-ratio:4/3}
}
@media(max-width:760px){
  body.route-home .gem-section{padding:44px 0}
  body.route-home .gem-section-heading{margin-bottom:26px}
  body.route-home .yrv-home-gallery-showcase{padding:42px 0}
  body.route-home .yrv-home-gallery-showcase-head{margin-bottom:18px}
  body.route-home .yrv-home-gallery-showcase-head h2{font-size:clamp(1.8rem,8vw,2.55rem)}
  body.route-home .yrv-home-gallery-showcase-head p{font-size:.94rem;line-height:1.55}
  body.route-home .yrv-home-gallery-mesh{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px}
  body.route-home .yrv-home-gallery-tile{aspect-ratio:1/1}
  body.route-home .yrv-home-gallery-mobile-extra{display:none}
}
@media(max-width:420px){
  body.route-home .yrv-home-gallery-showcase{padding:38px 0}
  body.route-home .yrv-home-gallery-showcase-head .gem-btn{min-height:44px;padding:10px 14px}
}
