/* Saga service experience: restrained typography, full artwork and useful interaction. */
.sd-page{--sd-ink:#22251f;--sd-green:#c9f31d;--sd-line:#d4d6ce;--sd-gap:64px;--sd-space:80px;background:var(--paper);color:var(--sd-ink);padding-bottom:var(--sd-space)}
.sd-page *{box-sizing:border-box;min-width:0}
.sd-wrap{width:calc(100% - 112px);max-width:1320px;margin-inline:auto}
.sd-page h1,.sd-page h2,.sd-page h3{font-weight:500;letter-spacing:-.05em;margin:0;line-height:1.08}
.sd-page h1{font-size:clamp(44px,4.9vw,70px);text-wrap:balance}
.sd-page h1 em{font-style:normal;background:linear-gradient(transparent 68%,#c9f31d 68%,#c9f31d 95%,transparent 95%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.sd-page h2{font-size:clamp(36px,3.6vw,52px);text-wrap:balance}
.sd-page h3{font-size:27px;line-height:1.2;letter-spacing:-.03em}
.sd-page p{font-size:18px;line-height:1.7;color:#5b5e55;margin:0}
.sd-page figure{margin:0;padding:0;border:0}
.sd-page button{font:inherit}
.sd-page .text-link{font-size:17px;font-weight:500;border-bottom:2px solid #c9f31d;padding-bottom:6px;line-height:1.5}
.sd-page a:focus-visible,.sd-page button:focus-visible,.sd-page summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.sd-kicker{display:block;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.sd-hero{padding:32px 0 0}
.sd-back{display:inline-block;font-size:15px;border-bottom:1px solid #c9f31d;margin-bottom:38px}
.sd-hero-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-gap);align-items:center;padding-bottom:48px}
.sd-hero-heading p{font-size:19px;max-width:43ch}
.sd-button{display:inline-flex;align-items:center;justify-content:center;background:#22251f;color:#f5f5f7;padding:17px 25px;border-radius:40px;font-size:17px;font-weight:500;margin-top:28px;transition:background .2s,color .2s}
.sd-button:hover{background:#c9f31d;color:#22251f}
.sd-service-tags{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--sd-line);padding:24px 0;gap:30px;font-size:17px;line-height:1.5}
.sd-service-tags i{font-size:13px;font-style:normal;color:#73766d;margin-right:18px}
.sd-local-nav{position:sticky;top:97px;background:#f5f5f7f5;backdrop-filter:blur(12px);z-index:5;border-bottom:1px solid var(--sd-line)}
.sd-local-nav>.sd-wrap{display:flex;gap:38px;overflow-x:auto;scrollbar-width:none}
.sd-local-nav a{display:block;white-space:nowrap;font-size:15px;line-height:1.5;padding:18px 0;border-bottom:3px solid transparent;transition:border-color .2s}
.sd-local-nav a:hover,.sd-local-nav a[aria-current="location"]{border-color:#c9f31d}
.sd-section{padding-top:var(--sd-space)}
.sd-page section[id]{scroll-margin-top:180px}
.sd-section-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-gap);align-items:start;margin-bottom:40px}
.sd-section-heading>p{max-width:50ch;justify-self:start;align-self:center}
.sd-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-gap)}
.sd-project-image{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1.45;background:none;overflow:hidden;border:0}
.sd-project-image img{display:block;width:100%;height:100%;object-fit:contain;border:0;padding:0}
.sd-project-image>span{position:absolute;right:18px;bottom:18px;background:#c9f31d;color:#22251f;font-size:15px;padding:12px 18px;border-radius:30px;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.sd-project-image:hover>span,.sd-project-image:focus-visible>span{opacity:1;transform:translateY(0)}
.sd-project-copy{padding-top:24px}
.sd-project-copy h3{margin-bottom:12px}
.sd-project-copy p{font-size:17px;margin-bottom:18px;max-width:52ch}
.sd-project-copy h3 a:hover{text-decoration:underline;text-decoration-color:#c9f31d;text-underline-offset:6px}
.sd-one-project{grid-template-columns:1fr}
.sd-one-project .sd-project{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-gap);align-items:center}
.sd-one-project .sd-project-copy{padding:0}
.sd-capabilities{margin-top:var(--sd-space);padding:64px 0;background:#22251f;color:#f5f5f7}
.sd-capabilities .sd-kicker{color:#c9f31d}
.sd-capabilities p{color:#cbd0c3}
.sd-explorer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-gap);align-items:start}
.sd-tablist{border-top:1px solid #5c6255}
.sd-tablist button{width:100%;display:flex;align-items:center;gap:18px;padding:26px 0;border:0;border-bottom:1px solid #5c6255;background:transparent;color:#cbd0c3;text-align:left;font-size:23px;line-height:1.25;letter-spacing:-.02em;cursor:pointer;transition:color .2s,padding .2s}
.sd-tablist button>span{font-size:14px;letter-spacing:0;color:#a4ac99}
.sd-tablist button>b{font-size:25px;font-weight:400;margin-left:auto;padding-inline:4px}
.sd-tablist button[aria-selected="true"]{color:#c9f31d}
.sd-tablist button[aria-selected="true"]>span{color:#c9f31d}
.sd-tablist button[aria-selected="true"]>b{transform:rotate(45deg)}
.sd-tablist button:hover{color:#c9f31d}
.sd-panel[hidden]{display:none}
.sd-panel{animation:sd-enter .3s ease}
.sd-panel figure{display:flex;justify-content:flex-start;align-items:center;aspect-ratio:1.45;height:auto;background:transparent}
.sd-panel img{max-height:100%;width:auto;max-width:100%;height:auto;object-fit:contain;border:0}
.sd-panel>div{border-top:1px solid #5c6255;margin-top:26px;padding-top:24px}
.sd-panel h3{margin-bottom:12px}
.sd-panel p{font-size:17px;max-width:54ch;min-height:116px}
.sd-thinking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-gap);align-items:start}
.sd-thinking .sd-lead{font-size:22px;line-height:1.6;margin-bottom:28px}
.sd-process{margin-top:var(--sd-space);padding:64px 0;background:#e9ebe4}
.sd-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.sd-steps article{border-top:1px solid #bfc4b6;padding-top:22px}
.sd-steps article>span{display:inline-block;background:#c9f31d;padding:8px 10px;font-size:15px;line-height:1;margin-bottom:24px}
.sd-steps h3{font-size:25px;margin-bottom:16px}
.sd-steps p{font-size:17px}
.sd-film video{display:block;width:100%;max-width:900px;max-height:560px;margin:auto;background:#22251f}
.sd-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-gap)}
.sd-faq>div>p{margin:24px 0 16px}
.sd-faq details{border-top:1px solid var(--sd-line);padding:23px 0}
.sd-faq details:last-child{border-bottom:1px solid var(--sd-line)}
.sd-faq summary{display:flex;gap:20px;font-size:21px;line-height:1.4;list-style:none;cursor:pointer;font-weight:500}
.sd-faq summary::-webkit-details-marker{display:none}
.sd-faq summary:after{content:'+';margin-left:auto;font-size:24px}
.sd-faq details[open] summary:after{content:'−'}
.sd-faq details p{font-size:17px;margin-top:18px;max-width:56ch}
.sd-related nav{display:flex;flex-wrap:wrap;gap:24px 36px;margin-top:30px}
.sd-page .sd-contact{width:calc(100% - 112px);max-width:1320px;margin-top:var(--sd-space);padding:56px}
.sd-page .sd-contact h2{font-size:clamp(42px,5.4vw,74px);margin-top:24px}
.sd-page .sd-contact a{font-size:18px}
@keyframes sd-enter{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.sd-wrap{width:calc(100% - 64px)}.sd-hero-heading,.sd-section-heading,.sd-thinking,.sd-faq,.sd-explorer,.sd-one-project .sd-project{gap:36px}.sd-page h1{font-size:58px}.sd-panel figure{height:310px}.sd-tablist button{font-size:21px;padding-block:23px}.sd-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.sd-service-tags{font-size:15px;gap:18px}.sd-service-tags i{margin-right:10px}}
@media(max-width:720px){.sd-wrap{width:calc(100% - 40px)}.sd-page{padding-bottom:56px}.sd-hero{padding-top:24px}.sd-back{margin-bottom:28px}.sd-hero-heading,.sd-section-heading,.sd-thinking,.sd-faq,.sd-explorer,.sd-one-project .sd-project{grid-template-columns:1fr;gap:28px}.sd-page h1{font-size:clamp(40px,10vw,60px)}.sd-page h2{font-size:36px}.sd-hero-heading{padding-bottom:32px}.sd-hero-heading p,.sd-page p{font-size:17px}.sd-kicker{font-size:13px;margin-bottom:18px}.sd-service-tags{display:flex;flex-wrap:wrap;gap:12px 22px;padding:20px 0}.sd-service-tags i{display:none}.sd-local-nav{top:78px}.sd-local-nav>.sd-wrap{gap:24px}.sd-local-nav a{font-size:14px;padding:15px 0}.sd-section{padding-top:56px}.sd-page section[id]{scroll-margin-top:145px}.sd-section-heading{margin-bottom:28px}.sd-section-heading>p{justify-self:start}.sd-project-grid{grid-template-columns:1fr;gap:38px}.sd-project-image>span{display:none}.sd-project-copy{padding-top:20px}.sd-capabilities{margin-top:56px;padding:42px 0}.sd-tablist button{font-size:20px;padding:18px 0}.sd-panel figure{height:300px}.sd-panel p{min-height:0}.sd-thinking .sd-lead{font-size:19px}.sd-process{margin-top:56px;padding:42px 0}.sd-steps{gap:28px 24px}.sd-steps h3{font-size:22px}.sd-steps p{font-size:16px}.sd-faq summary{font-size:19px}.sd-page .sd-contact{margin-top:56px}.sd-page .sd-contact h2{font-size:42px}.sd-related nav{gap:22px}.sd-one-project .sd-project-copy{padding-top:0}}
/* Shared caption rows keep titles, descriptions and links level across projects. */
@supports(grid-template-rows:subgrid){
 @media(min-width:721px){
  .sd-project-grid:not(.sd-one-project){row-gap:16px}
  .sd-project-grid:not(.sd-one-project)>.sd-project{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:16px}
  .sd-project-grid:not(.sd-one-project) .sd-project-copy{display:contents}
  .sd-project-grid:not(.sd-one-project) .sd-project-copy h3{margin:8px 0 0;align-self:start}
  .sd-project-grid:not(.sd-one-project) .sd-project-copy p{margin:0;align-self:start}
  .sd-project-grid:not(.sd-one-project) .sd-project-copy>.text-link{justify-self:start;align-self:start;margin:2px 0 0}
 }
}
/* Match the same reading grid at every responsive breakpoint. */
@media(max-width:1050px){
 .sd-page{--sd-gap:36px;--sd-space:64px}
 .sd-page .sd-contact{width:calc(100% - 64px);padding:40px;margin-top:var(--sd-space)}
 .sd-panel figure{height:auto}
 .sd-page h1{font-size:clamp(40px,5vw,54px)}
 .sd-section,.sd-capabilities,.sd-process{scroll-margin-top:180px}
}
@media(min-width:721px) and (max-width:900px){
 .sd-hero-heading{align-items:start}
 .sd-tablist button{font-size:19px;gap:12px}
 .sd-panel p{min-height:145px}
 .sd-page .sd-contact h2{font-size:48px}
}
@media(max-width:720px){
 .sd-page{--sd-gap:28px;--sd-space:56px}
 .sd-project-grid{gap:40px}
 .sd-page .sd-contact{width:calc(100% - 40px);padding:32px 24px}
 .sd-panel figure{height:auto;aspect-ratio:1.3;justify-content:center}
 .sd-panel p{min-height:0}
 .sd-page h1{font-size:clamp(38px,9.8vw,56px)}
 .sd-capabilities,.sd-process{padding-block:40px}
 .sd-section-heading{margin-bottom:28px}
}
.sd-local-nav{top:var(--sd-header-height,98px)}
@media(max-width:680px){.sd-local-nav{top:var(--sd-header-height,112px)}.sd-page section[id]{scroll-margin-top:185px}}
@media(prefers-reduced-motion:reduce){.sd-page *{animation:none!important;transition:none!important}.sd-local-nav{scroll-behavior:auto}}
