/* Lumière editorial refinements. All brand colors and typefaces inherit CMS variables. */
.lumiere-site { font-size:15px; line-height:1.75; }
.section-space { padding-block:clamp(72px,8vw,136px); }
.eyebrow { font-size:11px; letter-spacing:.16em; }
.text-link { font-size:13px; min-height:44px; }
.button { font-size:13px; min-height:56px; }
.wordmark small { font-size:10px; letter-spacing:.18em; margin-top:9px; }
.desktop-nav a,.header-book { font-size:13px; min-height:44px; }
.header-book { padding:12px 18px; border:1px solid var(--ink); gap:24px; transition:background .2s,color .2s; }
.header-book:hover { background:var(--ink); color:var(--paper); }
:is(a,button,summary,input,textarea,select):focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.contact-section :is(a,button):focus-visible { outline-color:var(--paper); }
.hero.hero-editorial { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(24px,4vw,76px); color:var(--ink); margin:0 auto; height:auto; min-height:0; isolation:auto; overflow:visible; padding-block:32px 64px; align-items:center; }
.hero-editorial .hero-copy { padding:24px 0 16px; margin:0; max-width:none; left:auto; right:auto; }
.hero-copy>.eyebrow { margin-bottom:30px; color:var(--accent); }
.hero-editorial h1 { font-size:clamp(64px,7.2vw,118px); line-height:.98; letter-spacing:-.045em; text-wrap:initial; max-width:11ch; }
.hero-editorial h1>span { display:block; }
.hero-editorial h1 em { color:var(--accent); }
.hero-editorial .hero-copy>p { font-size:15px; line-height:1.85; color:var(--muted); max-width:38ch; margin:30px 0 28px; }
.hero-actions { display:flex; align-items:center; gap:16px 28px; flex-wrap:wrap; }
.button-primary { background:var(--ink); color:var(--paper); border-color:var(--ink); min-width:204px; }
.button-primary:hover { background:var(--accent); border-color:var(--accent); }
.hero-actions .hero-secondary { border-bottom:0; gap:12px; padding:8px 0; font-size:13px; }
.hero-media { position:relative; align-self:stretch; margin-top:32px; min-height:540px; background:var(--sand); }
.hero-picture { display:block; width:100%; height:100%; }
.hero-picture>img { position:absolute; inset:0; height:100%; object-position:var(--hero-position,50% 50%); filter:saturate(.7); }
.hero-media figcaption { position:absolute; left:0; bottom:0; padding:8px 12px; font-size:11px; line-height:1.5; color:var(--ink); background:var(--paper); }
.verified-facts { padding-block:18px 32px; border-block:1px solid var(--line); flex-wrap:wrap; }
.section-heading { margin-bottom:48px; gap:32px; align-items:end; }
.section-heading h2 { font-size:clamp(44px,4.6vw,74px); line-height:1.05; max-width:12ch; }
.section-heading>p { max-width:30ch; font-size:14px; line-height:1.8; white-space:pre-line; }
.service-editorial { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,6vw,104px); }
.service-visual { top:128px; }
.service-image-stage { position:relative; aspect-ratio:4/5; background:var(--sand); overflow:hidden; }
.service-image-stage img { position:absolute; inset:0; height:100%; object-position:50% 50%; filter:saturate(.72); opacity:0; transition:opacity .28s ease; }
.service-image-stage img.is-current,.service-image-stage img:only-child { opacity:1; }
.service-image-stage.is-unavailable::after { content:'Görsel yakında'; position:absolute; inset:0; display:grid; place-items:center; font:italic 32px var(--serif); color:var(--accent); }
.service-visual figcaption { font-size:12px; line-height:1.6; letter-spacing:0; margin-top:13px; gap:16px; }
.service-visual figcaption span:last-child { font-size:11px; }
.service-item { transition:border-color .2s; }
.service-item[open] { border-bottom-color:var(--ink); }
.service-item[open] summary h3 { color:var(--accent); }
.service-item summary { min-height:85px; padding-block:22px; }
.service-item h3 { font-size:clamp(27px,2.6vw,38px); gap:12px; }
.service-item h3 small { font-size:11px; letter-spacing:0; padding:3px 7px; }
.service-number { font-size:11px; }
.service-body { padding-bottom:28px; }
.service-body>p { font-size:15px; line-height:1.85; max-width:43ch; }
.service-action { margin-top:20px; align-items:center; gap:16px 24px; }
.service-facts { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.service-duration { font-size:12px; color:var(--muted); }
.price { font-size:25px; }
.price small { font-size:11px; letter-spacing:0; }
.service-action .text-link { font-size:13px; gap:12px; border-color:var(--accent); }
.service-body>.lumiere-service-detail { margin-top:14px; color:var(--muted); font-size:12px; }
.service-consult { font-size:13px; margin-top:24px; max-width:40ch; }
.about-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr); gap:clamp(48px,9vw,160px); align-items:center; }
.about-label { order:2; gap:24px; }
.about-copy { order:1; }
.about-portrait { width:100%; }
.about-portrait img { aspect-ratio:4/5; height:auto; object-position:60% center; filter:saturate(.6); }
.about-copy h2 { font-size:clamp(44px,4.6vw,76px); line-height:1.05; max-width:14ch; margin-bottom:32px; }
.about-copy>p { font-size:15px; line-height:1.95; max-width:49ch; color:var(--muted); }
.about-copy>p:first-of-type { font-size:17px; line-height:1.8; color:var(--ink); }
.about-badges span { font-size:12px; letter-spacing:0; }
.gallery-grid { gap:36px 26px; }
.gallery-grid .gallery-figure:nth-child(n) { margin-top:0; grid-column:span 4; }
.gallery-grid .gallery-figure:nth-child(7n+1) { grid-column:span 7; }
.gallery-grid .gallery-figure:nth-child(7n+2) { grid-column:9 / span 4; padding-top:12%; }
.gallery-grid .gallery-figure:nth-child(7n+3) { grid-column:span 3; }
.gallery-grid .gallery-figure:nth-child(7n+4) { grid-column:span 5; }
.gallery-grid .gallery-figure:nth-child(7n+6),.gallery-grid .gallery-figure:nth-child(7n) { grid-column:span 6; }
.gallery-grid .gallery-figure img { aspect-ratio:4/3; height:auto; }
.gallery-grid .gallery-figure:nth-child(7n+2) img,.gallery-grid .gallery-figure:nth-child(7n+3) img { aspect-ratio:4/5; }
.gallery-grid .gallery-figure:nth-child(7n+5) img { aspect-ratio:1; }
.gallery-figure figcaption { font-size:12px; gap:12px; }
.gallery-figure figcaption span:last-child { font-size:11px; }
.gallery-hint,.image-disclosure { font-size:12px; line-height:1.85; }
.gallery-open img { transition:transform .45s ease,filter .3s; }
.team-heading h2 { font-size:clamp(40px,4vw,64px); }
.team-heading>p,.team-heading small { font-size:12px; }
.team-role { font-size:11px; letter-spacing:.05em; }
.team-description { font-size:13px; }
.team-member h3 { font-size:30px; }
.contact-top { grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); margin-bottom:42px; }
.contact-top h2 { font-size:clamp(48px,5vw,82px); max-width:15ch; }
.contact-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(36px,5vw,80px); }
.contact-lead { font-size:15px; max-width:48ch; margin-bottom:24px; }
.contact-info p,.contact-info a { font-size:14px; }
.contact-info span,.location-bottom>div>span { font-size:11px; letter-spacing:.08em; }
.location-panel { padding-top:0; }
.location-bottom small { font-size:12px; }
.location-bottom p { font-size:30px; }
.footer-top>p,.footer-bottom,.back-top,.demo-disclosure { font-size:12px; }
.footer-bottom nav a { min-height:44px; display:inline-flex; align-items:center; }
.lightbox-close { min-height:44px; font-size:14px; padding:8px 0 16px 16px; }
.lightbox-bottom,.lightbox-bottom>span { font-size:13px; }
.lightbox-bottom button { min-height:44px; min-width:44px; }
.lightbox-image-wrap { touch-action:pan-y; }
.gallery-dialog { overscroll-behavior:contain; }
.booking-empty-help { border:0; border-bottom:1px solid var(--line); padding:8px 0; min-height:44px; background:transparent; color:var(--ink); display:inline-flex; align-items:center; gap:12px; font-size:13px; margin-bottom:16px; }
.booking-empty-help svg { width:18px; height:18px; }
#booking .booking-screen-help,#booking .booking-app-header>div>p,#booking .booking-channel-note { font-size:13px; }
#booking .booking-app-mark { display:none; }
#booking .booking-success-message { max-width:42ch; margin-inline:auto; line-height:1.8; }
@media (min-width:1600px) {
  .hero.hero-editorial { padding-block:40px 72px; }
  .hero-media { min-height:660px; }
}
@media (max-width:1100px) {
  .hero.hero-editorial { gap:32px; padding-block:20px 48px; }
  .hero-editorial h1 { font-size:clamp(60px,7.3vw,85px); }
  .hero-media { min-height:500px; margin-top:24px; }
  .hero-actions { gap:14px; }
  .hero-editorial .hero-copy>p { font-size:14px; }
  .about-grid { gap:48px; }
  .contact-grid { grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:32px; }
}
@media (min-width:768px) and (max-width:900px) {
  .hero.hero-editorial { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:24px; }
  .hero-editorial h1 { font-size:60px; }
  .hero-media { min-height:520px; }
  .contact-grid { grid-template-columns:1fr; }
  .location-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:28px; align-items:center; }
  .location-bottom { padding-top:0; }
}
@media (max-width:767px) {
  .wordmark>span { font-size:30px; }
  .wordmark small { font-size:10px; letter-spacing:.12em; margin-top:6px; }
  .mobile-menu>a>small { font-size:11px; }
  .hero.hero-editorial { display:flex; flex-direction:column; align-items:stretch; gap:30px; margin:0 auto; padding:28px var(--gutter) 0; min-height:0; height:auto; }
  .hero-editorial .hero-copy { padding:0; }
  .hero-copy>.eyebrow { font-size:11px; letter-spacing:.1em; margin-bottom:22px; }
  .hero-editorial h1 { font-size:clamp(49px,13.2vw,65px); line-height:1.02; max-width:11ch; }
  .hero-editorial .hero-copy>p { font-size:14px; line-height:1.8; margin:22px 0; max-width:39ch; }
  .hero-actions { gap:14px 22px; }
  .hero-actions .button { min-width:180px; min-height:52px; padding:14px 20px; gap:24px; }
  .hero-actions .hero-secondary { font-size:12px; gap:8px; }
  .hero-actions .hero-secondary .arrow-icon { display:none; }
  .hero-media { margin:0; min-height:0; aspect-ratio:5/3; }
  .hero-picture>img { object-position:var(--hero-mobile-position,50% 50%); }
  .hero-media figcaption { font-size:11px; padding:5px 8px; }
  .section-space { padding-block:68px; }
  .eyebrow { font-size:11px; letter-spacing:.12em; }
  .section-heading { margin-bottom:28px; }
  .section-heading h2 { font-size:clamp(40px,11vw,52px); max-width:13ch; }
  .section-heading>p { margin-top:18px; font-size:14px; max-width:34ch; }
  .service-editorial { gap:24px; }
  .service-visual { width:100%; position:static; }
  .service-image-stage { aspect-ratio:16/8; }
  .service-visual figcaption { font-size:12px; margin-top:10px; }
  .service-visual figcaption span:last-child { font-size:11px; }
  .service-item summary { min-height:76px; gap:12px; padding-block:20px; }
  .service-number { font-size:11px; }
  .service-item h3 { font-size:clamp(27px,7.5vw,34px); }
  .service-item h3 small { font-size:11px; }
  .service-body { padding-left:0; padding-bottom:24px; }
  .service-body>p { font-size:14px; line-height:1.85; }
  .service-action { justify-content:space-between; gap:16px; }
  .service-facts { gap:16px; }
  .service-action .text-link { font-size:13px; }
  .service-consult { font-size:13px; }
  .about-grid { display:flex; flex-direction:column; gap:30px; }
  .about-label { display:contents; }
  .about-label>.eyebrow { order:0; align-self:flex-start; }
  .about-copy { order:1; }
  .about-copy h2 { font-size:clamp(40px,11vw,52px); margin-bottom:24px; }
  .about-copy>p { font-size:14px; }
  .about-copy>p:first-of-type { font-size:16px; }
  .about-copy .text-link { font-size:13px; }
  .about-portrait { order:2; width:100%; }
  .about-portrait img { aspect-ratio:5/3; object-position:50% 50%; }
  .about-badges { margin-top:24px; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .gallery-grid .gallery-figure:nth-child(n) { grid-column:auto; padding:0; margin:0; }
  .gallery-grid .gallery-figure:first-child { grid-column:span 2; }
  .gallery-grid .gallery-figure:nth-child(n) img { aspect-ratio:4/5; }
  .gallery-grid .gallery-figure:first-child img { aspect-ratio:4/3; }
  .gallery-figure figcaption,.gallery-figure figcaption span:last-child { font-size:12px; }
  .gallery-plus { width:32px; height:32px; }
  .gallery-hint { font-size:12px; }
  .image-disclosure { font-size:12px; margin-top:24px; }
  .team-heading h2 { font-size:42px; }
  .team-heading>p { font-size:12px; }
  .team-member h3 { font-size:27px; }
  .team-role { font-size:11px; text-transform:none; letter-spacing:0; }
  .team-description { font-size:12px; }
  .contact-top { grid-template-columns:1fr; gap:18px; margin-bottom:24px; }
  .contact-top h2 { font-size:clamp(44px,12vw,58px); max-width:15ch; }
  .contact-lead { font-size:14px; margin-bottom:22px; }
  .contact-grid { grid-template-columns:minmax(0,1fr); gap:36px; }
  .contact-info { grid-template-columns:1fr; gap:20px; }
  .contact-info p,.contact-info a { font-size:14px; }
  .contact-info span,.location-bottom>div>span { font-size:11px; }
  .location-panel { display:block; }
  .location-bottom small { font-size:12px; }
  .footer-top>p,.back-top,.footer-bottom,.demo-disclosure { font-size:12px; }
  .footer-bottom nav { font-size:13px; }
  .mobile-dock>a { font-size:14px; }
  .lightbox-bottom { flex-wrap:wrap; gap:14px; font-size:13px; }
  .lightbox-bottom>p { flex:1 1 60%; }
  .lightbox-bottom>span { font-size:12px; }
  .lightbox-bottom>div { margin-left:auto; }
  .lightbox-image-wrap { height:56svh; }
  #booking .booking-app-header>div>p { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { .service-image-stage img { transition:none; } }
@media print {
  .hero.hero-editorial { display:block; padding:24px; }
  .hero-editorial h1 { font-size:48px; }
  .hero-media,.hero-actions { display:none; }
  .service-image-stage img { opacity:1; }
}

@media (max-width:767px) { .service-body .service-visual { margin-bottom:20px; } }

.floating-contact>span { max-width:160px; opacity:1; font-size:13px; }
body.is-hero-active .floating-contact { display:none; }
.gallery-dialog :is(a,button):focus-visible { outline-color:var(--paper); }

.hero-empty { display:grid; place-items:center; width:100%; height:100%; min-height:inherit; font:italic 32px var(--serif); color:var(--accent); }
.about-copy h2 { max-width:none; text-wrap:balance; }
