
[data-parallax]{position:relative;overflow:hidden;isolation:isolate;background:#333}
[data-parallax]>.hero-image{position:absolute;inset:0;width:100%;height:100svh;max-width:none;object-fit:cover;transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}
.page-banner{height:60svh;min-height:370px;display:grid;place-items:center;color:#fff;text-align:center}
.page-banner:after{content:"";position:absolute;inset:0;background:#0004;z-index:1}
.page-banner h1{position:relative;z-index:2;font-size:clamp(40px,5.7vw,76px);font-weight:300;padding:80px 30px 0;max-width:1150px}
body:has(.page-banner) .header:not(.scrolled){background:linear-gradient(#0005,transparent)}
.header.scrolled{background:rgba(82,82,82,.94)}
.cta{background:#fff;text-align:left;padding:100px 0}
.cta-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}
.cta-layout>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 28%;filter:grayscale(1)}
.cta p{line-height:1.7;margin:26px 0}
.cta .cta-signature{font-size:12px;color:#777;margin-top:30px}
.service-intro{max-width:960px;padding:90px 0;display:grid;grid-template-columns:1fr 1.9fr;gap:70px}
.service-intro h2{font-size:29px;line-height:1.45}
.service-intro p:first-child{margin-top:0}.service-intro p:last-child{margin-bottom:0}
.service-terms{background:#f4f4f4;text-align:center;padding:85px 0}
.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:850px;margin:50px auto 20px}
.terms-grid h3{font-size:26px;font-weight:400}.terms-grid p{font-size:16px}
.line-icon{display:inline-grid;place-items:center;font-weight:300;font-size:38px;width:70px;height:70px;border:1px solid #777;border-radius:50%;margin-bottom:25px}
.calendar-icon{border-radius:2px;border-top:7px double #777}
.service-stages{max-width:950px}.service-stages>h2{text-align:center;margin-bottom:75px}
.timeline article{display:grid;grid-template-columns:30% 1fr;gap:0}
.stage-label{text-align:right;padding:0 40px 0 0;font-size:17px}
.timeline article>div{position:relative;border-left:1px solid #bbb;padding:0 0 50px 55px}
.timeline article>div:before{content:"";position:absolute;top:4px;left:-7px;width:13px;height:13px;background:#fff;border:1px solid #777;border-radius:50%}
.timeline h3{font-size:27px;font-weight:400}.timeline p{font-size:17px;line-height:1.75;margin-bottom:0}
.timeline article:last-child>div{padding-bottom:0;border-color:transparent}
.service-break{margin-top:0;margin-bottom:0}.service-break img{width:100%;max-height:660px;object-fit:cover}.service-break figcaption{font-size:12px;color:#777;padding-top:14px}
.related-services{max-width:950px}.related-services h2{margin-bottom:35px}.related-services a{display:flex;justify-content:space-between;border-bottom:1px solid #ccc;padding:19px 0;font-size:20px;font-weight:300}.related-services a:hover{color:#888}
.portfolio-body,.press-body{background:#f3f3f3}
.filters{gap:0;flex-wrap:nowrap;margin-bottom:50px}.filters button{flex:1;border-bottom:1px solid #bbb;padding:15px}.filters button.active{border-bottom:2px solid #111}
.masonry{display:block;columns:3;column-gap:25px;margin-bottom:0}
.masonry .project-card{break-inside:avoid;background:#fff;margin:0 0 25px;padding-bottom:22px;text-align:center}
.masonry .card-image img{aspect-ratio:auto;height:300px}.masonry .project-card:nth-child(2n) .card-image img{height:420px}
.masonry h3{font-size:21px;margin:23px 18px 10px}.masonry p{font-size:11px;margin:0 18px 12px}
.press-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}
.press-cards article{background:white;text-align:center}.press-cover{width:100%;height:300px;object-fit:cover}
.press-caption{padding:30px 25px}.publisher-logo{width:190px;height:64px;object-fit:contain;margin:0 auto 28px}
.press-caption h2{font-size:19px;line-height:1.5;font-weight:400;min-height:57px}.press-caption .more{font-size:11px;margin-top:18px}
.press-cards a:hover .press-cover{filter:brightness(.94)}
.press-links{align-items:center}.press-links a{border:0}.press-links img{width:210px;height:65px;object-fit:contain}
.roomtour{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;border-top:1px solid #ddd}
.reel-frame{width:100%;max-width:400px;margin:auto;background:#f5f5f5;min-height:600px}
.reel-frame iframe{border:1px solid #ddd;width:100%;height:660px;display:block}
@media(max-width:850px){.service-intro{gap:35px}.cta-layout{gap:40px}.press-cards{grid-template-columns:1fr 1fr}.masonry{columns:2}.page-banner{min-height:330px}.terms-grid{gap:30px}.cta h2{font-size:34px}.roomtour{gap:35px}}
@media(max-width:600px){.page-banner{height:55svh;min-height:320px}.page-banner h1{font-size:37px;padding:60px 20px 0}.cta{padding:60px 0}.cta-layout{grid-template-columns:1fr;gap:35px}.cta-layout>img{max-height:440px}.cta h2{font-size:34px}.service-intro{grid-template-columns:1fr;padding:55px 0;gap:25px}.service-intro h2{font-size:27px}.service-terms{padding:55px 0}.terms-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.terms-grid p{margin:15px 0}.service-stages>h2{margin-bottom:40px}.timeline article{grid-template-columns:1fr}.stage-label{text-align:left;font-size:13px;padding:0 0 12px 28px}.timeline article>div{padding-left:28px;padding-bottom:35px;margin-left:6px}.timeline h3{font-size:23px}.timeline p{font-size:16px}.filters button{font-size:12px;padding:12px 5px}.masonry{columns:1}.masonry .card-image img,.masonry .project-card:nth-child(2n) .card-image img{height:auto;max-height:530px}.press-cards{grid-template-columns:1fr;gap:28px}.press-cover{height:340px}.press-caption h2{min-height:0}.roomtour{grid-template-columns:1fr;gap:35px}.roomtour>div:last-child{grid-row:1}.reel-frame{min-height:590px}.reel-frame iframe{height:620px}.related-services a{font-size:17px}.service-break img{height:370px}}
@media(prefers-reduced-motion:reduce){[data-parallax]>.hero-image{transform:none;will-change:auto;height:100%}}

.reel-load{width:100%;min-height:620px;border:0;background:linear-gradient(145deg,#8a8176,#403d38);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;letter-spacing:3px}.reel-play{display:grid;place-items:center;width:95px;height:95px;border:1px solid #fff9;border-radius:50%;font-size:45px;padding-left:5px}.reel-load small{font-size:12px;letter-spacing:1px}.reel-load-label{font-size:11px;letter-spacing:1px;border-bottom:1px solid #fff8;padding-bottom:5px}.reel-load:hover{filter:brightness(1.08)}
/* Homepage services: two-column photo cards, matching the reference layout. */
.home-services{background:#f2f2f2;padding:85px 0 95px;scroll-margin-top:80px}
.home-services h2{text-align:left;font-size:42px;line-height:1.25;font-weight:300}
.home-services .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:75px}
.home-services .service-card{display:grid;grid-template-columns:27% minmax(0,1fr);padding:0;background:#fff;min-height:400px;align-items:stretch}
.service-card-photo{display:block;overflow:hidden;min-height:100%}
.service-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.service-card:hover .service-card-photo img{transform:scale(1.025)}
.service-card-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start}
.home-services .service-card h3{font-size:28px;font-weight:400;line-height:1.35;text-transform:none}
.home-services .service-card p{font-size:18px;line-height:1.5;margin:18px 0 22px;flex:1}
.home-services .service-card .service-price{flex:0;margin:0 0 27px;font-size:20px;font-weight:400}
.home-services .service-card .more{font-size:14px;font-weight:300;letter-spacing:0;padding:8px 0;margin-top:auto}
@media(max-width:1100px){.home-services .services-grid{gap:28px}.service-card-copy{padding:25px}.home-services .service-card h3{font-size:25px}.home-services .service-card p{font-size:16px}}
@media(max-width:850px){.home-services .services-grid{grid-template-columns:1fr;max-width:680px;margin-left:auto;margin-right:auto}.home-services .service-card{min-height:340px}.home-services h2{font-size:34px}}
@media(max-width:600px){.home-services{padding:60px 0}.home-services h2{font-size:30px}.home-services .services-grid{margin-top:40px;gap:25px}.home-services .service-card{grid-template-columns:27% minmax(0,1fr);min-height:350px}.service-card-copy{padding:22px 18px}.home-services .service-card h3{font-size:23px}.home-services .service-card p{font-size:16px;line-height:1.55}.home-services .service-card .service-price{font-size:17px}.home-services .service-card .more{font-size:13px}}

.breadcrumbs{font-size:14px;margin-bottom:30px;color:#666}.breadcrumbs a:hover{text-decoration:underline}.page-title .eyebrow{font-size:12px;margin-bottom:20px}.article-byline{font-size:13px!important;color:#777}.seo-article a:not(.more){text-decoration:underline;text-underline-offset:4px}.article-toc{background:#f4f4f4;padding:28px 32px;margin:40px 0;font-size:16px}.article-toc ol{margin-bottom:0;padding-left:22px}.article-toc li{padding:5px 0}.seo-article section{scroll-margin-top:110px}.reading-next{border-top:1px solid #ddd;margin-top:55px;padding-top:10px}.reading-next li{margin:14px 0}.blog-grid .eyebrow{font-size:12px;color:#777;margin:20px 0 0}.blog-grid .eyebrow+h2{margin-top:12px}.seo-article>img{height:auto;max-height:560px;object-fit:cover}@media(max-width:600px){.article-toc{padding:24px 20px}.seo-article h2{font-size:26px}.breadcrumbs{font-size:13px}}
.brand-name{font-size:11px;line-height:1.55;letter-spacing:.3px}.legal-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;font-size:13px}.legal-article{max-width:850px}.legal-article ul{padding-left:24px}.legal-article li{margin:12px 0}.legal-article a{text-decoration:underline}.legal-status{padding:24px;border:1px solid #bbb;background:#f5f5f5;font-size:16px!important}.inquiry .small a{text-decoration:underline}@media(max-width:1100px){.header nav{gap:14px}.brand-name{font-size:10px}}
.analytics-choice{position:fixed;z-index:120;bottom:20px;left:20px;right:20px;max-width:700px;padding:24px;background:#fff;border:1px solid #999;box-shadow:0 4px 24px #0002;font-size:15px}.analytics-choice p{margin:0 0 18px}.analytics-choice a{text-decoration:underline}.analytics-choice>div{display:flex;gap:12px;flex-wrap:wrap}.analytics-choice button,.analytics-settings{background:white;color:#222;border:1px solid #777;padding:12px;font-size:14px}.analytics-settings{margin:20px 4% 0}.analytics-choice button:hover{background:#eee}
.consent-check{display:flex!important;align-items:flex-start;gap:12px;margin:24px 0;font-size:16px;line-height:1.6}.consent-check input{width:20px!important;min-width:20px;height:20px;margin-top:4px;accent-color:#333}.consent-check a{text-decoration:underline}.operator-details{padding-top:24px;padding-bottom:24px;font-size:14px;line-height:1.7}.legal-links{flex-wrap:wrap}
