/* Shared composition: photography first, a compact type scale and one spacing rhythm. */
:root{--gr-content:1180px;--gr-gutter:48px;--gr-space:76px;--gr-radius:8px}
html{scroll-padding-top:30px}
.gr-container,.gr-nav-wrap{width:min(var(--gr-content),calc(100% - var(--gr-gutter)*2));margin-inline:auto}
.gr-nav-wrap{padding:14px 0;min-height:84px;max-width:none}
.gr-header{box-shadow:none}
.gr-header .gr-brand{font-size:21px;letter-spacing:-.04em}
.gr-header .gr-brand img{width:54px;height:42px}
.gr-brand small{letter-spacing:.1em}
.gr-button{border-radius:6px;min-height:52px;font-size:15px;font-weight:600}
.gr-button-lime:hover,.gr-navigation .gr-nav-cta:hover{background:#ffe15c}
.gr-button-navy:hover{background:#174e78}
.gr-underlined,.gr-text-link{font-size:14px;line-height:1.6}
.gr-section{padding-block:var(--gr-space)}
.gr-section-heading{gap:48px;margin-bottom:32px;align-items:end}
.gr-section-heading h2,.gr-process h2,.gr-contact-faq h2{font-size:clamp(34px,3.35vw,46px);font-weight:600;line-height:1.16;letter-spacing:-.04em}
.gr-section-heading>p{font-size:16px!important;line-height:1.75!important;max-width:360px}
.gr-eyebrow{font-size:11px!important;line-height:1.6!important;letter-spacing:.09em!important;margin-bottom:18px}
body p:not(.gr-eyebrow):not(.gr-studio-step):not(.gr-mix-hint):not(.gr-form-status){line-height:1.75}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--gr-blue-action)}
.gr-custom-section :is(a,button,summary):focus-visible{outline-color:var(--gr-yellow)}
[hidden]{display:none!important}

