
:root{--ink:#171717;--muted:#6d6d6d;--paper:#f5f4f0;--white:#fff;--line:#deddd7;--accent:#b68a3c;--dark:#111315;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(17,19,21,.97);color:#fff}.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid #aaa;font-size:12px;letter-spacing:.08em}.nav{display:flex;gap:22px}.nav a{text-decoration:none;font-size:14px;color:#eee;padding:25px 0;border-bottom:2px solid transparent}.nav a:hover{border-bottom-color:var(--accent)}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:74vh;position:relative;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.16)),url("images/portfolio-01.jpg");background-size:cover;background-position:center}.hero-overlay{position:relative;min-height:74vh;display:flex;align-items:flex-end}.hero-content{padding:90px 0 80px;max-width:920px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;margin:0 0 10px;color:var(--accent)}h1{font-size:clamp(42px,6vw,78px);line-height:.98;max-width:900px;margin:0 0 22px;letter-spacing:-.035em}h2{font-size:clamp(30px,4vw,50px);line-height:1.05;margin:0 0 22px;letter-spacing:-.025em}h3{font-size:25px;line-height:1.15;margin:5px 0 12px}.hero-copy{font-size:19px;max-width:680px;margin-bottom:28px}.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.button{display:inline-block;padding:12px 18px;background:var(--ink);color:#fff;text-decoration:none;border:1px solid var(--ink);font-weight:700;font-size:14px}.button:hover{opacity:.85}.button-light{background:#fff;color:var(--ink);border-color:#fff}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.light{color:#fff}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding:95px 0}.intro-copy{font-size:18px;max-width:650px}.feature-band{background:#e8e7e2;padding:70px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;padding:30px;border:1px solid var(--line);min-height:260px}.card p{color:#555}.portfolio-section{background:var(--dark);color:#fff;padding:90px 0 100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-note{color:#b8b8b8;max-width:420px;margin:0;font-size:14px}.mini-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mini-item{display:block;overflow:hidden;aspect-ratio:4/3;background:#222}.mini-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.mini-item:hover img{transform:scale(1.04)}.about-section{padding:100px 0}.two-column{display:grid;grid-template-columns:1fr 1.25fr;gap:80px}.about-copy{font-size:17px}.feature-grid,.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-top:38px;border:1px solid var(--line)}.feature-grid div,.rule-grid div{background:var(--paper);padding:20px;display:flex;flex-direction:column;gap:5px}.feature-grid strong,.rule-grid strong{font-size:16px}.feature-grid span,.rule-grid span{color:var(--muted);font-size:14px}.cta-section{background:#fff;padding:85px 0}.cta{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{margin-bottom:10px}.footer{background:var(--dark);color:#fff;padding:35px 0;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer a{color:#ddd}.footer span{color:#999}.page-hero{background:#181a1b;color:#fff;padding:90px 0}.page-hero h1{font-size:clamp(44px,6vw,70px);margin-bottom:12px}.page-hero p:not(.eyebrow){font-size:18px;color:#c9c9c9}.content{padding:75px 0 100px}.prose{max-width:900px}.prose h2{margin-top:55px}.prose h2:first-child{margin-top:0}.prose p{font-size:17px}.programme-list{max-width:900px}.programme-list article{padding:0 0 35px;margin:0 0 35px;border-bottom:1px solid var(--line)}.programme-list time{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:var(--accent);margin-bottom:7px}.programme-list h2{font-size:28px;margin-bottom:10px}.programme-list p{font-size:16px;margin:0}.download-box{margin-top:45px;background:#e8e7e2;padding:28px;max-width:900px}.download-box p{color:#555}.rule-grid{margin-bottom:35px}.rule-grid div{background:#fff}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checklist>div{background:#f0efeb;padding:24px}.checklist h3{margin-top:0}.checklist ul{padding-left:20px}.checklist li{margin:5px 0}.placeholder{border:1px dashed #aaa;padding:25px;display:flex;flex-direction:column;gap:5px;background:#faf9f5}.placeholder span{color:var(--muted)}.gallery{columns:3 260px;column-gap:14px}.gallery-item{break-inside:avoid;margin:0 0 14px;position:relative;cursor:pointer;overflow:hidden;background:#222}.gallery-item img{width:100%;transition:transform .4s}.gallery-item:hover img{transform:scale(1.035)}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:30px 15px 13px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8));font-size:14px;opacity:0;transition:opacity .25s}.gallery-item:hover .gallery-caption,.gallery-item:focus .gallery-caption{opacity:1}.full-gallery{min-height:400px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact-card{border:1px solid var(--line);padding:32px;background:#fff}.contact-label{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:var(--muted)}.email{font-size:20px;font-weight:700;word-break:break-word;text-decoration:none;display:block;margin:12px 0 24px}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;padding:35px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(1100px,90vw);max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox img{max-height:82vh;max-width:90vw;object-fit:contain}.lightbox figcaption{color:#fff;padding-top:12px;font-size:14px;text-align:center}.lightbox button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:45px;line-height:1}.lightbox-close{top:14px;right:25px}.lightbox-prev{left:20px;top:50%}.lightbox-next{right:20px;top:50%}
@media(max-width:760px){.wrap{width:min(var(--max),calc(100% - 28px))}.nav{display:none;position:absolute;left:0;right:0;top:72px;padding:12px 20px 20px;background:var(--dark);flex-direction:column;gap:0}.nav.open{display:flex}.nav a{padding:12px 0}.menu-toggle{display:block}.intro,.two-column,.contact-grid{grid-template-columns:1fr;gap:35px}.cards{grid-template-columns:1fr}.mini-gallery{grid-template-columns:repeat(2,1fr)}.intro{padding:70px 0}.portfolio-section,.about-section{padding:70px 0}.section-heading{display:block}.section-note{margin-top:18px}.gallery{columns:2 160px}.gallery-caption{opacity:1;font-size:12px}.cta{flex-direction:column;align-items:flex-start}.footer-inner{flex-direction:column}.checklist,.rule-grid,.feature-grid{grid-template-columns:1fr}.page-hero{padding:65px 0}.content{padding:55px 0 75px}}
@media(max-width:430px){.gallery{columns:1}.mini-gallery{grid-template-columns:1fr}.hero-content{padding-bottom:55px}h1{font-size:42px}}
