.services-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:3vw;padding-top:65px;padding-bottom:60px;min-height:610px;align-items:center}.services-hero h1{font-size:clamp(78px,calc(8.8vw + 2px),137px);line-height:.93;letter-spacing:-.045em;margin:40px 0 30px}.services-hero>div>p:not(.label){font-size:18.5px;line-height:1.03}.header-actions{display:flex;gap:30px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:32px;flex-wrap:wrap}.hero-actions .text-link{font-size:15.5px}.service-compass{position:relative;aspect-ratio:1;max-width:510px;width:100%;margin:auto}.compass-ring{position:absolute;inset:13%;border:1px solid var(--line);border-radius:50%;animation:spin 40s linear infinite}.compass-ring:before{content:'';position:absolute;inset:12%;border:1px dashed var(--line);border-radius:50%}.compass-ring:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:white;top:14%;left:14%}.compass-center{position:absolute;inset:35%;display:grid;place-items:center;font:100px var(--serif);letter-spacing:-5px;text-decoration:none}.compass-point{position:absolute;display:flex;gap:12px;align-items:center;background:var(--ink);border:1px solid var(--line);padding:16px 18px;text-decoration:none;font-size:17.5px;transition:transform .3s,background .3s,color .3s}.compass-point span{font-size:14.5px;opacity:.65}.compass-point:hover{background:white;color:var(--ink);transform:translateY(-4px)}.point-0{top:8%;left:35%}.point-1{top:44%;right:0}.point-2{bottom:16%;left:30%}.point-3{top:44%;left:0}.service-compass>p{position:absolute;bottom:0;text-align:center;left:0;right:0;font-size:14.5px}.service-explorer{padding-top:50px;padding-bottom:50px}.explorer-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}.explorer-heading>p:last-child{font-size:16.5px}.category-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.category-tabs button{display:flex;align-items:center;gap:15px;padding:24px 22px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;transition:color .25s,background .25s}.category-tabs strong{font-family:var(--serif);font-size:33px;font-weight:400}.category-tabs button>span:first-child{font-size:15.5px;opacity:.65}.category-tabs button[aria-selected=true]{background:white;color:var(--ink)}.category-tabs button:hover:not([aria-selected=true]){background:rgba(255,255,255,.07)}.service-panel{background:white;color:var(--ink);padding:45px;animation:arrive .45s ease both}.category-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:end;border-bottom:1px solid var(--darkline);padding-bottom:35px;margin-bottom:35px}.category-intro h2{font-size:clamp(49px,calc(5.2vw + 2px),80px);line-height:1.03;margin-top:20px}.category-intro>p{font-size:17.5px;padding-bottom:5px}.offerings{display:grid;grid-template-columns:1fr 1fr;gap:35px}.offering{min-width:0;border:1px solid var(--darkline);display:flex;flex-direction:column;align-self:start}.offering-heading{padding:30px 28px 24px;min-height:230px}.offering-heading .label{font-size:14.5px}.offering h3{font-size:clamp(40px,calc(3.8vw + 2px),59px);line-height:1.08;margin:19px 0}.offering-lead{font-size:17.5px;line-height:1.03;max-width:380px}.service-graphic{position:relative;overflow:hidden;min-height:290px;background:var(--ink);color:white;padding:28px 24px 20px;margin:0 18px 20px}.service-graphic>.label{font-size:13.5px;letter-spacing:.8px;position:relative;z-index:1}.graphic-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;margin-top:24px;margin-bottom:20px;min-height:95px}.graphic-controls button{flex:1;min-width:0;position:relative;text-align:center;font-size:14.5px;padding:12px 4px;border:1px solid var(--line);transition:background .3s,transform .3s,color .3s}.graphic-node{display:grid;place-items:center;font-size:30px;line-height:1.3;margin-bottom:12px;transition:transform .4s}.graphic-controls button[aria-pressed=true]{background:white;color:var(--ink);transform:translateY(-4px)}.graphic-controls button:hover:not([aria-pressed=true]){transform:translateY(-3px);background:rgba(255,255,255,.08)}.graphic-controls button[aria-pressed=true] .graphic-node{animation:node-arrive .4s ease both}.graphic-note{font-size:15.5px;line-height:1.03;min-height:65px;margin:0;position:relative;z-index:1}.graphic-note>span:not([hidden]){display:block;animation:arrive .3s ease both}.graphic-hint{display:block;font-size:12.5px;letter-spacing:1px;opacity:.65;border-top:1px solid var(--line);margin-top:17px;padding-top:13px}.graphic-storyboard .graphic-controls{gap:10px;align-items:stretch;padding:14px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.graphic-storyboard button{aspect-ratio:1.1;padding:14px 4px}.graphic-storyboard button:nth-child(2){transform:rotate(3deg)}.graphic-storyboard button:nth-child(3){transform:rotate(-3deg)}.graphic-storyboard button[aria-pressed=true]{transform:rotate(-3deg) translateY(-5px)}.graphic-timeline .graphic-controls:before,.graphic-campaign .graphic-controls:before,.graphic-journey .graphic-controls:before{content:'';position:absolute;height:1px;background:var(--line);left:5%;right:5%;top:38%}.graphic-timeline button{border:0;background:var(--ink);padding:5px}.graphic-timeline .graphic-node{width:52px;height:52px;border:1px solid var(--line);border-radius:50%;margin:0 auto 15px}.graphic-timeline button[aria-pressed=true]{background:none;color:white;transform:translateY(-3px)}.graphic-timeline button[aria-pressed=true] .graphic-node{background:white;color:var(--ink)}.graphic-alignment .graphic-controls{align-items:center;min-height:140px}.graphic-alignment button{border-radius:50%;aspect-ratio:1;max-width:110px;padding:15px 4px}.graphic-alignment button:nth-child(2){align-self:flex-start}.graphic-alignment button:nth-child(3){align-self:flex-end}.graphic-alignment .graphic-node{margin-bottom:6px}.graphic-audit .graphic-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;margin-bottom:16px}.graphic-audit button{padding:12px 3px}.graphic-audit .graphic-node{font-size:30.5px;margin-bottom:6px}.graphic-camera:before,.graphic-camera:after{content:'';position:absolute;top:60px;width:27px;height:27px;border-top:1px solid var(--line)}.graphic-camera:before{left:16px;border-left:1px solid var(--line)}.graphic-camera:after{right:16px;border-right:1px solid var(--line)}.graphic-camera .graphic-controls{margin-top:34px;gap:8px}.graphic-camera button{aspect-ratio:1.1}.graphic-camera .graphic-controls:after{content:'';width:5px;height:5px;background:white;border-radius:50%;position:absolute;top:-13px;right:12px;animation:rec 2s ease infinite}.graphic-campaign .graphic-controls{padding:15px 0;gap:18px}.graphic-campaign button{border-style:dashed}.graphic-campaign button[aria-pressed=true]{border-style:solid;transform:rotate(-3deg) translateY(-5px)}.graphic-values .graphic-controls{padding:12px 0}.graphic-values .graphic-controls:before{content:'';position:absolute;inset:-12px 18%;border:1px dashed var(--line);border-radius:50%;animation:spin 30s linear infinite}.graphic-values button{background:var(--ink);border-radius:50%;aspect-ratio:1;max-width:105px;padding:14px 4px;z-index:1}.graphic-values .graphic-node{margin-bottom:6px}.graphic-values button[aria-pressed=true]{background:white}.graphic-journey .graphic-controls{gap:6px}.graphic-journey button{font-size:13.5px;padding:12px 2px;background:var(--ink)}.graphic-journey .graphic-node{font-size:30.5px}.graphic-journey button[aria-pressed=true]{background:white}.offering-details{border-top:1px solid var(--darkline)}.offering-details summary{padding:20px 28px;display:flex;align-items:center;gap:20px;cursor:pointer;list-style:none;font-size:15.5px;letter-spacing:.5px}.offering-details summary::-webkit-details-marker{display:none}.offering-details summary .plus{font-size:29.5px}.offering-details[open] .plus{transform:rotate(45deg)}.offering-body{padding:5px 28px 26px;animation:arrive .4s ease both}.offering-body>p{font-size:17.5px;margin-bottom:20px}.process-note{padding:20px 0;border-top:1px solid var(--darkline);border-bottom:1px solid var(--darkline);margin:25px 0}.process-note>.label{font-size:14.5px;margin-bottom:10px}.process-note>p:last-child{font-size:16.5px}.offering-body .scope-note{font-size:15.5px;line-height:1.03}.fit h4{font:36px/1.15 var(--serif);letter-spacing:-.02em;margin:26px 0 17px}.fit ul{margin:0;padding:0 0 0 16px}.fit li{font-size:16.5px;line-height:1.03;margin-bottom:12px}.offering-links{margin-top:auto;padding:22px 28px;border-top:1px solid var(--darkline);display:flex;flex-wrap:wrap;gap:20px}.offering-links .text-link{font-size:14.5px}.category-bottom{padding-top:30px;margin-top:35px;border-top:1px solid var(--darkline);display:flex;justify-content:space-between;gap:25px;align-items:center}.category-bottom>.label{font-size:14.5px}.category-bottom>.text-link{font-size:15.5px}.reality-section{display:grid;grid-template-columns:.8fr 1.5fr;gap:55px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:70px;padding-bottom:70px}.reality-intro h2{font-size:clamp(57px,calc(5.5vw + 2px),87px);margin-bottom:28px}.reality-intro>p:last-child{font-size:17.5px}.rc-preview{display:grid;grid-template-columns:1fr .9fr;gap:15px;align-items:center;background:var(--ink);color:white;border:1px solid var(--line);padding:35px 30px;text-decoration:none;position:relative;overflow:hidden;transition:border-color .3s,transform .3s}.rc-preview:hover{border-color:white;transform:translateY(-3px)}.rc-copy{position:relative;z-index:1}.rc-copy>.label{font-size:13.5px;letter-spacing:.6px}.rc-copy h3{font-size:clamp(67px,calc(6.5vw + 2px),97px);letter-spacing:-.04em;line-height:.94;margin:27px 0}.rc-copy h3 .slant{display:block;padding-left:12%;font-style:italic}.rc-copy h3 .last{display:flex;gap:3px;padding-left:7%}.rc-cta{display:flex;justify-content:space-between;gap:25px;background:white;color:var(--ink);padding:15px 17px;font-size:14.5px;margin-bottom:18px;max-width:230px}.rc-cta>span{transition:transform .3s}.rc-preview:hover .rc-cta>span{transform:translate(3px,-3px)}.rc-preview .inspection{display:flex;align-items:center;justify-content:center;position:relative;min-height:250px}.rc-preview .orbit{width:100%;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;position:relative;display:grid;place-items:center}.rc-preview .orbit svg{position:absolute;inset:-20%;width:140%;height:140%;animation:spin 70s linear infinite;fill:white;font:15.5px var(--mono);letter-spacing:3px}.rc-preview .core{font:clamp(100px,11vw,170px) var(--serif);font-style:italic;z-index:1;animation:rc-breathe 5s ease-in-out infinite}.rc-preview .lens{position:absolute;width:42%;height:42%;border:1px solid white;border-radius:50%;left:3%;top:8%;backdrop-filter:invert(1);animation:rc-inspect 10s ease-in-out infinite;z-index:2}.rc-preview .orbit-dot{width:7px;height:7px;background:white;position:absolute;border-radius:50%;top:50%;right:-4px}.services-page .framework{padding-top:75px}.services-page .closing>div{gap:25px}@keyframes node-arrive{from{transform:rotate(-20deg) scale(.85)}to{transform:rotate(0) scale(1)}}@keyframes rec{50%{opacity:.2}}@keyframes rc-breathe{50%{transform:rotate(-8deg) scale(.94)}}@keyframes rc-inspect{0%,100%{transform:translate(0,0)}25%{transform:translate(100%,15%)}50%{transform:translate(100%,105%)}75%{transform:translate(-8%,85%)}}@media(max-width:1050px){.services-hero h1{font-size:9.5vw}.header-actions{gap:20px}.header-actions .text-link{font-size:14.5px}.compass-center{font-size:80px}.compass-point{padding:12px;font-size:15.5px;gap:8px}.category-tabs button{padding:20px 14px;gap:10px}.category-tabs strong{font-size:29px}.service-panel{padding:28px}.offerings{gap:22px}.offering-heading{padding:25px 22px;min-height:230px}.offering h3{font-size:45px}.service-graphic{padding:24px 16px 18px;margin:0 12px 18px}.graphic-controls{gap:6px}.graphic-controls button{font-size:13.5px}.offering-body{padding-left:22px;padding-right:22px}.offering-links{padding:20px 22px}.reality-section{gap:30px;grid-template-columns:.8fr 1.3fr}.rc-preview{padding:28px 22px;grid-template-columns:1fr .8fr}.rc-copy h3{font-size:7vw}.rc-preview .inspection{min-height:190px}}@media(max-width:720px){header{height:auto;min-height:90px;gap:15px;padding-top:18px;padding-bottom:18px;align-items:flex-start}.header-actions{flex-direction:column;align-items:flex-end;gap:10px}.header-actions .text-link{font-size:13.5px}.services-hero{display:block;padding-top:50px;padding-bottom:40px;min-height:0}.services-hero h1{font-size:clamp(67px,calc(14.5vw + 2px),107px);margin:32px 0 27px}.services-hero>div>.label{font-size:14.5px}.services-hero>div>p:not(.label){font-size:17.5px}.hero-actions{gap:23px}.hero-actions .primary{min-width:245px}.hero-actions .text-link{font-size:14.5px}.service-compass{max-width:350px;margin-top:45px;margin-bottom:10px}.compass-center{font-size:80px}.compass-point{font-size:15.5px;padding:13px}.point-0{left:32%}.point-2{left:26%}.service-compass>.label{font-size:13.5px}.explorer-heading{display:block}.explorer-heading>.label{font-size:14.5px;margin-bottom:12px}.explorer-heading>p:last-child{font-size:15.5px}.category-tabs{display:flex;overflow-x:auto}.category-tabs button{flex:0 0 auto;min-width:155px;padding:20px 15px}.category-tabs strong{font-size:29px}.category-tabs .tab-arrow{font-size:20.5px}.service-panel{padding:24px 18px}.category-intro{display:block;padding-bottom:26px;margin-bottom:26px}.category-intro h2{font-size:51px;margin:18px 0 22px}.category-intro .label{font-size:14.5px}.category-intro>p{font-size:16.5px}.offerings{display:block}.offering+.offering{margin-top:28px}.offering-heading{padding:26px 22px;min-height:0}.offering h3{font-size:47px}.offering-lead{font-size:16.5px}.service-graphic{margin:0 12px 18px;padding:24px 20px 18px;min-height:280px}.graphic-controls{gap:10px}.graphic-controls button{font-size:14.5px}.graphic-alignment button,.graphic-values button{max-width:105px}.graphic-note{font-size:15.5px}.offering-details summary{padding:19px 22px;font-size:14.5px}.offering-body>p{font-size:16.5px}.fit h4{font-size:34px}.fit li{font-size:15.5px}.category-bottom{display:block;margin-top:28px}.category-bottom>.label{display:block;margin-bottom:17px;font-size:13.5px}.reality-section{display:block;padding-top:50px;padding-bottom:50px}.reality-intro>.label{font-size:14.5px}.reality-intro h2{font-size:64px;margin-bottom:23px}.reality-intro>p:last-child{font-size:16.5px}.rc-preview{margin-top:30px;padding:28px 22px;grid-template-columns:1fr .7fr;gap:5px}.rc-copy h3{font-size:clamp(67px,calc(17vw + 2px),90px)}.rc-copy>.label{font-size:12.5px}.rc-cta{font-size:13.5px;padding:14px;gap:15px}.rc-preview .inspection{min-height:160px}.rc-preview .core{font-size:100px}.services-page .framework{padding-top:50px}.services-page .closing>.label{font-size:14.5px}}@media(max-width:370px){.service-graphic{padding-left:12px;padding-right:12px}.graphic-controls{gap:5px}.graphic-controls button{font-size:13.5px}.rc-preview{grid-template-columns:1fr}.rc-preview .inspection{position:absolute;right:-30px;top:35px;width:135px;opacity:.2;pointer-events:none}.rc-copy h3{max-width:230px}.category-tabs button{min-width:140px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.category-tabs{position:sticky;top:62px;z-index:8;background:var(--ink)}@media(max-width:650px){.category-tabs{top:50px}}

.compass-center{inset:30%;font-size:clamp(52px,6vw,82px);line-height:1;letter-spacing:-2px}
@media(max-width:720px){.compass-center{font-size:clamp(44px,13vw,68px)}}

/* Service details are an explicit action; every offering starts closed. */
.offering-details summary{margin:18px 22px;padding:14px 18px;min-height:48px;box-sizing:border-box;justify-content:space-between;border:1px solid #272220;background:#272220;color:#fff;transition:background .2s,color .2s}
.offering-details summary:hover{background:#fff;color:#272220}
.offering-details summary:focus-visible{outline:2px solid #272220;outline-offset:4px}
.offering-details summary .plus{flex:none;line-height:1;transition:transform .2s}
.offering-details .details-close-label{display:none}
.offering-details[open] .details-open-label{display:none}
.offering-details[open] .details-close-label{display:inline}
@media(prefers-reduced-motion:reduce){.offering-details summary,.offering-details summary .plus{transition:none}}

/* Shared rows keep each pair aligned as copy wraps or a detail panel opens. */
@media(min-width:721px){
 .offerings{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 .offering{align-self:stretch}
 @supports(grid-template-rows:subgrid){
  .offering{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
  .offering-heading{min-height:0}
  .offering-links{margin-top:0;align-self:end}
 }
}

/* Smaller labels inside the interactive graphics on phones. */
@media(max-width:720px){
 .service-graphic{container-type:inline-size}
 .service-graphic .graphic-controls button{font-size:clamp(9px,4cqw,11px)!important;line-height:1.1;padding-left:2px;padding-right:2px}
 .service-graphic .graphic-controls button>span:last-child{min-width:0;overflow-wrap:anywhere}
}

/* Reserve space for every graphic state so selecting a tab never shifts the cards. */
.service-graphic{display:flex;flex-direction:column}
.graphic-note{display:grid;align-content:start}
.graphic-note>span{grid-area:1 / 1;align-self:start}
.graphic-note>span[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.graphic-hint{margin-top:auto;padding-top:18px}

/* Phone Services: floating wordmark with a separate, readable category grid. */
@media(max-width:720px){
 .services-hero .service-compass{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:100%;min-width:0;aspect-ratio:auto;margin:32px auto 8px;padding:10px 0 0;overflow:visible}
 .services-hero .compass-ring{display:none}
 .services-hero .compass-center{position:relative;inset:auto;grid-column:1/-1;display:block;width:100%;max-width:100%;padding:20px 0 28px;text-align:center;font-family:var(--serif);font-weight:400;font-size:clamp(54px,18vw,80px)!important;line-height:1.1;letter-spacing:-1px;white-space:nowrap;text-decoration:none;animation:service-wordmark-float 5s ease-in-out infinite}
 .services-hero .compass-point{position:static;inset:auto;display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-width:0;min-height:52px;margin:0;padding:14px 10px;font-size:clamp(11px,3.2vw,14px)!important;line-height:1.15;overflow-wrap:anywhere}
 .services-hero .compass-point span{font-size:11px;flex:none}
 .services-hero .compass-point:hover{transform:none}
 .services-hero .compass-center:focus-visible,.services-hero .compass-point:focus-visible{outline:2px solid currentColor;outline-offset:4px}
}
@keyframes service-wordmark-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:720px) and (prefers-reduced-motion:reduce){.services-hero .compass-center{animation:none}}

/* The Raye way: readable center label on desktop and phone. */
.services-hero .compass-center{font-family:"Instrument Serif",serif!important;font-size:42px!important;font-weight:400!important;line-height:.89!important;letter-spacing:-1px!important;text-align:center;text-transform:none!important}
.services-hero .compass-center span{white-space:nowrap}
@media(max-width:720px){.services-hero .compass-center{font-size:clamp(42px,12vw,58px)!important;padding:22px 8px 30px!important}}

/* Keep the RAYE way on one line, including narrow phone embeds. */
.services-hero .service-compass{container-type:inline-size}
.services-hero .compass-center{font-size:clamp(24px,8cqw,38px)!important;white-space:nowrap!important;letter-spacing:-.03em!important;line-height:1.03!important}
.services-hero .compass-center span{display:inline;white-space:nowrap!important}
.framework .step-pane{height:auto;min-height:400px;overflow:visible}
.framework .step-pane h3{font-size:clamp(30px,3vw,46px);max-width:18ch}
.framework .step-pane>p:last-child{max-width:42ch}
.framework .step-tabs button{height:auto;min-height:64px;white-space:normal}
.approach-row summary h3{overflow-wrap:break-word}
@media(max-width:720px){.services-hero .compass-center{font-size:clamp(25px,10cqw,38px)!important}.framework .step-pane{min-height:0;padding-bottom:32px}.framework .step-pane h3{font-size:32px}.approach-row summary h3{font-size:30px}}
