/* BornaPix V2 — editorial typography, ivory, forest green and copper. */
.story .story-photo { height:auto; aspect-ratio:1122 / 1402; }
:root { --serif:'DM Serif Display',Georgia,serif; --accent-ink:#925b3e; }
::selection { background:#d0a080; color:#242923; }
html { scroll-padding-top:95px; }
body { overflow-x:clip; }
.container { width:min(1400px,calc(100% - 112px)); }
.site-header { background:rgba(247,243,235,.96); backdrop-filter:blur(14px); border-bottom:1px solid #26372e12; }
.header-inner { min-height:88px; display:flex; align-items:center; gap:40px; }
.brand { display:inline-flex; flex:none; }
.brand-name { font:400 45px/1 var(--serif); letter-spacing:-2px; }
.brand-dot { color:var(--copper); }
.site-header .brand-name .brand-borna,.area-hub-header .brand-name .brand-borna { color:#26372e; }
.site-header .brand-name .brand-pix,.area-hub-header .brand-name .brand-pix { color:#a98562; }
.site-header .brand-name .brand-dot,.area-hub-header .brand-name .brand-dot { color:#171a17; }
.footer-brand { background:#f7f3eb; padding:10px 14px 13px; }
.footer-main .footer-brand .brand-borna { color:#26372e; }
.footer-main .footer-brand .brand-pix { color:#a98562; }
.footer-main .footer-brand .brand-dot { color:#171a17; }
.main-nav { display:flex; align-items:center; gap:28px; margin-left:auto; }
.main-nav a { font-size:12px; font-weight:500; position:relative; padding:10px 0; }
.main-nav a:after { content:''; position:absolute; bottom:3px; left:0; width:0; height:1px; background:var(--copper); transition:width .2s; }
.main-nav a:hover:after { width:100%; }
.header-cta { background:var(--dark); color:var(--paper); border:1px solid var(--copper); border-radius:40px; font-size:12px; padding:15px 23px; white-space:nowrap; }
.header-cta span { margin-left:16px; }
.header-cta:hover { background:#3c5043; }
.button { border-radius:40px; min-height:56px; padding:0 27px; font-weight:500; }
.button span { font-size:22px; font-weight:400; }
.button:hover { transform:translateY(-2px); }
.eyebrow { font-size:10px; letter-spacing:.22em; color:var(--accent-ink); line-height:1.7; }
h2 { font-size:clamp(45px,4.7vw,72px); line-height:1.07; letter-spacing:-.045em; }
.section { padding:115px 0; }
.hero-v2 { position:relative; aspect-ratio:1.6; min-height:640px; max-height:1000px; isolation:isolate; background:#26372e; }
.hero-v2 .hero-art { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-v2:after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#13251c38,transparent 60%); pointer-events:none; }
.hero-v2 .hero-layout { display:flex; align-items:center; height:100%; min-height:inherit; }
.hero-v2 .hero-copy { display:block; width:58%; padding:65px 0 110px; }
.hero-v2 .eyebrow { color:var(--paper); font-size:10px; letter-spacing:.23em; display:block; }
.hero-v2 .eyebrow span { padding:0 10px; }
.hero-v2 h1 { font-size:clamp(62px,7.3vw,116px); line-height:.99; letter-spacing:-.045em; margin:35px 0 25px; }
.hero-v2 h1 em { color:#df9b73; }
.hero-v2 .hero-intro { font-size:clamp(16px,1.5vw,21px); line-height:1.65; color:var(--paper); max-width:490px; }
.hero-v2 .hero-actions { margin-top:31px; }
.hero-price { border-left:1px solid #dc9c75; margin-top:40px; padding-left:18px; display:grid; gap:5px; }
.hero-price>span { font-size:17px; }
.hero-price strong { font-weight:500; }
.hero-price small { font-size:12px; color:#e0e5de; }
.hero-discover { position:absolute; left:56px; bottom:25px; font-size:9px; letter-spacing:.18em; display:flex; gap:25px; align-items:center; color:#fffdf9; text-shadow:0 1px 8px #26372e; }
.hero-discover span { font-size:21px; }
.benefit-bar { background:var(--paper); border-bottom:1px solid var(--line); }
.benefit-inner { min-height:96px; justify-content:center; gap:40px; font:400 clamp(12px,1.4vw,19px) var(--serif); letter-spacing:.19em; }
.benefit-inner i { color:var(--copper); font-size:29px; }
.story-grid { grid-template-columns:1fr 1fr; gap:7%; }
.story-photo { height:650px; }
.story-photo:after { display:none; }
.story-photo img { object-position:center; }
.photo-label { left:20px; bottom:20px; font:400 11px var(--sans); padding:12px 15px; letter-spacing:.04em; }
.story-copy h2 { margin-top:18px; }
.lead { font-size:16px; line-height:1.8; }
.story-points { margin-top:28px; }
.story-points>div { padding:18px 0; }
.story-points h3 { font-size:14px; font-weight:500; }
.story-points p { font-size:12px; }
.story-copy h2 em,.occasions-heading h2 em,.cabin-copy h2 em,.experiences h2 em,.process h2 em,.quote h2 em { color:var(--accent-ink); }
.occasions { background:var(--paper); padding-top:10px; }
.occasions-heading { gap:60px; margin-bottom:44px; }
.occasions-heading h2 { font-size:clamp(40px,4vw,62px); }
.occasions-heading>p { font-size:14px; max-width:340px; }
.occasion-grid { gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.occasion-card { background:transparent; color:var(--ink); min-height:425px; padding:40px 60px 35px 0; }
.occasion-card:before { display:none; }
.occasion-business { border-left:1px solid var(--line); padding-left:60px; padding-right:0; }
.occasion-top { color:var(--accent-ink); font-size:10px; letter-spacing:.17em; }
.occasion-top span:last-child,.occasion-business .occasion-top span:last-child { color:var(--copper); }
.occasion-card h3 { font-size:49px; margin:35px 0 20px; }
.occasion-card p { font-size:14px; max-width:530px; }
.occasion-card li { font-size:12px; font-weight:500; }
.occasion-card li:before,.occasion-business li:before { color:var(--accent-ink); }
.occasion-card a { border-color:var(--line); padding-top:22px; font-weight:500; }
.occasion-business a:hover { color:var(--accent-ink); }
.plans { background:var(--dark); color:var(--paper); }
.plans .eyebrow { color:var(--copper-light); }
.section-heading { margin-bottom:60px; }
.section-heading h2 em { color:#d7a07e; }
.section-heading>p { color:#c8d0c8; font-size:14px; }
.plan-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.plan,.plan-featured { background:transparent; color:var(--paper); border:0; transform:none; min-height:485px; padding:0 26px; }
.plan:first-child { padding-left:0; }
.plan:last-child { padding-right:0; }
.plan+.plan { border-left:1px solid #68796a; }
.plan-heading,.plan-featured .plan-heading { color:#d2ae91; font-size:9px; letter-spacing:.1em; }
.plan h3 { font-size:clamp(27px,2.5vw,37px); min-height:82px; margin-top:25px; }
.plan-subtitle,.plan-featured .plan-subtitle { color:#cbd2c9; font-size:12px; min-height:40px; }
.plan-price { font-size:52px; color:#dda07b; }
.plan-prints,.plan-featured .plan-prints { color:#e1c7b3; font-size:12px; margin-top:8px; }
.plan ul,.plan-featured ul { border-color:#607062; margin-top:9px; }
.plan li { font-size:12px; color:#e5e7df; }
.plan li:before,.plan-featured li:before { color:#d0a080; }
.plan-link,.plan-featured .plan-link { border-color:#607062; font-size:12px; font-weight:500; min-height:48px; }
.plan-link:hover,.plan-featured .plan-link:hover { color:#e3b491; }
.plans-note { color:#c4cec4; margin-top:35px; font-size:11px; }
.cabin { background:var(--cream); }
.cabin-grid { gap:8%; }
.cabin-visual { min-height:610px; }
.cabin-copy .button { margin-top:3px; }
.cabin-facts { margin-top:30px; }
.cabin-facts strong { font-weight:500; }
.experiences { background:var(--paper); }
.experiences-heading>p { font-size:14px; }
.experience-grid { gap:0; background:transparent; border:0; }
.experience-grid article { background:transparent; min-height:258px; padding:32px 32px 32px 0; border-top:1px solid var(--line); }
.experience-grid article:nth-child(3n+2),.experience-grid article:nth-child(3n+3) { padding-left:32px; border-left:1px solid var(--line); }
.experience-grid h3 { font-size:29px; }
.experience-index,.experience-tag { color:var(--accent-ink); }
.experience-tag { line-height:1.7; font-size:11px; }
.experiences-note { border-top:1px solid var(--line); padding-top:24px; margin-top:0; font-size:11px; }
.process { background:var(--cream); }
.process-heading { text-align:left; }
.process-grid>div { padding:36px 40px; }
.process-grid>div:first-child { padding-left:0; }
.process-num { font-size:42px; }
.process h3 { margin-top:25px; }
.quote { background:var(--paper); }
.quote-grid { grid-template-columns:.8fr 1.2fr; gap:7%; }
.quote-aside { top:125px; }
.quote-aside h2 { font-size:clamp(40px,4.2vw,64px); }
.quote-aside-card { background:var(--cream); border:0; padding:28px; }
.quote-form { background:var(--white); border:1px solid var(--line); padding:38px; box-shadow:0 20px 70px #26372e08; }
.quote-form legend { font-size:16px; font-weight:500; }
.quote-packages { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.quote-packages label>span { min-height:105px; padding:15px; background:var(--paper); }
.quote-packages input:checked+span { background:#e9eee7; border-color:var(--dark); padding:14px; }
.quote-packages strong { font-size:13px; font-weight:500; }
.quote-packages b { font:400 24px var(--serif); padding-top:8px; }
.quote-options label { min-height:54px; padding:12px 0; }
.quote-options span { font-size:13px; font-weight:500; }
.quote-options b { font-weight:500; }
.quote-options input { accent-color:var(--dark); }
.quote-options label.is-included b { color:#3b6148; }
.quote-options label.is-disabled { opacity:.6; }
.form-fields input,.form-fields select { min-width:0; height:48px; border-color:var(--line); font-size:14px; border-radius:3px; }
.form-fields label { font-weight:500; }
.quote-total strong { font-size:46px; }
.quote-disclaimer,.quote-form-note { font-size:12px; }
.closing { padding:100px 0; }
.closing h2 { font-size:clamp(40px,4.5vw,66px); }
.closing .button { flex:none; }
.site-footer { padding-top:70px; }
.footer-main { grid-template-columns:2fr 1fr 1fr; }
.footer-main .brand-dot { color:var(--copper); }
.footer-main a { overflow-wrap:anywhere; }
.menu-toggle { display:none; }
@media(min-width:1700px) {
  .hero-v2 { height:1000px; aspect-ratio:auto; }
  .hero-v2 .hero-art { object-fit:contain; object-position:right; }
  .hero-v2 .hero-copy { width:52%; }
}
@media(max-width:1150px) {
  .container { width:calc(100% - 72px); }
  .header-inner { gap:24px; }
  .main-nav { gap:18px; }
  .main-nav a { font-size:11px; }
  .main-nav a:last-child { display:none; }
  .brand-name { font-size:39px; }
  .hero-v2 h1 { font-size:7.2vw; }
  .hero-v2 .hero-copy { width:60%; padding-bottom:90px; }
  .hero-v2 .eyebrow { max-width:340px; font-size:9px; }
  .hero-discover { left:36px; }
  .story-grid { gap:5%; }
  .story-photo { height:650px; }
  .plan { padding:0 17px; }
  .plan h3 { font-size:29px; }
  .plan-price { font-size:46px; }
  .quote-grid { grid-template-columns:.75fr 1.25fr; gap:4%; }
  .quote-form { padding:27px; }
  .cabin-visual { min-height:580px; }
}
@media(max-width:850px) {
  .container { width:calc(100% - 48px); }
  .header-inner { min-height:76px; justify-content:space-between; }
  .main-nav,.header-cta { display:none; }
  .menu-toggle { display:flex; border-radius:50%; width:43px; height:43px; flex:none; }
  .mobile-nav:not([hidden]) { padding:0 24px 18px; }
  .hero-v2 { aspect-ratio:auto; max-height:none; min-height:0; }
  .hero-v2 .hero-art { position:relative; height:620px; object-fit:cover; object-position:85% center; z-index:0; margin-top:0; }
  .hero-v2 .hero-layout { position:relative; height:auto; display:block; }
  .hero-v2 { display:flex; flex-direction:column; }
  .hero-v2 .hero-layout { order:-1; }
  .hero-v2:after { display:none; }
  .hero-v2 .hero-copy { width:100%; padding:66px 0 40px; }
  .hero-v2 .eyebrow { max-width:none; font-size:9px; }
  .hero-v2 h1 { font-size:clamp(61px,10vw,90px); margin:26px 0 23px; }
  .hero-v2 .hero-intro { font-size:18px; }
  .hero-price { margin-top:27px; }
  .hero-discover { display:none; }
  .benefit-inner { min-height:85px; gap:22px; font-size:13px; letter-spacing:.1em; }
  .section { padding:80px 0; }
  .story-grid,.cabin-grid,.quote-grid { grid-template-columns:1fr; gap:40px; }
  .story-photo { height:650px; max-width:100%; }
  .story-copy { margin:0; }
  .story-copy h2 { font-size:60px; }
  .occasions { padding-top:10px; }
  .occasion-card { padding:28px 30px 28px 0; }
  .occasion-business { padding-left:30px; padding-right:0; }
  .occasion-card h3 { font-size:40px; }
  .plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px 0; }
  .plan { padding:0 28px; min-height:440px; }
  .plan:nth-child(odd) { border-left:0; padding-left:0; }
  .plan:nth-child(even) { padding-right:0; }
  .plan h3 { min-height:0; font-size:34px; }
  .plan-subtitle { min-height:34px; }
  .cabin-visual { min-height:590px; }
  .cabin-copy { padding-top:0; }
  .experience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .experience-grid article:nth-child(n) { border-left:0; padding:30px 25px 30px 0; }
  .experience-grid article:nth-child(even) { border-left:1px solid var(--line); padding-left:25px; padding-right:0; }
  .quote-aside { position:static; }
  .quote-aside>p { max-width:530px; }
  .quote-aside-card { display:none; }
  .quote-form { max-width:none; padding:35px; }
  .closing-inner { display:block; }
  .closing .button { margin-top:35px; }
}
@media(max-width:550px) {
  .container { width:calc(100% - 40px); }
  .brand-name { font-size:37px; }
  .hero-v2 .hero-art { height:510px; object-position:84% center; }
  .hero-v2 .hero-copy { padding:49px 0 27px; }
  .hero-v2 h1 { font-size:clamp(50px,12.5vw,68px); }
  .hero-v2 .eyebrow { font-size:8px; letter-spacing:.14em; }
  .hero-v2 .eyebrow span { padding:0 4px; }
  .hero-v2 .hero-intro { font-size:16px; }
  .hero-v2 .hero-actions { margin-top:24px; }
  .button { padding:0 22px; font-size:12px; gap:20px; }
  .benefit-inner { white-space:normal; text-align:center; min-height:92px; gap:13px; font-size:12px; line-height:1.6; letter-spacing:.08em; }
  .benefit-inner i { font-size:24px; flex:none; }
  .section { padding:62px 0; }
  h2,.story-copy h2 { font-size:clamp(41px,10.5vw,57px); }
  .story-photo { height:470px; }
  .photo-label { left:12px; bottom:12px; font-size:10px; }
  .story-grid { gap:35px; }
  .occasions { padding-top:0; }
  .occasion-grid { grid-template-columns:1fr; }
  .occasion-card,.occasion-business { border-left:0; padding:28px 0; min-height:0; }
  .occasion-business { border-top:1px solid var(--line); }
  .occasion-card h3 { font-size:43px; margin:27px 0 18px; }
  .section-heading { margin-bottom:38px; }
  .plan-grid { grid-template-columns:1fr; gap:0; }
  .plan:nth-child(n) { border:0; padding:28px 0; min-height:0; }
  .plan+.plan { border-top:1px solid #68796a; }
  .plan h3 { font-size:36px; margin-top:13px; }
  .plan-subtitle { min-height:0; margin:10px 0 18px; }
  .plan-price { font-size:50px; }
  .plan ul { margin-bottom:22px; }
  .plan-link { padding-top:16px; }
  .plans-note { margin-top:20px; }
  .cabin-visual { min-height:445px; }
  .cabin-copy .button { width:100%; }
  .experience-grid { grid-template-columns:1fr; }
  .experience-grid article:nth-child(n) { padding:27px 0; border-left:0; min-height:0; }
  .experience-grid h3 { margin-top:16px; }
  .experience-grid p { margin-top:0; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid>div:nth-child(n) { border-left:0; padding:26px 0; }
  .process-grid>div+div { border-top:1px solid var(--line); }
  .process h3 { margin-top:12px; }
  .quote-grid { gap:25px; }
  .quote-form { padding:23px 17px; }
  .quote-packages { grid-template-columns:1fr 1fr; }
  .quote-packages label>span { display:flex; min-height:120px; padding:12px; }
  .quote-packages input:checked+span { padding:11px; }
  .quote-packages b { text-align:left; font-size:25px; }
  .quote-packages strong { font-size:12px; }
  .quote-options label { gap:9px; }
  .quote-options span { font-size:12px; }
  .quote-options small { font-size:10px; }
  .quote-options b { font-size:11px; }
  .form-fields { grid-template-columns:1fr; }
  .quote-total strong { font-size:37px; }
  .quote-submit { gap:10px; font-size:11px; padding-inline:16px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:35px 20px; }
  .footer-main>div:first-child { grid-column:1/-1; }
  .footer-main>div:not(:first-child) { font-size:11px; }
  .footer-bottom { display:block; line-height:1.8; }
  .footer-bottom span { display:block; }
  .footer-bottom #year { display:inline; }
}
.print-gallery { background:#eee8dc; padding-block:48px; }
.print-compact-layout { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:50px; }
.print-copy h2 { font-size:clamp(37px,3.6vw,53px); margin:16px 0 19px; }
.print-copy h2 em { color:var(--accent-ink); }
.print-copy>p:not(.eyebrow) { max-width:440px; color:var(--muted); font-size:14px; line-height:1.75; margin-bottom:22px; }
.print-cta { display:inline-flex; align-items:center; gap:22px; padding-block:10px; font-size:12px; border-bottom:1px solid var(--copper); }
.print-cta span { font-size:20px; }
.print-collection { margin:0; min-width:0; }
.print-composition { display:grid; grid-template-columns:1.5fr .78fr .4fr; align-items:center; gap:20px; height:295px; padding:15px 8px; }
.print-sample { display:block; min-width:0; cursor:zoom-in; transition:transform .2s; }
.print-sample img { display:block; width:100%; height:auto; max-height:265px; object-fit:contain; filter:drop-shadow(4px 10px 8px #49351c25); }
.print-sample-1 { transform:rotate(-5deg); }
.print-sample-2 { transform:rotate(3deg); }
.print-sample-3 { transform:rotate(-3deg); }
.print-sample:hover,.print-sample:focus-visible { transform:translateY(-4px); }
.print-collection figcaption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; padding:13px 0 0; font-size:12px; color:var(--accent-ink); }
.print-collection figcaption small { color:var(--muted); font-size:10px; }
.print-common-note { color:var(--muted); font-size:11px; line-height:1.6; border-top:1px solid #cfc4b4; padding-top:16px; margin:23px 0 0; }
.print-preview-open { overflow:hidden; }
.print-dialog { width:min(1000px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:20px 24px; border:1px solid var(--line); background:var(--paper); color:var(--ink); }
.print-dialog::backdrop { background:#122018dc; backdrop-filter:blur(5px); }
.print-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:15px; }
.print-dialog-header h2 { font:400 23px/1.2 var(--serif); letter-spacing:0; margin:0; }
.print-dialog-close { display:inline-flex; align-items:center; gap:14px; min-height:44px; padding:6px 12px; border:1px solid var(--line); background:var(--paper); color:var(--ink); font-size:12px; flex:none; }
.print-dialog-close span { font-size:23px; }
.print-dialog-image { display:block; max-width:100%; max-height:calc(100dvh - 190px); width:auto; height:auto; margin:auto; object-fit:contain; }
.print-dialog>p { font-size:11px; color:var(--muted); text-align:center; margin:15px 0 0; }
@media(max-width:950px) {
  .print-compact-layout { gap:26px; grid-template-columns:.9fr 1.1fr; }
  .print-composition { gap:13px; height:250px; }
  .print-sample img { max-height:225px; }
}
@media(max-width:750px) {
  .print-gallery { padding-block:36px; }
  .print-compact-layout { grid-template-columns:1fr; gap:16px; }
  .print-copy h2 { margin:10px 0 13px; font-size:39px; }
  .print-copy>p:not(.eyebrow) { max-width:600px; margin-bottom:8px; font-size:13px; }
  .print-composition { height:clamp(165px,38vw,255px); gap:clamp(9px,3vw,20px); padding-inline:6px; }
  .print-sample img { max-height:clamp(145px,34vw,235px); }
  .print-collection figcaption { justify-content:center; text-align:center; padding-top:8px; }
  .print-collection figcaption small { flex-basis:100%; }
  .print-common-note { margin-top:18px; padding-top:13px; font-size:10px; }
  .print-dialog { padding:15px; }
  .print-dialog-header h2 { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { transition:none!important; }
}

/* Search-friendly headings and a compact, accessible rental FAQ. */
.hero-v2 h1 { margin-top:0; }
.hero-v2 .hero-topic { display:block; font:500 10px/1.7 var(--sans); text-transform:uppercase; letter-spacing:.18em; color:var(--paper); margin-bottom:35px; max-width:100%; }
.hero-v2 .hero-slogan { display:block; }
.rental-faq { background:var(--cream); padding-block:72px; }
.rental-faq-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:7%; align-items:start; }
.rental-faq h2 { font-size:clamp(36px,3.5vw,54px); margin:18px 0 22px; }
.rental-faq h2 em { color:var(--accent-ink); }
.rental-faq-heading>p:last-child { max-width:360px; color:var(--muted); font-size:14px; line-height:1.8; }
.rental-faq-list { min-width:0; border-top:1px solid var(--line); }
.rental-faq details { border-bottom:1px solid var(--line); }
.rental-faq summary { cursor:pointer; padding:19px 4px; font-size:15px; line-height:1.6; font-weight:500; }
.rental-faq summary::marker { color:var(--accent-ink); }
.rental-faq summary:focus-visible { outline:2px solid var(--accent-ink); outline-offset:4px; }
.rental-faq details p { margin:0; padding:0 4px 20px; color:var(--muted); font-size:14px; line-height:1.8; }
.rental-faq details a { color:var(--accent-ink); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:750px) {
  .rental-faq { padding-block:40px; }
  .rental-faq-grid { grid-template-columns:1fr; gap:20px; }
  .rental-faq h2 { margin-block:12px 16px; }
  .rental-faq summary { font-size:14px; }
  .hero-v2 .hero-topic { margin-bottom:24px; font-size:9px; letter-spacing:.13em; }
}
/* Real reception photos replace the generated corporate story image. */
.story .story-grid { display:block; }
.story .story-copy { max-width:none; }
.story .story-copy>h2 { max-width:800px; }
.story .story-copy>.lead { max-width:960px; }
.story .story-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.story .story-points>div { border-bottom:0; border-top:1px solid var(--line); }
.real-gallery { padding:10px 0 90px; }
.real-gallery-heading { display:flex; align-items:end; justify-content:space-between; gap:45px; margin-bottom:28px; }
.real-gallery-heading h2 { margin-bottom:0; font-size:clamp(40px,4vw,62px); }
.real-gallery h2 em { color:var(--accent-ink); }
.real-gallery-heading>p { max-width:390px; color:var(--muted); font-size:14px; line-height:1.8; margin:0; }
.real-gallery-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); grid-auto-flow:row dense; gap:16px; }
.real-gallery-card { position:relative; display:block; height:clamp(230px,26vw,350px); overflow:hidden; background:var(--cream); }
.real-gallery-wide { grid-column:span 2; }
.real-gallery-card img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; transition:transform .3s; }
.real-gallery-card:nth-child(2) img { object-position:50% 61%; }
.real-gallery-card:nth-child(5) img { object-position:35% 43%; }
.real-gallery-card:nth-child(6) img { object-position:50% 63%; }
.real-gallery-card:nth-child(7) img { object-position:50% 58%; }
.real-gallery-card:hover img { transform:scale(1.035); }
.real-gallery-card:focus-visible { outline:3px solid var(--accent-ink); outline-offset:4px; }
.real-gallery-caption { position:absolute; inset:auto 0 0; padding:32px 13px 13px; background:linear-gradient(transparent,#122018c9); color:#fffdf9; font-size:11px; line-height:1.5; display:flex; gap:10px; justify-content:space-between; }
.real-gallery-note { color:var(--muted); font-size:11px; margin:16px 0 0; }
.gallery-dialog-controls { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:15px; }
.gallery-dialog-controls[hidden] { display:none; }
.gallery-dialog-controls button { border:1px solid var(--line); background:var(--paper); color:var(--ink); min-height:44px; padding:10px 15px; font-size:12px; }
.gallery-counter { font-size:12px; color:var(--muted); }
.print-dialog-image { max-height:calc(100dvh - 230px); }
@media(max-width:850px) {
 .story .story-points { gap:18px; }
 .real-gallery { padding-bottom:60px; }
 .real-gallery-heading { gap:25px; }
 .real-gallery-card { height:240px; }
}
@media(max-width:650px) {
 .story .story-points { grid-template-columns:1fr; gap:0; }
 .real-gallery-heading { display:block; }
 .real-gallery-heading>p { max-width:none; margin-top:20px; }
 .real-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:row; gap:12px; }
 .real-gallery-card { height:clamp(200px,55vw,300px); }
 .real-gallery-wide { height:clamp(210px,60vw,310px); }
 .real-gallery-caption { font-size:10px; }
 .gallery-dialog-controls button { padding:8px 10px; font-size:11px; }
}

/* Compact real-photo gallery, retaining full-size photos in the viewer. */
.real-gallery { padding:8px 0 48px; }
.real-gallery-heading { gap:24px; margin-bottom:18px; }
.real-gallery-heading h2 { font-size:clamp(32px,3vw,44px); }
.real-gallery-heading>p { max-width:460px; font-size:13px; line-height:1.65; }
.real-gallery-grid { gap:10px; }
.real-gallery-card { height:clamp(160px,16vw,210px); }
.real-gallery-caption { padding:24px 10px 9px; font-size:10px; }
.real-gallery-note { margin-top:10px; }
@media(max-width:850px) {
 .real-gallery { padding-bottom:38px; }
 .real-gallery-card { height:160px; }
}
@media(max-width:650px) {
 .real-gallery-heading>p { margin-top:12px; }
 .real-gallery-grid { grid-auto-flow:row dense; gap:8px; }
 .real-gallery-card, .real-gallery-wide { height:clamp(130px,34vw,170px); }
 .real-gallery-wide { grid-column:span 1; }
 .real-gallery-caption { font-size:9px; padding:22px 8px 7px; }
}

/* Real print examples in one compact horizontal gallery. */
.format-real-rail { display:flex; gap:16px; overflow-x:auto; padding:10px 4px 14px; scroll-snap-type:x proximity; scrollbar-color:var(--copper) transparent; }
.format-real-sample { flex:none; width:auto; max-width:none; scroll-snap-align:start; cursor:zoom-in; }
.format-real-sample img { width:auto; height:205px; object-fit:contain; display:block; box-shadow:0 5px 12px #49351c20; }
.format-real-sample>span { display:block; font-size:10px; color:var(--accent-ink); padding-top:9px; }
.format-real-sample:focus-visible { outline:2px solid var(--accent-ink); outline-offset:2px; }
@media(max-width:650px) { .format-real-rail { gap:12px; } .format-real-sample img { height:175px; } }
