/* Interior pages use the same spacing, type and colours as the homepage. */
.interior{background:#fff;-webkit-font-smoothing:antialiased}
.interior .wrap{width:min(1180px,calc(100% - 40px))}
.interior main a{color:var(--blue)}
.interior main a:hover{color:#1f5683}
.interior main h1{font-size:clamp(36px,4.5vw,56px);line-height:1.08;letter-spacing:-.03em;font-weight:650;text-wrap:balance}
.interior main h2{font-size:clamp(29px,3vw,40px);line-height:1.15;letter-spacing:-.025em;font-weight:650}
.interior main h3{font-size:20px;line-height:1.3;letter-spacing:0;font-weight:650}
.interior .section{padding:clamp(56px,7vw,88px) 0}
.interior .lead{font-size:18px;line-height:1.65;color:#3c4a55;text-wrap:pretty}
.interior .caption{font-size:14px;line-height:1.55}
.interior .blue-section{background:var(--paper)}
.interior main .button,.interior .cta .button{gap:10px;border-radius:3px;padding:14px 18px;font-size:16px;font-weight:700;line-height:1.5;color:#fff}
.interior .button:hover{color:#fff;transform:none}
.interior .button.outline{color:var(--ink);border-color:#bccbd5;font-weight:600}
.interior .button.outline:hover{color:var(--ink);background:var(--paper);border-color:var(--ink)}
.interior .cta .button.light{color:var(--ink)}
.interior .button.light:hover{background:#e7eef4;color:var(--ink)}
.interior .text-link{font-size:15px;gap:10px;line-height:1.6;padding-bottom:2px}
.interior .actions{gap:12px 24px}
.interior .page-intro{background:var(--paper);padding:28px 0 clamp(48px,6vw,72px);border-bottom:1px solid var(--line)}
.interior .breadcrumbs{font-size:13px;line-height:1.5;margin-bottom:36px;gap:8px 12px}
.interior .breadcrumbs a{color:var(--muted)}
.interior .page-intro h1{max-width:900px}
.interior .page-intro .lead{margin-top:20px;max-width:680px}
.interior .intro-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px}
.interior .intro-split img{height:380px;border-radius:4px;object-position:center}
.interior .intro-split .lead{font-size:17px}
.interior .page-intro .actions{margin-top:26px}
.interior .section-heading{gap:16px 40px;margin-bottom:32px}
.interior .section-heading>p{font-size:16px;max-width:440px;line-height:1.6}
.interior .split,.interior .area-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 64px}
.interior .split h2{margin-bottom:20px}
.interior .split .lead{font-size:17px}
.interior .content-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:40px 72px}
.interior .content-grid h2{font-size:clamp(29px,3vw,38px);margin-bottom:20px}
.interior .content-grid p{font-size:17px;line-height:1.65}
.interior .plain-list{margin:24px 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.interior .plain-list li{border-top:1px solid var(--line);padding:13px 0;font-size:15px;line-height:1.55}
.interior .aside-panel{padding:clamp(24px,3vw,32px);border-radius:4px;background:var(--paper)}
.interior .aside-panel h3{font-size:22px;margin:0 0 16px;line-height:1.3}
.interior .aside-panel p{font-size:15px;line-height:1.6}
.interior .quote-panel{background:var(--ink);color:#fff}
.interior .quote-panel p{color:#d5dee5;margin-top:14px}
.interior .quote-panel a:not(.button){color:var(--lightblue)}
.interior .quote-panel .button{margin-top:10px}
.interior .quote-panel .contact-icon{margin-right:6px}
.interior .service-catalog{display:grid;gap:48px}
.interior .catalog-heading{font-size:17px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:22px;letter-spacing:0}
.interior .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.interior .service-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:4px;background:var(--paper);overflow:hidden}
.interior .service-image{display:block;height:230px;flex:none}
.interior .service-image picture{display:block;height:100%}
.interior .service-copy{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.interior .service-copy h3{font-size:21px;line-height:1.3}
.interior .service-copy p{font-size:15px;line-height:1.6;margin:0}
.interior .service-card-actions{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:auto;padding-top:10px;font-size:14px;font-weight:600}
.interior .service-card-actions a:first-child{color:var(--ink)}
.interior .service-card-actions a:last-child{text-decoration:none}
.interior .service-card.no-photo{background:var(--ink);color:#fff;border-color:var(--ink)}
.interior .no-photo .service-copy{padding:28px;justify-content:center}
.interior .no-photo .service-copy h3{font-size:28px}
.interior .no-photo .service-copy p{color:#d5dee5}
.interior .no-photo .service-card-actions{margin-top:12px}
.interior .no-photo .service-card-actions a{color:var(--lightblue)}
.interior .project-links{gap:28px}
.interior .project-links li{border:1px solid var(--line);border-radius:4px;background:#fff;padding:24px}
.interior .project-links h3{font-size:21px;margin-bottom:12px}
.interior .project-links p{line-height:1.6}
.interior .faq{max-width:900px}
.interior .faq h2{margin-bottom:28px}
.interior .faq details{padding:22px 0}
.interior .faq summary{font-size:17px;font-weight:600;line-height:1.5;gap:24px}
.interior .faq details p{font-size:16px;line-height:1.65;max-width:72ch;padding-right:24px}
.interior .filter{border-radius:3px;font-size:14px;font-weight:600;padding:10px 18px}
.interior .filter:hover{border-color:var(--ink)}
.interior .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}
.interior .work-card>a{display:block;border-radius:4px;overflow:hidden}
.interior .work-card img{height:330px}
.interior .work-card .meta{padding:18px 0 24px;gap:20px;align-items:start}
.interior .work-card h3{font-size:24px;line-height:1.25;margin:0 0 8px}
.interior .work-card h3 a{color:var(--ink)}
.interior .work-card h3 a:hover{color:var(--blue)}
.interior .work-card p{font-size:14px}
.interior .work-card .meta>a{flex:none;text-decoration:none}
.interior .photo-letterbox,.interior .portrait-frame{position:relative;overflow:hidden;display:block;--photo-height:330px;height:var(--photo-height);border-radius:4px}
.interior .photo-letterbox img.ingatestone,.interior .portrait-frame img.ingatestone{position:absolute;left:50%;top:50%;width:max(100%,calc(var(--photo-height) * 1.9));max-width:none;height:auto;transform:translate(-50%,-50%)}
.interior .project-description{max-width:800px}
.interior .project-description h2{font-size:30px;margin-bottom:18px}
.interior .project-description .lead{font-size:17px}
.interior .gallery{gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}
.interior .gallery:not(.single-photo)>button:first-child{grid-column:1/-1}
.interior .gallery-photo{display:block;border-radius:4px;overflow:hidden;background:var(--paper)}
.interior .gallery img{height:clamp(280px,35vw,440px)}
.interior .gallery:not(.single-photo)>button:first-child img{height:clamp(320px,48vw,620px)}
.interior .gallery.single-photo{grid-template-columns:1fr;max-width:1000px}
.interior .gallery.single-photo .gallery-photo{--photo-height:clamp(280px,44vw,520px)}
.interior .gallery.single-photo img{height:clamp(280px,44vw,520px)}
.interior .gallery.single-photo .portrait-frame img.ingatestone{height:auto}
.interior .gallery .caption{margin-top:12px}
.interior .project-actions{border-top:1px solid var(--line);padding-top:26px;margin-top:36px}
.interior .photo-viewer{border-radius:4px;padding:20px}
.interior .photo-viewer button{border-radius:3px;font-size:15px;font-weight:600}
.interior .process{gap:28px 40px;margin-top:40px}
.interior .process article{border-top:2px solid var(--ink);padding-top:18px}
.interior .process h3{font-size:19px;margin:0 0 12px}
.interior .process p{font-size:15px;line-height:1.6}
.interior .commercial-photo .portrait-frame{--photo-height:400px}
.interior .about-brand{background:var(--paper);border-radius:4px;padding:clamp(30px,6vw,70px)}
.interior .about-brand img{width:100%;height:auto;max-width:380px}
.interior .training{padding:24px 0}
.interior .training h3{font-size:20px;margin:0 0 12px}
.interior .training p{font-size:16px}
.interior .area-list{display:grid;align-content:start;gap:0 28px}
.interior .area-list li{padding:18px 0;border-top:1px solid #bccbd5;border-bottom:0;font-size:26px;font-weight:600;letter-spacing:0;overflow-wrap:anywhere}
.interior .contact-section{background:var(--ink);color:#fff}
.interior .contact-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:40px 64px;align-items:start}
.interior .contact-details h2{font-size:clamp(29px,3vw,38px);margin-bottom:24px}
.interior .contact-method{padding:22px 0;border-color:#3a4a57}
.interior .contact-method small{font-size:14px;letter-spacing:0;text-transform:none;color:#aebbc5;margin-bottom:6px}
.interior .contact-method a{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:600;color:#fff;line-height:1.5}
.interior .contact-method .email{font-size:16px;font-weight:400;color:var(--lightblue);word-break:normal;overflow-wrap:normal}
.interior .contact-details .caption{font-size:15px;color:#d5dee5;line-height:1.65}
.interior .enquiry-form{min-width:0;color:var(--ink);border:0;border-radius:4px;padding:clamp(22px,3vw,34px)}
.interior .enquiry-form h2{font-size:28px;margin-bottom:12px}
.interior .enquiry-form>p{font-size:15px;line-height:1.6;margin-bottom:24px}
.interior .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.interior .field{min-width:0;font-size:14px;font-weight:700;gap:6px}
.interior .field input,.interior .field select,.interior .field textarea{border:1px solid #bccbd5;border-radius:3px;background:#fff;font-size:16px;padding:12px}
.interior .enquiry-form>.form-note{font-size:13px;margin:16px 0 0}
.interior .result{color:var(--ink);background:#fff;border:0;border-radius:4px;padding:clamp(22px,3vw,34px);margin:0}
.interior .result h2{font-size:28px;line-height:1.2}
.interior .result p{font-size:16px;line-height:1.6}
.interior .result textarea{border-radius:3px;font-size:15px;line-height:1.6;min-height:300px;resize:vertical}
.interior .result label{font-size:14px;font-weight:700}
.interior .prose{max-width:800px}
.interior .prose h2{font-size:27px;margin:38px 0 16px}
.interior .prose h2:first-child{margin-top:0}
.interior .prose p{font-size:17px;line-height:1.7}
.interior .prose a{overflow-wrap:anywhere}
.interior .cta{background:var(--ink);padding:clamp(48px,6vw,72px) 0;border-bottom:1px solid #344550}
.interior .cta h2{font-size:clamp(29px,3vw,40px);font-weight:650;letter-spacing:-.025em;line-height:1.15;margin-bottom:16px}
.interior .cta p{font-size:17px;line-height:1.6;color:#d5dee5}
.interior .cta .actions{flex-shrink:0}
.interior .cta .cta-phone{display:inline-flex;gap:8px;align-items:center;color:#fff;font-size:16px;font-weight:600}
@media(max-width:1000px){.interior .content-grid{gap:40px}.interior .contact-layout{gap:32px}.interior .service-grid{gap:20px}.interior .service-copy{padding:20px}.interior .intro-split{gap:36px}.interior .cta .wrap{align-items:start;flex-direction:column;gap:28px}}
@media(max-width:800px){.interior .intro-split,.interior .split,.interior .content-grid,.interior .area-layout,.interior .contact-layout{grid-template-columns:1fr}.interior .intro-split img{height:clamp(260px,55vw,420px)}.interior .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interior .service-grid .service-card:last-child{grid-column:auto;display:flex}.interior .work-card img{height:260px}.interior .photo-letterbox{--photo-height:260px}.interior .work-card h3{font-size:22px}.interior .area-list{grid-template-columns:1fr 1fr}.interior .aside-panel{max-width:none}.interior .contact-details{max-width:620px}.interior .commercial-photo .portrait-frame{--photo-height:clamp(260px,45vw,400px)}}
@media(max-width:520px){.interior .service-grid,.interior .project-grid,.interior .gallery,.interior .plain-list,.interior .form-grid{grid-template-columns:1fr}.interior .service-grid{gap:24px}.interior .service-image{height:240px}.interior .project-grid{gap:32px}.interior .gallery:not(.single-photo)>button:first-child{grid-column:auto}.interior .gallery img,.interior .gallery:not(.single-photo)>button:first-child img{height:300px}.interior .breadcrumbs{margin-bottom:28px}.interior .page-intro{padding-top:24px}.interior .project-links{grid-template-columns:1fr}.interior .process{grid-template-columns:1fr}.interior .area-list{grid-template-columns:1fr}.interior .enquiry-form .button{white-space:normal}.interior .photo-viewer{padding:14px;max-width:calc(100vw - 20px)}.interior .result .actions{align-items:stretch;flex-direction:column}.interior .result textarea{padding:12px}.interior .cta .actions{align-items:start;flex-direction:column}}
@media(max-width:360px){.interior .wrap{width:calc(100% - 32px)}.interior .contact-method .email{font-size:14px}.interior .enquiry-form,.interior .result{padding:20px}}
