:root {
  --bg:#133621;
  --surface:#1a4429;
  --ink:#f4d96c;
  --muted:#dccb89;
  --paper:#e8dcab;
  --paper-deep:#dacc8f;
  --dark:#133621;
  --accent:#f4d96c;
  --small:clamp(.85rem,.82rem + .1vw,.95rem);
  --body:clamp(1rem,.93rem + .28vw,1.15rem);
  --lead:clamp(1.18rem,1.07rem + .55vw,1.46rem);
  --head:clamp(2.85rem,2.1rem + 4.2vw,6rem);
  --display:clamp(4.45rem,6.5vw,8.5rem);
  --margin:clamp(20px,5.5vw,94px);
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:92px}
body {margin:0;background:var(--bg);color:var(--ink);font-family:"Literata",Georgia,serif;font-size:var(--body);line-height:1.56}
a {color:inherit;text-decoration:none}
button,input,textarea,select {font:inherit}
button {cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible {outline:3px solid #fff;outline-offset:4px}
img {display:block;max-width:100%}
h1,h2,h3,p {margin-top:0}
h1,h2,h3 {text-wrap:balance}
p {text-wrap:pretty}
h1,h2,h3,.wordmark,.footer-big,.footer-logo {font-family:"Rokkitt",Georgia,serif;font-weight:800;letter-spacing:-.018em;line-height:.96}
h2 {font-size:var(--head)}
h3 {font-size:clamp(1.9rem,2.5vw,2.8rem)}
.skip-link {position:absolute;left:12px;top:-70px;background:var(--accent);color:var(--dark);padding:12px 18px;z-index:100}
.skip-link:focus {top:12px}
.site-header {position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;gap:36px;padding:24px var(--margin);color:var(--ink);min-height:104px}
.wordmark {font-size:clamp(1.5rem,2vw,2rem);line-height:.83;letter-spacing:-.02em;white-space:nowrap;display:flex;flex-direction:column}
.wordmark strong {font-weight:800;letter-spacing:.06em}
.navigation {display:flex;align-items:center;gap:clamp(16px,2vw,38px);margin-left:auto}
.navigation a {font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;transition:opacity .18s}
.navigation a:hover {opacity:.67}
.header-cta {display:inline-flex;padding:11px 19px;background:var(--accent);color:var(--dark);font:700 14px Arial,Helvetica,sans-serif;min-height:44px;align-items:center;transition:transform .18s}
.header-cta:hover {transform:translateY(-3px)}
.lang-switch {display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:44px;font:700 15px Arial,Helvetica,sans-serif;text-decoration:underline;text-underline-offset:5px}
.lang-switch:hover {opacity:.7}
.menu-toggle,.mobile-nav {display:none}
.hero {min-height:780px;height:100svh;max-height:1040px;position:relative;background:var(--bg);overflow:hidden;display:flex;align-items:center}
.hero-picture {position:absolute;top:0;right:0;bottom:0;width:70%;overflow:hidden;background:#29553c}
.hero-picture img {width:100%;height:100%;object-fit:cover;object-position:center center;filter:brightness(.56) contrast(1.08);animation:slow-drift 26s ease-in-out infinite alternate}
.dossier {position:relative;z-index:2;margin-left:var(--margin);margin-top:92px;width:min(660px,53vw);min-height:570px;padding:40px clamp(26px,3.4vw,58px) 28px;background:var(--accent);color:var(--dark);display:flex;flex-direction:column;clip-path:polygon(0 0,94% 0,100% 7%,100% 100%,0 100%)}
.dossier-top,.dossier-bottom {font-family:Arial,Helvetica,sans-serif;display:flex;gap:16px;align-items:flex-start;justify-content:space-between;font-size:13px;font-weight:700;line-height:1.35}
.dossier-top span:last-child {white-space:nowrap}
.dossier h1 {font-size:clamp(4.4rem,6.8vw,8.4rem);line-height:.84;letter-spacing:-.055em;margin:85px 0 24px;white-space:nowrap}
.hero-intro {font-size:clamp(1.05rem,1.2vw,1.22rem);line-height:1.5;max-width:450px;margin-bottom:26px}
.hero-actions {display:flex;align-items:center;gap:25px;margin-bottom:40px}
.button {border:0;display:inline-flex;justify-content:space-between;align-items:center;gap:34px;padding:17px 23px;min-height:56px;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:15px;transition:transform .2s,background-color .2s;text-align:left}
.button:hover {transform:translateY(-3px)}
.button:active {transform:translateY(0)}
.button-dark {background:var(--dark);color:var(--accent)}
.button span {font-size:22px;font-weight:400;line-height:1}
.text-link {font:700 15px Arial,Helvetica,sans-serif;text-decoration:underline;text-underline-offset:5px}
.dossier-bottom {margin-top:auto;padding-top:20px}
.dossier-bottom span:last-child {text-align:right}
.hero-caption {position:absolute;right:var(--margin);bottom:26px;margin:0;color:#fff;font:13px Arial,Helvetica,sans-serif;z-index:2}
.section {position:relative}
.work-with-us {background:var(--paper);color:var(--dark);display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding:clamp(100px,12vw,190px) var(--margin)}
.section-heading {position:sticky;top:110px;align-self:start}
.section-heading h2 {max-width:550px;margin:0 0 30px}
.section-heading p {font-size:var(--lead);max-width:470px;line-height:1.5}
.capabilities {display:flex;flex-direction:column;gap:18px}
.capability {background:var(--dark);color:var(--accent);padding:38px 42px 30px;min-height:238px;display:flex;flex-direction:column}
.capability h3 {font-size:clamp(1.9rem,2.8vw,3rem);margin-bottom:15px}
.capability p {color:#f1e4ac;font-size:1rem;max-width:510px;line-height:1.55;margin-bottom:15px}
.capability span {font:700 13px Arial,Helvetica,sans-serif;color:var(--muted);margin-top:auto}
.capability.secondary {background:#cbbd85;color:var(--dark)}
.capability.secondary p,.capability.secondary span {color:var(--dark)}
.experience {background:var(--bg);color:var(--ink);display:grid;grid-template-columns:.72fr 1fr;column-gap:7vw;row-gap:54px;padding:clamp(110px,12vw,195px) var(--margin)}
.experience-intro {grid-column:1;grid-row:1}
.experience-intro h2 {margin-bottom:30px}
.experience-intro p {max-width:450px;font-size:var(--lead);color:#ead998}
.experience-visual {grid-column:2;grid-row:1;position:relative;align-self:center}
.experience-visual img {width:100%;aspect-ratio:1.24;object-fit:cover;object-position:40% center}
.experience-visual span {display:block;text-align:right;font:13px Arial,Helvetica,sans-serif;margin-top:12px}
.case-files {grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:45px}
.case-paper {background:var(--accent);color:var(--dark);padding:42px 46px 37px;display:flex;flex-direction:column;min-height:360px}
.case-paper.muted-paper {background:var(--paper-deep)}
.case-year {font:700 1rem Arial,Helvetica,sans-serif}
.case-paper h3 {font-size:clamp(2.2rem,3vw,3.6rem);line-height:1.02;margin:32px 0 16px}
.case-paper p {font-size:1rem;line-height:1.55;max-width:500px}
.case-status {margin-top:auto;padding-top:24px;font:700 13px Arial,Helvetica,sans-serif}
.case-footnote {grid-column:1 / -1;margin:0;color:#d9c98e;font-size:13px}
.programmes {background:#e8dcab;color:var(--dark);padding:clamp(110px,13vw,185px) 0}
.programme-top {display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:0 var(--margin);margin-bottom:75px}
.programme-top h2 {margin-bottom:0}
.programme-top p {font-size:var(--lead);max-width:430px;margin-bottom:8px}
.programme-ledger {display:grid;grid-template-columns:1.25fr 1fr;gap:26px;padding:0 var(--margin)}
.programme-piece {overflow:hidden;position:relative;background:var(--dark);color:var(--accent);min-height:470px;display:flex;flex-direction:column;justify-content:flex-end}
.programme-photo>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.56)}
.programme-photo .programme-copy {position:relative;z-index:2;padding:40px;max-width:510px}
.programme-photo .programme-copy h3 {margin-bottom:12px}
.programme-photo .programme-copy p {font-size:1rem;color:#fff;margin:0}
.programme-piece.tall {margin-top:105px}
.programme-piece.golf {margin-top:105px}
.programme-piece.golf>img {object-position:center 37%}
.programme-text {background:#cfbf7c;color:var(--dark);justify-content:center;padding:54px}
.programme-text h3 {font-size:clamp(2.9rem,4.5vw,5rem);margin-bottom:25px}
.programme-text p {font-size:var(--lead);margin-bottom:42px}
.programme-text a {font:700 15px Arial,Helvetica,sans-serif;text-decoration:underline;text-underline-offset:5px}
.about {padding:clamp(125px,15vw,230px) var(--margin);background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:11vw}
.about h2 {margin-bottom:0}
.about-copy {max-width:590px}
.about-copy p {font-size:1.08rem;line-height:1.75;color:#f1dfa2}
.about-copy .about-statement {font-size:clamp(1.4rem,1.7vw,1.8rem);line-height:1.45;color:var(--accent)}
.about-copy strong {font-weight:600}
.contact {min-height:1010px;padding:clamp(110px,11vw,170px) var(--margin);display:flex;align-items:center;justify-content:flex-end;overflow:hidden}
.contact-scene {position:absolute;inset:0;z-index:0}
.contact-scene img {width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.43)}
.contact-sheet {position:relative;z-index:2;background:var(--accent);color:var(--dark);padding:clamp(26px,3.3vw,53px);width:min(670px,100%)}
.contact-heading h2 {font-size:clamp(2.8rem,4.1vw,4.7rem);margin-bottom:18px}
.contact-heading p {font-size:1.04rem;max-width:530px;margin-bottom:24px}
#briefing-form {display:flex;flex-direction:column;gap:18px}
.form-pair {display:grid;grid-template-columns:1fr 1fr;gap:18px}
#briefing-form label {display:flex;flex-direction:column;gap:8px;font:700 14px Arial,Helvetica,sans-serif}
#briefing-form input,#briefing-form select,#briefing-form textarea {width:100%;font:400 16px Arial,Helvetica,sans-serif;line-height:1.4;color:var(--dark);background:#fff9df;padding:14px 13px;border:2px solid var(--dark);border-radius:0;min-height:49px}
#briefing-form textarea {resize:vertical;min-height:112px}
#briefing-form ::placeholder {color:#57694e}
.form-action {display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.form-action .button {flex-shrink:0}
#copy-status {font:13px/1.45 Arial,Helvetica,sans-serif;flex-basis:100%}
.copy-action {font:700 14px Arial,Helvetica,sans-serif;color:var(--dark);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;padding:12px 4px}
.contact-pending {display:flex;flex-direction:column;gap:3px;margin-top:27px;font:13px/1.5 Arial,Helvetica,sans-serif;opacity:.86}
.contact-pending a {font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-contact {display:flex;flex-direction:column;font-size:13px;line-height:1.6;gap:2px}
.legal-contact strong {margin-bottom:4px}
.legal-contact a {overflow-wrap:anywhere}
.privacy-info p {max-width:1050px}
.site-footer {background:var(--bg);padding:100px var(--margin) 42px}
.footer-card {max-width:1300px;margin:auto;min-height:440px;background:var(--paper);color:var(--dark);padding:clamp(30px,5vw,70px);display:grid;grid-template-columns:1fr 1fr;gap:70px}
.footer-big {font-size:clamp(4.4rem,7.8vw,9.2rem);line-height:.82;margin:0 0 32px}
.footer-card p:not(.footer-big) {max-width:380px}
.footer-right {display:flex;flex-direction:column;gap:18px;justify-content:flex-end;align-items:flex-start;font:17px Arial,Helvetica,sans-serif}
.footer-logo {font:800 clamp(2rem,3vw,3.2rem) "Rokkitt",Georgia,serif;line-height:.95}
.footer-right a:not(.footer-logo) {text-decoration:underline;text-underline-offset:5px;font-weight:700}
.footer-right .draft-notice {font-size:13px;margin-top:12px}
.image-credits {max-width:1300px;margin:45px auto 0;font:13px/1.6 Arial,Helvetica,sans-serif;color:#e7d68b}
.image-credits summary {cursor:pointer;display:inline-block;padding:10px 0;text-decoration:underline}
.image-credits ul {padding-left:20px}
.image-credits li {margin:9px 0}
.image-credits a {text-decoration:underline;text-underline-offset:3px}
[data-reveal] {transition:opacity .65s ease,transform .7s cubic-bezier(.2,.65,.12,1)}
.js-animate [data-reveal]:not(.revealed) {opacity:0;transform:translateY(24px)}
.js-animate .dossier:not(.revealed) {transform:translateY(32px)}
@keyframes slow-drift {from{transform:scale(1)}to{transform:scale(1.09)}}
@media (max-width:1080px) {
 .site-header {gap:18px}
 .navigation {gap:15px}
 .navigation a {font-size:13px}
 .dossier {width:58vw;min-height:560px}
 .dossier h1 {font-size:clamp(4.2rem,7vw,6.5rem)}
 .work-with-us {grid-template-columns:.86fr 1.14fr;gap:4vw}
 .programme-piece {min-height:420px}
}
@media (max-width:760px) {
 :root {--margin:22px;--head:clamp(3rem,12vw,4.4rem)}
 .site-header {min-height:85px;padding:17px var(--margin);align-items:center}
 .wordmark {font-size:1.5rem}
 .navigation,.header-cta {display:none}
 .lang-switch {margin-left:auto}
 .menu-toggle {display:flex;margin-left:0;width:46px;height:42px;border:0;background:var(--accent);flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:0}
 .menu-toggle span {display:block;background:var(--dark);width:21px;height:3px}
 .mobile-nav:not([hidden]) {display:flex;position:absolute;right:var(--margin);left:var(--margin);top:77px;background:var(--accent);color:var(--dark);padding:20px;flex-direction:column;gap:15px;font:700 17px Arial,Helvetica,sans-serif}
 .hero {height:auto;max-height:none;min-height:800px;align-items:flex-end;padding-bottom:50px}
 .hero-picture {width:100%;height:61%;top:0;bottom:auto}
 .hero-picture img {object-position:60% center}
 .dossier {width:calc(100% - 44px);min-height:515px;margin:140px 22px 20px;padding:28px 23px 23px}
 .dossier h1 {font-size:clamp(3.55rem,11.6vw,5.6rem);margin:84px 0 23px;white-space:normal}
 .dossier-top,.dossier-bottom {font-size:11px;gap:8px}
 .hero-intro {font-size:1rem;line-height:1.48;margin-bottom:23px}
 .hero-actions {align-items:flex-start;gap:20px;margin-bottom:35px;flex-wrap:wrap}
 .button {min-height:54px;padding:14px 17px}
 .text-link {padding:13px 0}
 .hero-caption {bottom:17px;right:22px;left:22px;text-align:right;font-size:11px}
 .work-with-us {display:block;padding:100px var(--margin)}
 .section-heading {position:static;margin-bottom:42px}
 .section-heading p {font-size:1.1rem}
 .capabilities {gap:14px}
 .capability {padding:28px 26px;min-height:220px}
 .capability h3 {font-size:2.25rem}
 .experience {padding:110px var(--margin);display:block}
 .experience-intro {margin-bottom:45px}
 .experience-intro p {font-size:1.12rem}
 .experience-visual img {aspect-ratio:1.08}
 .case-files {display:block;margin-top:24px}
 .case-paper {margin-top:18px;padding:30px 25px;min-height:335px}
 .case-paper h3 {font-size:2.55rem}
 .case-footnote {margin-top:24px}
 .programmes {padding:100px 0}
 .programme-top {display:block;margin-bottom:45px}
 .programme-top p {font-size:1.08rem;margin-top:30px}
 .programme-ledger {grid-template-columns:1fr;gap:16px}
 .programme-piece,.programme-piece.tall,.programme-piece.golf {min-height:370px;margin-top:0}
 .programme-photo .programme-copy {padding:27px}
 .programme-photo .programme-copy h3 {font-size:2.65rem}
 .programme-text {padding:35px}
 .programme-text h3 {font-size:3.4rem}
 .about {padding:110px var(--margin);display:block}
 .about-title {margin-bottom:45px}
 .about-copy p {font-size:1.02rem}
 .about-copy .about-statement {font-size:1.4rem}
 .contact {min-height:980px;display:block;padding:85px var(--margin)}
 .contact-sheet {margin:80px 0 0;padding:28px 24px}
 .contact-heading h2 {font-size:3.1rem}
 .form-pair {grid-template-columns:1fr;gap:18px}
 .form-action {align-items:flex-start;flex-direction:column;gap:12px}
 .site-footer {padding:75px var(--margin) 30px}
 .footer-card {padding:38px 27px;min-height:auto;display:block}
 .footer-big {font-size:6rem;margin-bottom:30px}
 .footer-right {margin-top:60px}
}
@media (max-width:390px) {
 .dossier h1 {font-size:3.35rem}
 .dossier {min-height:550px}
 .dossier-bottom {flex-direction:column;gap:5px}
 .dossier-bottom span:last-child {text-align:left}
 .footer-big {font-size:5rem}
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after {scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}
 .js-animate [data-reveal]:not(.revealed) {opacity:1;transform:none}
}
