@import url("/assets/fonts.css");
:root{--ink:#0f2d4a;--navy:#0f2d4a;--saffron:#f7941d;--paper:#ffffff;--line:#e9e7e2;--muted:#566674;--white:#fff;--grey:#e9e7e2;--serif:'Playfair Display',Georgia,'Times New Roman',serif;--sans:'Montserrat',Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
img{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.12}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
h1{font-size:clamp(42px,5.8vw,82px);margin-bottom:25px}
h2{font-size:clamp(30px,3vw,43px);margin-bottom:20px}
h3{font-family:var(--serif);font-size:21px}
em{font-weight:400;color:#a95900}
input,select,textarea{width:100%;border:1px solid #c5c9cb;border-radius:5px;background:#fff;padding:12px 14px;color:var(--ink)}
textarea{resize:vertical}
label{display:block;font-size:14px;font-weight:600;margin-bottom:20px}
label input,label select,label textarea{display:block;margin-top:8px;font-weight:400}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a95900;outline-offset:4px}
.site-header{height:113px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line);gap:25px;background:var(--paper)}
.brand{font-family:var(--serif);font-size:44px;letter-spacing:-2px;line-height:1;display:inline-block}
.brand-flower{color:#f7941d;font-family:var(--sans);font-size:32px;vertical-align:top;margin-left:5px;display:inline-block;margin-top:5px}
.brand small{font-family:var(--sans);font-size:9px;letter-spacing:2px;display:block;margin-top:10px;font-weight:700}
.site-header nav{display:flex;gap:30px;font-size:14px}
.site-header nav a{padding:8px 0;border-bottom:1px solid transparent}
.site-header nav a:hover,.site-header nav [aria-current]{border-bottom-color:var(--ink)}
.header-cta{border:1px solid var(--ink);padding:11px 17px;font-size:14px;border-radius:3px}
.header-cta span{margin-left:20px}
.menu-toggle{display:none;border:0;background:none;font-size:24px}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:625px}
.hero-copy{padding:65px 7% 43px 11%}
.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:700;display:block;margin-bottom:22px}
.short-line{display:inline-block;width:30px;height:1px;background:var(--ink);vertical-align:middle;margin-right:12px}
.hero h1{font-size:clamp(50px,5.8vw,84px);line-height:1.02;margin:30px 0 27px}
.hero h1 em{color:var(--ink)}
.hero-copy p{font-size:16px;line-height:1.8;color:#566674}
.hero-image{position:relative;overflow:hidden;margin:26px 26px 26px 0;min-height:540px;border-radius:3px}
.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:42% center}
.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#0f2d4aad)}
.photo-label{position:absolute;z-index:1;bottom:32px;left:34px;color:white}
.photo-label>span{font-size:11px;letter-spacing:2px}
.photo-label strong{font-family:var(--serif);font-size:38px;font-weight:400;display:block;line-height:1.12;margin:15px 0}
.photo-label a{font-size:13px;border-bottom:1px solid #fff8;padding-bottom:4px}
.roundel{position:absolute;z-index:2;right:25px;top:25px;border-radius:50%;width:117px;height:117px;background:var(--saffron);text-align:center;font-size:9px;letter-spacing:1.2px;padding-top:18px;transform:rotate(10deg);line-height:1.7}
.roundel b{font-family:var(--serif);font-size:32px;line-height:1.2;font-style:italic;font-weight:400}
.search-box{display:flex;background:white;border:1px solid #c5c9cb;border-radius:4px;padding:6px;align-items:center;max-width:520px;margin:30px 0 16px}
.search-box>span{font-size:28px;margin-left:12px}
.search-box input{border:0;min-width:0;padding:12px;font-size:14px;background:transparent}
.search-box button{background:var(--navy);color:white;font-size:24px;border:0;width:48px;height:48px;flex-shrink:0;border-radius:2px}
.hero-foot{font-size:12px;color:var(--muted)}
.town-strip{background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center;padding:22px 5.5%;font-size:14px}
.town-strip>span:last-child{font-size:11px;letter-spacing:1.7px}
.town-strip i{color:var(--saffron);font-size:22px;margin:0 23px;font-style:normal;vertical-align:middle}
.section{padding:65px 5.5%}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}
.section-heading h2{margin-bottom:0}
.section-heading .eyebrow{margin-bottom:14px}
.under-link{font-size:14px;padding-bottom:5px;border-bottom:1px solid var(--ink);white-space:nowrap}
.category-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:4px}
.category-grid a{padding:24px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;border-right:1px solid var(--line)}
.category-grid a:last-child{border:0}
.category-grid a:hover{background:#f4f3f0}
.category-grid a>span:last-child{margin-left:auto}
.category-icon{font-size:26px;color:#a95900}
.favourites{padding-top:15px}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.store-card{background:white;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.store-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #0f2d4a0d}
.card-image{position:relative;height:230px;overflow:hidden}
.card-image img{width:100%;height:100%;object-fit:cover}
.town-crop img{object-position:20% center}
.store-card:nth-child(2) .town-crop img{object-position:65% center;transform:scale(1.5)}
.store-card:nth-child(3) .town-crop img{object-position:100% center;transform:scale(1.15)}
.badge{position:absolute;left:16px;top:16px;background:var(--paper);font-size:11px;letter-spacing:.3px;padding:5px 10px;border-radius:2px}
.image-caption{position:absolute;bottom:10px;right:12px;color:white;background:#0f2d4ab3;padding:2px 6px;font-size:9px;letter-spacing:1.4px}
.card-body{padding:24px}
.card-title{display:flex;justify-content:space-between;gap:10px}
.card-title h3{font-family:var(--serif);font-size:26px;font-weight:400;margin-bottom:14px}
.card-title>span{font-size:22px}
.card-body p{font-size:14px;color:var(--muted);min-height:45px}
.address{border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:var(--muted)}
.preview-note{font-size:12px;color:var(--muted);margin-top:22px;max-width:790px}
.visit-banner{margin:0 5.5% 65px;background:#e9e7e2;padding:50px 6%;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-radius:4px}
.visit-banner h2{font-size:50px;margin:0}
.visit-banner p{max-width:380px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--navy);border:1px solid var(--navy);color:#fff;border-radius:4px;padding:13px 22px;font-size:14px;font-weight:600}
.button:hover{background:#204765}
.button.light{background:var(--paper);color:var(--ink);border-color:transparent}
.button.outline{background:transparent;color:var(--ink)}
footer{padding:50px 5.5% 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:25px}
footer p{font-size:13px;color:var(--muted);margin-top:20px}
footer>div:nth-child(2){display:flex;gap:30px;align-items:center;font-size:14px}
.footer-bottom{width:100%;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.directory-main{padding:55px 5.5% 85px}
.directory-heading{text-align:center}
.directory-heading h1{font-size:64px}
.directory-heading p{color:var(--muted)}
.directory-heading .search-box{margin:25px auto 35px;width:100%;text-align:left}
.filter-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:35px}
.chip{border:1px solid var(--line);padding:9px 18px;border-radius:30px;font-size:14px}
.chip.selected,.chip:hover{background:var(--navy);color:white;border-color:var(--navy)}
.results-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0;font-size:14px}
.results-heading p{margin:0}
.results-heading>span{font-size:12px;color:var(--muted)}
.empty{padding:80px 6%;text-align:center}
.back-link{display:inline-block;font-size:14px;margin-bottom:30px}
.store-detail{padding:40px 5.5% 85px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:65px}
.detail-grid h1{font-size:66px}
.lead{font-size:21px;color:var(--muted);max-width:620px}
.detail-image{width:100%;height:390px;object-fit:cover;border-radius:4px;margin:30px 0 12px}
.muted{color:var(--muted);font-size:13px}
.prose{white-space:normal;max-width:700px;line-height:1.8}
.details-panel{background:#e9e7e2;border-radius:4px;padding:30px;height:fit-content;margin-top:30px}
.details-panel h2{font-size:32px}
.details-panel h3{font-size:14px;margin:28px 0 10px}
.details-panel .button{width:100%;margin-top:12px}
.dot{color:#f7941d}
.visit-page{padding:60px 5.5%}
.visit-photo{width:100%;height:400px;object-fit:cover;margin:35px 0}
.visit-columns{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:30px 0}
.visit-columns p{max-width:460px}
.admin-layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 113px)}
.admin-layout>aside{background:var(--navy);color:white;padding:35px 25px}
.admin-layout>aside .eyebrow{font-size:10px;color:#e9e7e2}
.admin-layout>aside h2{font-size:29px;margin-bottom:40px}
.side-link{display:block;padding:13px 0;font-size:14px;border-bottom:1px solid #ffffff22}
.text-button{background:none;color:inherit;border:0;font-size:14px;padding:30px 0}
.admin-main{padding:45px 4%;min-width:0}
.admin-main h1{font-size:48px}
.admin-main .section-heading p{margin:0;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}
.stats>div{border:1px solid var(--line);background:white;padding:22px;border-radius:4px}
.stats strong{font-family:var(--serif);font-size:37px;font-weight:400;display:block}
.stats span{font-size:13px;color:var(--muted)}
.admin-search{max-width:450px}
.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:4px}
table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}
th{font-size:12px;font-weight:400;color:var(--muted);background:#f4f3f0}
td,th{padding:19px 20px;border-bottom:1px solid var(--line)}
td small{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.admin-main td:last-child{white-space:nowrap}
.status{display:inline-block;padding:4px 10px;font-size:12px;border-radius:20px;background:#eee}
.status.published{background:#e7eee4;color:#35502f}
.status.draft{background:#f6ebd2;color:#76570b}
.status.archived{background:#e9e7e2}
.alert{padding:14px 20px;background:#e7eee4;border:1px solid #b7c5ac;margin-bottom:25px;border-radius:4px;font-size:14px}
.alert.error{background:#f9e7e7;border-color:#d4a7a7}
.editor{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px;align-items:start}
.form-section{background:white;border:1px solid var(--line);padding:25px;margin-bottom:25px;border-radius:4px}
.form-section h2{font-family:var(--sans);font-size:18px;letter-spacing:0;font-weight:600;margin-bottom:25px}
.form-section label:last-child{margin-bottom:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.checkbox{display:flex;align-items:center;gap:10px;font-weight:400}
.checkbox input{width:18px;height:18px;margin:0;accent-color:var(--navy)}
.editor-side .button{width:100%}
.editor-side .back-link{margin:20px 0 0}
.upload{padding:18px;border:1px dashed #85939d;text-align:center;background:var(--paper)}
.upload input{font-size:12px;padding:8px 0;border:0}
.upload-preview{width:100%;height:140px;object-fit:cover;margin-bottom:15px}
.login-panel{max-width:420px;margin:40px auto}
.login-panel .button{width:100%;margin-top:10px}
[hidden]{display:none!important}
@media(min-width:1600px){body>main,.site-header,.town-strip,footer{padding-left:max(5.5%,calc((100vw - 1500px)/2));padding-right:max(5.5%,calc((100vw - 1500px)/2))}
.hero-copy{padding-left:5.5%}
}
@media(max-width:1100px){.header-cta{display:none}
.hero-copy{padding-top:45px}
.hero{min-height:570px}
.hero-image{min-height:500px}
.hero h1{font-size:64px}
.category-grid a{padding:20px 12px}
.category-icon{width:100%}
.card-image{height:190px}
.admin-layout{grid-template-columns:200px 1fr}
.editor{grid-template-columns:1fr}
.editor-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.detail-grid{gap:30px;grid-template-columns:1fr 300px}
}
@media(max-width:760px){.site-header{height:88px;padding:0 6%}
.brand{font-size:36px}
.brand small{font-size:8px}
.site-header nav{display:none}
.menu-toggle{display:block}
.menu-open nav{display:flex;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:25px 6%;flex-direction:column;z-index:10;border-bottom:1px solid var(--line)}
.hero{grid-template-columns:1fr}
.hero-copy{padding:38px 6% 25px}
.hero h1{font-size:62px;line-height:1.03;margin-top:20px}
.hero-copy p br{display:none}
.hero-image{margin:0 6% 25px;height:340px;min-height:0}
.photo-label strong{font-size:30px}
.roundel{width:98px;height:98px;font-size:8px;right:15px;top:15px;padding-top:12px}
.roundel b{font-size:27px}
.town-strip{padding:20px 6%;justify-content:center;text-align:center}
.town-strip>span:first-child{display:none}
.town-strip i{margin:0 10px}
.section{padding:40px 6%}
.section-heading{align-items:start;flex-direction:column;gap:18px}
.section-heading h2{font-size:34px}
.category-grid{grid-template-columns:1fr 1fr}
.category-grid a{border-bottom:1px solid var(--line);padding:20px 15px}
.category-icon{width:auto;margin-right:6px}
.category-grid a:last-child{grid-column:1/-1}
.card-grid{grid-template-columns:1fr}
.card-image{height:250px}
.card-body p{min-height:0}
.visit-banner{margin:0 6% 40px;padding:30px;grid-template-columns:1fr;gap:25px}
.visit-banner h2{font-size:43px}
footer{padding:35px 6% 20px}
footer>div:nth-child(2){align-items:start;flex-direction:column;gap:10px}
.footer-bottom{gap:20px;font-size:11px}
.directory-main{padding:40px 6%}
.directory-heading h1{font-size:48px}
.filter-row{gap:8px}
.chip{font-size:12px;padding:8px 12px}
.results-heading{align-items:start;gap:15px}
.results-heading>span{max-width:140px;text-align:right}
.detail-grid{grid-template-columns:1fr;gap:15px}
.detail-grid h1{font-size:48px}
.detail-image{height:280px}
.details-panel{margin-top:0}
.visit-page h1{font-size:50px}
.visit-photo{height:280px}
.visit-columns{grid-template-columns:1fr;gap:35px}
.admin-layout{grid-template-columns:1fr}
.admin-layout>aside{padding:18px 6%;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.admin-layout>aside h2,.admin-layout>aside>.eyebrow{display:none}
.side-link{font-size:12px;border:0;padding:0}
.text-button{padding:0;font-size:12px}
.admin-main{padding:30px 6%}
.admin-main h1{font-size:39px}
.stats{gap:10px}
.stats>div{padding:15px}
.stats strong{font-size:30px}
.stats span{font-size:12px}
.form-grid,.editor-side{grid-template-columns:1fr}
.editor-side{gap:0}
.form-section{padding:20px}
.login-panel{margin:15px auto}
}


/* Brand accents: orange is decorative or paired with navy for readable contrast. */
.short-line{background:var(--saffron)}

.hero-copy{border-top:3px solid var(--saffron)}

.search-box button{background:var(--saffron);color:var(--navy)}

.search-box button:hover{background:#ffab43}

.brand{font-family:var(--serif)}

.form-section h2{font-family:var(--sans)}

@media(min-width:761px) and (max-width:1100px){.site-header nav{gap:20px}
.hero h1{font-size:58px}
}

@media(max-width:400px){.hero h1{font-size:52px}
.town-strip>span:last-child{font-size:10px;letter-spacing:1px}
}


/* Lookbook: handwritten notes layered over town photography. */
:root{--script:'Oooh Baby',cursive}
.handwritten{font-family:var(--script);font-weight:400;letter-spacing:0;line-height:1.08}
.hero-image:after{background:linear-gradient(180deg,#0f2d4a35 0%,#0f2d4a10 26%,#0f2d4ae6 100%)}
.photo-label{left:8%;right:8%;bottom:36px}
.photo-label>span{display:block;font-size:11px;letter-spacing:2.4px}
.photo-label strong.handwritten{font-family:var(--script);font-size:clamp(44px,4.5vw,70px);line-height:.98;letter-spacing:0;display:block;width:fit-content;max-width:100%;font-weight:400;margin:27px 0 34px;transform:rotate(-7deg);text-shadow:0 2px 15px #0f2d4a55;position:relative;padding-bottom:18px}
.photo-label strong.handwritten>span{display:inline-block;margin-left:24px}
.photo-label strong.handwritten:after,.lookbook-photo .handwritten:after{content:'';position:absolute;height:12px;bottom:-4px;right:0;width:70%;border-top:3px solid var(--saffron);border-radius:50%;transform:rotate(-4deg)}
.photo-label a{display:inline-block;font-size:14px;padding-bottom:5px}
.photo-est{position:absolute;right:27px;top:25px;z-index:2;text-align:right;color:var(--ink);background:#ffffffe8;padding:11px 14px;font-size:10px;letter-spacing:2px;line-height:1.9}
.visit-banner{padding:0;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;background:var(--grey)}
.lookbook-photo{position:relative;min-height:480px;align-self:stretch;isolation:isolate}
.lookbook-photo>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:38% center;filter:saturate(.65)}
.lookbook-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#f6f4efdc,#f6f4eff2);z-index:0}
.lookbook-photo .handwritten{position:relative;z-index:1;width:fit-content;max-width:85%;margin:72px auto 50px;padding:0 12px 20px;font-size:clamp(40px,4.3vw,64px);transform:rotate(-8deg);text-align:center;color:var(--navy)}
.lookbook-photo .handwritten span{display:inline-block;margin-top:14px}
.visit-banner-copy{padding:45px 12%;align-self:center}
.visit-banner-copy h2{font-size:44px;margin-bottom:25px}
.visit-banner-copy .button{margin-top:12px;background:var(--navy);color:#fff}
.visit-photo-frame{position:relative;margin:35px 0;isolation:isolate;overflow:hidden;border-radius:4px}
.visit-photo-frame .visit-photo{margin:0;height:460px}
.visit-photo-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0f2d4a08 20%,#0f2d4ade);z-index:0}
.visit-photo-frame .handwritten{position:absolute;right:5%;bottom:40px;color:#fff;font-size:clamp(42px,5vw,76px);margin:0;transform:rotate(-7deg);z-index:1;padding-bottom:20px}
.visit-photo-frame .handwritten:after{content:'';position:absolute;bottom:0;left:20%;width:75%;border-top:3px solid var(--saffron);transform:rotate(-5deg)}
@media(max-width:1100px) and (min-width:761px){.photo-label strong.handwritten{font-size:52px}.visit-banner-copy{padding:35px 9%}.visit-banner-copy h2{font-size:37px}.lookbook-photo .handwritten{font-size:48px}}
@media(max-width:760px){.hero-image{height:420px}.photo-label{bottom:28px}.photo-label strong.handwritten{font-size:56px;margin:22px 0 24px}.photo-est{top:16px;right:16px;font-size:9px;padding:8px 10px}.visit-banner{grid-template-columns:1fr;padding:0;gap:0}.lookbook-photo{min-height:390px}.lookbook-photo .handwritten{font-size:55px;margin:45px auto}.visit-banner-copy{padding:35px 28px}.visit-banner-copy h2{font-size:39px}.visit-photo-frame .visit-photo{height:360px}.visit-photo-frame .handwritten{font-size:49px;right:8%;bottom:35px}.visit-photo-frame:after{background:linear-gradient(180deg,#0f2d4a10,#0f2d4aeb)}}
@media(max-width:380px){.photo-label strong.handwritten{font-size:48px}.lookbook-photo .handwritten{font-size:47px}.visit-photo-frame .handwritten{font-size:42px}}
/* Saffron Walden heritage: a photographic, editorial chapter in the town guide. */
.heritage-page{background:#faf9f6}.heritage-page section[id]{scroll-margin-top:30px}.heritage-container{max-width:1320px;margin:auto;padding:85px 6%}.heritage-hero{height:690px;position:relative;background:var(--navy);color:white;isolation:isolate;overflow:hidden}.heritage-hero>img{position:absolute;width:58%;height:100%;right:0;object-fit:cover;object-position:center 35%;z-index:-2}.heritage-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0f2d4a 23%,#0f2d4aec 39%,#0f2d4a40 78%),linear-gradient(0deg,#0f2d4a7a,transparent 40%);z-index:-1}.heritage-hero-copy{padding:105px 6%;max-width:1040px}.heritage-hero .eyebrow{color:#f9b663}.heritage-hero h1{font-size:clamp(48px,5.5vw,80px);line-height:1.13;margin:32px 0}.heritage-hero h1 em{color:#fff;font-style:italic}.heritage-hero p{font-size:17px;line-height:1.9;color:#e9e7e2}.heritage-scroll{font-size:11px;letter-spacing:2px;display:inline-flex;align-items:center;gap:24px;margin-top:35px}.heritage-scroll span{border:1px solid #ffffff70;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-size:18px}.heritage-handwritten{position:absolute;right:7%;bottom:58px;transform:rotate(-9deg);font-size:54px;text-align:center;color:white}.heritage-handwritten:after{content:'';position:absolute;bottom:-16px;right:0;width:75%;height:14px;border-top:3px solid var(--saffron);border-radius:50%;transform:rotate(-6deg)}.heritage-image-label{position:absolute;right:25px;bottom:16px;font-size:9px;letter-spacing:2px}.heritage-chapters{display:flex;justify-content:center;gap:30px;padding:25px 4%;border-bottom:1px solid #d8d5ce;background:var(--grey);flex-wrap:wrap;font-size:12px}.heritage-chapters>span{letter-spacing:1.5px;font-weight:600}.heritage-chapters a:hover{text-decoration:underline;text-underline-offset:6px}.heritage-intro{text-align:center;max-width:1000px}.heritage-intro h2{font-size:48px;line-height:1.2}.heritage-intro h2 em{color:var(--navy)}.heritage-intro>div{max-width:760px;margin:30px auto 0;columns:2;column-gap:40px;text-align:left}.heritage-intro p{font-size:15px;line-height:1.95;color:var(--muted)}.drop-cap:first-letter{float:left;font-family:var(--serif);font-size:68px;line-height:.85;margin:9px 10px 0 0;color:var(--navy)}.heritage-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:20px;padding-bottom:100px;align-items:center}.heritage-figure{position:relative;margin:0}.heritage-figure img{width:100%;height:490px;object-fit:cover}.heritage-figure figcaption{font-size:11px;color:var(--muted);padding-top:13px}.figure-number{position:absolute;left:-15px;top:-45px;background:var(--saffron);font-family:var(--serif);font-size:48px;width:86px;height:86px;display:grid;place-items:center}.heritage-copy h2{font-size:49px;line-height:1.18}.heritage-copy p,.saffron-story-copy p,.audley-panel p{font-size:15px;line-height:1.95}.history-citations{display:grid;gap:8px;margin-top:25px}.history-citations a,.history-source{font-size:12px;line-height:1.8;text-decoration:underline;text-underline-offset:4px}.saffron-story{background:var(--navy);color:white;padding:85px 10%;display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.saffron-story .eyebrow{color:#ffc074;font-size:11px}.saffron-story h2{font-size:54px;line-height:1.2}.saffron-story h2 em{color:#ffc074}.saffron-story .handwritten{font-size:45px;transform:rotate(-7deg);margin:35px 0 0;color:#ffc074}.saffron-story-copy{padding-top:20px}.saffron-story-copy p{color:#e9e7e2}.botanical-label{font-size:12px;letter-spacing:4px;display:block;border-bottom:1px solid #ffffff40;padding-bottom:22px;margin-bottom:25px}.heritage-landmarks .section-heading>p{font-size:14px;color:var(--muted)}.heritage-landmark-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;margin-top:45px}.church-story{background:var(--grey)}.church-story>img{width:100%;height:390px;object-fit:cover;object-position:50% 38%}.church-story>div{padding:35px}.heritage-landmark-grid h3{font-size:32px;font-weight:400;line-height:1.2;margin-bottom:20px}.heritage-landmark-grid p{font-size:15px;line-height:1.85}.heritage-small-stories{display:flex;flex-direction:column;justify-content:center}.heritage-small-stories article{padding:35px 0;border-top:1px solid #d8d5ce}.heritage-small-stories article:last-child{border-bottom:1px solid #d8d5ce}.heritage-small-stories .eyebrow{font-size:11px}.audley-story{min-height:700px;position:relative;display:flex;align-items:center;padding:60px 6%;isolation:isolate;overflow:hidden;background:var(--navy)}.audley-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.audley-story:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0f2d4a20,#0f2d4a10 55%,#0f2d4a77)}.audley-panel{max-width:470px;background:#faf9f6f5;padding:42px}.audley-panel h2{font-size:41px;line-height:1.2}.audley-panel h2 em{color:var(--navy)}.audley-note{position:absolute;right:7%;bottom:65px;font-size:55px;transform:rotate(-8deg);color:white;text-shadow:0 2px 15px #0f2d4a}.heritage-timeline{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}.heritage-timeline>div>p{font-size:14px;color:var(--muted)}.heritage-timeline ol{list-style:none;margin:0;padding:0}.heritage-timeline li{position:relative;display:grid;grid-template-columns:120px 1fr;gap:25px;padding-bottom:38px}.heritage-timeline li:before{content:'';position:absolute;left:119px;top:8px;bottom:-8px;border-left:1px solid #d5cbc0}.heritage-timeline li:after{content:'';position:absolute;left:115px;top:8px;width:9px;height:9px;background:var(--saffron);border-radius:50%}.heritage-timeline li:last-child:before{display:none}.timeline-date{font-family:var(--serif);font-size:25px}.heritage-timeline li>div{padding-left:12px}.heritage-timeline h3{font-size:22px;font-weight:400;margin-bottom:12px}.heritage-timeline p{font-size:14px;color:var(--muted)}.heritage-timeline a{font-size:12px;text-decoration:underline;text-underline-offset:4px}.heritage-outro{padding:75px 6%;text-align:center;background:var(--grey);border-top:3px solid var(--saffron)}.heritage-outro h2{font-size:50px;line-height:1.5}.heritage-outro .handwritten{font-size:68px;display:inline-block;transform:rotate(-5deg)}.heritage-outro>div{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:30px}.heritage-sources{padding-top:45px;padding-bottom:45px;max-width:1000px}.heritage-sources h2{font-size:27px}.heritage-sources p,.heritage-sources li{font-size:12px;line-height:1.9;color:var(--muted)}.heritage-sources summary{cursor:pointer;font-size:14px;padding:15px 0;border-top:1px solid var(--line)}.heritage-sources a{text-decoration:underline;text-underline-offset:3px}.heritage-sources li{margin-bottom:8px}
@media(max-width:1250px){.site-header nav{gap:18px;font-size:13px}.header-cta{display:none}.heritage-handwritten{font-size:45px;right:4%}.heritage-split{gap:40px}.saffron-story{padding:70px 7%}.saffron-story h2{font-size:46px}}
@media(max-width:760px){.heritage-hero{height:750px}.heritage-hero>img{width:100%;object-position:50% 30%}.heritage-hero:after{background:linear-gradient(180deg,#0f2d4af0,#0f2d4aad 42%,#0f2d4a20 70%,#0f2d4a95)}.heritage-hero-copy{padding:50px 7%}.heritage-hero h1{font-size:47px;margin:28px 0}.heritage-hero p{font-size:15px}.heritage-scroll{margin-top:12px}.heritage-handwritten{right:12%;bottom:65px;font-size:44px}.heritage-image-label{font-size:8px}.heritage-chapters{gap:14px 22px;padding:22px 5%;font-size:11px}.heritage-chapters>span{width:100%;text-align:center}.heritage-container{padding:55px 7%}.heritage-intro h2{font-size:35px}.heritage-intro>div{columns:auto}.heritage-intro p{font-size:16px}.heritage-split{grid-template-columns:1fr;gap:35px;padding-top:30px}.heritage-figure img{height:340px}.figure-number{font-size:35px;width:65px;height:65px;top:-25px;left:-10px}.heritage-copy h2{font-size:42px}.saffron-story{grid-template-columns:1fr;padding:55px 7%;gap:25px}.saffron-story h2{font-size:41px}.saffron-story .handwritten{font-size:38px;margin-top:25px}.heritage-landmark-grid{grid-template-columns:1fr;gap:20px;margin-top:25px}.church-story>img{height:350px}.church-story>div{padding:25px}.heritage-landmark-grid h3{font-size:30px}.audley-story{padding:280px 7% 35px;min-height:0;display:block}.audley-story>img{height:340px;object-position:center top}.audley-story:after{background:linear-gradient(180deg,transparent 170px,var(--navy) 340px)}.audley-panel{padding:28px;max-width:none}.audley-panel h2{font-size:34px}.audley-note{position:relative;right:auto;bottom:auto;text-align:center;font-size:42px;margin:40px 0 10px}.heritage-timeline{grid-template-columns:1fr;gap:25px}.heritage-timeline li{grid-template-columns:90px 1fr;gap:15px}.heritage-timeline li:before{left:90px}.heritage-timeline li:after{left:86px}.timeline-date{font-size:20px}.heritage-timeline h3{font-size:23px}.heritage-outro{padding:50px 7%}.heritage-outro h2{font-size:34px}.heritage-outro .handwritten{font-size:49px}.heritage-outro>div{flex-direction:column;gap:20px}.heritage-sources{padding-top:35px;padding-bottom:35px}footer>div:nth-child(2){flex-wrap:wrap}}

/* Official supplied logo. Preserve its original proportions and clear space. */
.brand{display:block;flex-shrink:0;width:220px;line-height:0;letter-spacing:normal}
.brand img{display:block;width:100%;height:auto}
.site-header{height:148px;padding-top:9px;padding-bottom:9px;background:#fff}
footer{background:#fff}
footer .brand{width:245px}
.admin-layout{min-height:calc(100vh - 148px)}
@media(max-width:760px){.site-header{height:116px;padding-top:8px;padding-bottom:8px}.site-header .brand{width:174px}.menu-open nav{top:116px}.admin-layout{min-height:calc(100vh - 116px)}footer .brand{width:220px}}
/* Shared policy pages */
.legal-page{background:#faf9f6;padding-bottom:65px}.legal-heading{padding:60px 7% 45px;border-bottom:1px solid var(--line);background:var(--grey)}.legal-heading h1{font-size:clamp(38px,5vw,66px);margin-bottom:22px}.legal-heading>p{max-width:760px;color:var(--muted);font-size:16px}.legal-date{font-size:12px;display:block;margin-top:25px;letter-spacing:.5px}.legal-layout{max-width:1300px;margin:0 auto;padding:55px 6% 0;display:grid;grid-template-columns:235px minmax(0,1fr);gap:70px}.legal-layout>aside{align-self:start}.legal-layout aside nav{display:grid;border-top:1px solid var(--line)}.legal-layout aside nav a{font-size:14px;padding:15px 10px;border-bottom:1px solid var(--line)}.legal-layout aside nav [aria-current]{border-left:3px solid var(--saffron);background:white;font-weight:600}.legal-contact{margin-top:35px}.legal-contact .eyebrow{margin-bottom:10px}.legal-contact p{font-size:14px;margin-bottom:8px}.legal-contact a{font-size:13px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.legal-copy{max-width:790px;min-width:0}.legal-copy section{margin-bottom:36px}.legal-copy h2{font-size:29px;line-height:1.3;margin-bottom:18px}.legal-copy p,.legal-copy li{font-size:16px;line-height:1.9;color:#354b5f}.legal-copy li{margin-bottom:12px}.legal-copy ul{padding-left:24px}.legal-copy a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-copy table{width:100%;table-layout:fixed;min-width:0}.legal-copy td,.legal-copy th{font-size:14px;vertical-align:top;white-space:normal;overflow-wrap:anywhere;line-height:1.7}.legal-copy .table-wrap{margin-bottom:22px}.legal-endnote{border-top:2px solid var(--saffron);padding-top:22px;font-size:14px;line-height:1.9}.legal-footer-links{display:flex;gap:20px;flex-wrap:wrap}.legal-footer-links a:hover{text-decoration:underline}.admin-legal-links{font-size:13px;text-decoration:underline}.footer-bottom{flex-wrap:wrap;gap:15px}
@media(max-width:760px){.legal-heading{padding:40px 7% 30px}.legal-heading h1{font-size:39px}.legal-layout{grid-template-columns:1fr;gap:30px;padding:30px 7% 0}.legal-layout aside nav{grid-template-columns:repeat(3,1fr)}.legal-layout aside nav a{font-size:12px;padding:12px 8px}.legal-contact{display:none}.legal-copy h2{font-size:27px}.legal-copy p,.legal-copy li{font-size:15px}.legal-footer-links{gap:12px;font-size:12px}}

@media(max-width:760px){.legal-copy td,.legal-copy th{padding:12px 10px}}

.directory-listing-notice{margin-top:45px;padding:26px 30px;border-left:3px solid var(--saffron);background:#f4f3f0;max-width:900px}
.directory-listing-notice h2{font-size:25px;margin-bottom:14px}
.directory-listing-notice p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:12px}
.directory-listing-notice a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.listing-policy-link{font-size:13px}
@media(max-width:760px){.directory-listing-notice{padding:22px;margin-top:30px}}

/* Give business logos space to breathe without cropping their lettering. */
.card-image.logo-image {background:#fff}
.card-image.logo-image img {object-fit:contain;padding:28px 24px 48px}
.detail-image.logo-image {object-fit:contain;background:#fff;padding:32px;max-height:420px}
.image-credit {font-size:.75rem;color:var(--muted);margin-top:10px}
.image-credit a {text-underline-offset:3px}

/* Comfortable tablet layouts between the phone and desktop breakpoints. */
@media (min-width:761px) and (max-width:1000px){
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .favourites .store-card:last-child{grid-column:1/-1;max-width:calc(50% - 14px);width:100%;justify-self:center}
  .audley-note{position:relative;right:auto;bottom:auto;margin:35px 0 0;font-size:42px}
  .audley-story{display:block}
}
@media (min-width:761px) and (max-width:900px){
  .detail-grid,.legal-layout{grid-template-columns:1fr}
  .legal-layout aside nav{grid-template-columns:repeat(3,1fr)}
  .legal-contact{display:none}
}
@media(max-width:760px){
  input,select,textarea,.search-box input{font-size:16px}
  .menu-toggle{min-width:44px;min-height:44px}
}
