
:root {
  --black:#0a0a09;
  --ink:#161514;
  --cream:#f7f4ee;
  --paper:#fffdf9;
  --red:#a01918;
  --grey:#6c6863;
  --line:#d9d3ca;
  --max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.wrap{width:min(calc(100% - 46px),var(--max));margin:auto}

.hero{position:relative;min-height:88vh;background:#0b0b0a;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{object-position:center center;filter:saturate(.95) contrast(1.03)}
.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 28%,rgba(0,0,0,.08) 67%,rgba(0,0,0,.14) 100%)}
.nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:25px 0}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:27px;letter-spacing:.12em;line-height:.9}
.brand small{display:block;text-align:center;font:700 10px Arial,sans-serif;letter-spacing:.16em;margin-top:7px}
.links{display:flex;gap:28px;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.links a:hover{color:#e1a4a1}
.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-height:calc(88vh - 90px);max-width:590px;padding:50px 0 70px}
.kicker{font-size:10px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;margin-bottom:24px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(56px,6.9vw,96px);line-height:.96;letter-spacing:-.045em;margin:0 0 26px}
.hero h1 em{font-weight:400}
.hero-sub{max-width:410px;font-size:12px;line-height:1.55;letter-spacing:.09em;text-transform:uppercase;font-weight:700}
.red-rule{width:30px;height:2px;background:var(--red);margin:24px 0}

.thumbstrip{display:grid;grid-template-columns:repeat(4,1fr);height:235px;background:#111;gap:2px}
.thumbstrip div{overflow:hidden}

.categories{display:grid;grid-template-columns:1.08fr .92fr 1.08fr;background:#111;color:#fff}
.cat{position:relative;min-height:430px;overflow:hidden}
.cat img{position:absolute;inset:0;filter:brightness(.68)}
.cat:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.12))}
.cat-content{position:absolute;z-index:2;left:36px;right:36px;bottom:42px}
.cat h2{font:400 35px/1 Georgia,"Times New Roman",serif;margin:0}
.cat p{max-width:250px;line-height:1.55;font:15px Georgia,"Times New Roman",serif;color:#efebe5}
.cat a{font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:800}

.cat.portrait{background:#151515}
.cat.portrait img{filter:brightness(.58) saturate(.75)}
.cat.event img{filter:brightness(.64) saturate(1.3)}

.about{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}
.about-copy{padding:86px 8vw 80px max(46px,calc((100vw - var(--max))/2 + 23px))}
.section-tag{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--red);font-weight:800}
.about h2,.section-title{font:400 clamp(42px,4.8vw,67px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:16px 0 28px}
.about p{max-width:550px;color:#4f4b47;font-size:15px;line-height:1.72}
.about-photo{min-height:520px;overflow:hidden}
.about-photo img{filter:grayscale(1) contrast(1.05)}

.pricing-wrap{display:grid;grid-template-columns:280px 1fr 310px;background:var(--cream);border-top:1px solid var(--line)}
.price-photo{min-height:365px}
.price-photo img{object-position:center}
.price-main{padding:48px 38px}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.price h3{font:400 25px Georgia,"Times New Roman",serif;margin:8px 0 8px}
.price-label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:800}
.price p{font-size:13px;line-height:1.6;color:#57534e;margin:0}
.price-note{margin-top:40px;max-width:660px;font-size:13px;line-height:1.65;color:#55514c}
.contact-box{background:var(--black);color:#fff;padding:55px 48px;display:flex;flex-direction:column;justify-content:center}
.contact-box h2{font:400 39px/1.06 Georgia,"Times New Roman",serif;margin:0 0 25px}
.contact-box a{border:1px solid var(--red);padding:15px 18px;text-align:center;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}

.footer{background:#050505;color:#9f9a94;padding:28px 0;font-size:11px}
.footer-inner{display:flex;justify-content:space-between;gap:30px}
.footer strong{color:#fff;letter-spacing:.08em}

@media(max-width:900px){
  .links a:not(:last-child){display:none}
  .hero{min-height:78vh}
  .hero-copy{min-height:calc(78vh - 80px)}
  .thumbstrip{grid-template-columns:1fr 1fr;height:auto}
  .thumbstrip div{height:220px}
  .categories{grid-template-columns:1fr}
  .cat{min-height:430px}
  .about{grid-template-columns:1fr}
  .about-copy{padding:65px 34px}
  .about-photo{min-height:460px}
  .pricing-wrap{grid-template-columns:1fr}
  .price-photo{min-height:340px}
  .price-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:560px){
  .wrap{width:min(calc(100% - 28px),var(--max))}
  .nav{padding:20px 0}
  .brand{font-size:22px}
  .links{gap:0}
  .hero{min-height:83vh}
  .hero-bg img{object-position:60% center}
  .hero-bg:after{background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.48) 55%,rgba(0,0,0,.18))}
  .hero-copy{min-height:calc(83vh - 70px);padding:38px 0 45px;max-width:88%}
  .hero h1{font-size:clamp(46px,14vw,66px)}
  .hero-sub{font-size:10px;max-width:280px}
  .thumbstrip{grid-template-columns:1fr 1fr}
  .thumbstrip div{height:170px}
  .cat{min-height:390px}
  .cat-content{left:26px;right:26px;bottom:30px}
  .cat h2{font-size:31px}
  .about-copy{padding:56px 22px}
  .about-photo{min-height:410px}
  .price-main{padding:40px 22px}
  .price-grid{grid-template-columns:1fr}
  .contact-box{padding:50px 28px}
  .footer-inner{flex-direction:column;gap:10px}
}

/* Multi-page additions */
.page-hero{background:var(--black);color:#fff;padding:0 0 72px;position:relative;overflow:hidden}
.page-hero .nav{padding-bottom:55px}.page-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:70px;align-items:end}
.page-hero h1{font:400 clamp(48px,6vw,82px)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:12px 0 24px}
.page-hero p{font:16px/1.7 Georgia,"Times New Roman",serif;color:#ddd7cf;max-width:620px}.page-hero-img{height:480px;overflow:hidden}
.content{padding:80px 0}.content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:80px}.prose{max-width:760px}.prose h2{font:400 42px/1.05 Georgia,"Times New Roman",serif;letter-spacing:-.03em;margin:0 0 22px}.prose h3{font:400 27px/1.15 Georgia,"Times New Roman",serif;margin:42px 0 14px}.prose p,.prose li{font-size:15px;line-height:1.78;color:#504c47}.prose ul{padding-left:20px}.side-card{background:var(--cream);padding:34px;position:sticky;top:20px;height:max-content}.side-card h3{font:400 29px Georgia,"Times New Roman",serif;margin:0 0 18px}.side-card p{font-size:13px;line-height:1.65;color:#55514c}.button{display:inline-block;background:var(--black);color:#fff;padding:15px 20px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--black)}.button.outline{background:transparent;color:var(--ink);border-color:var(--red)}
.split-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.split-feature .media{min-height:520px}.split-feature .copy{padding:72px max(34px,7vw)}.split-feature h2{font:400 clamp(40px,4.5vw,62px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:14px 0 25px}.split-feature p{font-size:15px;line-height:1.75;color:#504c47}
.faq{border-top:1px solid var(--line);padding:70px 0}.faq h2{font:400 44px Georgia,"Times New Roman",serif;margin:0 0 28px}.faq-item{border-top:1px solid var(--line);padding:22px 0}.faq-item h3{font:400 22px Georgia,"Times New Roman",serif;margin:0 0 8px}.faq-item p{margin:0;max-width:780px;font-size:14px;line-height:1.7;color:#55514c}
.contact-section{padding:80px 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-copy h1,.contact-copy h2{font:400 clamp(46px,5vw,70px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:12px 0 25px}.contact-copy p{font-size:15px;line-height:1.75;color:#55514c}.contact-form{background:var(--cream);padding:42px}.field{margin-bottom:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:8px}.field input,.field textarea,.field select{width:100%;border:1px solid #cfc8be;background:#fff;padding:14px;font:15px Arial,sans-serif;color:var(--ink);border-radius:0}.field textarea{min-height:180px;resize:vertical}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-note{font-size:12px;line-height:1.6;color:#6a655f}.status{padding:16px 18px;margin-bottom:24px;border:1px solid}.status.success{background:#edf5ed;border-color:#a8c5aa}.status.error{background:#fff0ef;border-color:#d6a6a2}.errors{margin:0;padding-left:20px}.errors li{margin:4px 0}.site-nav-dark{background:var(--black);color:#fff}.breadcrumbs{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#777;padding:18px 0;border-bottom:1px solid var(--line)}.breadcrumbs a{color:#555}.legal{max-width:850px;padding:70px 0}.legal h1{font:400 54px Georgia,"Times New Roman",serif}.legal h2{font:400 30px Georgia,"Times New Roman",serif;margin-top:40px}.legal p,.legal li{font-size:14px;line-height:1.75;color:#504c47}
@media(max-width:900px){.page-hero-grid,.content-grid,.split-feature,.contact-grid{grid-template-columns:1fr}.page-hero-img{height:400px}.content-grid{gap:35px}.side-card{position:static}.split-feature .media{min-height:420px}.contact-grid{gap:35px}}
@media(max-width:560px){.page-hero{padding-bottom:45px}.page-hero .nav{padding-bottom:35px}.page-hero-grid{gap:30px}.page-hero-img{height:310px}.content,.contact-section{padding:55px 0}.contact-form{padding:28px 20px}.field-row{grid-template-columns:1fr}.faq{padding:50px 0}}
