/* Page composition is built from the approved homepage components. */
.review-page{background:var(--paper);color:var(--ink)}
.review-page #siteMain{position:relative;isolation:isolate;padding-top:var(--site-header-height,99px)}
.review-page .site-header{--header-bg:var(--paper);background:var(--header-bg)}
.review-page [id]{scroll-margin-top:calc(var(--site-header-height,99px) + 24px)}
.review-page figure{margin:0}
.review-page img{max-width:100%}
.review-breadcrumb{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:10px;letter-spacing:.06em;margin-bottom:65px}
.review-breadcrumb a:hover{color:var(--ink)}
.review-intro h1{margin:-13px 0 0;font:700 clamp(55px,7vw,110px)/1.05 var(--display);letter-spacing:-.035em;text-wrap:balance}
.review-intro h1 em{font-style:normal;color:#a4a4a0}
.intro-description{margin-top:25px}
.review-intro .intro-description p{max-width:510px;margin:0 0 18px;font-size:15px;line-height:1.75;color:#77776f}
.review-opening{padding:44px 0 70px;background:var(--paper)}
.company-collection{position:relative;z-index:1;background:var(--paper);padding-bottom:105px}
.company-chapter{position:relative;padding:90px 0 70px;background:var(--paper)}
.chapter-1{z-index:1}
.chapter-2{z-index:3;margin-top:90px}
.company-photo{position:sticky;top:calc(var(--site-header-height,99px) + 18px);height:clamp(370px,39vw,600px);overflow:hidden;border-radius:20px;background:#111;isolation:isolate;transform:scale(var(--sheet-scale,1));transform-origin:50% 0;box-shadow:0 22px 50px rgb(0 0 0 / calc(.2 * var(--sheet-shadow,1)))}
.company-photo.sheet-1{z-index:2}
.company-photo.sheet-2{z-index:4}
.company-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10111208 18%,#10111222 40%,#101112d9 100%);pointer-events:none}
.sheet-facts{position:absolute;z-index:1;left:clamp(25px,4vw,65px);right:clamp(25px,4vw,65px);bottom:clamp(25px,4vw,55px);display:grid;color:#f5f4ef}
.facts-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.facts-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:0 28px;border-left:1px solid #ffffff48;min-width:0}
.metric:first-child{padding-left:0;border-left:0}
.metric b{font:700 clamp(50px,7.5vw,116px)/.98 var(--display);letter-spacing:-.055em}
.metric span{font:400 12px/1.5 var(--mono);color:#deded5}
.metric:first-child b{color:var(--yellow)}
.review-process{position:relative;z-index:5;padding:100px 0 110px}
.process-intro{margin-bottom:70px}
.process-summary{font:400 clamp(21px,2.2vw,33px)/1.55 var(--display)!important;letter-spacing:-.025em!important;margin:0!important;max-width:850px;text-wrap:pretty!important;color:#b8b9af}
.process-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;padding:45px 0 55px;border-top:1px solid #ffffff35}
.process-number{padding-top:11px;color:#8f9284}
.step-title{margin:0 0 30px;font:700 clamp(38px,5.4vw,83px)/1.05 var(--display);letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}
.step-title span{color:#85877e}
.step-body p{max-width:650px;margin:0 0 0 auto;font-size:16px;line-height:1.8;color:#b8b9af}
.review-projects{position:relative;z-index:6;padding:110px 0;background:var(--paper)}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.project-tile{overflow:hidden;aspect-ratio:1.7;border-radius:20px;background:#121212}
.project-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.project-tile:hover img{transform:scale(1.025)}
.project-outro{margin-top:90px}
.project-outro h2{margin:0}
.all-projects{display:block}
.all-projects:hover em{color:#73756b}
.review-request{position:relative;z-index:7;padding:100px 0 110px;background:var(--paper);border-top:1px solid var(--line)}
.review-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 28px;margin-top:48px}
.review-field{display:flex;flex-direction:column;gap:12px;min-width:0;font:400 11px/1.5 var(--mono);color:#77776f}
.review-field input,.review-field textarea{width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid #aeb0a4;border-radius:0;padding:0 0 14px;color:var(--ink);font:400 16px/1.5 var(--display);resize:vertical}
.review-field textarea{min-height:110px}
.full-width{grid-column:1/-1}
.review-submit{grid-column:1/-1;justify-self:start;min-height:52px;padding:18px 27px;border:0;border-radius:5px;background:var(--yellow);color:var(--ink);font:700 11px/1.4 var(--mono);text-transform:uppercase}
.review-submit:hover{background:#ffe16b}
.review-services{padding:44px 0 110px}
.review-services .review-intro{margin-bottom:75px}
.review-services .service-btn b{font-weight:700;letter-spacing:-.035em;line-height:1.05}
.review-services .service-mark{align-self:center;margin-top:0}
.category-context .original-category{display:block;color:#77776f;margin:0 0 18px}
.category-context>p{max-width:430px}
.full-service-list{min-width:0}
.full-service-entry{padding:23px 0 26px;border-bottom:1px solid #b6b7af;scroll-margin-top:calc(var(--site-header-height,99px) + 30px)}
.full-service-entry:first-child{padding-top:0}
.full-service-entry:last-child{border-bottom:0;padding-bottom:0}
.full-service-entry h3{margin:0 0 15px;font:700 clamp(21px,2.1vw,31px)/1.2 var(--display);letter-spacing:-.035em;overflow-wrap:break-word}
.review-services .full-service-entry>p{max-width:none;font-size:15px;line-height:1.75;margin:0 0 17px}
.service-details{display:inline-block;padding-bottom:5px;border-bottom:1px solid;font:400 10px/1.5 var(--mono);text-transform:uppercase}
.service-details:hover{color:#74776b}
.review-page .services-menu-group h3 a{font:inherit!important;color:inherit!important;padding:0!important}
@media(max-width:1100px) and (min-width:821px){
 .metric{padding-right:15px;padding-left:22px}
 .metric b{font-size:72px}
 .step-title{font-size:56px}
}
@media(max-width:820px){
 .review-opening,.review-services{padding-top:32px}
 .review-breadcrumb{margin-bottom:45px;font-size:9px;gap:14px}
 .review-intro h1{margin:0;font-size:clamp(48px,8vw,85px)}
 .review-intro .intro-description p{max-width:650px;font-size:15px}
 .intro-description{margin-top:24px}
 .review-opening{padding-bottom:45px}
 .company-chapter{padding:65px 0 45px}
 .chapter-2{margin-top:65px}
 .company-photo{height:420px;border-radius:18px}
 .company-collection{padding-bottom:70px}
 .sheet-facts{left:28px;right:28px;bottom:30px}
 .metric{padding:0 18px;gap:12px}
 .metric b{font-size:65px}
 .metric span{font-size:11px}
 .review-process{padding:70px 0 80px}
 .process-summary{font-size:23px!important}
 .process-row{grid-template-columns:42px minmax(0,1fr);gap:15px;padding:35px 0 42px}
 .step-title{font-size:clamp(35px,6vw,52px)}
 .step-body p{max-width:600px;font-size:15px}
 .review-projects{padding:70px 0}
 .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .project-outro{margin-top:65px}
 .review-request{padding:70px 0 85px}
 .review-services .review-intro{margin-bottom:50px}
}
@media(max-width:520px){
 .review-breadcrumb{margin-bottom:35px}
 .review-intro h1{font-size:clamp(41px,11.6vw,60px)}
 .review-intro .intro-description p{font-size:14px;line-height:1.75}
 .company-chapter{padding:48px 0 35px}
 .chapter-2{margin-top:45px}
 .company-photo{height:370px;border-radius:16px}
 .sheet-facts{left:22px;right:22px;bottom:27px}
 .metric{padding:0 12px;gap:9px}
 .facts-2 .metric b{font-size:53px}
 .facts-3 .metric b{font-size:37px}
 .metric span{font-size:10px;overflow-wrap:break-word}
 .process-intro{margin-bottom:45px}
 .process-summary{font-size:21px!important}
 .process-row{grid-template-columns:22px minmax(0,1fr);gap:13px;padding:30px 0 38px}
 .process-number{padding-top:4px;font-size:9px}
 .step-title{font-size:clamp(27px,7.7vw,38px);margin-bottom:22px;text-wrap:initial}
 .step-body p{font-size:14px;line-height:1.8}
 .project-gallery{grid-template-columns:1fr;gap:18px}
 .project-tile{border-radius:16px}
 .project-outro{margin-top:50px}
 .project-outro h2{font-size:39px}
 .review-form{grid-template-columns:1fr;margin-top:35px;gap:27px}
 .review-submit{width:100%}
 .review-services{padding-bottom:75px}
 .review-services .full-service-entry>p{font-size:14px}
 .full-service-entry h3{font-size:23px}
 .full-service-entry{padding-bottom:24px;margin-bottom:0}
 .category-context .original-category{margin-top:0;margin-bottom:12px}
 .full-service-list{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .review-page *{transition:none!important;animation:none!important}
 .company-photo{position:relative;top:auto;transform:none!important}
}

.services-opening{background:var(--paper);padding:38px 0 0}
.services-title{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:7%;padding:26px 0 65px}
.services-title h1{font:700 clamp(56px,7.7vw,124px)/1.02 var(--display);letter-spacing:-.065em;margin:0}
.services-title h1 em{font-style:normal;color:#92948b}
.services-title p{font:400 15px/1.8 var(--mono);color:var(--muted);max-width:400px;margin:0 0 6px}
.directions-nav{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 45px}
.directions-nav a{font:500 12px/1.3 var(--mono);border:1px solid #bdbdb5;padding:14px 21px;border-radius:3px;transition:background .2s,border-color .2s}
.directions-nav a:hover,.directions-nav a:focus-visible{background:var(--yellow);border-color:var(--yellow)}
.direction-sheet{position:relative;background:var(--paper);padding:85px 0 100px;border-top:1px solid var(--line)}
.direction-grid{display:grid;grid-template-columns: .9fr 1.1fr;gap:9%;align-items:start}
.direction-heading{position:sticky;top:calc(var(--site-header-height,99px) + 40px)}
.direction-heading h2{font:700 clamp(36px,4.6vw,73px)/1.05 var(--display);letter-spacing:-.055em;margin:0 0 26px;overflow-wrap:normal}
.direction-heading p{font:400 13px/1.8 var(--mono);max-width:330px;color:var(--muted);margin:0}
.direction-symbol{width:125px;height:120px;margin:-15px 0 25px;color:#8e9085}
.direction-symbol svg{height:100%;width:100%;transform:rotate(-8deg);transition:transform 1s}
.direction-sheet.in-view .direction-symbol svg{transform:rotate(0deg)}
.direction-dark{background:#1b1c1a;color:var(--paper);border-color:transparent}
.direction-dark .direction-heading p{color:#b7b8ae}
.direction-dark .direction-symbol{color:var(--yellow)}
.service-detail{border-top:1px solid #b7b8ae;padding:23px 0 26px}
.service-detail:last-child{border-bottom:1px solid #b7b8ae}
.service-detail summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer;padding:0}
.service-detail summary::-webkit-details-marker{display:none}
.service-detail summary h3{font:700 clamp(22px,2.35vw,36px)/1.15 var(--display);letter-spacing:-.035em;margin:0;flex:1}
.detail-toggle{position:relative;flex:0 0 16px;height:16px}
.detail-toggle:before,.detail-toggle:after{content:'';position:absolute;background:currentColor;top:7px;left:0;width:16px;height:1px;transition:transform .25s}
.detail-toggle:after{transform:rotate(90deg)}
.service-detail[open] .detail-toggle:after{transform:rotate(0)}
.service-preview{display:block!important;margin:19px 35px 0 0;font:400 13px/1.8 var(--mono);color:#77796f}
/* Preview stays visible even when the detail is closed. */
.service-detail::details-content{content-visibility:visible;display:block}
.service-detail:not([open]) .service-expanded{display:none}
.service-expanded{animation:service-open .35s ease both}
.service-expanded p{font:400 13px/1.8 var(--mono);margin:22px 0;color:inherit}
.service-expanded a{display:inline-block;font:500 11px/1.5 var(--mono);text-transform:uppercase;padding:8px 0;border-bottom:1px solid currentColor}
.service-detail[open] summary h3{color:#8a761a}
.direction-dark .service-detail{border-color:#ffffff35}
.direction-dark .service-preview{color:#b7b8ae}
.direction-dark .service-detail[open] summary h3{color:var(--yellow)}
.company-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}
.company-contact-copy h2{font:700 clamp(45px,6.5vw,100px)/1.03 var(--display);letter-spacing:-.065em;margin:0 0 30px}
.company-contact-copy h2 em{font-style:normal;color:#92948b}
.company-contact-copy p{font:400 13px/1.8 var(--mono);max-width:330px;color:var(--muted)}
.company-contact-grid .review-form{margin-top:0}
.services-page #siteMain{overflow:clip}
@keyframes service-open{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:820px){.services-title{grid-template-columns:1fr;gap:30px;padding:15px 0 35px}.services-title h1{font-size:clamp(52px,10vw,90px)}.services-title p{max-width:550px}.direction-grid{gap:6%;grid-template-columns:.85fr 1.15fr}.direction-heading h2{font-size:36px}.direction-heading p{font-size:12px}.direction-sheet{padding:60px 0 70px}.direction-symbol{width:90px;height:90px}.service-preview,.service-expanded p{font-size:12px}.company-contact-grid{gap:6%}}
@media(max-width:600px){.services-opening{padding-top:28px}.review-breadcrumb{margin-bottom:30px}.directions-nav{gap:7px;padding-bottom:32px}.directions-nav a{padding:12px;font-size:10px}.direction-grid,.company-contact-grid{grid-template-columns:1fr;gap:32px}.direction-heading{position:relative;top:auto;padding-right:80px}.direction-heading h2{font-size:42px;max-width:100%;margin-bottom:17px}.direction-symbol{position:absolute;right:0;top:0;width:70px;height:75px;margin:0}.direction-heading p{max-width:300px}.direction-sheet{padding:45px 0 55px}.service-detail summary h3{font-size:25px}.service-preview{margin-right:0}.company-contact-copy h2{font-size:55px}.services-title h1{font-size:55px}.services-title p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.service-expanded{animation:none}.direction-symbol svg{transition:none}}
