/* One continuous photographic-material desk for every landing URL. */
body[data-type]{background:#30271f}
body[data-type] .desk{display:flex;flex-direction:column;position:relative;width:100%;max-width:none;margin:0;min-height:100svh!important;height:auto!important;max-height:none;padding:24px 0 40px;gap:0;overflow:visible;background:#30271f!important}
body[data-type] .desk::before,body[data-type] .desk::after{content:none!important}
body[data-type] .desk>:not(header):not(.intro):not(.photographic-art),body[data-type] footer{display:none!important}
body[data-type] .desk>header{position:relative;inset:auto;margin:0 28px 0 27%;width:auto;height:auto;min-height:64px;padding:0;display:flex;align-items:flex-start;gap:20px;z-index:3}
body[data-type] .desk>header .brand{margin:0}
body[data-type] .desk>header .header-contact{position:static;inset:auto;margin-left:auto}
body[data-type] .desk>.intro{position:relative;inset:auto;width:34%;max-width:480px;flex:none;margin:clamp(40px,6svh,72px) 0 0 27%;padding:0;z-index:2}
body[data-type] .desk>.intro>p{font-size:clamp(16px,1.35vw,20px);max-width:50ch}
body[data-type] .desk>.intro h1{color:#fff8e8;font-family:ReviewSerif,serif;font-weight:400;font-variation-settings:"wght" 400,"opsz" 48}
body[data-type] .desk>.intro>p{color:#fff8e8;font-family:ReviewSans,sans-serif}
body[data-type] .desk>.intro .booking-option{margin:8px 0 0}
body[data-type] .desk>.intro .consultation-note{margin:0;font-size:16px;line-height:1.4}
body[data-type] .desk .intro a.contact{background:#225b43;color:#fff8e8;border:1px solid #b5ceb580;min-height:44px;display:inline-flex;align-items:center;box-shadow:0 3px 9px #0c211d30}
body[data-type] .desk .intro a.contact:hover{background:#2b6b50}
body[data-type] .desk>header a.header-contact{background:#e7efd9;color:#173e2d;border:1px solid #f7f9eb80;min-height:44px}
body[data-type] .desk>header a.header-contact:hover{background:#f4f7e9}
body[data-type] .desk .booking-option a{color:#fff8e8;min-height:44px;text-decoration-thickness:1px}
body[data-type] .desk .booking-option a:hover{text-decoration-thickness:2px}
body[data-type] .desk :is(a.brand,a.contact,a.header-contact,.booking-option a):focus-visible{outline:3px solid #fff8e8;outline-offset:4px;box-shadow:0 0 0 7px #173e2d}
/* One master at every size: no older-paper or aspect-ratio quality switch. */
body[data-type] .desk>.photographic-art{--scene-fit:cover;--scene-unit:max(calc(100vw/1586),calc(100svh/992));--scene-offset-x:calc((100vw - 1586 * var(--scene-unit))/2);--scene-offset-y:calc((100svh - 992 * var(--scene-unit))/2);position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;display:block!important;background-image:linear-gradient(90deg,transparent 23%,#140e0826 29%,#140e0826 62%,transparent 69%),url('assets/desk-material-preview-2026-09-08.webp');background-position:center;background-size:cover;background-repeat:no-repeat}
body[data-type] .desk>.intro{max-width:480px;width:35%}
body[data-type] .desk>.intro h1{text-shadow:0 2px 10px #170e0940}
@media (min-width:601px) and (max-width:900px){
 body[data-type] .desk>.intro h1{font-size:clamp(32px,4.8vw,43px);line-height:1.1}
 body[data-type] .desk>.intro>p{font-size:16px;max-width:none}
 body[data-type] .desk>header{margin-right:20px;gap:12px}
 body[data-type] .desk>header .header-contact{display:none!important}
}
/* Cramped layouts use one continuous portrait composition, never photo strips. */
@media (max-width:600px),(max-width:1100px) and (max-aspect-ratio:1/1){
 body[data-type] .desk{--portrait-height:max(100svh,150vw,780px);min-height:var(--portrait-height)!important;padding:16px 6% 28px}
 body[data-type] .desk>header{margin:0 0 0 clamp(0px,calc(55vw - 214.5px),23%);width:fit-content;min-height:0}
 body[data-type] .desk>header .header-contact{display:none!important}
 body[data-type] .desk>.intro{margin:calc(var(--portrait-height)*.37 - 60px) auto 0;width:100%;max-width:580px}
 body[data-type] .desk>.intro h1{font-size:clamp(32px,8.7vw,38px);line-height:1.08;margin-bottom:16px;max-width:none}
 body[data-type] .desk>.intro>p{font-size:16px;line-height:1.45;margin-bottom:18px;max-width:none}
 body[data-type] .desk>.intro a.contact{min-height:48px}
 body[data-type] .desk>.intro .consultation-note{margin:8px 0 0}
 body[data-type] .desk>.photographic-art{--scene-source-width:1024;--scene-source-height:1536;--scene-unit:calc(var(--portrait-height)/1536);--scene-offset-x:calc((100vw - 1024 * var(--scene-unit))/2);--scene-offset-y:0px;background-image:url('assets/desk-portrait-material-2026-09-08.webp')}
 body[data-type] .scene-calendar{left:calc(var(--scene-offset-x,0px) + 658 * var(--scene-unit,1px));top:calc(var(--scene-offset-y,0px) + 83 * var(--scene-unit,1px));width:calc(327 * var(--scene-unit,1px));height:calc(210 * var(--scene-unit,1px));transform:rotate(7.5deg) skewX(-1.5deg)}
 body[data-type] .scene-calendar-face{background:transparent;box-shadow:none}
}
@media (max-width:360px){body[data-type] .desk{--portrait-height:max(100svh,900px)}}
/* Native calendar replaces only the printed face; the photographic binding stays. */
.scene-calendar{position:absolute;left:calc(var(--scene-offset-x,0px) + 1100 * var(--scene-unit,1px));top:calc(var(--scene-offset-y,0px) + 110 * var(--scene-unit,1px));width:calc(430 * var(--scene-unit,1px));height:calc(280 * var(--scene-unit,1px));transform:rotate(6.2deg);transform-origin:top left;container-type:inline-size;z-index:2}
.scene-calendar-face{height:100%;padding:3%;background:#e6e1cf;color:#3b3b30;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 4px #ddd5bf}
.scene-calendar-heading{font:500 7cqw/1.1 ReviewSerif,serif;margin-bottom:3%;white-space:nowrap}
.scene-calendar-grid{width:100%;flex:1;border-collapse:collapse;table-layout:fixed;font:400 4cqw/1.1 ReviewSans,sans-serif}
.scene-calendar-grid th{font-weight:400;font-size:3.4cqw;border:0;padding:0 0 3%}
.scene-calendar-grid td{border:1px solid #6e725342;padding:1%;text-align:left;vertical-align:top;height:calc(100% / var(--calendar-weeks,5))}
.calendar-day{position:relative;display:inline-grid;place-items:center;min-width:1.4em;min-height:1.4em}
.calendar-hand-mark{position:absolute;inset:-12%;width:124%;height:124%;overflow:visible;fill:none;stroke:#375b76;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transform:rotate(var(--ink-turn,0deg))}
.calendar-today .calendar-hand-mark{stroke:#99523c;stroke-width:1.5}
