:root{--ink:#1d211d;--muted:#687067;--paper:#f3f0e8;--cream:#fbfaf5;--forest:#20362d;--gold:#b89554;--line:rgba(29,33,29,.14);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 4vw;color:#fff;transition:.3s;background:linear-gradient(180deg,rgba(0,0,0,.38),transparent)}.site-header.scrolled{background:rgba(29,33,29,.96);padding-top:14px;padding-bottom:14px;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px;text-transform:uppercase;letter-spacing:.12em}.brand strong,.brand small{display:block}.brand strong{font-size:12px;line-height:1.1}.brand small{font-size:9px;opacity:.72;margin-top:3px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.55);font-size:11px;letter-spacing:.04em}.site-nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}.site-nav a{opacity:.9}.site-nav a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:10px 15px}.menu-toggle{display:none;background:none;border:0;color:#fff;font:600 12px var(--sans)}.hero{height:100svh;min-height:680px;position:relative;overflow:hidden;background:#26352c}.hero-image{position:absolute;inset:0;background-image:url('assets/clackmannan-tower.jpg');background-size:cover;background-position:center;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,25,19,.84) 0%,rgba(16,25,19,.48) 42%,rgba(16,25,19,.1) 75%),linear-gradient(0deg,rgba(16,25,19,.52),transparent 42%)}.hero-content{position:absolute;left:8vw;top:50%;transform:translateY(-42%);max-width:700px;color:#fff}.eyebrow,.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;margin:0 0 20px;color:var(--gold)}.hero h1,.final-cta h2{font:600 clamp(54px,8vw,106px)/.95 var(--serif);letter-spacing:-.045em;margin:0 0 28px}.hero h1 em,.final-cta h2 em{font-style:italic;font-weight:500}.hero-copy{max-width:560px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.84)}.hero-actions{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 21px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.04em;transition:.25s}.button-primary{background:var(--gold);color:#fff}.button-primary:hover{transform:translateY(-2px);background:#a98446}.button-ghost{border-color:rgba(255,255,255,.5);color:#fff}.button-ghost:hover{background:#fff;color:var(--ink)}.hero-scroll{position:absolute;bottom:32px;left:8vw;color:rgba(255,255,255,.72);font-size:10px;text-transform:uppercase;letter-spacing:.18em;display:flex;align-items:center;gap:12px}.hero-scroll span{display:block;width:60px;height:1px;background:rgba(255,255,255,.45)}.section{padding:120px 8vw}.intro{display:grid;grid-template-columns:1fr 2.2fr;gap:7vw;background:var(--cream)}.intro-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:9px}.kicker{color:#8e7547}.light{color:#c9aa6d}.intro h2,.story h2,.visit h2,.nearby h2,.gallery h2{font:600 clamp(40px,5.5vw,70px)/1.02 var(--serif);letter-spacing:-.04em;margin:0 0 28px}.lead{max-width:730px;font-size:19px;color:#555d56}.text-link{display:inline-flex;gap:15px;align-items:center;margin-top:22px;font-weight:700;font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:5px}.dark-section{background:var(--forest);color:#f7f4eb}.story{padding-top:115px;padding-bottom:115px}.section-heading{max-width:720px}.timeline{max-width:980px;margin:70px auto 0;border-top:1px solid rgba(255,255,255,.18)}.timeline-item{display:grid;grid-template-columns:130px 1fr;gap:30px;padding:35px 0;border-bottom:1px solid rgba(255,255,255,.13)}.timeline-year{font:600 28px var(--serif);color:#c9aa6d}.timeline h3{font:600 24px var(--serif);margin:0 0 8px}.timeline p{max-width:680px;color:rgba(255,255,255,.68);margin:0}.timeline-item.featured{background:rgba(255,255,255,.035);margin:0 -25px;padding-left:25px;padding-right:25px}.burns{background:var(--paper)}.burns-card{max-width:1080px;margin:auto;display:grid;grid-template-columns:2fr 1fr;min-height:500px;background:var(--forest);color:#fff}.burns-copy{padding:75px}.burns-copy h2{font:600 clamp(42px,6vw,75px)/1 var(--serif);margin:0 0 25px;letter-spacing:-.04em}.burns-copy p{max-width:610px;color:rgba(255,255,255,.76)}.quote{font:italic 20px/1.5 var(--serif);color:#d7c39b!important;border-left:2px solid var(--gold);padding-left:18px;margin-top:32px}.burns-card .text-link{color:#fff}.burns-stat{border-left:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;justify-content:flex-end;padding:55px}.burns-stat span{font:600 100px/.8 var(--serif);color:#c9aa6d}.burns-stat small{font-size:12px;line-height:1.5;margin-top:20px;color:rgba(255,255,255,.62)}.visit{background:var(--paper)}.visit-header{display:flex;justify-content:space-between;align-items:end;gap:30px;max-width:1180px;margin:auto}.dark-button{color:#fff}.visit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);max-width:1180px;margin:65px auto 0;border:1px solid var(--line)}.visit-grid article{background:var(--paper);padding:34px 28px;min-height:250px}.visit-icon{display:block;font-size:10px;letter-spacing:.16em;color:var(--gold);margin-bottom:50px}.visit-grid h3{font:600 23px var(--serif);margin:0 0 10px}.visit-grid p{font-size:13px;color:var(--muted);margin:0}.tour-dates{max-width:1180px;margin:22px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tour-dates div{padding:22px;border-right:1px solid var(--line)}.tour-dates div:last-child{border-right:0}.tour-dates strong,.tour-dates span{display:block}.tour-dates strong{font:600 20px var(--serif)}.tour-dates span{font-size:11px;color:var(--muted);margin-top:5px}.gallery{display:grid;grid-template-columns:1fr 2.2fr;gap:7vw;align-items:end;background:var(--cream)}.gallery-main{grid-column:2;grid-row:1;overflow:hidden}.gallery-main img{width:100%;height:520px;object-fit:cover;object-position:center;filter:saturate(.86)}.gallery-title{grid-column:1;grid-row:1;align-self:center}.gallery-note{grid-column:2;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.gallery-note span{font-weight:700;text-transform:uppercase;letter-spacing:.12em}.gallery-note p{max-width:480px;color:var(--muted);margin:0}.nearby{padding-top:105px;padding-bottom:105px}.compact{margin-bottom:55px}.nearby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}.nearby-grid a{position:relative;background:var(--forest);padding:35px;min-height:240px;transition:.25s}.nearby-grid a:hover{background:#2a4639}.nearby-grid span{color:#c9aa6d;font-size:10px;letter-spacing:.15em}.nearby-grid h3{font:600 28px var(--serif);margin:70px 0 5px}.nearby-grid p{font-size:12px;color:rgba(255,255,255,.55);margin:0}.nearby-grid b{position:absolute;right:30px;bottom:28px;color:#c9aa6d}.final-cta{text-align:center;background:var(--paper);padding-top:145px;padding-bottom:145px}.final-cta h2{color:var(--forest);font-size:clamp(52px,8vw,100px)}.final-cta .button{margin-top:15px}.footer{background:#171d19;color:#fff;padding:55px 8vw 25px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand strong,.footer-brand small{display:block}.footer-brand strong{font:600 22px var(--serif)}.footer-brand small{font-size:10px;color:rgba(255,255,255,.5);margin-top:3px}.footer-links{display:flex;flex-wrap:wrap;gap:25px;margin:40px 0;font-size:11px;color:rgba(255,255,255,.65)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.38)}@media(max-width:850px){.site-header{padding:16px 5vw}.menu-toggle{display:block}.site-nav{position:absolute;top:70px;left:4vw;right:4vw;display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(23,29,25,.98);padding:10px}.site-nav.open{display:flex}.site-nav a{padding:13px 12px}.hero-content{left:6vw;right:6vw}.hero h1{font-size:clamp(48px,13vw,80px)}.hero-copy{font-size:15px}.section{padding:85px 6vw}.intro,.gallery{display:block}.intro-label{margin-bottom:35px}.burns-card{display:block}.burns-copy{padding:55px 35px}.burns-stat{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding:35px}.visit-header{display:block}.visit-header .button{margin-top:25px}.visit-grid{grid-template-columns:1fr 1fr}.tour-dates{grid-template-columns:1fr}.tour-dates div{border-right:0;border-bottom:1px solid var(--line)}.tour-dates div:last-child{border-bottom:0}.gallery-main{margin-top:35px}.gallery-main img{height:340px}.gallery-note{margin-top:20px;display:block}.gallery-note p{margin-top:10px}.nearby-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}}@media(max-width:520px){.hero{min-height:650px}.hero-actions{flex-direction:column;align-items:flex-start}.button{width:100%}.visit-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:80px 1fr;gap:15px}.timeline-item.featured{margin:0 -12px;padding-left:12px;padding-right:12px}.timeline h3{font-size:20px}.timeline p{font-size:13px}.burns-copy h2{font-size:46px}.gallery-main img{height:260px}}

/* About & contact page */
.page-hero{min-height:72vh;display:flex;align-items:flex-end;background:linear-gradient(135deg,#17231d 0%,#294437 58%,#1b2a22 100%);color:#fff;position:relative;overflow:hidden}
.page-hero:after{content:'CLACKMANNAN';position:absolute;right:-4vw;bottom:-7vw;font:700 clamp(100px,19vw,280px)/.8 var(--serif);color:rgba(255,255,255,.035);letter-spacing:-.07em;white-space:nowrap}
.page-hero-inner{position:relative;z-index:1;max-width:900px;padding:170px 8vw 100px}
.page-hero h1{font:600 clamp(50px,7vw,92px)/.98 var(--serif);letter-spacing:-.045em;margin:0 0 28px}
.page-hero h1 em{font-style:italic;font-weight:500}
.page-hero-inner>p:last-child{max-width:650px;color:rgba(255,255,255,.74);font-size:17px}
.about-intro{display:grid;grid-template-columns:1fr 2.2fr;gap:7vw}
.about-copy{max-width:760px}
.about-copy h2,.contact h2{font:600 clamp(42px,5.5vw,72px)/1.02 var(--serif);letter-spacing:-.04em;margin:0 0 28px}
.about-copy p{color:#5c635d;max-width:760px}
.about-copy strong{color:var(--ink)}
.independence{padding-top:110px;padding-bottom:110px}
.independence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.15);max-width:1180px;margin:55px auto 0}
.independence-grid article{padding:38px 32px;min-height:285px;background:var(--forest)}
.independence-grid span{color:#c9aa6d;font-size:10px;letter-spacing:.16em}
.independence-grid h3{font:600 25px var(--serif);margin:65px 0 12px}
.independence-grid p{color:rgba(255,255,255,.65);font-size:13px;margin:0}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:var(--paper)}
.contact-heading>p:not(.kicker){max-width:530px;color:var(--muted)}
.email-link{display:inline-flex;gap:12px;margin-top:20px;border-bottom:1px solid var(--gold);padding-bottom:7px;font-weight:700;font-size:13px}
.contact-form{background:var(--cream);padding:42px;border:1px solid var(--line)}
.form-row{margin-bottom:24px}
.form-row label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-bottom:9px}
.form-row input,.form-row textarea{width:100%;border:1px solid rgba(29,33,29,.18);background:#fff;padding:14px 15px;font:400 14px var(--sans);color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.form-row input:focus,.form-row textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,149,84,.12)}
.form-row textarea{resize:vertical;min-height:150px}
.form-button{border:0;cursor:pointer;width:auto}
.form-note{font-size:10px;color:var(--muted);line-height:1.5;margin:15px 0 0}
.honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.site-nav .active{opacity:1;border-bottom:1px solid var(--gold);padding-bottom:4px}
.thank-page{min-height:100vh;background:var(--forest);display:grid;place-items:center;padding:30px;color:#fff}
.thank-you{max-width:620px;text-align:center;padding:60px 30px}
.thank-you .brand-mark{margin:0 auto 40px}
.thank-you h1{font:600 clamp(60px,9vw,100px)/1 var(--serif);margin:0 0 20px}
.thank-you>p:not(.kicker){color:rgba(255,255,255,.7);font-size:17px;max-width:500px;margin:0 auto 32px}

@media(max-width:850px){
  .page-hero-inner{padding:145px 6vw 80px}
  .about-intro,.contact{display:block}
  .about-intro .intro-label{margin-bottom:35px}
  .independence-grid{grid-template-columns:1fr}
  .contact-heading{margin-bottom:55px}
}
@media(max-width:520px){
  .page-hero{min-height:78vh}
  .page-hero h1{font-size:48px}
  .contact-form{padding:28px 20px}
  .form-button{width:100%}
}


.form-status{min-height:24px;margin:18px 0 4px;font-size:14px;font-weight:600}
.form-status.sending{opacity:.7}.form-status.success{color:#245c42}.form-status.error{color:#8a2d20}
.form-fallback{margin:10px 0 0;font-size:13px;color:var(--muted)}
.form-fallback a{color:inherit;font-weight:700}
.form-button:disabled{opacity:.55;cursor:wait}
