/* Local portfolio refresh. Shared typography and a compact, static home. */
:root{--header-height:64px;--action:#BE381C;--action-hover:#A82D14;--muted:#5E6055;--gutter:clamp(1.2rem,4vw,4rem);--section:clamp(3rem,5vw,4.75rem);--container:78rem}
body{font-size:15px;line-height:1.65}
.site-header{height:var(--header-height);padding:8px var(--gutter);background:rgba(244,240,231,.97);border-bottom:1px solid var(--rule);backdrop-filter:blur(12px)}
.brand{align-items:center;gap:10px;font-family:var(--body)}
.brand .brand-mark{width:46px;height:46px;object-fit:contain;flex:none}
.brand .brand-name{display:flex;flex-direction:column;font-size:15px;font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--ink)}
.brand .brand-name small{font-family:var(--mono);font-size:8px;letter-spacing:.055em;font-weight:600;margin-top:4px;text-transform:uppercase;color:var(--muted)}
.nav{gap:1.4rem;font-size:.78rem}
.button{border-radius:8px;box-shadow:none;min-height:48px;padding:.8rem 1.1rem;font-size:.83rem}
.button:hover,.button:focus-visible{box-shadow:0 4px 14px rgba(34,35,29,.12);transform:translateY(-1px)}
.button-small{min-height:42px;padding:.6rem .9rem;font-size:.75rem}
.button-outline{background:transparent;color:var(--ink);border:1px solid var(--rule);box-shadow:none}
.button-outline:hover,.button-outline:focus-visible{background:var(--paper-raised)}
.eyebrow{font-size:.64rem;letter-spacing:.08em;margin-bottom:1.1rem}
.is-enhanced .reveal{opacity:1;transform:none}
.compact-hero{max-width:var(--container);margin:auto;padding:calc(var(--header-height) + 52px) var(--gutter) 68px;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,4vw,4.5rem);align-items:center}
.compact-hero h1{font-size:clamp(3.1rem,5.5vw,5.25rem);line-height:1.02;letter-spacing:-.047em;margin:0 0 24px}
.compact-hero h1 em{font-style:normal;color:var(--action)}
.compact-lead{font-size:1.06rem;line-height:1.65;max-width:32rem;margin-bottom:22px}
.hero-person{display:flex;align-items:center;gap:10px;margin:0 0 24px}
.hero-person img{border-radius:50%;object-fit:cover}
.hero-person p{display:flex;flex-direction:column;margin:0;font-size:.79rem;line-height:1.45}
.hero-person span{color:var(--muted);font-size:.69rem}
.compact-hero .button-row{gap:12px}
.hero-note{font-size:.69rem;color:var(--muted);margin:16px 0 0}
.run-card{background:var(--carbon);color:var(--inverse);padding:26px;border:1px solid var(--rule-dark);border-radius:18px;box-shadow:0 14px 38px rgba(34,35,29,.10)}
.run-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.run-card-top .eyebrow{margin:0;color:var(--inverse-muted);font-size:.52rem}
.run-chip{font-family:var(--mono);font-size:.53rem;border:1px solid var(--rule-dark);border-radius:20px;padding:5px 9px;color:var(--approved);white-space:nowrap}
.run-card h2{font-size:2.25rem;line-height:1.05;letter-spacing:-.035em;margin:20px 0 18px}
.run-card h2 em{font-style:normal;color:var(--approved)}
.run-totals{display:grid;grid-template-columns:.65fr 1fr 1fr;border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark);padding:14px 0;margin-bottom:13px}
.run-totals>div+div{border-left:1px solid var(--rule-dark);padding-left:18px}
.run-totals strong{display:block;font-family:var(--display);font-size:2.5rem;line-height:1.15;font-weight:400;font-variant-numeric:tabular-nums}
.run-totals>div:last-child strong{color:var(--approved)}
.run-totals strong small{font-size:1.15rem}
.run-totals>div>span{display:block;font-size:.58rem;color:var(--inverse-muted)}
.run-ledger{list-style:none;padding:0;margin:0;display:grid;gap:3px}
.run-ledger li{display:grid;grid-template-columns:24px 1fr 42px;align-items:center;gap:8px;padding:4px 7px;border:1px solid transparent;border-radius:5px;font-size:.66rem;line-height:1.4;transition:border-color .25s,background .25s}
.run-ledger .run-index{font-family:var(--mono);font-size:.55rem;color:var(--inverse-muted)}
.run-ledger b{font-family:var(--mono);font-size:.49rem;color:var(--approved);text-align:right;font-weight:600}
.run-ledger li[data-actor="human"]{background:rgba(242,177,52,.07)}
.run-ledger li[data-actor="human"] b{color:var(--warning)}
.run-ledger li.done{border-color:rgba(199,243,107,.19)}
.run-ledger li[data-actor="human"].done{border-color:rgba(242,177,52,.22)}
.run-caption{font-size:.59rem;line-height:1.75;color:var(--inverse-muted);margin:15px 0 0}
.run-caption a{color:var(--inverse);text-decoration:underline;text-underline-offset:3px}
.compact-section{max-width:var(--container);padding:62px var(--gutter);margin:auto;border-top:1px solid var(--rule)}
.compact-heading{display:grid;grid-template-columns:.6fr 1.2fr .7fr;gap:20px;align-items:start;margin-bottom:30px}
.compact-heading .eyebrow{margin-top:8px}
.compact-heading h2{font-size:clamp(2rem,3.15vw,3rem);line-height:1.08;letter-spacing:-.035em}
.compact-heading>p:last-child:not(.eyebrow){font-size:.82rem;color:var(--muted);max-width:17rem;padding-top:8px}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.product-card{border:1px solid var(--rule);border-radius:12px;padding:30px;background:var(--paper-raised);display:flex;flex-direction:column}
.developer-card{background:var(--paper-deep)}
.product-top{display:flex;align-items:center;justify-content:space-between}
.product-top .eyebrow{margin:0;font-size:.61rem}
.product-symbol{font-size:28px;color:var(--action)}
.product-card h3{font-family:var(--display);font-weight:400;font-size:2.2rem;line-height:1.07;margin:20px 0 14px}
.product-card>p{font-size:.87rem;color:var(--muted);max-width:28rem;min-height:86px}
.product-proof{display:flex;align-items:center;gap:14px;margin:12px 0 24px}
.product-proof strong{font-family:var(--display);font-weight:400;font-size:2.2rem;line-height:1}
.product-proof span{font-size:.63rem;line-height:1.6;color:var(--muted)}
.product-links{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:auto;border-top:1px solid var(--rule);padding-top:20px;font-size:.73rem}
.product-links>a:last-child{color:var(--muted);font-size:.67rem}
.proof-section{background:var(--paper-deep);max-width:none}
.proof-section>*{max-width:calc(var(--container) - var(--gutter)*2);margin-left:auto;margin-right:auto}
.proof-story{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.proof-story article+article{border-left:1px solid var(--rule);padding-left:30px}
.proof-story article>span{font-family:var(--mono);font-size:.59rem;color:var(--muted)}
.proof-story h3{font-size:1.12rem;line-height:1.3;margin:14px 0 10px}
.proof-story p{font-size:.83rem;margin:0;color:var(--muted)}
.proof-links{display:flex;gap:28px;font-size:.72rem;margin-top:28px}
.proof-links a,.section-footnote a{text-decoration:underline;text-underline-offset:4px}
.service-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.service-pair article{display:flex;gap:20px;border-top:1px solid var(--rule);padding-top:24px}
.service-number{color:var(--action);font-family:var(--mono);font-size:.73rem;padding-top:2px}
.service-pair h3{font-size:1.15rem;line-height:1.3;margin:0 0 12px}
.service-pair p{font-size:.83rem;color:var(--muted);max-width:26rem}
.service-pair a{font-size:.71rem;display:inline-block;max-width:100%;width:auto}
.compact-process{margin-top:40px;border-top:1px solid var(--rule);padding-top:25px;display:grid;grid-template-columns:.4fr 2fr;gap:20px}
.compact-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;padding:0;margin:0}
.compact-process li{font-size:.74rem;display:flex;flex-direction:column;gap:6px}
.compact-process li span{color:var(--muted);font-size:.72rem}
.section-footnote{font-size:.72rem;color:var(--muted);margin:26px 0 0}
.compact-faq{display:grid;grid-template-columns:1fr 1.3fr;gap:50px}
.compact-faq .compact-heading{display:block;margin:0}
.compact-faq .compact-heading h2{font-size:2.5rem}
.compact-faq summary{font-size:.9rem;min-height:65px;line-height:1.4}
.compact-faq details p{padding:0 24px 20px 0;font-size:.84rem;margin:0}
.compact-contact{background:var(--carbon);color:var(--inverse);padding:58px max(var(--gutter),calc((100vw - var(--container))/2 + var(--gutter)));display:grid;grid-template-columns:1.5fr .7fr;gap:50px;align-items:center}
.compact-contact h2{font-size:clamp(2.2rem,3.7vw,3.4rem);line-height:1.08}
.compact-contact p:not(.eyebrow){max-width:37rem;color:var(--inverse-muted);font-size:.86rem;margin:20px 0 0}
.contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:22px}
.contact-actions .text-link{font-size:.76rem;max-width:100%}
footer{padding:28px var(--gutter);gap:28px;border-top:1px solid var(--rule-dark)}
footer .brand .brand-name,footer .brand .brand-name small{color:var(--inverse)}
footer .brand-mark{background:var(--paper);border-radius:7px}
footer p{font-size:.68rem;line-height:1.9}
footer>span{font-size:.63rem}
/* The same reading rhythm on the existing buyer and guide templates. */
.guide-hero{padding-top:calc(var(--header-height) + 44px)!important;padding-bottom:38px!important}
.guide-hero h1{font-size:clamp(2.6rem,4.7vw,4rem)!important;line-height:1.06!important;max-width:20ch}
.guide-hero .guide-lead{font-size:1.03rem!important;line-height:1.65!important;max-width:48rem!important}
.guide-body{padding-top:32px!important;gap:48px!important}
.guide-prose section+section{padding-top:32px!important;margin-top:32px!important}
.guide-prose h2{font-size:2rem!important;line-height:1.12!important}
.guide-prose h3{font-size:1.15rem!important;line-height:1.35!important}
.guide-prose p,.guide-prose li,.guide-prose td{font-size:.9rem!important;line-height:1.75!important}
.guide-prose .guide-cards{gap:14px!important}
.guide-prose .guide-cards article{padding:20px!important}
.guide-prose .guide-cards article h3{margin-top:0}
.guide-toc{font-size:.72rem!important;top:calc(var(--header-height) + 16px)}
.final-cta{background:var(--carbon);padding:58px var(--gutter)}
.final-cta h2{font-size:clamp(2.2rem,4vw,3.8rem);max-width:24ch}
.final-cta>p:not(.eyebrow){margin:22px auto;font-size:.93rem;max-width:42rem}
.final-cta .socials{margin-top:24px}
@media(min-width:901px){.site-header{grid-template-columns:1fr auto 1fr}.site-header .brand{max-width:230px}}
@media(max-width:1100px) and (min-width:901px){.site-header .nav{gap:16px}.brand .brand-name small{font-size:7px}.brand .brand-name{font-size:13px}.brand .brand-mark{width:38px;height:38px}.button-small{font-size:.65rem}.compact-hero{gap:26px}.compact-hero .button{font-size:.74rem;padding:.75rem .85rem}.run-card{padding:20px}}
@media(max-width:900px){:root{--header-height:60px}.site-header{padding-block:7px}.compact-hero{padding-top:calc(var(--header-height) + 34px);grid-template-columns:1fr;gap:36px}.compact-hero-copy{max-width:42rem}.compact-hero h1{font-size:clamp(3.3rem,8vw,4.6rem)}.run-card{max-width:34rem;width:100%}.compact-heading{grid-template-columns:1fr 2fr}.compact-heading>p:last-child:not(.eyebrow){grid-column:2;max-width:none;padding:0;margin:0}.compact-faq{grid-template-columns:1fr;gap:28px}.compact-faq .compact-heading{display:block}.compact-contact{gap:25px}.compact-contact h2{font-size:2.5rem}.compact-process{grid-template-columns:1fr}.product-card{padding:24px}.product-card h3{font-size:1.9rem}.guide-hero{padding-top:calc(var(--header-height) + 32px)!important}}
@media(max-width:600px){.brand .brand-mark{width:40px;height:40px}.brand .brand-name{font-size:14px}.brand .brand-name small{font-size:7px}.menu-button{font-size:.75rem;min-height:42px}.compact-hero{padding-bottom:38px;gap:32px}.compact-hero h1{font-size:clamp(2.9rem,12vw,3.7rem)}.compact-lead{font-size:.97rem;max-width:30rem}.compact-hero .button-row{flex-direction:row;gap:10px;align-items:stretch}.compact-hero .button{font-size:.72rem;padding:.75rem 12px;width:auto;flex:1}.hero-person{margin-bottom:22px}.hero-note{font-size:.63rem}.run-card{padding:22px;border-radius:14px}.run-card h2{font-size:2rem}.run-totals strong{font-size:2.35rem}.run-ledger li{font-size:.66rem;padding-block:5px}.compact-section{padding-top:40px;padding-bottom:40px}.compact-heading{display:block;margin-bottom:25px}.compact-heading h2{font-size:2rem}.compact-heading>p:last-child:not(.eyebrow){margin-top:14px;font-size:.83rem}.product-grid,.service-pair,.proof-story{grid-template-columns:1fr;gap:18px}.product-card>p{min-height:0}.product-card h3{font-size:2.1rem}.product-links{gap:15px}.proof-story article+article{padding:18px 0 0;border-left:0;border-top:1px solid var(--rule)}.proof-links{flex-direction:column;gap:12px;margin-top:24px}.service-pair{gap:24px}.service-pair article{gap:14px;padding-top:20px}.compact-process{margin-top:30px}.compact-process ol{grid-template-columns:1fr;gap:16px}.compact-process li{gap:3px}.compact-faq .compact-heading h2{font-size:2rem}.compact-faq summary{font-size:.86rem;min-height:64px}.compact-contact{grid-template-columns:1fr;padding:40px var(--gutter);gap:26px}.compact-contact h2{font-size:2.4rem}.contact-actions{gap:20px}.contact-actions .button{width:100%}footer{padding-bottom:30px;grid-template-columns:1fr;gap:20px}.guide-hero h1{font-size:2.55rem!important;max-width:18ch}.guide-body{gap:26px!important}.guide-prose h2{font-size:1.8rem!important}.guide-prose table{display:table}.guide-table{max-width:100%;overflow-x:auto}.final-cta .button-row{align-items:center}.final-cta .button{width:auto;max-width:100%}.mobile-sticky-cta{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.run-ledger li{transition:none}.button{transition:none}}

.anchor-target{display:block;position:relative;top:0;height:0;width:0;grid-column:1/-1}
.brand .brand-mark{width:64px;height:46px;object-fit:contain}
@media(max-width:600px){.brand .brand-mark{width:54px;height:40px}}

.guide-page{padding-top:0}

.access-page{padding-top:calc(var(--header-height) + 44px)}
@media(max-width:900px){.access-page{padding-top:calc(var(--header-height) + 32px)}}

/* The name contracts toward its initials as the first pixels scroll past. */
.brand .brand-mark{width:42px;height:29px}
.site-header{--brand-progress:0}
.site-header .brand{position:relative;display:grid;grid-template-columns:1fr;align-items:center;gap:0;width:190px;min-height:44px;flex:none}
.site-header .brand .brand-name,.site-header .brand .brand-mark{grid-area:1/1;justify-self:start}
.site-header .brand .brand-name{display:block;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.055em;white-space:nowrap;transform-origin:left center;opacity:calc(1 - clamp(0, (var(--brand-progress) - .72) * 3.57143, 1));transform:translateY(calc(var(--brand-progress) * 1px));pointer-events:none}
.site-header .brand .brand-name small{display:none}
.brand-wordmark{display:flex;align-items:baseline}
.brand-initial{flex:none}
.brand-tail{display:inline-block;width:calc(var(--tail-width) * (1 - var(--brand-progress)));white-space:nowrap;opacity:calc(1 - var(--brand-progress));flex:none}
.brand-tail>span{display:inline-block;transform-origin:left center;transform:scaleX(calc(1 - var(--brand-progress)))}
.brand-gap{display:inline-block;width:calc(.26em * (1 - var(--brand-progress)));flex:none}
.site-header .brand .brand-mark{width:36px;height:25px;opacity:clamp(0, (var(--brand-progress) - .72) * 3.57143, 1);transform:translateY(calc((1 - var(--brand-progress)) * 3px)) scale(calc(.86 + var(--brand-progress) * .14));transform-origin:left center;pointer-events:none}
@media(max-width:600px){.site-header .brand{width:164px}.site-header .brand .brand-name{font-size:20px}.site-header .brand .brand-mark{width:32px;height:23px}.brand .brand-mark{width:38px;height:26px}.compact-hero .button-row{flex-wrap:wrap}.compact-hero .button{white-space:normal;text-align:center;line-height:1.35}}
@media(prefers-reduced-motion:reduce){.site-header .brand *{transition:none!important}}

html{scroll-padding-top:calc(var(--header-height) + 12px)}

/* Brand v4 (2026-09-09): serif wordmark, the second R carries the orange leg; on scroll the
   tails fold away and the same two letters remain as the RR monogram. No image any more. */
:root{--brand-accent:#C8431F}
.brand .brand-mark{display:none!important}
footer .brand{--brand-progress:0}
.brand .brand-name{font-family:"Playfair Display","Fraunces",Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.005em;color:var(--ink)}
.site-header .brand .brand-name{font-size:27px;line-height:1;letter-spacing:-.012em;opacity:1;transform:none}
.brand-wordmark{display:inline-flex;align-items:baseline;line-height:1}
.brand-initial{position:relative;display:inline-block;line-height:1}
.brand-initial-last::after{content:"R";position:absolute;left:0;top:0;color:var(--brand-accent);clip-path:polygon(37% 62%,100% 62%,100% 101%,53% 101%);pointer-events:none}
.brand-gap{display:inline-block;width:calc(.22em * (1 - var(--brand-progress)));flex:none}
footer .brand .brand-name{font-size:22px;line-height:1.1;color:var(--inverse)}
footer .brand .brand-name small{display:block;margin-top:6px}
@media(max-width:600px){.site-header .brand .brand-name{font-size:23px}}

/* Home: use-cases section (2026-09-13), compact */
.usecases-section{padding-top:44px;padding-bottom:44px}
.usecase-row{display:grid;grid-template-columns:1.1fr 1.5fr auto;gap:32px;align-items:center}
.usecase-head .eyebrow{margin-bottom:10px}
.usecase-head h2{font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.1;margin:0}
.usecase-copy p{font-size:.9rem;color:var(--muted);margin:0;max-width:34rem}
.usecase-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px!important}
.usecase-links .text-link{font-size:.71rem}
.usecase-cta{justify-self:end}
@media (max-width:900px){.usecase-row{grid-template-columns:1fr;gap:18px}.usecase-cta{justify-self:start}}

/* Result as a Service */
.raas-line{font-size:1.15rem;font-weight:600;line-height:1.4;margin:0 0 14px;color:var(--ink)}
.raas-line mark{background:linear-gradient(transparent 52%,rgba(199,243,107,.9) 52%);color:inherit;padding:0 .15em}
.nav .nav-free{font-weight:700;color:var(--ink);background:linear-gradient(transparent 55%,rgba(199,243,107,.85) 55%);padding:0 .2em}
@media(max-width:600px){.raas-line{font-size:1.02rem}}

/* hero video (replaces the run card) */
.hero-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:18px;background:#000;box-shadow:0 24px 60px rgba(34,35,29,.22);border:1px solid var(--rule)}
.hero-video-note{margin:12px 0 0;font-size:.72rem;color:var(--muted);text-align:center}

/* hero v4: centered copy, demo video below (Product-First archetype) */
.hero-v4{grid-template-columns:1fr;gap:clamp(2rem,4vw,3.2rem);text-align:center;padding-bottom:clamp(2.5rem,5vw,4rem)}
.hero-v4 .compact-hero-copy{max-width:50rem;margin:0 auto}
.hero-v4 .hero-category{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:1rem;font-weight:600;color:var(--action);margin-bottom:1.1rem}
.hero-v4 h1{font-size:clamp(2.9rem,6vw,5.4rem);margin:0 auto 22px;max-width:14ch}
.hero-v4 .compact-lead{margin:0 auto 26px;max-width:38rem}
.hero-v4 .button-row{justify-content:center}
.hero-trust{font-size:.8rem;color:var(--ink);margin:16px 0 0;font-weight:500}
.hero-v4 .hero-note{margin-top:8px}
.hero-v4 .hero-video{width:100%;max-width:1100px;margin:0 auto}
.hero-v4 .hero-video video{border-radius:22px;box-shadow:0 30px 80px rgba(34,35,29,.26);background:#fff url("/assets/video/raza-sor-demo-poster.jpg") center/cover no-repeat}
@media(prefers-reduced-motion:no-preference){
  .hero-v4 .hero-category,.hero-v4 h1,.hero-v4 .compact-lead,.hero-v4 .button-row,.hero-v4 .hero-trust,.hero-v4 .hero-note,.hero-v4 .hero-video{opacity:0;transform:translateY(16px);animation:heroIn .55s cubic-bezier(.16,1,.3,1) forwards}
  .hero-v4 h1{animation-delay:.1s}.hero-v4 .compact-lead{animation-delay:.25s}.hero-v4 .button-row{animation-delay:.4s}.hero-v4 .hero-trust,.hero-v4 .hero-note{animation-delay:.55s}.hero-v4 .hero-video{animation-delay:.75s;transform:translateY(24px) scale(.985)}
  @keyframes heroIn{to{opacity:1;transform:none}}
}
@media(max-width:600px){.hero-v4{text-align:left}.hero-v4 h1{font-size:clamp(2.5rem,11vw,3.4rem);margin-left:0;max-width:none}.hero-v4 .compact-lead{margin-left:0}.hero-v4 .button-row{flex-direction:column;justify-content:flex-start}.hero-v4 .button-row .button{width:100%;text-align:center}.hero-v4 .hero-video video{border-radius:14px}}
