:root{--ink:#242321;--paper:#f6f3ec;--white:#fff;--stone:#ddd5c6;--red:#7b2524;--red2:#5d1b1b;--muted:#69645d;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{background:#191918;color:white;border-bottom:4px solid var(--red);position:sticky;top:0;z-index:20}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{text-decoration:none;display:flex;align-items:baseline;gap:14px;white-space:nowrap}.brand-ad{font-family:var(--serif);font-size:31px;font-weight:700;letter-spacing:1px;color:#d7c6a2}.brand-name{font-size:13px;letter-spacing:2.2px}.main-nav{display:flex;align-items:center;gap:22px}.main-nav a{text-decoration:none;font-size:14px;padding:31px 0 25px;border-bottom:3px solid transparent}.main-nav a:hover,.main-nav a.active{border-color:#d7c6a2}.nav-toggle{display:none;background:none;color:#fff;border:1px solid #777;padding:8px 12px}.hero{min-height:590px;background:linear-gradient(90deg,rgba(12,12,12,.88) 0%,rgba(12,12,12,.67) 47%,rgba(12,12,12,.16) 100%),url('../images/roman-soldiers-relief.jpg') center/cover no-repeat;color:white;display:flex;align-items:center}.hero-copy{max-width:720px;padding:80px 0}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-weight:700;font-size:13px;color:#dfc9a1}.hero h1{font:700 clamp(48px,7vw,82px)/.98 var(--serif);margin:12px 0 20px}.hero .meta{font:700 20px/1.4 var(--serif);margin:0 0 20px}.hero p{font-size:19px;max-width:650px;color:#eee}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:1.4px;font-weight:700;font-size:13px;padding:14px 20px;border:1px solid transparent}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red2)}.btn-ghost{border-color:#ddd;color:#fff;background:rgba(0,0,0,.15)}.status{background:#e9e2d4;border-bottom:1px solid #d4c9b6}.status .wrap{padding:13px 0;text-align:center;font-size:14px}.intro{padding:76px 0 55px;text-align:center}.kicker{color:var(--red);text-transform:uppercase;letter-spacing:2.4px;font-size:12px;font-weight:700}.intro h2,.section-title{font:700 clamp(34px,4vw,49px)/1.12 var(--serif);margin:10px auto 20px}.intro p{font:18px/1.75 var(--serif);max-width:850px;margin:0 auto}.welcome{margin-top:18px;font-weight:700}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:78px}.feature{background:#fff;border-top:3px solid var(--red);padding:30px 28px;box-shadow:0 8px 28px rgba(0,0,0,.05)}.feature h3{font:700 25px var(--serif);margin:0 0 10px}.feature p{margin:0;color:var(--muted)}.conference{background:#fff;padding:76px 0}.two-col{display:grid;grid-template-columns:1.12fr .88fr;gap:58px;align-items:center}.conference h2,.visit h2{font:700 43px/1.12 var(--serif);margin:9px 0 20px}.speaker-list{columns:2;column-gap:25px;margin:25px 0 30px;padding:0;list-style:none}.speaker-list li{break-inside:avoid;margin:0 0 10px;padding-left:15px;border-left:2px solid var(--stone)}.image-frame img{width:100%;aspect-ratio:4/3;object-fit:cover}.caption{font-size:12px;color:var(--muted);margin-top:7px}.visit{padding:76px 0}.visit .image-frame img{aspect-ratio:16/10}.quote-band{background:#272624;color:#fff;padding:58px 0;text-align:center}.quote-band p{font:italic 25px/1.55 var(--serif);max-width:880px;margin:0 auto 12px}.quote-band strong{color:#dcc8a4}.site-footer{background:#161615;color:#d6d2cb;padding:38px 0;border-top:4px solid var(--red)}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner span{font-size:13px;color:#aaa}.footer-links{display:flex;gap:22px}.footer-links a{color:#ddd}.small-note{font-size:13px;color:var(--muted)}
@media(max-width:900px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:84px;left:0;right:0;background:#191918;padding:10px 20px 20px;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:12px;border-bottom:1px solid #383838}.two-col{grid-template-columns:1fr}.features{grid-template-columns:1fr}.speaker-list{columns:1}.hero{min-height:540px}.brand-name{display:none}}
@media(max-width:520px){.wrap{width:min(100% - 28px,1160px)}.hero h1{font-size:48px}.hero-copy{padding:62px 0}.hero p{font-size:17px}.intro,.conference,.visit{padding:55px 0}.actions .btn{width:100%;text-align:center}.footer-inner{flex-direction:column}.header-inner{min-height:72px}.main-nav{top:72px}}
.page-hero{background:#272624;color:#fff;padding:78px 0;border-bottom:4px solid var(--red)}.page-hero.compact{padding:62px 0}.page-hero h1{font:700 clamp(43px,6vw,68px)/1.04 var(--serif);margin:8px 0 10px}.page-hero p{font:19px var(--serif);margin:0;color:#ddd}.content-section{padding:70px 0}.narrow{max-width:900px}.content-section h2,.cta-band h2,.history h2{font:700 40px/1.15 var(--serif);margin:8px 0 20px}.subhead{margin-top:48px!important}.notice{background:#eee7da;border-left:4px solid var(--red);padding:16px 18px;margin-top:28px}.programme{padding:0 0 75px}.day{display:grid;grid-template-columns:190px 1fr;border-top:1px solid #d5cdbf;padding:30px 0}.day-head span{display:block;text-transform:uppercase;letter-spacing:2px;color:var(--red);font-size:13px;font-weight:700}.day-head strong{font:700 23px var(--serif)}.sessions{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.sessions article{background:#fff;padding:20px;border-left:3px solid var(--stone)}.sessions h3{font:700 20px var(--serif);margin:0 0 6px}.sessions p{margin:0;color:var(--muted)}.sessions .field-session{border-color:var(--red);background:#f1ebe0}.cta-band{background:#272624;color:#fff;padding:50px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{margin-bottom:6px}.cta-band p{margin:0;color:#ddd}.kicker.light{color:#dfc9a1}.booking-status{text-align:center;max-width:780px;margin:0 auto 45px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-grid article,.contact-card{background:#fff;padding:28px;border-top:3px solid var(--red)}.info-grid h3{font:700 23px var(--serif);margin:0 0 12px}.disabled-btn{display:inline-block;background:#ddd7cd;color:#777;padding:12px 16px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:1px}.text-top{align-items:start}.welcome.left{text-align:left}.history{background:#e9e2d4;padding:70px 0}.gallery-intro{margin-bottom:30px}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.album-card{background:#fff;text-decoration:none;box-shadow:0 8px 25px rgba(0,0,0,.06)}.album-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.album-card div{padding:18px}.album-card h3{font:700 23px var(--serif);margin:0 0 4px}.album-card p{margin:0;color:var(--muted);font-size:13px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.back-link{display:inline-block;margin-bottom:25px;color:var(--red);font-weight:700}.archive-list{margin-top:35px}.archive-list article{display:grid;grid-template-columns:120px 1fr;border-top:1px solid #d5cdbf;padding:26px 0}.archive-year{font:700 30px var(--serif);color:var(--red)}.archive-list h2{font-size:25px;margin:0 0 8px}.archive-list p{margin:0}.archive-list a{color:var(--red);font-weight:700}.contact-card{max-width:760px;margin:auto}.contact-card a{color:var(--red);font-weight:700}
@media(max-width:900px){.day{grid-template-columns:1fr;gap:15px}.sessions{grid-template-columns:1fr}.info-grid,.album-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.cta-band .wrap{align-items:flex-start;flex-direction:column}.archive-list article{grid-template-columns:90px 1fr}}
@media(max-width:520px){.photo-grid{grid-template-columns:1fr}.page-hero,.page-hero.compact{padding:48px 0}.content-section,.history{padding:52px 0}}
/* 2027 conference page refinements */
.conference-intro p{font-size:17px}.programme-heading{margin-bottom:12px}.programme-heading .section-title{margin-top:7px}.sessions-one{grid-template-columns:1fr}.session-label{text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:700;color:var(--red);margin-bottom:5px}.field-wide{grid-column:1/-1}.conference-visit{background:#e9e2d4;padding:70px 0}.conference-visit h2{font:700 40px/1.15 var(--serif);margin:8px 0 18px}.conference-visit p{font-size:16px}.speaker-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.speaker-cards article{background:#fff;border-top:3px solid var(--stone);padding:22px}.speaker-cards article:first-child{border-color:var(--red)}.speaker-cards h3{font:700 21px var(--serif);margin:0 0 6px}.speaker-cards p{margin:0;color:var(--muted);font-size:14px}.speakers-section{padding-top:70px;padding-bottom:75px}
@media(max-width:900px){.speaker-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.speaker-cards{grid-template-columns:1fr}.conference-visit{padding:52px 0}}
/* About RAS page refinements */
.about-lead p{font-size:17px}.about-callout{background:#272624;color:#fff;padding:38px 34px;border-top:4px solid var(--red);align-self:center}.about-callout .about-date{display:block;color:#dfc9a1;font:700 38px/1 var(--serif);margin-bottom:12px}.about-callout h3{font:700 28px var(--serif);margin:0 0 12px}.about-callout p{margin:0;color:#ddd}.about-breeze{background:#272624;color:#fff;padding:72px 0}.about-breeze h2{font:700 43px/1.12 var(--serif);margin:8px 0 20px}.about-breeze p{color:#e2dfd9}.breeze-mark{min-height:300px;border:1px solid #5a5751;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px;background:linear-gradient(145deg,#302f2c,#1c1c1b)}.breeze-initials{font:700 88px/1 var(--serif);color:#d7c6a2;border-bottom:3px solid var(--red);padding-bottom:14px;margin-bottom:18px}.breeze-mark p{text-transform:uppercase;letter-spacing:2px;font-size:12px;line-height:1.8;margin:0;color:#cfcac0}.about-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.about-mini-grid h2{font:700 34px/1.15 var(--serif);margin:8px 0 16px}.about-invitation{margin-top:55px;border-top:1px solid #d5cdbf;padding-top:35px;display:flex;align-items:center;justify-content:space-between;gap:35px}.about-invitation p{font:21px/1.55 var(--serif);max-width:720px;margin:0}.about-final{padding-bottom:80px}
@media(max-width:900px){.about-mini-grid{grid-template-columns:1fr;gap:35px}.about-invitation{align-items:flex-start;flex-direction:column}.breeze-mark{min-height:240px}}

.breeze-photo{margin:0;align-self:center}
.breeze-photo img{display:block;width:100%;max-width:430px;height:360px;object-fit:cover;object-position:center top;border:1px solid #5a5751}
.breeze-photo figcaption{font-size:12px;letter-spacing:.5px;color:#cfcac0;margin-top:10px}
@media(max-width:900px){.breeze-photo img{max-width:100%;height:auto}}

.photo-grid a{display:block;cursor:zoom-in}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;display:none;align-items:center;justify-content:center;padding:45px 80px}
.lightbox.open{display:flex}
.lightbox-image{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 45px rgba(0,0,0,.45)}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;line-height:1}
.lightbox-close{top:18px;right:26px;font-size:46px}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:52px;padding:20px}
.lightbox-prev{left:10px}.lightbox-next{right:10px}
body.lightbox-open{overflow:hidden}
@media(max-width:700px){
  .lightbox{padding:55px 15px}
  .lightbox-prev,.lightbox-next{font-size:36px;padding:10px}
  .lightbox-close{right:15px}
}

.archive-year{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:30px 0;border-top:1px solid #d6d0c5}
.archive-year:last-of-type{border-bottom:1px solid #d6d0c5}
.archive-date{font-family:Georgia,serif;font-size:34px;font-weight:700;color:#8d2f28}
.archive-year h2{margin:2px 0 15px}
.archive-links{display:flex;flex-wrap:wrap;gap:10px}
.archive-links a{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #c7bda9;text-decoration:none;color:#242321;background:#fff}
.archive-links a:hover{border-color:#8d2f28}
.archive-links span{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#8d2f28}
.archive-note{margin-top:42px;padding:25px 28px;background:#eee9df;border-left:4px solid #8d2f28}
.archive-note p:last-child{margin-bottom:0}
@media(max-width:650px){.archive-year{grid-template-columns:1fr;gap:6px}.archive-date{font-size:27px}}

.booking-status,.contact-placeholder{padding:30px 34px;background:#eee9df;border-left:4px solid #8d2f28;margin-bottom:42px}
.booking-status h2,.contact-placeholder h2{margin-top:4px}
.booking-grid,.contact-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 45px}
.booking-grid>div,.contact-links>div{padding:23px;border:1px solid #d6d0c5;background:#fff}
.contact-links{grid-template-columns:repeat(2,1fr)}
.booking-grid h3,.contact-links h3{margin-top:0}
.download-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 34px;background:#292825;color:#f4f0e7;margin:38px 0 45px}
.download-panel h2{color:#fff;margin-top:4px}
.button.disabled{opacity:.55;cursor:not-allowed;white-space:nowrap}
.small-note{margin-top:35px;padding-top:20px;border-top:1px solid #d6d0c5;font-size:14px;color:#666}
.contact-intro{margin-bottom:30px}
.contact-links a{color:#8d2f28;font-weight:700;text-decoration:none}
@media(max-width:750px){.booking-grid,.contact-links{grid-template-columns:1fr}.download-panel{display:block}.download-panel .button{display:inline-block;margin-top:15px}}

.enquiry-form-section{margin:48px 0;padding-top:38px;border-top:1px solid #d6d0c5}
.enquiry-form{margin-top:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.enquiry-form label{display:block;font-weight:700;margin:0 0 7px}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;box-sizing:border-box;border:1px solid #bdb6aa;background:#fff;padding:12px 13px;font:inherit;margin:0 0 20px}
.enquiry-form textarea{resize:vertical}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:2px solid #8d2f28;outline-offset:1px}
.enquiry-form button{border:0;cursor:pointer}
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-note{font-size:13px;color:#666;margin-top:13px}
.form-success{padding:16px 18px;margin:20px 0;background:#eee9df;border-left:4px solid #8d2f28}
@media(max-width:650px){.form-row{grid-template-columns:1fr}}

.programme-notice{margin:34px 0;padding:20px 24px;background:#eee9df;border-left:4px solid #8d2f28}
.programme-notice p{margin:6px 0 0}
.interest-panel,.mailing-panel{margin:42px 0;padding:30px 34px;background:#eee9df;border-left:4px solid #8d2f28}
.interest-panel h2,.mailing-panel h2{margin-top:4px}
.check-label{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;margin:0 0 22px!important}
.check-label input{width:auto!important;margin:4px 0 0!important}
.compact-form{margin-top:18px}

.mailing-choice{margin-top:26px;padding:20px 22px;border:1px solid #c9bfae;background:#fff}
.mailing-choice h3{margin:0 0 14px;font-size:19px}
.mailing-choice .check-label{margin-bottom:0!important}
.mailing-choice small{display:inline-block;margin-top:4px;font-size:13px;line-height:1.45;color:#666}

.programme-heading{margin-top:46px;margin-bottom:22px}
.programme-card{display:grid;grid-template-columns:150px 1fr;margin:0 0 22px;border:1px solid #d2cabd;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.programme-card-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 14px;background:#292825;color:#fff;text-align:center}
.programme-card-date span{font-size:11px;letter-spacing:2px;color:#e6c995;font-style:normal}
.programme-card-date strong{font-family:Georgia,serif;font-size:46px;line-height:1;margin:8px 0 5px;color:#fff}
.programme-card-date em{font-size:12px;letter-spacing:2px;font-style:normal}
.programme-card-content{padding:8px 28px}
.talk-row{display:grid;grid-template-columns:210px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid #e2ddd3;align-items:start}
.talk-row:last-child{border-bottom:0}
.speaker{font-weight:700;color:#8d2f28}
.talk-title{line-height:1.55}
.excursion-row{margin:8px -14px;padding:18px 14px!important;background:#eee9df;border-bottom:0!important}
@media(max-width:700px){
.programme-card{grid-template-columns:1fr}
.programme-card-date{flex-direction:row;gap:10px;padding:14px 18px}
.programme-card-date strong{font-size:28px;margin:0}
.programme-card-content{padding:4px 20px}
.talk-row{grid-template-columns:1fr;gap:5px;padding:16px 0}
}
\n/* Archive page — calmer compact layout */
.archive-year{grid-template-columns:78px 1fr;gap:22px;padding:22px 0}
.archive-date{font-size:25px;line-height:1.2;padding-top:2px}
.archive-year h2{font:700 21px/1.25 var(--serif);margin:0 0 7px}
.archive-year p{font-size:15px;line-height:1.55;margin:0 0 12px;color:var(--muted)}
.archive-year p strong{font:700 17px/1.4 var(--serif);color:var(--ink)}
.archive-links{gap:8px}
.archive-links a{padding:7px 11px;font-size:13px}
.archive-note{margin:28px 0;padding:18px 22px;font-size:14px;line-height:1.55}
.archive-note p{margin:0 0 7px}
.archive-covid{display:grid;grid-template-columns:78px 1fr;gap:22px;align-items:baseline;padding:18px 0;border-top:1px solid #d6d0c5;color:var(--muted);font-size:14px}
.archive-covid strong{font:700 20px/1.2 var(--serif);color:var(--red)}
@media(max-width:650px){.archive-year,.archive-covid{grid-template-columns:1fr;gap:5px}.archive-date{font-size:23px}.archive-year h2{font-size:20px}}\n