/* Shared editorial pages, storytelling sections and phone-first conversion. */
.portal-title{font-family:Syne,sans-serif;font-weight:800}.portal-bottom{bottom:110px}
body{padding-bottom:88px}.primary-call{font-weight:600;white-space:nowrap}.nav-cta.primary-call{border-color:rgba(255,49,49,.5);font-size:11px;gap:14px}.call-button{background:var(--brand-red);border-color:var(--brand-red);color:#fff;font-weight:600}.call-button:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}.hero-question{position:absolute;top:22%;left:var(--pad);right:var(--pad);z-index:5;will-change:opacity,transform}.hero-question .eyebrow{font-size:9px;letter-spacing:.11em;color:var(--secondary);margin-bottom:18px}.hero-question h1{font-size:clamp(26px,3.7vw,64px);line-height:1.14;letter-spacing:-.04em;max-width:32ch}.hero-question .question-lede{font-size:12px;margin-top:18px;color:var(--secondary)}.portal-title{top:51%;font-size:10.25vw}.portal-intro{top:69%;align-items:center}.portal-intro .hero-call-note{font-size:10px;line-height:1.8;margin-top:12px;color:var(--secondary)}.portal-scene h2{font-size:clamp(32px,5.1vw,90px);max-width:21ch;line-height:1.15}.story-cue{color:var(--secondary);font-size:8px}.hero-question em{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand-red);text-decoration-thickness:2px;text-underline-offset:8px}.home-value{border-bottom:1px solid var(--line);background:var(--surface)}.value-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:45px}.value-layout h2{font-size:clamp(36px,4.1vw,65px)}.value-layout p{font-size:13px;line-height:2;max-width:65ch}.value-layout .button{margin-top:28px}.photo-story{border-bottom:1px solid var(--line)}.photo-story>h2{font-size:clamp(36px,4.2vw,68px);margin:38px 0 50px}.story-frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.story-frames figure{margin:0;min-width:0}.story-frames img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.72);transition:filter .4s,transform .6s}.story-frames figure:hover img{filter:saturate(1)}.story-frames figcaption{padding-top:22px}.story-frames .micro{color:var(--brand-red);font-size:8px}.story-frames h3{font-size:clamp(20px,1.7vw,28px);line-height:1.3;margin:13px 0}.story-frames p{font-size:11px;line-height:1.9}.story-frames .text-link{font-size:9px;gap:14px}.photo-story>.small-note{font-size:9px;color:var(--muted);margin-top:30px}.all-services{padding:20px var(--pad) 80px}.all-services>.eyebrow{margin-bottom:25px}.directory-links{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin:30px 0}.directory-links a{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink);transition:color .2s,padding .2s}.directory-links a:hover{color:var(--brand-red);padding-left:7px}.directory-links a>span:last-child{color:var(--brand-red);font-size:20px;flex-shrink:0}.call-value{background:var(--surface);border-bottom:1px solid var(--line)}.call-value h2{font-size:clamp(34px,4vw,62px);margin-top:35px}.call-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin:45px 0}.call-checklist>div{border-top:1px solid var(--line);padding-top:18px}.call-checklist span{font-size:11px;color:var(--brand-red)}.call-checklist h3{font-size:clamp(20px,1.8vw,28px);line-height:1.3;margin:18px 0}.call-checklist p{font-size:12px;line-height:1.9}.call-value>.small-note{font-size:10px;margin-top:15px}.home-faq>h2{font-size:clamp(36px,4.4vw,70px);margin:35px 0 25px}.faq-intro{font-size:13px;max-width:65ch;line-height:1.9}.faq-filters{display:flex;flex-wrap:wrap;gap:8px;margin:35px 0}.faq-filters button{border:1px solid var(--line);border-radius:24px;min-height:44px;padding:10px 17px;font-size:10px;transition:color .25s,border-color .25s}.faq-filters button[aria-pressed=true],.faq-filters button:hover{border-color:var(--brand-red);color:var(--brand-red)}.faq-group[hidden]{display:none}.faq-block{padding:28px 0}.faq-block>.eyebrow{font-size:8px;color:var(--muted);margin-bottom:15px}.faq-block>h2{font-size:clamp(25px,2.4vw,38px);line-height:1.3;margin-bottom:28px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 0;min-height:60px;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span{font-size:15px;line-height:1.6;max-width:85ch;transition:color .25s,transform .25s}.faq-item summary:hover>span{color:var(--brand-red);transform:translateX(5px)}.faq-item summary i{font-style:normal;font-size:26px;color:var(--brand-red);transition:transform .3s;flex-shrink:0}.faq-item[open] summary i{transform:rotate(45deg)}.faq-item[open] summary>span{color:var(--ink)}.faq-answer{padding:0 45px 30px 0}.faq-answer>p{font-size:13px;line-height:1.95;max-width:90ch}.faq-next{display:flex;align-items:center;flex-wrap:wrap;gap:15px 30px;margin-top:15px}.faq-next .text-link{font-size:10px}.faq-call{font-size:10px;color:var(--brand-red);border-bottom:1px solid var(--line);padding:12px 0;line-height:1.8}.call-rail{position:fixed;bottom:0;left:0;right:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:13px var(--pad);background:rgba(10,12,14,.97);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.call-rail>span{display:grid;gap:2px}.call-rail strong{font-size:11px;font-weight:400;color:var(--ink)}.call-rail small{font-size:9px;color:var(--secondary)}.call-rail .button{padding:13px 20px;font-size:12px;min-height:47px;gap:25px}.site-footer{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:65px;border-top:1px solid var(--line);padding-top:55px;padding-bottom:65px;background:var(--surface)}.site-footer .brand{display:inline-block;margin-bottom:25px}.site-footer p:not(.eyebrow){font-size:12px;line-height:1.9;max-width:29ch;margin-bottom:25px}.site-footer>div>a:not(.brand):not(.button){display:block;font-size:11px;color:var(--secondary);margin:12px 0}.site-footer>div>a:hover{color:var(--brand-red)}.site-footer .eyebrow{font-size:8px;margin-bottom:20px}.site-footer address{font-size:11px;font-style:normal;line-height:1.9;color:var(--secondary)}.site-footer .micro{font-size:8px;display:block;margin-top:22px;color:var(--muted)}
.page-hero{padding-top:120px;border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;gap:15px;font-size:10px;color:var(--secondary);margin-bottom:40px}.breadcrumbs a:hover{color:var(--brand-red)}.page-hero>.eyebrow{color:var(--brand-red);font-size:9px}.page-hero h1{font-size:clamp(30px,4.2vw,68px);line-height:1.18;letter-spacing:-.04em;max-width:27ch;overflow-wrap:anywhere;margin:30px 0}.page-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:start;margin:30px 0 50px}.page-intro>p{font-size:14px;line-height:1.95;max-width:80ch}.page-intro>div{display:grid;justify-items:start;gap:17px}.page-intro .small-note{font-size:10px}.page-photo{margin:0}.page-photo img{width:100%;height:clamp(250px,33vw,530px);object-fit:cover;filter:brightness(.85) saturate(.75)}.page-photo figcaption{font-size:8px;letter-spacing:.12em;color:var(--muted);padding-top:15px}.reading-layout{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,3fr);gap:75px;align-items:start}.reading-nav{position:sticky;top:100px}.reading-nav>.eyebrow{color:var(--brand-red);font-size:9px;margin-bottom:24px}.reading-nav>a{display:block;font-size:10px;line-height:1.8;color:var(--secondary);margin:15px 0}.reading-nav>a:hover{color:var(--brand-red)}.reading-nav>.text-link{display:flex;color:var(--brand-red);margin-top:25px}.reading-body{min-width:0;max-width:900px}.article-section{padding:0 0 48px;margin-bottom:40px;border-bottom:1px solid var(--line)}.article-section>.eyebrow{color:var(--brand-red);margin-bottom:20px}.article-section h2{font-size:clamp(25px,2.6vw,40px);line-height:1.3;max-width:34ch;overflow-wrap:anywhere;margin-bottom:25px}.article-section p{font-size:14px;line-height:1.95;max-width:78ch;margin:18px 0}.article-section ul{padding-left:20px;margin:25px 0}.article-section li{font-size:13px;line-height:1.9;color:var(--secondary);padding:5px 0 5px 6px}.reading-body .directory-links{grid-template-columns:1fr}.reading-body .directory-links a{font-size:12px}.table-scroll{overflow-x:auto;margin:30px 0;outline-offset:5px}.table-scroll table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;line-height:1.8}.table-scroll th{font-size:9px;text-transform:uppercase;font-weight:400;letter-spacing:.1em;color:var(--brand-red);padding:15px 14px;border-bottom:1px solid var(--line)}.table-scroll td{padding:15px 14px;min-width:145px;border-bottom:1px solid var(--line);color:var(--secondary);vertical-align:top}.table-scroll td:first-child{color:var(--ink);min-width:135px}.table-scroll tr:nth-child(even){background:var(--surface)}.closing-call{margin-top:50px}.closing-call .button{margin-top:15px}.work-gallery{display:grid;gap:35px;margin-top:30px}.work-gallery figure{margin:0}.work-gallery img{width:100%;height:auto;max-height:500px}.work-gallery figcaption{font-size:10px;color:var(--secondary);margin-top:12px}.enquiry-form{display:grid;gap:20px;margin:25px 0}.enquiry-form label{display:grid;gap:8px;color:var(--secondary);font-size:12px}.enquiry-form input,.enquiry-form textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:16px Sora,sans-serif;padding:15px;width:100%;border-radius:0}.enquiry-form input:focus,.enquiry-form textarea:focus{outline:1px solid var(--brand-red)}.enquiry-form .button{justify-self:start}.content-page .article-section.in-view,.content-page .page-photo.in-view{animation:editorial-entry .65s both}@keyframes editorial-entry{from{opacity:.7;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.site-footer{gap:35px}.reading-layout{gap:35px;grid-template-columns:minmax(155px,1fr) minmax(0,3fr)}.page-intro{gap:35px}.story-frames{gap:18px}.desktop-links{gap:18px}.nav-cta.primary-call{font-size:10px}.call-checklist{gap:25px}.hero-question h1{font-size:3.7vw}}
@media(max-width:760px){body{padding-bottom:78px}.nav-cta.primary-call{display:none}.hero-question{top:22%}.hero-question h1{font-size:clamp(20px,5.7vw,42px);line-height:1.22;letter-spacing:-.04em}.hero-question .eyebrow{font-size:7px;max-width:32ch;line-height:1.8;margin-bottom:16px}.hero-question .question-lede{font-size:10px;max-width:30ch;line-height:1.9;margin-top:15px}.portal-title{top:53%;font-size:9.4vw}.portal-intro{top:68%;display:block}.portal-intro .button{padding:13px 17px;font-size:11px}.portal-intro>.text-link{display:none}.portal-intro .hero-call-note{font-size:8px;margin-top:10px}.portal-scene h2{font-size:8.7vw;max-width:20ch}.story-cue{display:none}.portal-bottom{bottom:24px}.value-layout{grid-template-columns:1fr;gap:30px;margin-top:30px}.value-layout h2{font-size:10vw}.value-layout p{font-size:12px}.photo-story>h2{font-size:9vw;margin:28px 0 35px}.story-frames{grid-template-columns:1fr;gap:40px}.story-frames img{aspect-ratio:4/3}.story-frames h3{font-size:24px}.story-frames p{font-size:12px}.story-frames .text-link{font-size:11px}.directory-links{grid-template-columns:1fr;gap:0;margin:20px 0}.directory-links a{font-size:12px;padding:18px 0}.all-services{padding:10px var(--pad) 50px}.call-value h2{font-size:8vw;margin-top:30px}.call-checklist{grid-template-columns:1fr;gap:25px;margin:35px 0}.call-checklist h3{font-size:23px;margin:12px 0}.call-checklist p{font-size:12px}.home-faq>h2{font-size:9vw}.faq-intro{font-size:12px}.faq-filters{gap:7px;margin:25px 0}.faq-filters button{font-size:9px;padding:9px 12px}.faq-block{padding:22px 0}.faq-block>h2{font-size:25px;line-height:1.3}.faq-item summary{padding:20px 0;gap:20px}.faq-item summary>span{font-size:13px;line-height:1.7}.faq-answer{padding:0 0 25px}.faq-answer>p{font-size:12px;line-height:1.95}.faq-next{display:block}.faq-call{display:inline-block;font-size:10px}.call-rail{padding:10px var(--pad);gap:10px;justify-content:center}.call-rail>span{display:none}.call-rail .button{justify-content:center;width:100%;font-size:13px;min-height:48px}.site-footer{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.site-footer p:not(.eyebrow){max-width:40ch}.page-hero{padding-top:100px}.breadcrumbs{font-size:9px;margin-bottom:28px;gap:10px}.page-hero>.eyebrow{font-size:8px}.page-hero h1{font-size:clamp(25px,6.3vw,43px);line-height:1.3;margin:25px 0;letter-spacing:-.035em}.page-intro{grid-template-columns:1fr;gap:28px;margin:25px 0 35px}.page-intro>p{font-size:12px;line-height:1.95}.page-photo img{height:280px;object-position:center}.page-photo figcaption{font-size:7px;line-height:1.9}.reading-layout{grid-template-columns:1fr;gap:35px}.reading-nav{position:relative;top:auto;border-bottom:1px solid var(--line);padding-bottom:25px}.reading-nav>a{margin:12px 0;font-size:11px}.reading-nav>.eyebrow{margin-bottom:20px}.reading-body{max-width:100%}.article-section{padding-bottom:30px;margin-bottom:30px}.article-section h2{font-size:25px;line-height:1.35}.article-section p{font-size:13px;line-height:1.95}.article-section li{font-size:12px}.table-scroll table{font-size:11px}.table-scroll th,.table-scroll td{padding:12px 10px}.table-scroll td{min-width:150px}.table-scroll td:first-child{min-width:120px}.closing-call .button{font-size:11px}.content-page .directory-links a{font-size:12px}}
.story-frames img{height:auto}
.outdoor-feature{background:var(--surface);border-bottom:1px solid var(--line)}.outdoor-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end;margin:32px 0 48px}.outdoor-heading h2{font-size:clamp(30px,3.8vw,62px);line-height:1.16;letter-spacing:-.045em}.outdoor-heading p{font-size:13px;line-height:1.9;max-width:43ch;margin-bottom:20px}.outdoor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}.outdoor-card{min-width:0}.outdoor-image{display:block;position:relative;overflow:hidden;background:#171b20;aspect-ratio:4/3}.outdoor-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.3,1),filter .4s;filter:saturate(.85)}.outdoor-image:hover img{transform:scale(1.045);filter:saturate(1)}.outdoor-image>span{position:absolute;bottom:12px;right:12px;width:38px;height:38px;display:grid;place-items:center;background:var(--brand-red);color:white;border-radius:50%;font-size:22px;transition:transform .3s}.outdoor-image:hover>span{transform:rotate(45deg)}.outdoor-card-copy{padding:21px 0 0;border-top:2px solid var(--brand-red)}.outdoor-card h3{font-size:clamp(17px,1.55vw,25px);line-height:1.35;margin:0 0 13px;letter-spacing:-.025em}.outdoor-card p{font-size:11px;line-height:1.9;color:var(--secondary);margin:0 0 17px;max-width:48ch}.outdoor-card .text-link{font-size:10px;gap:20px;min-height:44px}.outdoor-call{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--line);padding-top:35px;margin-top:50px}.outdoor-call h3{font-size:clamp(20px,1.8vw,29px);line-height:1.4;max-width:29ch}.outdoor-call p{font-size:12px;line-height:1.9;max-width:65ch;margin-top:12px}.outdoor-call>.button{white-space:nowrap}.format-gallery .outdoor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.format-gallery h2{margin-bottom:30px}.format-gallery .outdoor-card h3{font-size:19px}.format-gallery .outdoor-card p{font-size:12px}.page-intro .small-note{max-width:35ch;line-height:1.8}.content-page .page-photo img{object-fit:contain;background:#11161b;height:clamp(280px,45vw,620px)}.page-hero:has(img[src*="metro-train-interior"]) .page-photo img{object-fit:contain}
@media(max-width:1000px){.outdoor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.outdoor-card h3{font-size:21px}}
@media(max-width:760px){.outdoor-heading{grid-template-columns:1fr;gap:25px;margin:28px 0 34px}.outdoor-heading h2{font-size:8.5vw}.outdoor-heading p{font-size:12px}.outdoor-grid,.format-gallery .outdoor-grid{grid-template-columns:1fr;gap:34px}.outdoor-card h3,.format-gallery .outdoor-card h3{font-size:23px}.outdoor-card p{font-size:12px}.outdoor-call{display:block;margin-top:35px;padding-top:28px}.outdoor-call h3{font-size:23px}.outdoor-call>.button{margin-top:24px}.content-page .page-photo img{height:auto;max-height:480px}}
@media(max-width:760px){.portal-bottom{bottom:100px}.portal-intro{top:66%}}
