:root { --black:#11100f; --cream:#f3efe5; --white:#fffdf8; --gold:#b38a3b; --rose:#c96d67; --line:rgba(17,16,15,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--black); font-family:Arial, Helvetica, sans-serif; }
button, input { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
img { display:block; max-width:100%; }
.shell { width:min(1220px, calc(100% - 48px)); margin-inline:auto; }
.announcement { height:35px; display:flex; align-items:center; justify-content:center; gap:14px; background:var(--black); color:white; font-size:10px; font-weight:700; letter-spacing:.16em; }
.announcement span { color:var(--gold); }
.hero { min-height:860px; position:relative; overflow:hidden; background:#1c1815; color:white; }
.nav { height:98px; position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.24); }
.logo { display:flex; align-items:baseline; gap:7px; color:var(--gold); text-decoration:none; }
.logo span { font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.logo em { font-family:Georgia, serif; font-size:31px; font-weight:400; }
.nav-links { display:flex; align-items:center; gap:32px; }
.nav-links a { color:white; font-size:10px; font-weight:700; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.nav-links a:hover { color:var(--gold); }
.nav-links .nav-cta { border:1px solid rgba(255,255,255,.6); padding:12px 18px; }
.menu-button { display:none; }
.hero-collage { position:absolute; inset:-90px -40px; transform:rotate(-6deg) scale(1.08); display:grid; gap:12px; opacity:.72; }
.photo-strip { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; min-height:280px; }
.photo-strip img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) sepia(.2); border:9px solid #050505; }
.strip-two { transform:translateX(-5%); }
.strip-three { transform:translateX(4%); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.1) 35%,rgba(0,0,0,.7)); }
.hero-content { min-height:762px; position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding-top:70px; }
.kicker,.eyebrow { font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.kicker { color:#eee1c1; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:920px; margin:18px 0 22px; font-family:Georgia, "Times New Roman", serif; font-size:clamp(70px,8vw,122px); font-weight:400; line-height:.86; letter-spacing:-.045em; }
h1 em,h2 em { color:var(--gold); font-weight:400; }
.hero-content > p:not(.kicker) { max-width:590px; color:rgba(255,255,255,.8); font-size:16px; line-height:1.6; }
.button { min-width:205px; display:inline-flex; align-items:center; justify-content:space-between; gap:25px; padding:17px 20px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.button.light { margin-top:20px; background:white; color:var(--black); }
.button.dark { background:var(--black); color:white; }
.ticker { overflow:hidden; border-bottom:1px solid var(--line); background:var(--white); }
.ticker div { width:max-content; padding:17px 0; font-family:Georgia,serif; font-size:20px; white-space:nowrap; animation:ticker 30s linear infinite; }
.ticker i { margin:0 19px; color:var(--gold); }
@keyframes ticker { to { transform:translateX(-50%); } }
.intro { padding:130px 0 90px; display:grid; grid-template-columns:1.15fr .7fr; gap:100px; align-items:end; }
.eyebrow { margin-bottom:18px; color:var(--gold); }
h2 { margin-bottom:0; font-family:Georgia,serif; font-size:clamp(54px,6vw,88px); font-weight:400; line-height:.95; letter-spacing:-.04em; }
.intro-side > p,.section-head > p { color:#5f5b54; font-size:16px; line-height:1.75; }
.underlink { display:inline-flex; gap:60px; margin-top:16px; padding-bottom:5px; border-bottom:1px solid var(--black); font-size:11px; font-weight:800; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); padding-bottom:130px; }
.feature-grid article { min-height:250px; padding:28px; border:1px solid var(--line); border-right:0; }
.feature-grid article:last-child { border-right:1px solid var(--line); }
.feature-grid span { font-family:Georgia,serif; color:var(--gold); }
.feature-grid h3 { margin:80px 0 12px; font-family:Georgia,serif; font-size:27px; font-weight:400; }
.feature-grid p { color:#6d675f; font-size:13px; line-height:1.6; }
.gallery-section { padding:115px 0; background:var(--black); color:white; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:60px; margin-bottom:55px; }
.section-head > p { max-width:390px; margin-bottom:6px; }
.gallery-section .section-head > p { color:rgba(255,255,255,.58); }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:12px; }
.gallery-item { margin:0; position:relative; overflow:hidden; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery-item:hover img { transform:scale(1.03); }
.gallery-item figcaption { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; padding:45px 16px 14px; background:linear-gradient(transparent,rgba(0,0,0,.75)); font-size:9px; letter-spacing:.14em; }
.gallery-item figcaption b { font-family:Georgia,serif; font-size:15px; }
.item-1 { grid-column:1/7; height:540px; }
.item-2 { grid-column:7/13; height:540px; }
.item-3 { grid-column:1/5; height:380px; }
.item-4 { grid-column:5/9; height:380px; }
.item-5 { grid-column:9/13; height:380px; }
.item-6 { grid-column:1/13; height:540px; }
.process-section { padding:130px 0; background:var(--rose); color:#1a1210; }
.process-section .eyebrow { color:#4d211e; }
.process-section h2 em { color:#fff1db; }
.process-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.process-grid ol { list-style:none; margin:0; padding:0; border-top:1px solid rgba(17,16,15,.3); }
.process-grid li { display:grid; grid-template-columns:70px 1fr; gap:20px; padding:28px 0; border-bottom:1px solid rgba(17,16,15,.3); }
.process-grid li > span { font-family:Georgia,serif; font-size:18px; }
.process-grid h3 { margin-bottom:8px; font-family:Georgia,serif; font-size:26px; font-weight:400; }
.process-grid p { margin:0; font-size:13px; line-height:1.55; }
.packages-section { padding:130px 0; }
.packages-section .section-head > p { max-width:440px; }
.package-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.package-card { min-height:490px; padding:30px; border:1px solid var(--line); background:transparent; color:var(--black); text-align:left; cursor:pointer; display:flex; flex-direction:column; transition:.25s; }
.package-card:hover,.package-card.selected { background:var(--black); color:white; transform:translateY(-5px); }
.package-top { display:flex; justify-content:space-between; font-size:9px; font-weight:800; letter-spacing:.14em; }
.package-top b { padding:5px 8px; background:var(--gold); color:white; }
.package-card h3,.package-title { display:block; margin:82px 0 12px; font-family:Georgia,serif; font-size:48px; font-weight:400; }
.package-card > p,.package-description { display:block; max-width:420px; color:#716c64; line-height:1.6; }
.package-card.selected > p,.package-card:hover > p,.package-card.selected .package-description,.package-card:hover .package-description { color:rgba(255,255,255,.6); }
.package-card strong { margin:17px 0; font-family:Georgia,serif; font-size:44px; font-weight:400; }
.package-card strong small { font-family:Arial,sans-serif; font-size:8px; letter-spacing:.15em; }
.package-card ul,.package-features { margin:0 0 30px; padding:0; list-style:none; font-size:12px; line-height:2; }
.package-features,.package-features span { display:block; }
.select-label { margin-top:auto; padding-top:18px; border-top:1px solid currentColor; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.quote-section { padding:130px 0; background:var(--white); }
.quote-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.quote-copy > p { max-width:380px; margin-top:24px; color:#6d675f; line-height:1.65; }
.quote-package { margin-top:55px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; gap:6px; }
.quote-package span { font-size:9px; font-weight:800; letter-spacing:.14em; }
.quote-package b { font-family:Georgia,serif; font-size:24px; font-weight:400; }
.quote-package small { color:#6d675f; }
.upgrade-list { border-top:1px solid var(--line); }
.upgrade-list label { min-height:72px; display:grid; grid-template-columns:28px 1fr auto; gap:15px; align-items:center; border-bottom:1px solid var(--line); cursor:pointer; }
.upgrade-list input { position:absolute; opacity:0; }
.box { width:24px; height:24px; display:grid; place-items:center; border:1px solid var(--black); color:transparent; font-size:11px; }
.upgrade-list input:checked + .box { background:var(--black); color:white; }
.upgrade-list label > span:nth-of-type(2) { font-family:Georgia,serif; font-size:19px; }
.upgrade-list b { font-size:12px; }
.estimate { margin-top:28px; padding:26px; background:var(--cream); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.estimate div { display:grid; gap:6px; }
.estimate div span { font-size:8px; font-weight:800; letter-spacing:.14em; }
.estimate strong { font-family:Georgia,serif; font-size:44px; font-weight:400; }
.estimate .button { margin:0; }
.testimonial { padding:130px 0; background:var(--gold); text-align:center; }
.quote-mark { font-family:Georgia,serif; font-size:60px; }
.testimonial blockquote { max-width:960px; margin:0 auto 30px; font-family:Georgia,serif; font-size:clamp(34px,5vw,62px); line-height:1.08; }
.testimonial p { margin:0; font-size:9px; font-weight:800; letter-spacing:.16em; }
.faq-section { padding:130px 0; }
.faq-list { border-top:1px solid var(--line); }
.faq-list article { border-bottom:1px solid var(--line); }
.faq-list button { width:100%; min-height:96px; display:grid; grid-template-columns:60px 1fr auto; gap:20px; align-items:center; border:0; background:transparent; color:var(--black); text-align:left; cursor:pointer; }
.faq-list button span { font-family:Georgia,serif; color:var(--gold); }
.faq-list button b { font-family:Georgia,serif; font-size:25px; font-weight:400; }
.faq-list button i { font-size:22px; font-style:normal; }
.faq-list article > div { display:grid; grid-template-rows:0fr; transition:.3s ease; }
.faq-list article > div > p { overflow:hidden; max-width:680px; margin:0 0 0 80px; color:#666159; line-height:1.65; }
.faq-list article.open > div { grid-template-rows:1fr; }
.faq-list article.open > div > p { margin-bottom:28px; }
.final-cta { min-height:720px; position:relative; display:flex; align-items:center; color:white; overflow:hidden; }
.final-cta > img,.final-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.final-shade { background:rgba(0,0,0,.48); }
.final-cta .shell { position:relative; z-index:2; }
.final-cta h2 { font-size:clamp(72px,10vw,140px); }
.final-cta .button { margin-top:35px; }
footer { padding:80px 0 28px; background:var(--black); color:white; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr .7fr .7fr; gap:50px; }
.footer-logo { display:block; }
.footer-logo span,.footer-logo em { display:block; }
.footer-logo em { font-size:47px; }
.footer-grid > div { display:grid; align-content:start; gap:10px; }
.footer-grid > div > span { margin-bottom:10px; color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.14em; }
.footer-grid > div a,.footer-grid > div p { margin:0; color:rgba(255,255,255,.65); font-size:12px; line-height:1.7; text-decoration:none; }
.footer-bottom { margin-top:80px; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); display:flex; justify-content:space-between; color:rgba(255,255,255,.45); font-size:8px; letter-spacing:.14em; }

@media (max-width:900px) {
  .nav-links { gap:18px; }
  .intro,.process-grid,.quote-grid { grid-template-columns:1fr; gap:55px; }
  .intro { align-items:start; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-grid article { border-right:1px solid var(--line); border-bottom:0; }
  .feature-grid article:last-child { border-bottom:1px solid var(--line); }
  .feature-grid h3 { margin-top:40px; }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:2; }
}

@media (max-width:680px) {
  .shell { width:min(100% - 28px, 1220px); }
  .announcement { font-size:8px; }
  .hero { min-height:720px; }
  .nav { height:78px; }
  .logo em { font-size:25px; }
  .menu-button { width:42px; height:42px; display:grid; place-content:center; gap:6px; border:1px solid rgba(255,255,255,.5); background:transparent; }
  .menu-button span { width:19px; height:1px; background:white; }
  .nav-links { position:absolute; left:-14px; right:-14px; top:78px; display:none; padding:26px; background:var(--black); }
  .nav-links.open { display:grid; gap:25px; }
  .nav-links .nav-cta { text-align:center; }
  .hero-collage { inset:-20px -150px; grid-template-rows:repeat(3,210px); }
  .photo-strip { min-height:210px; }
  .hero-content { min-height:642px; padding-top:40px; }
  h1 { font-size:60px; }
  .hero-content > p:not(.kicker) { font-size:14px; }
  .intro,.gallery-section,.process-section,.packages-section,.quote-section,.testimonial,.faq-section { padding-top:82px; padding-bottom:82px; }
  h2 { font-size:49px; }
  .section-head { align-items:start; flex-direction:column; gap:22px; margin-bottom:35px; }
  .item-1,.item-2,.item-3,.item-4,.item-5,.item-6 { grid-column:1/13; height:360px; }
  .item-3,.item-4,.item-5 { grid-column:span 6; height:250px; }
  .package-grid { grid-template-columns:1fr; }
  .package-card { min-height:430px; }
  .package-card h3,.package-title { margin-top:60px; font-size:41px; }
  .estimate { align-items:stretch; flex-direction:column; }
  .estimate .button { width:100%; }
  .testimonial blockquote { font-size:34px; }
  .faq-list button { grid-template-columns:34px 1fr auto; gap:10px; }
  .faq-list button b { font-size:19px; }
  .faq-list article > div > p { margin-left:44px; font-size:13px; }
  .final-cta { min-height:620px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:45px 25px; }
  .footer-logo { grid-column:1/-1; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { gap:20px; }
}

/* Multi-page additions */
.nav-links a[aria-current="page"] { color:var(--gold); }
.package-card { text-decoration:none; }
.section-actions { display:flex; align-items:center; gap:18px; margin-top:34px; }
.section-actions.center-actions { justify-content:center; }
.button.outline { min-width:0; border:1px solid var(--black); color:var(--black); }
.button.gold { background:var(--gold); color:white; }
.home-gallery .gallery-grid { width:min(1220px, calc(100% - 48px)); margin-inline:auto; }
.home-gallery .item-1,.home-gallery .item-2 { height:500px; }
.home-gallery .item-3,.home-gallery .item-4 { grid-column:span 6; height:390px; }
.home-gallery .gallery-footer { margin-top:45px; display:flex; justify-content:center; }
.home-package-intro { padding:130px 0; }
.home-package-intro .package-card { cursor:pointer; }

.page-hero { min-height:680px; overflow:hidden; background:var(--black); color:white; }
.page-hero .nav { border-bottom-color:rgba(255,255,255,.2); }
.page-hero-inner { min-height:582px; display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:80px; padding:72px 0 95px; }
.page-hero-copy h1 { max-width:780px; font-size:clamp(62px,7vw,104px); }
.page-hero-copy > p:not(.kicker) { max-width:560px; color:rgba(255,255,255,.68); font-size:16px; line-height:1.7; }
.page-hero-media { height:475px; overflow:hidden; transform:rotate(2deg); border:10px solid #050505; box-shadow:0 35px 90px rgba(0,0,0,.35); }
.page-hero-media img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) sepia(.08); }
.page-lead { padding:130px 0 95px; display:grid; grid-template-columns:1fr .75fr; align-items:end; gap:100px; }
.page-lead > p { margin:0 0 6px; color:#625d55; font-size:17px; line-height:1.75; }

.split-story { display:grid; grid-template-columns:1fr 1fr; min-height:740px; background:var(--white); }
.story-media { min-height:620px; }
.story-media img { width:100%; height:100%; object-fit:cover; }
.story-copy { display:flex; flex-direction:column; justify-content:center; padding:90px max(48px, calc((100vw - 1220px)/2)); }
.story-copy h2 { font-size:clamp(48px,5vw,75px); }
.story-copy > p:not(.eyebrow) { max-width:520px; margin-top:28px; color:#676159; font-size:16px; line-height:1.75; }
.included-section { padding:130px 0; }
.included-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:60px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.included-grid article { min-height:235px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.included-grid span { color:var(--gold); font-family:Georgia,serif; }
.included-grid h3 { margin:62px 0 10px; font-family:Georgia,serif; font-size:25px; font-weight:400; }
.included-grid p { margin:0; color:#6d675f; font-size:13px; line-height:1.6; }

.gallery-page { padding:115px 0 135px; background:var(--black); color:white; }
.gallery-page .section-head > p { color:rgba(255,255,255,.55); }
.gallery-page-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:12px; }
.gallery-page-grid .gallery-item { height:390px; grid-column:span 4; }
.gallery-page-grid .gallery-item:nth-child(1),.gallery-page-grid .gallery-item:nth-child(6) { grid-column:span 8; height:570px; }
.gallery-page-grid .gallery-item:nth-child(2),.gallery-page-grid .gallery-item:nth-child(5) { grid-column:span 4; height:570px; }
.gallery-page-grid .gallery-item:nth-child(9) { grid-column:span 8; }
.gallery-open { width:100%; height:100%; display:block; padding:0; border:0; background:transparent; color:white; cursor:zoom-in; text-align:left; }
.gallery-open img { width:100%; height:100%; object-fit:cover; }
.gallery-open:focus-visible { outline:3px solid var(--gold); outline-offset:-3px; }
.lightbox { width:min(1120px, calc(100% - 32px)); max-width:none; padding:0; border:0; background:transparent; color:white; overflow:visible; }
.lightbox::backdrop { background:rgba(0,0,0,.9); backdrop-filter:blur(4px); }
.lightbox img { width:100%; max-height:80vh; object-fit:contain; }
.lightbox p { margin:12px 0 0; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.lightbox-close { width:44px; height:44px; position:absolute; top:-54px; right:0; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:transparent; color:white; font-size:25px; cursor:pointer; }

.comparison-section { padding:0 0 130px; }
.comparison-wrap { overflow-x:auto; }
.comparison-table { width:100%; border-collapse:collapse; min-width:680px; }
.comparison-table th,.comparison-table td { padding:22px; border-bottom:1px solid var(--line); text-align:left; }
.comparison-table thead th { color:var(--gold); font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.comparison-table thead th:not(:first-child) { font-family:Georgia,serif; font-size:22px; font-weight:400; letter-spacing:0; text-transform:none; }
.comparison-table tbody th { font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.comparison-table td { color:#625d55; font-size:14px; }
.package-note { margin-top:16px; color:#6d675f; font-size:12px; line-height:1.6; }

.contact-section { padding:130px 0; }
.contact-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:110px; }
.contact-intro h2 { font-size:clamp(52px,5vw,78px); }
.contact-intro > p:not(.eyebrow) { margin:26px 0 44px; color:#665f57; line-height:1.7; }
.contact-details { display:grid; gap:25px; padding-top:30px; border-top:1px solid var(--line); }
.contact-details div { display:grid; gap:7px; }
.contact-details span { color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.contact-details a,.contact-details p { margin:0; font-family:Georgia,serif; font-size:20px; line-height:1.4; text-decoration:none; }
.contact-form { padding:42px; background:var(--white); border:1px solid var(--line); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px 18px; }
.field { display:grid; gap:9px; }
.field.full { grid-column:1/-1; }
.field label { font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.field input,.field select,.field textarea { width:100%; padding:15px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:0; background:transparent; color:var(--black); font:15px Arial,Helvetica,sans-serif; }
.field textarea { min-height:120px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--gold); }
.form-actions { margin-top:30px; display:flex; align-items:center; gap:24px; }
.form-actions .button { border:0; cursor:pointer; }
.form-note,#form-status { color:#6c665e; font-size:11px; line-height:1.5; }
#form-status { min-height:18px; margin:16px 0 0; color:#7c5a1c; }
.contact-aside { padding:85px 0; background:var(--rose); text-align:center; }
.contact-aside h2 { max-width:830px; margin-inline:auto; }
.direct-email { display:inline-block; max-width:100%; margin-top:15px; color:#a67c24; font-family:Georgia,serif; font-size:clamp(26px,4.5vw,62px); font-style:italic; line-height:1.05; overflow-wrap:anywhere; text-decoration:none; }

.mobile-inquiry { display:none; }

@media (max-width:900px) {
  .page-hero-inner,.page-lead,.contact-grid { grid-template-columns:1fr; gap:55px; }
  .page-hero-media { height:400px; }
  .page-lead { align-items:start; }
  .split-story { grid-template-columns:1fr; }
  .story-media { min-height:520px; }
  .story-copy { padding:90px 48px; }
  .included-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-page-grid .gallery-item,.gallery-page-grid .gallery-item:nth-child(n) { grid-column:span 6; height:410px; }
}

@media (max-width:680px) {
  body { padding-bottom:62px; }
  .section-actions { align-items:stretch; flex-direction:column; }
  .section-actions .button { width:100%; }
  .home-gallery .gallery-grid { width:min(100% - 28px, 1220px); }
  .home-gallery .item-1,.home-gallery .item-2,.home-gallery .item-3,.home-gallery .item-4 { grid-column:1/13; height:350px; }
  .home-package-intro { padding:82px 0; }
  .page-hero { min-height:0; }
  .page-hero-inner { min-height:0; padding:68px 0 78px; }
  .page-hero-copy h1 { font-size:57px; }
  .page-hero-media { height:335px; margin-top:5px; }
  .page-lead,.included-section,.gallery-page,.contact-section { padding-top:82px; padding-bottom:82px; }
  .page-lead { gap:30px; }
  .split-story { min-height:0; }
  .story-media { min-height:400px; }
  .story-copy { padding:75px 22px; }
  .included-grid { grid-template-columns:1fr; margin-top:38px; }
  .included-grid article { min-height:205px; }
  .included-grid h3 { margin-top:45px; }
  .gallery-page-grid .gallery-item,.gallery-page-grid .gallery-item:nth-child(n) { grid-column:1/-1; height:360px; }
  .lightbox { width:calc(100% - 20px); }
  .comparison-section { padding-bottom:82px; }
  .contact-grid { gap:55px; }
  .contact-form { padding:28px 20px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .form-actions { align-items:stretch; flex-direction:column; }
  .form-actions .button { width:100%; }
  .contact-aside { padding:75px 0; }
  .direct-email { font-size:clamp(17px,5.2vw,22px); white-space:nowrap; }
  .mobile-inquiry { height:62px; position:fixed; z-index:40; inset:auto 0 0; display:flex; align-items:center; justify-content:center; background:var(--gold); color:white; font-size:10px; font-weight:800; letter-spacing:.13em; text-decoration:none; text-transform:uppercase; box-shadow:0 -8px 25px rgba(0,0,0,.13); }
}

@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.ticker div{animation:none}*{transition:none!important} }
