@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#11110f;--cream:#f4f0e8;--paper:#fbfaf7;--gold:#c99b35;--muted:#6f6c65;--line:#d9d4c9;--dark:#151513;--max:1240px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.topbar{background:var(--ink);color:#fff;padding:9px 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.topbar .container{display:flex;justify-content:space-between;gap:20px}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(17,17,15,.1)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.06em;font-size:14px;line-height:1.05}.brand small{display:block;font-size:9px;letter-spacing:.22em;font-weight:500;margin-top:5px;color:var(--muted)}.brand-mark{width:38px;height:38px;border:1.5px solid var(--ink);display:grid;place-items:center;font-size:12px;letter-spacing:.04em}.nav-links{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:600}.nav-links a{position:relative;padding:30px 0}.nav-links a:after{content:'';position:absolute;left:0;bottom:22px;width:0;height:1px;background:var(--gold);transition:.3s}.nav-links a:hover:after,.nav-links .active:after{width:100%}.nav-cta{background:var(--ink);color:#fff!important;padding:12px 17px!important}.nav-cta:after{display:none}.menu{display:none;border:0;background:none;font-size:25px}.hero{background:var(--ink);color:#fff;min-height:calc(100vh - 110px);display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.hero-copy{padding:clamp(70px,9vw,130px) 7vw;display:flex;flex-direction:column;justify-content:center}.eyebrow,.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-weight:700}.hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(55px,7vw,104px);line-height:.91;letter-spacing:-.055em;margin:22px 0 28px;max-width:760px}.hero h1 span{color:var(--gold)}.hero p{font-size:18px;color:#c8c5bd;max-width:590px;margin:0 0 34px}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 22px;border:1px solid var(--ink);font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;transition:.25s var(--ease)}.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.btn-light{background:transparent;border-color:#5b5a56;color:#fff}.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.btn:hover{transform:translateY(-2px)}.hero-meta{display:flex;gap:25px;margin-top:55px;color:#929088;font-size:11px;text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap}.hero-meta strong{color:#fff;margin-right:6px}.hero-media{position:relative;min-height:600px;overflow:hidden;background:#222}.hero-media:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,15,.25),transparent 45%),linear-gradient(0deg,rgba(17,17,15,.35),transparent 45%);z-index:1}.hero-media img{width:100%;height:100%;object-fit:cover}.media-label{position:absolute;z-index:2;left:32px;bottom:32px;background:var(--paper);color:var(--ink);padding:15px 18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.ticker{background:var(--gold);padding:12px 0;overflow:hidden;white-space:nowrap}.ticker-track{display:inline-block;animation:marquee 24s linear infinite;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}@keyframes marquee{to{transform:translateX(-50%)}}section{padding:110px 0}.split{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}.section-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.05em;margin:14px 0 26px}.section-title span{color:var(--gold)}.lead{font-size:19px;max-width:680px;color:#4f4c46}.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:65px}.number-card{background:var(--paper);padding:34px}.number-card b{font-family:'Space Grotesk';font-size:40px}.number-card h3{font-size:17px;margin:28px 0 10px}.number-card p{font-size:14px;color:var(--muted);margin:0}.dark-section{background:var(--ink);color:#fff}.dark-section .lead{color:#bdb9b0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#373631;margin-top:55px}.service{background:var(--ink);padding:38px;min-height:300px;transition:.3s}.service:hover{background:#20201d}.service .num{color:var(--gold);font-size:12px;letter-spacing:.18em}.service h3{font-family:'Space Grotesk';font-size:28px;margin:70px 0 12px}.service p{color:#aaa79f;font-size:14px}.quote{background:var(--gold);padding:65px 0}.quote blockquote{font-family:'Space Grotesk';font-size:clamp(30px,4vw,54px);line-height:1.05;letter-spacing:-.04em;max-width:930px;margin:0}.quote cite{display:block;margin-top:20px;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{border:1px solid var(--line);padding:32px;background:#fff}.card .tag{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.card h3{font-family:'Space Grotesk';font-size:27px;margin:12px 0}.card p{color:var(--muted)}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:50px}.step{background:var(--paper);padding:30px}.step .num{font-family:'Space Grotesk';font-size:38px;color:var(--gold)}.step h3{margin:30px 0 10px}.step p{font-size:14px;color:var(--muted)}.contact-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-info h1{font-family:'Space Grotesk';font-size:clamp(48px,6vw,82px);line-height:.95;letter-spacing:-.05em;margin:12px 0 25px}.contact-info p{color:var(--muted);font-size:17px;max-width:460px}.contact-list{margin-top:45px;display:grid;gap:18px}.contact-list span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}.form{border-top:1px solid var(--line)}.field{padding:22px 0;border-bottom:1px solid var(--line)}.field label{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin-bottom:9px}.field input,.field textarea,.field select{width:100%;border:0;outline:0;background:transparent;font-size:18px;padding:7px 0;color:var(--ink)}.field textarea{min-height:120px;resize:vertical}.form-note{font-size:12px;color:var(--muted);margin:15px 0}.success{padding:14px;background:#e7f2e7;color:#245b2d;margin:15px 0;display:none}.footer{background:var(--ink);color:#fff;padding:65px 0}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}.footer p{color:#aaa79f;max-width:370px}.footer h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.footer-links{display:grid;gap:10px;color:#c7c4bc;font-size:14px}.copyright{border-top:1px solid #33322e;margin-top:55px;padding-top:20px;color:#77736b;font-size:12px;display:flex;justify-content:space-between}.page-hero{background:var(--ink);color:#fff;padding:110px 0}.page-hero h1{font-family:'Space Grotesk';font-size:clamp(58px,8vw,105px);line-height:.9;letter-spacing:-.06em;max-width:900px;margin:16px 0}.page-hero p{color:#aaa79f;max-width:620px;font-size:18px}.page-hero h1 span{color:var(--gold)}.gallery{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.gallery img{width:100%;height:100%;object-fit:cover}.gallery .large{min-height:560px}.gallery .small{min-height:270px}.stack{display:grid;gap:20px}.mobile-only{display:none}
@media(max-width:900px){.container{width:min(calc(100% - 30px),var(--max))}.topbar .container{justify-content:center}.topbar span:last-child{display:none}.nav{height:68px}.menu{display:block}.nav-links{position:absolute;left:15px;right:15px;top:76px;background:var(--paper);border:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;padding:10px}.nav-links.open{display:flex}.nav-links a{padding:13px}.nav-links a:after{bottom:7px}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 7vw}.hero-media{min-height:430px}.split,.contact-wrap{grid-template-columns:1fr;gap:35px}.numbers,.services-grid{grid-template-columns:1fr}.process{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.gallery .large{min-height:400px}}
@media(max-width:600px){section{padding:75px 0}.hero h1{font-size:54px}.hero-meta{margin-top:38px}.process{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.copyright{display:block}.copyright span{display:block;margin-top:8px}.page-hero{padding:75px 0}.page-hero h1{font-size:56px}.media-label{left:18px;bottom:18px}}

.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:65px}.team-card{border:1px solid var(--line);background:#fff;overflow:hidden}.team-photo{aspect-ratio:1/1;background:linear-gradient(135deg,#1a1a18,#35332d);display:grid;place-items:center;position:relative}.team-photo:after{content:'';position:absolute;inset:18px;border:1px solid rgba(255,255,255,.18)}.team-initial{font-family:'Space Grotesk';font-size:64px;color:var(--gold);letter-spacing:-.05em}.team-copy{padding:28px}.team-copy .tag{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.team-copy h3{font-family:'Space Grotesk';font-size:28px;line-height:1.05;margin:10px 0 5px}.team-role{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:var(--muted);margin:0 0 18px}.team-copy>p:last-child{font-size:14px;color:var(--muted);margin:0}@media(max-width:900px){.team-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.team-grid{grid-template-columns:1fr}}

/* Team page — image-led editorial profiles */
.team-hero{background:var(--ink);color:#fff;padding:clamp(90px,11vw,150px) 0 105px}.team-hero-grid{display:grid;grid-template-columns:1fr 260px;gap:80px;align-items:end}.team-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(58px,8vw,112px);line-height:.88;letter-spacing:-.065em;margin:18px 0 28px}.team-hero h1 span{color:var(--gold)}.team-hero p{max-width:620px;color:#aaa79f;font-size:19px;margin:0}.team-hero-note{border-left:1px solid #3a3934;padding-left:28px}.team-hero-note span{display:block;font-family:'Space Grotesk';font-size:70px;line-height:.8;color:var(--gold)}.team-hero-note p{color:#fff;font-size:12px;line-height:1.6;text-transform:uppercase;letter-spacing:.16em;margin-top:24px}.team-intro{padding-bottom:70px}.team-section{padding-top:45px}.team-grid-four{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:0}.team-card{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.team-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(17,17,15,.11)}.team-photo.real-photo{aspect-ratio:16/10;background:#10100f;overflow:hidden;display:block}.team-photo.real-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s var(--ease)}.team-card:hover .real-photo img{transform:scale(1.035)}.team-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.62));z-index:1}.team-number{position:absolute;left:20px;bottom:17px;z-index:2;color:#fff;font-family:'Space Grotesk';font-size:13px;letter-spacing:.18em}.team-copy{min-height:235px}.team-copy h3{margin-top:11px}.team-copy .team-role{margin-bottom:16px}.team-cta{padding-top:100px;padding-bottom:100px}
@media(max-width:900px){.team-hero-grid{grid-template-columns:1fr;gap:45px}.team-hero-note{max-width:300px}.team-grid-four{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.team-hero{padding:75px 0 80px}.team-hero h1{font-size:55px}.team-grid-four{grid-template-columns:1fr}.team-copy{min-height:0}}

/* Services page — six-service editorial layout */
.services-hero{background:var(--ink);color:#fff;padding:clamp(90px,11vw,150px) 0 105px}
.services-hero-grid{display:grid;grid-template-columns:1fr 260px;gap:80px;align-items:end}
.services-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(58px,8vw,112px);line-height:.88;letter-spacing:-.065em;margin:18px 0 28px}
.services-hero h1 span{color:var(--gold)}
.services-hero p{max-width:690px;color:#aaa79f;font-size:19px;margin:0}
.services-hero-index{border-left:1px solid #3a3934;padding-left:28px}.services-hero-index span{display:block;font-family:'Space Grotesk';font-size:70px;line-height:.8;color:var(--gold)}
.services-hero-index p{color:#fff;font-size:12px;line-height:1.6;text-transform:uppercase;letter-spacing:.16em;margin-top:24px}
.services-intro{padding-bottom:55px}.services-list-section{padding-top:55px}
.services-list{border-top:1px solid var(--line)}
.service-detail{padding:52px 0 56px;border-bottom:1px solid var(--line)}
.service-detail-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}
.service-number{font-family:'Space Grotesk';font-size:17px;color:var(--gold);font-weight:700}.service-label{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.service-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:80px}.service-detail h2{font-family:'Space Grotesk';font-size:clamp(31px,3.2vw,48px);line-height:1.02;letter-spacing:-.045em;margin:0;max-width:590px}.service-detail p{font-size:16px;color:var(--muted);max-width:640px;margin:0 0 24px}.service-detail ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}.service-detail li{font-size:14px;padding-left:22px;position:relative}.service-detail li:before{content:'→';position:absolute;left:0;color:var(--gold);font-weight:700}.service-detail-featured{background:var(--ink);color:#fff;margin-top:1px;padding:58px 45px;border-bottom:0}.service-detail-featured p{color:#bdb9b0}.service-detail-featured .service-label{color:#aaa79f}.services-cta{padding-top:105px;padding-bottom:105px}
@media(max-width:900px){.services-hero-grid{grid-template-columns:1fr;gap:45px}.services-hero-index{max-width:300px}.service-detail-body{grid-template-columns:1fr;gap:28px}.service-detail-featured{margin-left:-15px;margin-right:-15px;padding-left:25px;padding-right:25px}}
@media(max-width:600px){.services-hero{padding:75px 0 80px}.services-hero h1{font-size:55px}.service-detail{padding:40px 0}.service-detail-top{margin-bottom:24px}.service-detail h2{font-size:31px}.service-detail-featured{margin-left:-15px;margin-right:-15px}.services-cta{padding-top:75px;padding-bottom:75px}}


/* Supplied Breccan Jorvik Company logo */
.brand-logo {
  display: inline-flex;
  align-items: center;
  width: 88px;
  height: 64px;
  overflow: hidden;
  flex: 0 0 auto;
  background: #351a4e;
}
.brand-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.site-header .brand-logo { border: 0; }
.footer-logo { width: 105px; height: 76px; }
@media (max-width: 600px) {
  .brand-logo { width: 76px; height: 56px; }
  .footer-logo { width: 96px; height: 70px; }
}

/* Reviews page */
.reviews-hero p{max-width:680px}
.reviews-intro{padding-top:95px}
.reviews-heading{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;margin-bottom:55px}
.reviews-summary{border-left:1px solid var(--line);padding-left:32px;min-width:190px}
.reviews-summary strong{display:block;font-family:'Space Grotesk';font-size:64px;line-height:.9;color:var(--gold);letter-spacing:-.06em}
.reviews-summary span{display:block;color:var(--muted);font-size:12px;line-height:1.6;text-transform:uppercase;letter-spacing:.12em;margin-top:16px}
.review-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.review-shot{margin:0;border:1px solid var(--line);background:#fff;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.review-shot:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(17,17,15,.1)}
.review-zoom{display:block;width:100%;padding:0;border:0;background:#fff;cursor:zoom-in;text-align:left;position:relative}
.review-zoom img{width:100%;height:auto;display:block}
.review-zoom span{position:absolute;right:14px;bottom:14px;background:rgba(17,17,15,.9);color:#fff;padding:9px 12px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:.25s}
.review-shot:hover .review-zoom span,.review-zoom:focus-visible span{opacity:1;transform:none}
.reviews-cta{margin-top:90px;padding:55px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:end;gap:30px}
.reviews-cta h2{font-family:'Space Grotesk';font-size:clamp(38px,5vw,68px);line-height:.95;letter-spacing:-.055em;margin:12px 0 0}
.reviews-cta h2 span{color:var(--gold)}
.review-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}
.review-lightbox.open{display:flex}
.review-lightbox-inner{position:relative;max-width:min(1100px,96vw);max-height:92vh}
.review-lightbox img{max-width:100%;max-height:92vh;width:auto;height:auto;object-fit:contain;background:#fff}
.review-close{position:absolute;right:-12px;top:-12px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#111;font-size:28px;line-height:1;cursor:pointer;z-index:2}
.no-scroll{overflow:hidden}
@media(max-width:900px){.reviews-heading{grid-template-columns:1fr}.reviews-summary{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.review-gallery{grid-template-columns:1fr}.reviews-cta{align-items:flex-start;flex-direction:column}}