/* Home: an unobstructed film, then setting, proof and customisation. */
.gr-home .gr-hero{min-height:0;height:clamp(580px,calc(100svh - 84px),740px)}
.gr-home .gr-hero-inner{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:42px;padding-bottom:65px}
.gr-home .gr-hero h1{font-size:clamp(52px,5.3vw,76px);max-width:720px;line-height:1.06;margin-bottom:24px;font-weight:600;letter-spacing:-.05em}
.gr-home .gr-hero-copy{font-size:17px!important;max-width:560px;line-height:1.75!important;margin-bottom:30px}
.gr-home .gr-hero-shade{background:linear-gradient(90deg,#0009 0%,#0005 42%,#0000 80%),linear-gradient(0deg,#0004,transparent 30%)}
.gr-home .gr-hero .gr-eyebrow{margin-bottom:24px}
.gr-hero-discover{position:absolute;bottom:29px;left:0;display:flex;align-items:center;gap:25px;font-size:12px;color:#fff}
.gr-hero-discover>span{color:var(--gr-yellow);font-size:21px}
.gr-home .gr-video-toggle{right:32px;bottom:25px;border-radius:30px;padding:9px 15px;background:#0005;color:#fff;border-color:#ffffff70}
#locations .gr-location-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
#locations .gr-image-card,#locations .gr-image-card:nth-child(-n+2){grid-column:span 2;height:285px;border-radius:var(--gr-radius)}
#locations .gr-image-card:nth-child(n+4){grid-column:span 3;height:285px}
#locations .gr-image-card img{height:100%;object-fit:cover}
#locations .gr-image-card>div{left:23px;right:23px;bottom:22px}
#locations .gr-image-card h3{font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.035em}
#locations .gr-image-card small{font-size:10px;letter-spacing:.065em}
#locations .gr-image-card:after{background:linear-gradient(transparent 35%,#0002 60%,#000b 100%)}
.gr-projects-section{background:var(--gr-blue-pale)}
.gr-projects-section .gr-case-feature{grid-template-columns:1.35fr 1fr;gap:48px}
.gr-projects-section .gr-case-feature-image{border-radius:var(--gr-radius)}
.gr-projects-section .gr-case-feature-copy h3{font-size:36px}
.gr-home-story-links{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:38px;padding-top:30px;border-top:1px solid var(--gr-line)}
.gr-home-story-links>a{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;color:var(--gr-ink)}
.gr-home-story-links img{width:150px;height:120px;object-fit:cover;border-radius:6px}
.gr-home-story-links small,.gr-home-story-links strong,.gr-home-story-links a>span>span{display:block}
.gr-home-story-links small{font-size:10px;color:var(--gr-muted);letter-spacing:.05em;margin-bottom:9px}
.gr-home-story-links strong{font-size:21px;font-weight:600;line-height:1.3;letter-spacing:-.03em;margin-bottom:12px}
.gr-home-story-links a>span>span{font-size:13px;color:var(--gr-blue-action)}
.gr-home-story-links a:hover strong{color:var(--gr-blue)}
.gr-custom-section{background:var(--gr-blue-deep);padding-block:var(--gr-space);color:#fff}
.gr-custom-section .gr-mix{margin:0;padding:0;border:0;gap:48px;grid-template-columns:.85fr 1.5fr}
.gr-custom-section .gr-mix h2{font-size:44px;line-height:1.1;color:#fff;font-weight:600;letter-spacing:-.04em;margin:0 0 22px}
.gr-custom-section .gr-mix h2 em{font-style:normal;color:var(--gr-yellow)}
.gr-custom-section .gr-mix-sidebar>p:not(.gr-eyebrow){max-width:355px;font-size:15px!important}
.gr-custom-section .gr-mix-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gr-custom-section .gr-mix-tools button{min-height:89px;font-size:12px;padding:10px;gap:7px}
.gr-custom-section .gr-module-icon{width:38px;height:38px}
.gr-custom-section .gr-studio-step{margin-top:25px;margin-bottom:15px}
.gr-custom-section .gr-mix-water{min-height:0}
.gr-custom-section .gr-mix-canvas{border-radius:8px}
.gr-custom-section .gr-mix-next{align-items:flex-start;flex-direction:column;gap:18px}
.gr-custom-section .gr-mix-next p{font-size:13px!important}
.gr-custom-section .gr-mix-export-actions{width:100%;justify-content:space-between}
.gr-custom-section .gr-mix-export{font-size:13px}
.gr-custom-section .gr-mix-next .gr-button{font-size:14px}
.gr-custom-section .gr-studio-colours button{font-size:12px}
.gr-due-diligence{background:#fff;color:var(--gr-ink);padding-block:var(--gr-space)}
.gr-due-diligence h2,.gr-due-diligence .gr-evidence-grid h3{color:var(--gr-ink)}
.gr-due-diligence .gr-section-heading>p,.gr-due-diligence .gr-evidence-grid p{color:var(--gr-muted)}
.gr-due-diligence .gr-eyebrow,.gr-due-diligence .gr-evidence-number,.gr-due-diligence .gr-evidence-link{color:var(--gr-blue-action)}
.gr-evidence-grid{gap:32px}
.gr-evidence-grid>a{border-color:var(--gr-line);padding-top:21px}
.gr-evidence-grid h3{font-size:27px;font-weight:600;margin-top:21px}
.gr-evidence-grid p{font-size:15px!important;max-width:340px}
.gr-evidence-number{font-size:11px;letter-spacing:.05em}
.gr-evidence-link{font-size:14px;border-color:var(--gr-line)}
.gr-evidence-grid>a:hover .gr-evidence-link{color:var(--gr-blue);border-color:var(--gr-blue)}
.gr-process{padding-block:0 var(--gr-space)}
.gr-process-grid{gap:32px}
.gr-process-grid h3{font-size:23px;font-weight:600;margin-top:17px}
.gr-process-grid p{font-size:15px!important;max-width:340px;color:var(--gr-muted)}
.gr-cta{padding-block:54px}
.gr-cta h2{font-size:clamp(38px,4.3vw,60px);font-weight:600;line-height:1.1}
.gr-footer{padding-top:50px}
.gr-footer-top{gap:35px;padding-bottom:38px}
.gr-footer-wordmark{font-size:24px}
.gr-footer-top>div>p{font-size:14px!important}

/* Project collection: filters in view, one feature followed by a regular photo grid. */
.gr-gallery-intro{padding-top:52px;padding-bottom:32px;display:grid;grid-template-columns:1.1fr 1fr;gap:0 55px;align-items:end}
.gr-gallery-intro .gr-eyebrow{grid-column:1/-1;margin-bottom:17px}
.gr-gallery-intro h1{font-size:clamp(42px,4.4vw,60px);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.045em}
.gr-gallery-intro>p:last-child{font-size:16px!important;max-width:440px;line-height:1.8;margin:0}
.gr-gallery-section{padding-top:0;padding-bottom:var(--gr-space)}
.gr-gallery-section .gr-filter-row{border-top:1px solid var(--gr-line);border-bottom:1px solid var(--gr-line);padding-block:19px;margin-bottom:30px;gap:10px}
.gr-filter-row button{font-size:13px;padding:10px 17px;border-radius:24px}
.gr-filter-row>span{font-size:12px;margin-left:auto}
.gr-gallery-section .gr-gallery-featured{padding:0 0 36px;margin:0 0 36px;border-bottom:1px solid var(--gr-line)}
.gr-gallery-featured .gr-case-feature{grid-template-columns:1.3fr 1fr;gap:42px}
.gr-gallery-featured .gr-case-feature-image img{height:340px;aspect-ratio:auto;object-fit:cover}
.gr-gallery-featured .gr-case-feature-copy h3{font-size:34px}
.gr-case-feature-copy .gr-case-feature-lead{font-size:22px!important}
.gr-case-story-grid{gap:36px 28px}
.gr-case-story-card img{height:300px;border-radius:8px}
.gr-case-story-card h3{font-size:27px}
.gr-case-story-card>div{padding-top:19px}
.gr-case-story-card small{font-size:11px;letter-spacing:.055em;margin-bottom:9px}
.gr-case-story-card p{font-size:15px!important;margin-bottom:14px}
.gr-case-story-card>div>span{font-size:14px}

/* Bring informational pages into the same width and type system. */
.gr-information-page .ttm-page-title-row{padding:40px 0!important;background-image:none!important;background:var(--gr-blue-pale)!important}
.gr-information-page .ttm-page-title-row:before,.gr-information-page .ttm-row-wrapper-bg-layer{display:none}
.gr-information-page .ttm-page-title-row .title{color:var(--gr-ink);font-size:46px;line-height:1.15;font-weight:600}
.gr-information-page .breadcrumb-wrapper,.gr-information-page .breadcrumb-wrapper a,.gr-information-page .breadcrumb-wrapper span{color:var(--gr-muted)!important}
.gr-information-page .site-main>.ttm-row{padding-block:65px}
.gr-information-page .site-main h2{font-size:36px;font-weight:600;line-height:1.2}
.gr-information-page .site-main h3{font-size:23px;font-weight:600}
.gr-information-page .site-main .container,.gr-information-page .ttm-page-title-row .container{width:min(var(--gr-content),calc(100% - var(--gr-gutter)*2));max-width:none;padding-inline:0}
.gr-information-page .site-main p{font-size:16px!important;line-height:1.8!important}
.gr-information-page .site-main img{border-radius:8px}

/* Brand page: the people, the possibilities and the evidence. */
.gr-about-hero{padding-block:62px 70px;background:var(--gr-blue-pale)}
.gr-about-hero>.gr-container{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}
.gr-about-hero h1{font-size:clamp(42px,4.5vw,62px);font-weight:600;line-height:1.08;margin-bottom:25px}
.gr-about-hero p{max-width:450px;color:var(--gr-muted);margin-bottom:24px}
.gr-about-hero img{width:100%;height:380px;object-fit:cover;border-radius:8px}
.gr-about-editorial{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.gr-about-editorial>img{width:100%;height:390px;object-fit:cover;border-radius:8px}
.gr-about-editorial h2{font-size:40px;font-weight:600;line-height:1.16;margin-bottom:24px}
.gr-about-editorial p{color:var(--gr-muted);margin-bottom:22px}
.gr-about-evidence{background:var(--gr-blue-pale);padding-block:var(--gr-space)}
.gr-about-evidence .gr-evidence-grid>a{color:var(--gr-ink)}
.gr-about-evidence .gr-evidence-grid h3{color:var(--gr-ink)}
.gr-about-evidence .gr-evidence-grid p{color:var(--gr-muted)}
.gr-about-evidence .gr-evidence-number,.gr-about-evidence .gr-evidence-link{color:var(--gr-blue-action)}

@media(max-width:1100px){
 .gr-navigation{padding-inline:var(--gr-gutter)}
 .gr-nav-wrap{min-height:78px}
 .gr-projects-section .gr-case-feature{gap:32px}
 .gr-custom-section .gr-mix{grid-template-columns:.9fr 1.35fr;gap:30px}
 .gr-custom-section .gr-mix h2{font-size:38px}
 .gr-custom-section .gr-mix-tools button{padding:8px;min-height:84px;gap:5px}
 .gr-custom-section .gr-module-icon{width:33px;height:33px}
 .gr-home-story-links>a{grid-template-columns:110px 1fr;gap:17px}
 .gr-home-story-links img{width:110px;height:110px}
 .gr-home-story-links strong{font-size:19px}
 #locations .gr-image-card h3{font-size:22px}
 .gr-about-hero>.gr-container{gap:35px}
}
@media(max-width:800px){
 :root{--gr-gutter:28px;--gr-space:60px}
 .gr-custom-section .gr-mix{grid-template-columns:1fr}
 .gr-custom-section .gr-mix-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
 .gr-mix-sidebar>.gr-eyebrow,.gr-mix-sidebar>h2,.gr-mix-sidebar>p:not(.gr-studio-step):not(.gr-mix-hint){grid-column:1/-1}
 .gr-custom-section .gr-mix-tools{grid-column:1/-1}
 .gr-custom-section .gr-mix-tools button{min-height:76px;font-size:14px}
 .gr-custom-section .gr-studio-step,.gr-custom-section .gr-studio-colours,.gr-custom-section .gr-mix-hint{grid-column:1/-1}
 #locations .gr-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #locations .gr-image-card,#locations .gr-image-card:nth-child(-n+2),#locations .gr-image-card:nth-child(n+4){grid-column:auto;height:270px}
 #locations .gr-image-card:last-child{grid-column:1/-1}
 .gr-home-story-links>a{grid-template-columns:1fr}
 .gr-home-story-links img{width:100%;height:180px}
 .gr-gallery-intro{gap:22px}
 .gr-gallery-intro h1{font-size:44px}
}
@media(max-width:700px){
 :root{--gr-gutter:20px;--gr-space:48px}
 .gr-nav-wrap{padding:12px 0;min-height:74px}
 .gr-header .gr-brand{font-size:18px;gap:9px}
 .gr-header .gr-brand img{width:48px;height:37px}
 .gr-header .gr-brand small{font-size:7px;margin-top:7px}
 .gr-navigation{padding-inline:20px}
 .gr-section-heading{display:block;margin-bottom:27px}
 .gr-section-heading h2,.gr-process h2{font-size:34px}
 .gr-section-heading>p{margin-top:19px;font-size:15px!important;max-width:none}
 .gr-section-heading>.gr-underlined{margin-top:20px;display:inline-block}
 .gr-home .gr-hero{height:620px;min-height:0}
 .gr-home .gr-hero-inner{padding-top:40px;padding-bottom:75px;justify-content:center}
 .gr-home .gr-hero h1{font-size:49px;line-height:1.04;max-width:100%;margin-bottom:23px}
 .gr-home .gr-hero-copy{font-size:16px!important;line-height:1.7!important;max-width:350px}
 .gr-home .gr-hero-copy br{display:none}
 .gr-home .gr-hero-shade{background:linear-gradient(90deg,#0009,#0004),linear-gradient(0deg,#0004,transparent 40%)}
 .gr-home .gr-hero .gr-actions{align-items:flex-start;flex-direction:column;gap:22px}
 .gr-home .gr-hero .gr-eyebrow{font-size:10px!important;letter-spacing:.05em!important}
 .gr-home .gr-video-toggle{right:17px;bottom:22px;font-size:11px;padding:8px 12px}
 .gr-hero-discover{bottom:25px;font-size:11px;gap:14px}
 #locations .gr-location-grid{gap:14px}
 #locations .gr-image-card,#locations .gr-image-card:nth-child(-n+2),#locations .gr-image-card:nth-child(n+4){height:235px}
 #locations .gr-image-card>div{left:15px;right:15px;bottom:18px}
 #locations .gr-image-card h3{font-size:20px;line-height:1.2;margin-top:8px;gap:6px}
 #locations .gr-image-card h3 span{font-size:20px}
 #locations .gr-image-card small{font-size:9px;letter-spacing:.025em;line-height:1.5}
 #locations .gr-location-beach img{object-position:68% center}
 .gr-projects-section .gr-case-feature{grid-template-columns:1fr;gap:25px}
 .gr-case-feature-copy h3,.gr-projects-section .gr-case-feature-copy h3{font-size:31px}
 .gr-case-feature-copy .gr-case-feature-lead{font-size:21px!important}
 .gr-home-story-links{gap:20px;margin-top:28px;padding-top:26px}
 .gr-home-story-links img{height:150px}
 .gr-home-story-links strong{font-size:20px}
 .gr-home-story-links small{font-size:9px}
 .gr-home-story-links a>span>span{font-size:12px}
 .gr-custom-section .gr-mix h2{font-size:37px}
 .gr-custom-section .gr-mix-sidebar{display:block}
 .gr-custom-section .gr-mix-sidebar>p:not(.gr-eyebrow){max-width:none}
 .gr-custom-section .gr-mix-tools button{min-height:80px;font-size:12px}
 .gr-custom-section .gr-mix-export-actions{display:flex;gap:12px;align-items:stretch}
 .gr-custom-section .gr-mix-export-actions .gr-button{width:auto;flex:1;font-size:13px;padding-inline:15px}
 .gr-custom-section .gr-mix-export{font-size:12px;padding-inline:13px}
 .gr-custom-section .gr-mix-water-note{font-size:8px}
 .gr-custom-section .gr-mix-canvas-top{font-size:10px}
 .gr-evidence-grid{grid-template-columns:1fr;gap:29px}
 .gr-evidence-grid h3{font-size:26px;margin-top:17px}
 .gr-evidence-grid p{max-width:none;margin-bottom:19px}
 .gr-process-grid{gap:24px}
 .gr-process-grid h3{font-size:23px}
 .gr-process-grid p{max-width:none}
 .gr-cta{padding-block:42px}
 .gr-cta h2{font-size:42px}
 .gr-gallery-intro{display:block;padding-block:36px 28px}
 .gr-gallery-intro h1{font-size:43px}
 .gr-gallery-intro>p:last-child{margin-top:23px;font-size:15px!important}
 .gr-gallery-intro>p:last-child br{display:none}
 .gr-filter-row>span{width:100%;margin:6px 0 0}
 .gr-filter-row button{font-size:12px;padding:9px 14px}
 .gr-gallery-featured .gr-case-feature{grid-template-columns:1fr;gap:24px}
 .gr-gallery-featured .gr-case-feature-image img{height:240px}
 .gr-gallery-section .gr-gallery-featured{padding-bottom:29px;margin-bottom:29px}
 .gr-case-story-grid{grid-template-columns:1fr;gap:32px}
 .gr-case-story-card img{height:250px}
 .gr-case-story-card h3{font-size:26px}
 .gr-about-hero{padding-block:39px 43px}
 .gr-about-hero>.gr-container{grid-template-columns:1fr;gap:30px}
 .gr-about-hero h1{font-size:43px}
 .gr-about-hero img{height:270px}
 .gr-about-editorial{grid-template-columns:1fr;gap:30px}
 .gr-about-editorial h2{font-size:34px}
 .gr-about-editorial>img{height:280px}
 .gr-information-page .ttm-page-title-row{padding:30px 0!important}
 .gr-information-page .ttm-page-title-row .title{font-size:36px}
 .gr-information-page .site-main>.ttm-row{padding-block:43px}
 .gr-information-page .site-main h2{font-size:31px}
}
@media(max-width:370px){#locations .gr-location-grid{grid-template-columns:1fr}#locations .gr-image-card:last-child{grid-column:auto}.gr-home-story-links{grid-template-columns:1fr}.gr-home-story-links img{height:200px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gr-home-story-links *{transition:none}}

@media(max-width:600px){
 #locations .gr-location-grid{grid-template-columns:1fr;gap:16px}
 #locations .gr-image-card,#locations .gr-image-card:nth-child(-n+2),#locations .gr-image-card:nth-child(n+4){grid-column:auto;height:235px}
 #locations .gr-image-card:last-child{grid-column:auto}
 #locations .gr-image-card>div{left:22px;right:22px;bottom:22px}
 #locations .gr-image-card h3{font-size:25px;gap:20px}
 #locations .gr-image-card small{font-size:10px;letter-spacing:.05em}
}
