/* AMP's existing WordPress palette and Archivo remain the source of truth. */
.amp-premium-site { --amp-space:clamp(64px,7vw,112px); }
.amp-premium-site .amp-text { font-weight:400!important; }
.amp-premium-site .amp-eyebrow { font-weight:700!important; }
.amp-premium-site .et-l--header { position:sticky; top:0; z-index:10000; }
.admin-bar.amp-premium-site .et-l--header { top:32px; }
.amp-header { transition:box-shadow .25s ease; }
.amp-premium-site .amp-menu .et-menu>li.menu-item-has-children>a { padding-right:44px!important; }
.amp-menu .et-menu>li>.amp-submenu-toggle { width:44px; height:44px; top:50%; transform:translateY(-50%); }
.amp-header.amp-scrolled { box-shadow:0 7px 24px rgba(0,0,0,.16); }
.amp-header .amp-menu .et-menu>li>a:hover { color:var(--amp-white)!important; text-decoration:underline; text-decoration-color:var(--amp-accent); }
.amp-header .amp-menu .et-menu>li>a:focus-visible,.amp-header .amp-menu .et-menu>li>button:focus-visible { outline-color:var(--amp-white); }
.amp-header .amp-menu .sub-menu a:focus-visible,.amp-menu .et_mobile_menu button:focus-visible { outline-color:var(--amp-accent-text); }
.amp-menu .et-menu>li.current-menu-item>a:before,.amp-menu .et-menu>li.current-menu-ancestor>a:before { content:''; position:absolute; height:2px; bottom:-7px; left:0; right:28px; background:var(--amp-accent); }
.amp-menu .et-menu>li:not(.menu-item-has-children).current-menu-item>a:before { right:0; }
.amp-header .amp-menu a { text-underline-offset:6px; }
.amp-menu .mobile_menu_bar { display:grid; place-items:center; width:44px; height:44px; }
.amp-menu .mobile_menu_bar:focus-visible { outline:2px solid var(--amp-white); outline-offset:4px; }
.amp-menu .mobile_nav.opened .mobile_menu_bar:before { content:'×'; font-family:var(--wp--preset--font-family--brand-body)!important; font-size:34px; }
.amp-premium-site .amp-menu .et_mobile_menu { max-height:calc(100dvh - 190px); overflow-y:auto; overscroll-behavior:contain; }
.amp-premium-site .amp-menu .et_mobile_menu a { min-height:44px; }
.amp-premium-site .amp-header .amp-cta-col .amp-button { font-size:11px!important; padding:18px 20px!important; }
.amp-premium-site .amp-header .amp-menu .sub-menu a { font-size:13px!important; }
.amp-premium-site .amp-header .amp-menu .sub-menu { transition:opacity .2s ease,visibility .2s ease; }
@media(min-width:1181px) {
 .amp-menu .et-menu>li>.sub-menu { pointer-events:none; }
 .amp-menu .et-menu>li.amp-submenu-open>.sub-menu,.amp-menu .et-menu>li:not(.amp-submenu-dismissed):hover>.sub-menu { pointer-events:auto; }
 .amp-menu .et-menu>li.menu-item-has-children>.sub-menu { width:850px!important; left:50%!important; right:auto!important; transform:translateX(-40%); display:grid; grid-template-columns:1fr 1.18fr 1fr; gap:24px; padding:28px!important; border-top:3px solid var(--amp-accent); }
 .amp-menu .et-menu>li.menu-item-has-children>.sub-menu>li { padding:0!important; }
 .amp-header .amp-menu .et-menu>li>.sub-menu>li>a { padding:0 0 14px!important; border-bottom:1px solid var(--amp-line); font-size:11px!important; text-transform:uppercase; letter-spacing:1px; font-weight:800!important; }
 .amp-menu .et-menu>li>.sub-menu>li>a:after,.amp-menu .et-menu>li>.sub-menu>li>.amp-submenu-toggle { display:none; }
 .amp-menu .et-menu>li>.sub-menu>li>.sub-menu { position:static!important; display:block!important; visibility:visible!important; opacity:1!important; width:auto!important; border:0!important; padding:8px 0 0!important; box-shadow:none!important; transform:none!important; }
 .amp-header .amp-menu .et-menu>li>.sub-menu>li>.sub-menu a { padding:10px 8px!important; line-height:1.35; min-height:39px; border:0; }
 .amp-menu .et-menu { gap:20px; }
}
@media(max-width:1180px) {
 .amp-header .amp-row,.amp-header .amp-menu-col,.amp-header .amp-menu,.amp-header .et_pb_menu_inner_container { position:static!important; }
 .amp-header .amp-menu .et_mobile_menu { top:100%!important; left:32px!important; right:32px!important; width:calc(100% - 64px)!important; min-width:0; }
 .amp-menu .et_pb_menu__menu { display:none!important; }
 .amp-menu .et_mobile_nav_menu { display:flex!important; }
 .amp-menu .et_mobile_menu .menu-item-has-children { position:relative; }
 .amp-menu .et_mobile_menu .menu-item-has-children>a { padding-right:52px!important; }
 .amp-menu .et_mobile_menu .amp-submenu-toggle { right:4px; top:0; height:44px; width:44px; color:var(--amp-ink); }
 .amp-header .amp-menu .et_mobile_menu .sub-menu { display:none!important; width:100%; padding:0 0 0 10px!important; box-shadow:none; border:0; }
 .amp-header .amp-menu .et_mobile_menu .amp-submenu-open>.sub-menu { display:block!important; visibility:visible!important; opacity:1!important; }
}
.et-l .amp-premium-section { padding:var(--amp-space) 0!important; background:var(--amp-bg); }
.et-l .amp-premium-section.amp-white-section { background:var(--amp-white); }
.et-l .amp-premium-section.amp-dark-section { background:var(--amp-ink); color:var(--amp-white); }
.et-l .amp-premium-section .amp-row { width:calc(100% - 112px)!important; max-width:1328px; }
.amp-premium-heading h2,.amp-premium-section h2 { font-size:clamp(34px,3.4vw,54px); letter-spacing:-1.8px; line-height:1.09; margin:0 0 22px; }
.amp-premium-section h3 { font-size:clamp(20px,1.8vw,27px); line-height:1.2; letter-spacing:-.5px; }
.amp-premium-section p { font-size:16px; line-height:1.8; }
.amp-premium-section .amp-eyebrow { font-size:10px!important; letter-spacing:1.8px; line-height:1.6; font-weight:700; color:var(--amp-accent-text); margin-bottom:23px; }
.amp-dark-section .amp-eyebrow { color:var(--amp-accent); }
.amp-section-top { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:38px; }
.amp-section-top>div { max-width:750px; }
.amp-section-top>p { max-width:345px; color:var(--amp-muted); }
.amp-section-top h2 { margin-bottom:0; }
.amp-caption { font-size:11px!important; line-height:1.6!important; color:var(--amp-muted); margin-top:12px!important; }
.amp-dark-section .amp-caption { color:var(--amp-line); }
.amp-premium-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-top:28px; }
.amp-premium-actions a,.amp-consult-button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:25px; padding:17px 24px; background:var(--amp-accent); color:var(--amp-ink)!important; font-size:12px; font-weight:700; line-height:1.5; text-decoration:none; border:1px solid transparent; }
.amp-premium-actions a.amp-outline { background:transparent; border-color:currentColor; color:inherit!important; }
.amp-premium-actions a:hover { background:var(--amp-ink); color:var(--amp-white)!important; }
.amp-dark-section .amp-premium-actions a:hover,.amp-cinema .amp-premium-actions a:hover { background:var(--amp-white); color:var(--amp-ink)!important; }
.amp-link-arrow { display:inline-block; transition:transform .25s ease; }
a:hover .amp-link-arrow { transform:translate(3px,-3px); }
.et-l .amp-cinema { position:relative; padding:0!important; min-height:740px; height:calc(100svh - 145px); max-height:950px; background:var(--amp-ink); color:var(--amp-white); overflow:hidden; }
.amp-cinema .amp-cinema-media { position:absolute; inset:0; margin:0!important; z-index:0; }
.amp-cinema .amp-cinema-media .et_pb_text_inner,.amp-cinema .amp-cinema-media figure { height:100%; margin:0; }
.amp-cinema .amp-cinema-media img,.amp-hero-video { width:100%; height:100%; object-fit:cover; object-position:65% 44%; }
.amp-hero-video { position:absolute; inset:0; opacity:0; transition:opacity .6s ease; }
.amp-hero-video.is-playing { opacity:1; }
.amp-cinema:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,24,20,.90) 0%,rgba(20,24,20,.67) 49%,rgba(20,24,20,.18) 100%),linear-gradient(0deg,rgba(20,24,20,.7),transparent 45%); pointer-events:none; }
.amp-cinema>.et_pb_row { z-index:2; position:relative; height:100%; display:flex; align-items:center; }
.amp-cinema>.et_pb_row>.et_pb_column { position:static!important; width:100%; }
.amp-cinema .amp-cinema-copy { max-width:900px; padding:80px 0!important; }
.amp-cinema .amp-eyebrow { color:var(--amp-accent)!important; letter-spacing:2px; font-size:10px; margin-bottom:28px; }
.amp-cinema h1 { color:var(--amp-white); font-size:clamp(54px,5.7vw,87px); line-height:1.03; letter-spacing:-4px; font-weight:700; padding:0; margin:0 0 30px; }
.amp-cinema h1 span { display:block; }
.amp-cinema h1 .amp-cinema-accent { color:var(--amp-accent); }
.amp-cinema .amp-cinema-lead { max-width:640px; font-size:17px; line-height:1.8; color:var(--amp-white); }
.amp-cinema-ribbon { font-size:9px!important; letter-spacing:1.6px; margin-top:32px; line-height:2!important; color:var(--amp-line); }
.amp-trust-strip { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--amp-line); }
.amp-trust-strip>div { padding:28px 24px; border-right:1px solid var(--amp-line); }
.amp-trust-strip>div:first-child { padding-left:0; }
.amp-trust-strip>div:last-child { border:0; }
.amp-trust-strip strong { display:block; font-size:14px; margin-bottom:5px; }
.amp-trust-strip span { font-size:11px; color:var(--amp-muted); }
.et-l .amp-proof-strip { padding:0!important; }
.amp-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.amp-feature-card { min-width:0; position:relative; }
.amp-feature-card>a { display:block; color:inherit; }
.amp-feature-card figure { position:relative; overflow:hidden; margin:0 0 22px; aspect-ratio:4/3; background:var(--amp-line); }
.amp-feature-card img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.amp-feature-card .amp-photo-tag { position:absolute; bottom:12px; left:12px; background:var(--amp-bg); color:var(--amp-ink); font-size:8px; letter-spacing:1px; padding:5px 8px; }
.amp-feature-card h3 { display:flex; justify-content:space-between; gap:20px; font-size:23px; padding-bottom:16px; border-bottom:1px solid var(--amp-line); }
.amp-feature-card h3:after { content:'↗'; font-size:23px; font-weight:400; }
.amp-feature-card h3:after { transition:transform .25s ease; }
.amp-feature-card p { color:var(--amp-muted); font-size:14px; margin-top:15px; }
.amp-feature-card>a:after { content:''; display:block; height:3px; width:40px; background:var(--amp-accent); margin-top:20px; transition:width .3s ease; }
@media(hover:hover) { .amp-feature-card a:hover img { transform:scale(1.035); } .amp-feature-card a:hover:after { width:100%; } .amp-feature-card a:hover h3:after { transform:translate(3px,-3px); } }
.amp-service-explorer .amp-filter-bar { margin:28px 0; }
.amp-premium-site .amp-filter-bar button { min-height:44px; }
.amp-service-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--amp-line); }
.amp-service-directory article { border-bottom:1px solid var(--amp-line); padding:25px 28px 25px 0; margin-right:30px; }
.amp-service-directory article[hidden] { display:none; }
.amp-service-directory a { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:17px; font-weight:700; line-height:1.4; min-height:48px; }
.amp-service-directory a:hover { text-decoration:underline; text-decoration-color:var(--amp-accent); text-decoration-thickness:3px; }
.amp-service-directory small { display:block; color:var(--amp-muted); font-size:9px; letter-spacing:1px; text-transform:uppercase; margin-top:13px; }
.amp-proof-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:65px; align-items:center; }
.amp-proof-photo figure { margin:0; }
.amp-proof-photo img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.amp-proof-grid p { color:var(--amp-muted); }
.amp-dark-section .amp-proof-grid p { color:var(--amp-line); }
.amp-tag { display:inline-block; padding:7px 10px; background:var(--amp-accent); color:var(--amp-ink); font-size:9px; letter-spacing:1px; margin-bottom:24px; }
.amp-premium-timeline { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; padding:0!important; list-style:none!important; margin:40px 0; }
.amp-premium-timeline li { padding:26px 0 0; border-top:2px solid var(--amp-line); }
.amp-premium-timeline li span { display:block; color:var(--amp-accent-text); font-size:12px; margin-bottom:30px; }
.amp-premium-timeline h3 { font-size:20px; }
.amp-premium-timeline p { font-size:13px; color:var(--amp-muted); margin-top:15px; }
.amp-consider-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.amp-consider-grid article { padding-top:25px; border-top:1px solid var(--amp-line); }
.amp-consider-grid p { color:var(--amp-muted); font-size:14px; }
.amp-guide-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.amp-guide-links a { display:flex; justify-content:space-between; gap:25px; align-items:center; border:1px solid var(--amp-line); padding:28px; font-size:18px; line-height:1.4; min-height:130px; }
.amp-guide-links a:hover { border-color:var(--amp-accent-text); }
.amp-premium-faq { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; }
.amp-premium-faq details { border-bottom:1px solid var(--amp-line); padding:19px 0; }
.amp-premium-faq summary { cursor:pointer; font-size:17px; font-weight:600; line-height:1.5; padding-right:28px; }
.amp-premium-site summary { min-height:44px; }
.amp-premium-faq details p { color:var(--amp-muted); font-size:15px; padding-top:15px; }
.amp-premium-faq.amp-service-faq { display:block; }
.amp-premium-contact { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:start; }
.amp-premium-contact .amp-enquiry { background:var(--amp-white); color:var(--amp-ink); padding:35px; }
.amp-premium-contact .amp-enquiry label { font-size:12px; }
.amp-contact-links { display:grid; gap:14px; margin-top:30px; }
.amp-contact-links a { font-size:17px; overflow-wrap:anywhere; }
.amp-service-hero { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.amp-service-hero h1 { font-size:clamp(40px,4.1vw,62px); line-height:1.07; letter-spacing:-2.5px; margin:28px 0; }
.amp-service-hero .amp-deck { font-size:19px; line-height:1.65; }
.amp-service-hero figure { margin:0; }
.amp-service-hero img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.amp-service-hero .amp-breadcrumbs { font-size:10px!important; color:var(--amp-muted); }
.amp-service-layout { display:grid; grid-template-columns:230px minmax(0,790px); gap:90px; justify-content:space-between; }
.amp-service-index { position:sticky; top:175px; align-self:start; font-size:12px; }
.amp-service-index strong { display:block; margin-bottom:20px; }
.amp-service-index a { display:block; padding:13px 0; border-bottom:1px solid var(--amp-line); }
.amp-long-copy h2 { font-size:36px; letter-spacing:-1.2px; margin:55px 0 23px; scroll-margin-top:175px; }
.amp-long-copy h2:first-child { margin-top:0; }
.amp-long-copy h3 { font-size:22px; margin:26px 0 10px; }
.amp-long-copy p,.amp-long-copy li { font-size:16px; line-height:1.85; color:var(--amp-muted); }
.amp-long-copy p { margin-bottom:20px; }
.amp-long-copy ul,.amp-long-copy ol { padding-left:23px; }
.amp-long-copy li { padding-left:5px; margin-bottom:9px; }
.amp-long-copy a { text-decoration:underline; text-underline-offset:3px; }
.amp-long-copy .amp-inset { padding:30px; background:var(--amp-line); margin:35px 0; }
.amp-service-gallery { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin:40px 0; }
.amp-service-gallery figure { margin:0; }
.amp-service-gallery:has(>figure:only-child) { grid-template-columns:1fr; max-width:650px; }
.amp-service-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.amp-service-gallery figcaption { font-size:11px; line-height:1.6; color:var(--amp-muted); margin-top:10px; }
.amp-service-related { display:flex; gap:12px; flex-wrap:wrap; margin:30px 0; }
.amp-service-related a { border:1px solid var(--amp-line); padding:14px 18px; font-size:13px; }
.amp-mobile-contact { display:none; }
.amp-article h2 { scroll-margin-top:170px; }
.amp-article .amp-article-toc { padding:28px; background:var(--amp-line); margin:32px 0; }
.amp-article-toc a { display:block; padding:6px 0; }
.amp-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.amp-case-studies:not(:has(.amp-case-grid)) { display:none; }
.amp-case-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.amp-article .amp-reviewed { font-size:12px; color:var(--amp-muted); }
[id] { scroll-margin-top:160px; }
.amp-motion-ready { opacity:0; transform:translateY(18px); transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1); transition-delay:var(--amp-reveal-delay,0ms); }
.amp-motion-ready.amp-in-view { opacity:1; transform:none; }
@media(prefers-reduced-motion:no-preference) {
 .amp-cinema .amp-eyebrow { animation:amp-enter .65s .04s both; }
 .amp-cinema h1 .amp-hero-line>span { animation:amp-line-reveal .78s cubic-bezier(.22,1,.36,1) .09s both; }
 .amp-cinema h1 .amp-hero-line:nth-child(2)>span { animation-delay:.21s; }
 .amp-cinema .amp-cinema-lead { animation:amp-enter .7s .28s both; }
 .amp-cinema .amp-premium-actions>a { animation:amp-enter .7s .36s both; }
 .amp-cinema .amp-premium-actions>a:nth-child(2) { animation-delay:.46s; }
 .amp-cinema-ribbon { animation:amp-enter .65s .56s both; }
 @keyframes amp-enter { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
 @keyframes amp-line-reveal { from{opacity:0;transform:translateY(106%)} to{opacity:1;transform:none} }
}
@media(max-width:1180px) { .amp-service-layout { grid-template-columns:180px minmax(0,1fr); gap:50px; } .amp-cinema h1 { font-size:70px; } }
@media(max-width:980px) {
 .et-l .amp-premium-section .amp-row { width:calc(100% - 64px)!important; }
 .amp-cinema .amp-cinema-copy { max-width:750px; }
 .amp-cinema h1 { font-size:65px; }
 .amp-feature-grid { grid-template-columns:1fr 1fr; }
 .amp-proof-grid,.amp-premium-contact,.amp-premium-faq { gap:40px; }
 .amp-service-hero { gap:35px; }
 .amp-premium-timeline { grid-template-columns:1fr 1fr; }
 .amp-service-layout { grid-template-columns:1fr; }
 .amp-service-index { position:static; display:flex; gap:18px; flex-wrap:wrap; }
 .amp-service-index strong { width:100%; margin:0; }
 .amp-service-directory { grid-template-columns:1fr 1fr; }
 .amp-service-hero h1 { font-size:44px; }
}
@media(max-width:767px) {
 .amp-premium-site { padding-bottom:60px; }
 .amp-mobile-contact { display:grid; grid-template-columns:repeat(3,1fr); position:fixed; bottom:0; left:0; right:0; z-index:10000; padding-bottom:env(safe-area-inset-bottom); background:var(--amp-ink); color:var(--amp-white); box-shadow:0 -3px 20px rgba(0,0,0,.1); }
 .amp-mobile-contact a { min-height:54px; padding:14px 18px; display:flex; justify-content:space-between; align-items:center; font-size:12px; border-right:1px solid var(--amp-muted); }
 .amp-mobile-contact a:last-child { background:var(--amp-accent); color:var(--amp-ink); border:0; }
 .amp-premium-site .amp-menu .et_mobile_menu { max-height:calc(100dvh - 190px); }
 .amp-cinema { min-height:800px!important; height:auto!important; max-height:none!important; }
 .amp-cinema>.et_pb_row { min-height:800px; }
 .amp-cinema .amp-cinema-copy { padding:65px 0 140px!important; }
 .amp-cinema h1 { font-size:clamp(42px,10vw,64px); letter-spacing:-2.1px; margin-bottom:25px; }
 .amp-cinema .amp-cinema-lead { font-size:15px; line-height:1.8; }
 .amp-cinema .amp-cinema-media img { object-position:60% center; }
 .amp-cinema:after { background:linear-gradient(90deg,rgba(20,24,20,.88),rgba(20,24,20,.6)),linear-gradient(0deg,rgba(20,24,20,.85),transparent); }
 .amp-cinema .amp-premium-actions { align-items:stretch; gap:12px; }
 .amp-cinema .amp-premium-actions a { width:100%; }
 .amp-cinema-ribbon { font-size:8px!important; margin-top:24px; }
 .amp-trust-strip { grid-template-columns:1fr 1fr; }
 .amp-trust-strip>div { padding:22px 14px; border-bottom:1px solid var(--amp-line); }
 .amp-trust-strip>div:nth-child(odd) { padding-left:0; }
 .amp-section-top { display:block; }
 .amp-section-top>p { max-width:none; margin-top:25px; }
 .amp-premium-section h2 { letter-spacing:-1.1px; }
 .amp-proof-grid,.amp-service-hero,.amp-premium-contact,.amp-premium-faq { grid-template-columns:1fr; }
 .amp-service-hero h1 { font-size:43px; letter-spacing:-1.8px; }
 .amp-service-hero .amp-deck { font-size:18px; }
 .amp-service-hero img { aspect-ratio:4/3; }
 .amp-proof-grid { gap:35px; }
 .amp-premium-contact .amp-enquiry { padding:24px 18px; }
 .amp-consider-grid,.amp-guide-links { grid-template-columns:1fr; }
 .amp-guide-links a { min-height:100px; }
 .amp-feature-card h3 { font-size:19px; }
 .amp-feature-card p { font-size:13px; }
 .amp-service-directory a { font-size:15px; }
 .amp-service-directory article { margin-right:15px; padding-right:10px; }
 .amp-long-copy h2 { font-size:31px; }
 .amp-case-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .amp-header .amp-menu .et_mobile_menu { left:20px!important; right:20px!important; width:calc(100% - 40px)!important; }
 .amp-header .amp-cta-col { display:none!important; }
 .amp-header .amp-row { grid-template-columns:1fr auto!important; }
 .et-l .amp-premium-section .amp-row { width:calc(100% - 40px)!important; }
 .amp-feature-grid { grid-template-columns:1fr; gap:35px; }
 .amp-service-directory { grid-template-columns:1fr; }
 .amp-service-directory article { margin:0; padding:20px 0; }
 .amp-service-gallery { gap:16px; }
 .amp-premium-actions a { width:100%; }
 .amp-premium-timeline { gap:20px; }
 .amp-premium-timeline h3 { font-size:18px; }
 .amp-cinema .amp-eyebrow { font-size:8px; letter-spacing:1.1px; }
 .amp-cinema h1 { font-size:43px; }
 .amp-premium-site .amp-header .amp-cta-col .amp-button { font-size:9px!important; padding:13px 12px!important; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 .amp-motion-ready { opacity:1; transform:none; }
 .amp-premium-site *, .amp-premium-site *:before,.amp-premium-site *:after { animation:none!important; transition:none!important; }
 .amp-menu .mobile_nav.opened>.et_mobile_menu { display:block!important; height:auto!important; padding:12px!important; }
 .amp-menu .mobile_nav.closed>.et_mobile_menu { display:none!important; }
}

/* Finishing pass: the same AMP tokens, one shared motion system, native WordPress content. */
.amp-cinema h1 .amp-hero-line { overflow:clip; padding-bottom:.08em; margin-bottom:-.08em; }
.amp-cinema h1 .amp-hero-line>span { display:block; }
.amp-cinema h1 em { font-style:normal; }
.amp-cinema h1 .amp-hero-line:nth-child(2) { max-width:850px; }
.amp-section-top { position:relative; }
.amp-section-top:before { content:''; position:absolute; right:0; top:-22px; width:100px; height:1px; background:var(--amp-accent); transform:scaleX(.2); transform-origin:right; transition:transform .8s cubic-bezier(.22,1,.36,1); }
.amp-section-top.amp-heading-in-view:before { transform:scaleX(1); }
.amp-story-panel figure { overflow:hidden; }
.amp-story-panel figure img { transform:scale(1.035) translateY(10px); transition:transform 1.1s cubic-bezier(.22,1,.36,1); }
.amp-story-panel figure.amp-in-view img { transform:scale(1); }
.amp-feature-card figure:after { content:''; position:absolute; inset:0; pointer-events:none; background:color-mix(in srgb,var(--amp-ink) 12%,transparent); opacity:1; transition:opacity .38s ease; }
.amp-feature-card .amp-photo-tag { z-index:1; }
.amp-feature-card>a:after { transition:width .38s cubic-bezier(.22,1,.36,1); }
.amp-feature-card a:focus-visible,.amp-blog-card a:focus-visible { outline:2px solid var(--amp-ink); outline-offset:5px; }
.amp-premium-actions a,.amp-button,.amp-enquiry button[type=submit] { transition:background-color .3s ease,box-shadow .3s ease; }
.amp-premium-actions a span,.amp-text-link span { display:inline-block; transition:transform .3s cubic-bezier(.22,1,.36,1); }
.amp-premium-actions a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.amp-journal-intro { max-width:980px; padding-bottom:20px; }
.amp-journal-intro .amp-blog-title { font-size:clamp(44px,5.6vw,82px); line-height:1.03; letter-spacing:-3px; max-width:1000px; }
.amp-blog-controls { border-top:1px solid var(--amp-line); border-bottom:1px solid var(--amp-line); padding:22px 0; margin:10px 0 42px; }
.amp-blog-controls .amp-filter-bar { gap:9px; flex:1 1 700px; }
.amp-blog-controls .amp-filter-bar a { font-size:12px; padding:12px 14px; min-height:44px; display:inline-flex; align-items:center; }
.amp-blog-search { flex:1 1 280px; justify-content:flex-end; }
.amp-blog-search input { width:100%; max-width:none; min-width:0; background:var(--amp-white); }
.amp-blog-search button { min-height:44px; }
.amp-blog-grid { align-items:stretch; row-gap:44px; }
.amp-blog-card { display:flex; flex-direction:column; min-width:0; border:0; border-bottom:1px solid var(--amp-line); background:transparent; transition:box-shadow .35s ease,transform .35s ease; }
.amp-blog-image { position:relative; overflow:hidden; margin:0; aspect-ratio:4/3; background:var(--amp-line); }
.amp-blog-image>a { display:block; width:100%; height:100%; }
.amp-blog-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s cubic-bezier(.22,1,.36,1); }
.amp-blog-image figcaption { position:absolute; bottom:12px; left:12px; background:var(--amp-bg); color:var(--amp-ink); font-size:9px; letter-spacing:.5px; padding:5px 8px; pointer-events:none; }
.amp-blog-card-copy { display:flex; flex-direction:column; align-items:flex-start; padding:25px 0 22px; flex:1; }
.amp-blog-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:var(--amp-muted); font-size:12px; }
.amp-category-badge { color:var(--amp-ink); background:var(--amp-line); padding:6px 9px; font-size:11px; font-weight:600; line-height:1.4; }
.amp-blog-card h2,.amp-blog-card h3 { font-size:25px; line-height:1.2; letter-spacing:-.7px; margin:18px 0 14px; padding:0; }
.amp-blog-card h2 a,.amp-blog-card h3 a { color:var(--amp-ink); }
.amp-blog-card-copy>p { color:var(--amp-muted); font-size:14px; line-height:1.8; margin:0 0 15px; }
.amp-blog-card .amp-card-date { display:block; font-size:12px; color:var(--amp-muted); margin:0 0 18px; }
.amp-blog-card .amp-card-action { margin-top:auto; margin-bottom:0; padding-top:5px; }
.amp-blog-card .amp-text-link { font-size:12px; color:var(--amp-ink); }
.amp-blog-featured { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); grid-column:1/-1; background:var(--amp-white); border:1px solid var(--amp-line); }
.amp-blog-featured .amp-blog-image { aspect-ratio:auto; min-height:480px; height:100%; }
.amp-blog-featured .amp-blog-card-copy { padding:clamp(30px,4vw,60px); }
.amp-blog-featured h2 { font-size:clamp(30px,3vw,46px); line-height:1.13; letter-spacing:-1.6px; margin-top:23px; }
.amp-blog-card .amp-featured-label { color:var(--amp-accent-text); font-size:10px; font-weight:700; letter-spacing:1.4px; margin-bottom:30px; }
.amp-latest-articles .amp-blog-grid { margin-top:45px; }
.amp-latest-articles .amp-blog-card h3 { font-size:25px; }
.amp-journal-all { margin-top:30px!important; }
.amp-article { max-width:850px; }
.amp-article>.amp-blog-meta { margin:26px 0 18px; }
.amp-article>.amp-breadcrumbs { margin:0 0 24px; }
.amp-article h1 { font-size:clamp(39px,4.8vw,67px); line-height:1.07; letter-spacing:-2.4px; }
.amp-article .amp-reviewed { margin:24px 0 35px; line-height:1.8; }
.amp-article-hero { overflow:hidden; margin:0 0 14px; aspect-ratio:16/10; }
.amp-article-hero .amp-article-image { margin:0; width:100%; height:100%; object-fit:cover; }
.amp-article-toc { background:var(--amp-line); padding:22px!important; margin:30px 0!important; border:0!important; }
.amp-article-toc nav { display:flex; flex-direction:column; gap:12px; padding-top:20px; }
.amp-article-toc nav a { font-size:14px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.amp-article-faq { margin:45px 0; }
.amp-article-cta { padding:clamp(28px,4vw,50px); margin-top:60px; background:var(--amp-line); }
.amp-blog-wrap>aside.amp-article-cta { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.amp-article-cta h2 { margin-top:0; font-size:clamp(27px,3vw,38px); line-height:1.15; letter-spacing:-1px; }
.amp-related { margin-top:85px; }
.amp-related>.amp-eyebrow { margin-bottom:16px; }
.amp-related .amp-blog-card h3 { font-size:24px; }
#main-content details { box-sizing:border-box; }
.amp-article-faq details { border-bottom:1px solid var(--amp-line); padding:22px 0; }
#main-content details>summary { list-style:none; cursor:pointer; position:relative; padding-right:32px; min-height:25px; }
#main-content details>summary::-webkit-details-marker { display:none; }
#main-content details>summary:before,#main-content details>summary:after { content:''; position:absolute; width:12px; height:2px; right:3px; top:12px; background:currentColor; }
#main-content details>summary:after { transform:rotate(90deg); transition:transform .3s ease; }
#main-content details>summary[aria-expanded=true]:after,#main-content details[open]>summary:not([aria-expanded]):after { transform:rotate(0); }
#main-content details>summary:focus-visible { outline:2px solid var(--amp-ink); outline-offset:5px; }
.amp-article-faq details p { margin:20px 0 0; color:var(--amp-muted); }
.amp-form-status:not(:empty) { margin-top:20px; padding:16px; border-left:3px solid var(--amp-ink); background:var(--amp-bg); color:var(--amp-ink); line-height:1.7; }
.amp-form-status[data-state=saved-pending],.amp-form-status[data-state=error] { border-left-color:var(--amp-accent-text); }
.amp-form-status:focus { outline:2px solid var(--amp-ink); outline-offset:3px; }
@media(hover:hover) and (pointer:fine) {
 .amp-feature-card>a:hover figure:after { opacity:.2; }
 .amp-blog-card:hover .amp-blog-image img { transform:scale(1.035); }
 .amp-blog-card:not(.amp-blog-featured):hover { transform:translateY(-3px); }
 .amp-premium-actions a:first-child:hover,.amp-enquiry button[type=submit]:hover { background:color-mix(in srgb,var(--amp-accent) 87%,var(--amp-ink)); }
 .amp-premium-actions a:hover span,.amp-text-link:hover span { transform:translate(3px,-2px); }
 .amp-blog-card .amp-text-link:hover span { transform:translate(3px,-2px); }
}
@media(max-width:980px) {
 .amp-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .amp-blog-featured { grid-template-columns:1fr 1fr; }
 .amp-blog-featured .amp-blog-image { min-height:400px; }
 .amp-blog-featured .amp-blog-card-copy { padding:30px; }
 .amp-blog-featured h2 { font-size:33px; }
 .amp-blog-controls .amp-filter-bar { flex-basis:100%; }
 .amp-blog-search { flex-basis:100%; max-width:480px; }
 .amp-blog-wrap>aside.amp-article-cta { gap:30px; }
}
@media(max-width:700px) {
 .amp-journal-intro .amp-blog-title { font-size:44px; letter-spacing:-1.7px; }
 .amp-blog-grid,.amp-blog-featured { grid-template-columns:1fr; }
 .amp-blog-featured .amp-blog-image { aspect-ratio:4/3; min-height:0; height:auto; }
 .amp-blog-featured .amp-blog-card-copy { padding:25px; }
 .amp-blog-featured h2 { font-size:31px; letter-spacing:-1px; }
 .amp-blog-controls .amp-filter-bar { gap:7px; }
 .amp-blog-controls .amp-filter-bar a { padding:10px; font-size:11px; }
 .amp-blog-card h2,.amp-blog-card h3 { font-size:27px; }
 .amp-blog-card-copy { padding-top:22px; }
 .amp-blog-wrap>aside.amp-article-cta { grid-template-columns:1fr; gap:24px; }
 .amp-article h1 { font-size:40px; letter-spacing:-1.5px; }
 .amp-article-hero { aspect-ratio:4/3; }
 .amp-related { margin-top:65px; }
}
@media(prefers-reduced-motion:reduce) {
 .amp-story-panel figure img { transform:none; }
 .amp-section-top:before { transform:none; }
}

/* Compact shared chrome: preserve the logo's original 150/120px width. */
.amp-premium-site .et-l .amp-topbar { padding:0!important; min-height:26px; display:flex; align-items:center; }
.amp-premium-site .et-l .amp-header { padding:0!important; }
.amp-premium-site .et-l--header .amp-row { max-width:1328px; width:calc(100% - 112px)!important; }
.amp-premium-site .amp-topbar .et_pb_column { margin:0!important; }
.amp-premium-site .amp-header .amp-menu-col { min-height:44px; }
.amp-trust-strip .amp-contact-title { display:flex; gap:9px; align-items:center; }
.amp-contact-title .amp-contact-icon { font-size:22px!important; line-height:1; color:var(--amp-accent); }
.amp-trust-strip .amp-direct-contact>a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:13px; color:var(--amp-ink); }
.amp-direct-contact>a span { color:inherit; transition:transform .25s ease; }
.amp-direct-contact>a:hover { color:var(--amp-accent-text); }
.amp-direct-contact>a:hover span { transform:translate(2px,-2px); }
.amp-motion-preference { display:inline-flex; vertical-align:middle; align-items:center; justify-content:center; width:44px; height:44px; margin-left:12px; padding:0; border:0; background:none; color:var(--amp-line); cursor:pointer; }
.amp-motion-preference[hidden] { display:none; }
.amp-motion-preference:hover { color:var(--amp-accent); }
.amp-motion-preference:focus-visible { outline:2px solid var(--amp-accent); outline-offset:2px; }
/* One set of native project cards on Home and Projects. */
.amp-selected-projects .amp-section-top>div { max-width:810px; }
.amp-selected-projects .amp-section-top>p { color:var(--amp-line); }
.amp-portfolio-card { min-width:0; border-bottom:1px solid var(--amp-line); }
.amp-portfolio-card>a { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.amp-portfolio-card figure { margin:0; overflow:hidden; aspect-ratio:4/3; background:var(--amp-line); }
.amp-portfolio-card figure img { width:100%; height:100%; object-fit:cover; transition:transform .45s cubic-bezier(.22,1,.36,1); }
.amp-portfolio-card-copy { display:flex; flex-direction:column; flex:1; padding:25px 0; }
.amp-portfolio-card .amp-project-status { font-size:10px; text-transform:uppercase; letter-spacing:1.2px; color:var(--amp-accent-text); margin:0 0 12px; }
.amp-dark-section .amp-portfolio-card .amp-project-status { color:var(--amp-accent); }
.amp-portfolio-card h2,.amp-portfolio-card h3 { font-size:27px; letter-spacing:-.8px; line-height:1.16; margin:0 0 12px; padding:0; }
.amp-portfolio-card-copy>p:not(.amp-project-status) { font-size:14px; line-height:1.75; margin:0 0 22px; }
.amp-portfolio-card-action { display:flex; align-items:center; gap:14px; margin-top:auto; font-size:12px; font-weight:600; }
.amp-portfolio-card-action span { transition:transform .3s ease; }
.amp-portfolio-card a:focus-visible { outline:2px solid var(--amp-accent-text); outline-offset:6px; }
.amp-dark-section .amp-portfolio-card a:focus-visible { outline-color:var(--amp-accent); }
.amp-project-shell .amp-blog-wrap { max-width:1328px; }
.amp-project-hero { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; margin:32px 0 95px; }
.amp-project-hero h1 { font-size:clamp(48px,5.6vw,80px); line-height:1.03; letter-spacing:-3px; margin:0 0 28px; }
.amp-project-hero .amp-eyebrow { color:var(--amp-accent-text); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; }
.amp-project-subtitle { font-size:25px; line-height:1.3; letter-spacing:-.5px; margin-bottom:20px; }
.amp-project-hero .amp-deck { font-size:16px; color:var(--amp-muted); line-height:1.8; }
.amp-project-hero figure { margin:0; aspect-ratio:4/3; overflow:hidden; }
.amp-project-hero figure img { width:100%; height:100%; object-fit:cover; }
.amp-project-story h2 { font-size:clamp(32px,3.3vw,48px); letter-spacing:-1.4px; line-height:1.12; margin:0 0 25px; }
.amp-project-story h3 { font-size:24px; line-height:1.2; letter-spacing:-.5px; margin:0 0 18px; }
.amp-project-story p { font-size:16px; line-height:1.85; color:var(--amp-muted); }
.amp-project-overview { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:center; margin-bottom:70px; }
.amp-project-overview figure { margin:0; }
.amp-project-overview img { width:100%; height:auto; max-height:520px; object-fit:contain; }
.amp-project-notes { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin:70px 0; border-top:1px solid var(--amp-line); padding-top:35px; }
.amp-project-gallery { margin:85px 0; }
.amp-project-gallery .gallery { columns:3; column-gap:20px; margin:35px 0 0!important; }
.amp-project-gallery .gallery-item { display:inline-block; float:none!important; width:100%!important; margin:0 0 22px!important; break-inside:avoid; }
.amp-project-gallery .gallery-icon a { display:block; overflow:hidden; cursor:zoom-in; }
.amp-project-gallery img { display:block; width:100%; height:auto; border:0!important; }
.amp-project-gallery .gallery-caption { margin:12px 0 0; font-size:12px; line-height:1.6; color:var(--amp-muted); text-align:left; }
.amp-project-related { margin:75px 0; }
.amp-project-related ul { display:flex; flex-wrap:wrap; gap:12px; padding:0; list-style:none; }
.amp-project-related a { display:inline-flex; padding:15px 20px; border:1px solid var(--amp-line); min-height:48px; color:var(--amp-ink); font-size:13px; }
.amp-project-consultation { margin:85px 0 0; padding:clamp(28px,5vw,65px); background:var(--amp-line); }
.amp-project-consultation h2 { font-size:clamp(32px,3.4vw,48px); line-height:1.12; letter-spacing:-1.4px; }
.amp-project-consultation>p { max-width:690px; line-height:1.8; }
.amp-project-lightbox { position:fixed; inset:0; margin:auto; width:min(1100px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:20px; border:0; background:var(--amp-bg); color:var(--amp-ink); overflow:auto; box-shadow:0 18px 80px rgba(0,0,0,.25); }
.amp-project-lightbox::backdrop { background:rgba(14,20,16,.85); }
.amp-viewer-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:12px; }
.amp-project-lightbox button { min-width:44px; min-height:44px; border:1px solid var(--amp-line); background:var(--amp-white); color:var(--amp-ink); cursor:pointer; }
.amp-project-lightbox button:focus-visible { outline:2px solid var(--amp-accent-text); outline-offset:2px; }
.amp-viewer-stage { display:flex; align-items:center; justify-content:center; min-height:56dvh; margin:12px 0; touch-action:pan-y; }
.amp-viewer-stage img { display:block; max-width:100%; max-height:58dvh; width:auto; height:auto; object-fit:contain; user-select:none; }
.amp-viewer-caption { font-size:13px; line-height:1.6; min-height:2em; margin:14px 0; }
.amp-viewer-bottom { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.amp-viewer-thumbs { display:flex; gap:8px; overflow:auto; max-width:calc(100% - 120px); padding:4px; }
.amp-viewer-thumbs button { width:60px; height:60px; padding:0; flex-shrink:0; }
.amp-viewer-thumbs button[aria-current=true] { outline:2px solid var(--amp-accent-text); outline-offset:1px; }
.amp-viewer-thumbs img { width:100%; height:100%; object-fit:cover; }
@media(hover:hover) and (pointer:fine) { .amp-portfolio-card a:hover img { transform:scale(1.035); } .amp-portfolio-card a:hover .amp-portfolio-card-action span { transform:translate(3px,-2px); } }
@media(max-width:980px) {
 .amp-premium-site .et-l--header .amp-row { width:calc(100% - 64px)!important; }
 .amp-project-hero,.amp-project-overview { gap:35px; }
 .amp-project-hero h1 { font-size:54px; letter-spacing:-2px; }
 .amp-project-gallery .gallery { columns:2; }
 .amp-project-notes { gap:35px; }
}
@media(max-width:767px) {
 .amp-premium-site .et-l .amp-header { padding:2px 0!important; }
 .amp-cinema,.amp-cinema>.et_pb_row { min-height:710px!important; height:auto!important; }
 .amp-cinema .amp-cinema-copy { padding:60px 0!important; }
 .amp-case-grid { grid-template-columns:1fr; gap:40px; }
 .amp-project-hero,.amp-project-overview,.amp-project-notes { grid-template-columns:1fr; gap:28px; margin-bottom:50px; }
 .amp-project-hero { margin-top:24px; }
 .amp-project-hero h1 { font-size:48px; letter-spacing:-1.8px; }
 .amp-project-hero figure { aspect-ratio:4/3; }
 .amp-project-subtitle { font-size:23px; }
 .amp-project-gallery { margin:55px 0; }
 .amp-project-gallery .gallery { columns:1; }
 .amp-project-consultation { margin-top:55px; }
 .amp-project-lightbox { padding:12px; }
 .amp-viewer-stage { min-height:50dvh; }
 .amp-viewer-stage img { max-height:52dvh; }
}
@media(max-width:600px) { .amp-premium-site .et-l--header .amp-row { width:calc(100% - 40px)!important; } }
@media(prefers-reduced-motion:reduce) { .amp-portfolio-card img,.amp-portfolio-card-action span,.amp-direct-contact>a span { transition:none; } }
