/* A shorter sales path, retaining the original YARVI palette and imagery. */
[hidden]{display:none!important}
button{touch-action:manipulation}
.qualities{padding-bottom:52px}
.quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;list-style:none;padding:0;margin:0}
.quality-grid li{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.45;color:var(--ink)}
.quality-grid li>span{flex:0 0 24px;color:#2c98cc;font-size:26px}
.qualities .section-top>p{align-self:end}
.team{padding-top:40px}
.team-workspace{overflow:visible}
.team-visual{border-radius:16px 0 0 16px}
.team-workspace .role-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.role-tabs button{min-width:0;overflow-wrap:anywhere}
.role-more{margin:18px 0 0;border-top:1px solid #d5e5ef;padding-top:12px}
.role-more>summary,.plain-disclosure>summary{cursor:pointer;color:#246c95;padding:6px 0;font-weight:600;min-height:44px}
.role-output{margin-top:20px;padding:18px;border:1px solid #cfdfeb;border-radius:10px;background:#eaf5fc}
.role-output p{margin:8px 0 0;color:var(--ink);font-size:1rem}
.role-contact{margin-top:18px;width:100%;justify-content:space-between}
.team-extension .extra-detail{min-width:0}
.team-extension .extra-card{align-items:start}
.role-card{min-width:0}
.practice-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border:1px solid #cfdfeb;border-radius:18px;background:#ffffff9e;overflow:hidden}
.practice-image{position:relative;min-width:0;margin:0;min-height:560px;background:#123b53}
.practice-image img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.practice-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:60px 26px 26px;color:#fff;background:linear-gradient(transparent,#092c42ed);font-size:1rem}
.practice-content{padding:28px;min-width:0}
.scenario-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:26px}
.scenario-tabs button{min-height:44px;min-width:0;border:1px solid #c7dce9;border-radius:8px;padding:10px 12px;background:#f6fbff;color:var(--ink);font-size:.875rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.scenario-tabs button[aria-selected=true]{background:#185d87;color:#fff;border-color:#185d87}
/* Reserve the tallest scenario's space so switching tabs never rescales the photo. */
.scenario-panels{display:grid;align-items:start;min-width:0}
.scenario-panels>.scenario-panel{grid-area:1/1;min-width:0}
.scenario-panels>.scenario-panel[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.scenario-flow{display:grid;gap:14px}
.scenario-flow>div{padding:16px 18px;border-left:2px solid #b6d8eb;background:#f3f9fc;border-radius:0 8px 8px 0}
.scenario-flow p{margin:6px 0 0;color:var(--ink)}
.scenario-flow .scenario-result{background:#e1f1fc;border-color:#298cbd}
.scenario-inputs,.scenario-note{color:var(--muted);font-size:.875rem!important}
.scenario-inputs strong{display:block;margin-bottom:5px}
.scenario-note{border-top:1px solid #d4e4ee;padding-top:16px;margin-bottom:0}
.first-contact{padding-top:20px;padding-bottom:64px}
.first-contact-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid #c9deec;border-radius:18px;background:linear-gradient(115deg,#e4f3ff,#eef2fb 55%,#e2f3f4)}
/* Full frame: both people sit near the edges of this photograph. */
.first-contact-card>img{width:100%;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain;object-position:center}
.first-contact-card>div{padding:40px;min-width:0}
.first-contact-card h2{margin-top:12px}
.first-contact-card .button{margin-top:12px}
.site-details{padding-top:40px;padding-bottom:40px}
.detail-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;align-items:start}
.info-tile{display:contents}
.info-tile::details-content{display:contents}
.info-tile>summary{position:relative;display:flex;flex-direction:column;gap:12px;list-style:none;cursor:pointer;min-height:190px;padding:28px;border:1px solid #c4dbe9;border-radius:14px;background:linear-gradient(115deg,#e6f3fc,#e9eefb 55%,#e5f4f3);transition:border-color .2s,box-shadow .2s;grid-row:1;min-width:0}
.info-tile:nth-child(1)>summary{grid-column:1}.info-tile:nth-child(2)>summary{grid-column:2}.info-tile:nth-child(3)>summary{grid-column:3}
.info-tile>summary::-webkit-details-marker{display:none}
.info-tile>summary:hover,.info-tile[open]>summary{border-color:#4c9cc3;box-shadow:0 8px 26px #245e8812}
.info-tile>summary:focus-visible{outline:3px solid #147bd1;outline-offset:4px}
.tile-number{font-size:.875rem;color:#4f7a92;letter-spacing:.12em}
.tile-title{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.3;font-weight:600;color:var(--ink)}
.tile-subtitle{font-size:.9375rem;line-height:1.5;color:var(--muted);padding-right:16px}
.tile-toggle{position:absolute;top:24px;right:24px;font-size:24px;color:#34799f;line-height:1;transition:transform .2s}
.info-tile[open] .tile-toggle{transform:rotate(45deg)}
.info-content{grid-column:1/-1;grid-row:2;min-width:0;margin-top:20px;border:1px solid #c9deec;border-radius:16px;padding:32px;background:#f7fbfe;box-shadow:0 18px 45px #285c7c0a}
.info-tile:not([open])>.info-content{display:none}


.info-content .reveal{opacity:1!important;transform:none!important}
.info-content h3{font-size:clamp(1.5rem,2.7vw,2.2rem)}
.info-content .expert-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:36px;align-items:start}
.info-content .expert-portrait{height:460px;min-height:0;max-height:none;aspect-ratio:auto}
.info-content .expert-portrait img{height:100%;object-fit:cover;object-position:center top}
.info-content .expert-copy .expert-lead{font-size:1.125rem}
.plain-disclosure{margin-top:18px;border-top:1px solid #d4e4ed;padding-top:10px}
.plain-disclosure h3{font-size:1.25rem;margin-top:24px}
.info-content .portfolio-disclosure{margin:28px 0;width:100%;border-radius:12px;overflow:hidden}
.info-content .portfolio-disclosure>summary,.info-content .portfolio-disclosure-body{width:auto;max-width:none;margin:0;padding:22px 26px}
.info-content .portfolio-disclosure-body{padding-top:0}
.info-content .portfolio-disclosure .project-heading p{font-size:1.25rem}
.info-content .portfolio-projects h3{font-size:1.4rem}
.info-content .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:32px 0}
.info-content .steps h4{font-size:1.125rem;line-height:1.4;margin:18px 0 12px}
.info-content .steps p{margin:0;color:var(--muted);font-size:.9375rem}
.process-note{padding:20px 0;border-top:1px solid #d3e3ed;color:var(--muted)}
.faq-item{border-bottom:1px solid #cfdfeb;padding:8px 0}
.faq-item>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:60px;padding:16px 0;list-style:none;font-weight:600;font-size:1.0625rem}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary:after{content:'+';font-size:24px;color:#34799f;font-weight:400;flex-shrink:0}
.faq-item[open]>summary:after{content:'−'}
.faq-item>p,.faq-item>.disclosure-panel>.disclosure-body>p{max-width:75ch;color:var(--muted)}
.faq-item .integration-security{margin:0 0 24px;padding:24px}
.faq-item .integration-security h3{font-size:1.5rem}
.faq-item .tech-grid{margin:12px 0 24px}
.faq-item .tech-art{height:160px}
.faq-item .tech-body h3{font-size:1.375rem}
.faq-item .integration-example{grid-template-columns:1fr;gap:16px;padding:24px;margin-bottom:20px}
.faq-item .integration-example h3{font-size:1.5rem}
.contact{padding-top:64px}
.contact-gallery{display:block}
.contact-gallery .contact-image{height:auto;min-height:0;aspect-ratio:auto}
.contact-gallery .contact-image img{width:100%;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain;object-position:center}
.contact-context{padding:18px 0;border-top:1px solid #cddfe9;border-bottom:1px solid #cddfe9;margin-top:24px}
.contact-context textarea{display:block;width:100%;box-sizing:border-box;margin-top:12px;padding:12px;font:inherit;font-size:1rem;line-height:1.5;color:var(--ink);background:#fff;border:1px solid #bfd9e8;border-radius:8px;resize:vertical;min-height:105px}
.copy-message{padding:10px 0;min-height:44px;border:0;background:transparent;color:#17678f;font-size:.9375rem;text-align:left}
#copy-feedback{display:block;font-size:.875rem;color:var(--muted)}
@media(max-width:1100px){.practice-layout{grid-template-columns:1fr 1.2fr}.practice-image{min-height:480px}.info-content .steps{grid-template-columns:1fr 1fr}.first-contact-card>div{padding:28px}.info-tile>summary{padding:22px;min-height:185px}.tile-toggle{top:20px;right:20px}.team-visual{border-radius:16px 16px 0 0}}
@media(max-width:800px){.practice-layout{grid-template-columns:1fr}.practice-image{min-height:0;aspect-ratio:16/9}.info-content .expert-layout{grid-template-columns:1fr}.info-content .expert-portrait{max-width:400px;width:100%;margin:auto;height:430px}.detail-tiles{gap:0 12px}.info-tile>summary{min-height:180px;padding:20px 16px}.tile-title{padding-right:6px}.tile-number{margin-bottom:6px}.tile-toggle{right:16px;top:18px}.quality-grid{gap:0 24px}.quality-grid li{font-size:1.125rem}}
@media(max-width:600px){.quality-grid{grid-template-columns:1fr}.quality-grid li{padding:16px 0}.qualities{padding-top:44px;padding-bottom:32px}.practice-content{padding:22px}.practice-image figcaption{font-size:.875rem;padding:45px 18px 18px}.scenario-tabs button{flex:1 1 40%;min-width:0}.first-contact-card>div{padding:24px}.first-contact{padding-bottom:40px}.detail-tiles{display:block}.info-tile{display:block;margin-bottom:12px}.info-tile>summary{min-height:0;padding:22px;gap:8px}.tile-number{display:none}.tile-title{font-size:1.25rem}.tile-subtitle{font-size:.875rem}.info-content{padding:20px;margin-top:10px}.info-content .steps{grid-template-columns:1fr;gap:24px}.info-content .steps h4{margin:6px 0}.info-content .portfolio-disclosure>summary,.info-content .portfolio-disclosure-body{padding:20px}.info-content .portfolio-disclosure-body{padding:0 12px 18px}.info-content .expert-portrait{height:360px}.faq-item>summary{font-size:1rem}.faq-item .integration-security,.faq-item .integration-example{padding:18px}.contact{padding-top:40px}.role-tabs button{padding:10px 8px;gap:4px;font-size:.875rem}.click-hand{width:20px;height:20px}.header nav{flex-wrap:wrap}.first-contact-card .button,.info-content>.button{width:100%;justify-content:space-between}}



.team-visual>.team-image-buffer{pointer-events:none}
@media(max-width:760px),(hover:none){.team-visual>img{will-change:opacity;backface-visibility:hidden}}
@media(prefers-reduced-motion:reduce){.info-tile>summary,.tile-toggle{transition:none}}

/* Recovered details keep the main page compact and remain readable on phones. */
.faq-item .integration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.faq-item .integration-card{padding:24px;min-width:0}
.faq-item .integration-card h3{font-size:1.375rem}
.integration-review-note{font-size:.9375rem!important}
.industry-more{margin-top:20px}
.industry-more>summary{color:#246c95;line-height:1.5}
.capability-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:24px 0}
.capability-list li{border-top:1px solid #cfdfeb;padding-top:16px}
.capability-list strong{display:block;font-size:1.0625rem}
.capability-list p{margin:8px 0 0;color:var(--muted);font-size:.9375rem}
.expert-scope{border-top:1px solid #cfdfeb;margin-top:24px;padding-top:8px}
.expert-scope h4{font-size:1.125rem;margin-bottom:12px}
#team-development{margin:24px 0}
#team-development p{max-width:75ch;color:var(--muted)}
@media(max-width:1000px){.first-contact-card{grid-template-columns:1fr}}
@media(max-width:800px){.faq-item .integration-grid,.capability-list{grid-template-columns:1fr}}
@media(max-width:600px){.faq-item .integration-card{padding:18px}}

/* Consistent type and spacing for the current seven-section layout. */
:root{
  --heading-size:clamp(1.875rem,1.25rem + 2.5vw,3.25rem);
  --section-space:clamp(40px,5.5vw,72px);
  --section-gap:clamp(24px,3vw,40px);
  --card-padding:clamp(20px,2.5vw,32px);
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,select,textarea,input{font-family:inherit}
main>.section{padding-block:var(--section-space)}
.section h2,.section h3,dialog h2{overflow-wrap:break-word}
.section-heading{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  align-items:end;gap:24px var(--section-gap);margin-bottom:var(--section-gap);
}
.section-heading>.section-kicker{grid-column:1/-1}
.section-heading>div{min-width:0}
.section-heading h2{margin:0}
.site-details .section-heading>div:not(.section-kicker){grid-column:1/-1}
.section-heading>p{margin:0;max-width:36ch;justify-self:end;align-self:end}
.section .section-kicker,.hero .section-kicker{
  width:100%;text-align:right;font-size:clamp(.75rem,.7rem + .2vw,.875rem);
  line-height:1.6;letter-spacing:.08em;overflow-wrap:break-word;
}
.hero{padding-top:clamp(32px,4.5vw,64px)}
.hero-copy{display:grid;justify-items:center}
.hero-copy>.section-kicker{justify-self:stretch;margin-bottom:24px}
.hero-copy h1{margin:0 0 24px}
.hero-copy p{margin:0 auto 28px}
.hero-copy>.button{justify-self:end;max-width:100%;text-align:left}
.button>span[aria-hidden],.hero-copy>.button>span{flex-shrink:0}
.hero-scene{margin-top:32px}
.hero-scene>img{height:auto}
@media(max-width:760px){
  .hero-scene>img{aspect-ratio:auto;object-fit:contain;object-position:center}
}
.first-contact-card>div,.contact-card{padding:var(--card-padding)}
.first-contact-card h2,.contact-card h2{margin:20px 0 24px}
.first-contact-card>div>p{margin:0 0 20px}
.first-contact-card .button{margin-top:4px}
.contact-path{margin-top:24px;padding-top:24px}
.contact-path h3{margin:0 0 12px}
.contact-path p{margin:0}
.contact-path .button{margin-top:24px;min-height:52px}
.role-card,.team-extension .extra-card{margin-top:0}
.team-extension{margin-top:24px}
.role-card #role-title{font-size:1.125rem;line-height:1.5;margin:12px 0}
.role-output p,.extra-card .extra-detail .role-output p{margin:8px 0 0;font-size:1rem;line-height:1.65}
.info-content{padding:var(--card-padding)}
.info-tile>summary{padding:24px;min-height:190px;align-self:stretch}
.tile-title{padding-right:24px;font-size:clamp(1.125rem,1rem + .5vw,1.5rem);line-height:1.35}
.tile-subtitle{padding-right:0}
.info-content .steps{gap:24px}
.integration-index{font-size:.875rem;line-height:1.5;letter-spacing:.06em}
.faq-item>summary,.plain-disclosure>summary{line-height:1.5}
.info-content .expert-scope h4{font-size:1.125rem;line-height:1.45}
.info-content .expert-scope .expert-directions{font-size:1rem}
#project-dialog{padding:40px 32px 32px}
#project-dialog h2{font-size:clamp(1.75rem,3.5vw,2.25rem);line-height:1.25;margin:12px 0 20px}
.contact-method{min-width:0;padding:16px;column-gap:12px}
.contact-method>span{overflow-wrap:break-word;line-height:1.5}

/* The wordmark stands alone; the full brand message lives in the footer. */
.header{min-height:88px;padding-block:12px;gap:24px;flex-wrap:wrap}
.header .brand{flex:0 0 auto}
.brand img.yarvi-logo{width:clamp(136px,16vw,190px);height:auto;margin:0}
.header nav{margin-left:auto;gap:clamp(16px,2vw,24px)}
.nav-contact{white-space:nowrap}
.site-footer{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:24px;padding-block:32px;
}
.site-footer .footer-tagline{
  margin:0;max-width:34ch;justify-self:center;font-size:clamp(1rem,.85rem + .4vw,1.25rem);
  font-weight:500;line-height:1.55;letter-spacing:0;color:var(--muted);text-wrap:balance;
}
.site-footer .footer-top{display:inline-flex;align-items:center;min-height:44px;margin:0;font-size:.875rem;white-space:nowrap}
@media(max-width:1100px){
  .section-heading{grid-template-columns:1fr}
  .section-heading>p{max-width:65ch;justify-self:start}
}
@media(max-width:900px){
  .header nav>a:not(.nav-contact){display:none}
  .header{min-height:76px;gap:16px}
  .info-tile>summary{padding:20px;min-height:180px}
  .tile-toggle{top:18px;right:18px}
}
@media(max-width:700px){
  .site-footer{grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;padding-block:24px}
  .site-footer .brand{grid-column:1;grid-row:1}
  .site-footer .footer-top{grid-column:2;grid-row:1;justify-self:end}
  .site-footer .footer-tagline{grid-column:1/-1;grid-row:2;justify-self:start;max-width:36ch;font-size:1rem}
}
@media(max-width:600px){
  .section-heading{gap:16px;margin-bottom:24px}
  .hero-copy>.section-kicker{margin-bottom:20px}
  .hero-copy h1{margin-bottom:20px}
  .hero-copy p{margin-bottom:24px}
  .hero-copy>.button{padding:14px 18px;gap:16px;line-height:1.5}
  .hero-scene{margin-top:28px}
  .section .section-top h2 br{display:none}
  .info-tile>summary{padding:20px;min-height:0;gap:8px}
  .tile-title{font-size:1.25rem}
  
  
  .info-content .steps{margin:24px 0}
  .contact-path .button{padding:14px 18px}
  #project-dialog{padding:40px 20px 24px}
  .contact-method{grid-template-columns:24px minmax(0,1fr);padding:14px 12px;column-gap:10px}
  .contact-method .contact-icon{width:24px;height:24px}
}
@media(max-width:400px){
  .header{gap:8px;min-height:72px}
  .header .brand img.yarvi-logo{width:clamp(104px,calc(100vw - 216px),144px)}
  .header nav{margin-left:auto}
  .header .nav-contact{padding:10px;font-size:.875rem}
  .header .nav-contact span{margin-left:4px}
  .team-panel{padding:12px}
  .role-card{padding:12px}
  .role-tabs button{gap:4px;padding:10px 6px}
  .role-tabs .click-hand{width:18px;height:18px}
}

/* Cinema is part of the author's existing portfolio, in the YARVI style. */
.cinema-preview{display:block;overflow:hidden;border:1px solid #c9dfec;border-radius:10px;margin:18px 0 4px;background:#eef7fc}
.cinema-preview img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.cinema-preview>span{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;color:#355d75;font-size:.875rem;line-height:1.5}
.cinema-preview>span>span{flex-shrink:0}
.cinema-links{gap:10px}
.cinema-watch-links{border-top:1px solid #cce3ef;padding-top:12px;margin-top:16px;gap:8px}
.cinema-watch-links a{font-size:.875rem;color:var(--muted)}
.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin:0;min-width:0}
.site-footer .footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.5;text-align:right;white-space:normal;overflow-wrap:break-word}
.site-footer .footer-related{color:#246c95}
@media(max-width:700px){
  .site-footer .footer-links{grid-column:1/-1;grid-row:3;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 20px;width:100%}
  .site-footer .footer-links a{text-align:left}
}

/* Full-width section bands, with content aligned to the existing page grid. */
main>.section{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-inline:max(var(--gutter),calc((100% - var(--content))/2));
  border-block-start:1px solid #c7dcea;
  background:var(--section-background,#fbfdff);
}
main>.qualities{
  --section-background:linear-gradient(115deg,#e6f1f9,#dcebf7);
}
main>.team{
  --section-background:#fbfdff;
}
main>.practice{
  --section-background:linear-gradient(115deg,#e7f2fa,#e0eaf7);
}
main>.first-contact{
  --section-background:#fbfdff;
}
main>.site-details{
  --section-background:linear-gradient(115deg,#e2eff9,#dceaf5);
}
main>.contact{
  --section-background:#fbfdff;
}

/* Expanded panels grow directly out of their parent tile. */
.detail-tiles{--info-gap:20px;--info-surface:#f7fbfe;--info-border:#86b3ce}
.info-panel{display:flow-root;grid-column:1/-1;grid-row:2;min-width:0;min-height:0}
.info-panel.is-animating,.disclosure-panel.is-animating{overflow:hidden;overflow:clip;will-change:height}
.info-tile:not([open])>.info-panel{display:none}
.info-panel>.info-content{margin-top:var(--info-gap);background:var(--info-surface)}
.info-tile.is-connected>summary{
  z-index:1;
  background:var(--info-surface);
  border-color:var(--info-border);
  border-bottom-color:transparent;
  border-radius:14px 14px 0 0;
  box-shadow:0 -4px 20px #245e8808;
}
.info-tile.is-connected>summary::after{
  content:'';
  position:absolute;
  top:100%;left:-1px;right:-1px;
  height:calc(var(--info-gap) + 2px);
  background:var(--info-surface);
  border-inline:1px solid var(--info-border);
  pointer-events:none;
}
.info-tile.is-connected>.info-panel>.info-content{border-color:var(--info-border)}
.info-tile>summary[aria-expanded=false] .tile-toggle{transform:none}
@media(min-width:601px){
  .info-tile:first-child.is-connected>.info-panel>.info-content{border-top-left-radius:0}
  .info-tile:last-child.is-connected>.info-panel>.info-content{border-top-right-radius:0}
}
@media(max-width:600px){
  .detail-tiles{--info-gap:0px}
  .info-panel>.info-content{border-radius:0 0 14px 14px}
}

/* Nested disclosures use the same measured-height motion on every screen size. */
.disclosure-panel,.disclosure-body{display:flow-root;min-width:0;min-height:0}
.motion-disclosure:not([open])>.disclosure-panel{display:none}
.portfolio-disclosure>summary[aria-expanded=false] .portfolio-show{display:inline}
.portfolio-disclosure>summary[aria-expanded=false] .portfolio-hide{display:none}
.portfolio-disclosure>summary[aria-expanded=false] .portfolio-chevron{transform:none}
.faq-item>summary[aria-expanded=false]:after{content:'+'}
@media(prefers-reduced-motion:no-preference){
  .tile-toggle,.portfolio-disclosure .portfolio-chevron{transition:transform .8s cubic-bezier(.45,0,.55,1)}
}

@media(min-width:1101px){.scenario-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:400px){.scenario-tabs button{font-size:.8125rem;padding:10px 8px}}

/* Project names form a compact list; descriptions open only on request. */
.author-projects.portfolio-projects{display:block;margin-top:12px}
.portfolio-project{min-width:0;border:1px solid #c9dfe9;border-radius:12px;background:#ffffffb8}
.portfolio-project+.portfolio-project{margin-top:10px}
.portfolio-project>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:16px 18px;list-style:none;cursor:pointer}
.portfolio-project>summary::-webkit-details-marker{display:none}
.portfolio-projects .portfolio-project>summary h3{margin:0;font-size:1rem;font-weight:600;line-height:1.5;text-wrap:initial}
.portfolio-project>summary:focus-visible{outline:3px solid #147bd1;outline-offset:3px;border-radius:12px}
.project-toggle{flex:0 0 20px;font-size:24px;line-height:1;color:#34799f;text-align:center}
.portfolio-project>summary[aria-expanded=true] .project-toggle{transform:rotate(45deg)}
.portfolio-project-body{display:flow-root;padding:0 18px 20px}
.portfolio-project-body>.role-number{margin:0 0 14px}
.portfolio-project-body>.project-foot{display:block;margin-top:14px}
.portfolio-project-body>.portfolio-link{display:inline-block;margin-top:8px;padding-top:12px}
@media(prefers-reduced-motion:no-preference){.project-toggle{transition:transform .8s cubic-bezier(.45,0,.55,1)}}
@media(max-width:600px){.info-content .portfolio-disclosure .portfolio-disclosure-body{padding-inline:0}.portfolio-project>summary{padding:14px;gap:12px}.portfolio-project-body{padding:0 14px 18px}}
