@charset "UTF-8";
@font-face {
  font-family: Cormorant;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Cormorant;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Cormorant;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Cormorant;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cormorant-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Cormorant;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Cormorant;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/cormorant-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/manrope-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/manrope-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/manrope-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/manrope-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/manrope-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/manrope-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--bg:#11100e;--panel:#191714;--ink:#f3ede2;--sand:#d4b896;--gold:#c5a477;--muted:#b5a99b;--stone:#92887d;--line:#d4b89630;--serif:Cormorant,Georgia,serif;--sans:Manrope,Arial,sans-serif;--gutter:clamp(24px,6.25vw,120px);--ease:cubic-bezier(.19,1,.22,1);--header-height:100px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font:400 14px/1.85 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}figure{margin:0}p{margin:0 0 22px;color:var(--muted)}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:var(--serif);line-height:.98;letter-spacing:-.045em}h2{font-size:clamp(56px,5.8vw,92px)}h3{line-height:1.25}em{font-weight:400;color:var(--sand)}button{border:0}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--gold);outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px}::selection{background:var(--sand);color:var(--bg)}[hidden]{display:none!important}.wrap{width:100%;max-width:1800px;margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(80px,9.3vw,150px)}.eyebrow,.section-index,.tiny-label{font-size:9px;letter-spacing:.21em;font-weight:500;line-height:1.7}.eyebrow{margin-bottom:28px;color:var(--gold)}.section-index{color:var(--gold);margin-bottom:65px;display:flex;align-items:center;gap:24px}.section-index span{color:var(--stone)}.section-index::after{content:'';width:64px;height:1px;background:currentColor;opacity:.5;transform-origin:left}.lead{font-size:19px;color:var(--ink);line-height:1.65}.heading-line{display:block}.heading-line-inner{display:inline-block;max-width:100%}.heading-line em{padding-right:.06em}.button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:19px 26px;min-height:60px;background:var(--sand);color:var(--bg);font-size:11px;letter-spacing:.025em;line-height:1.6;font-weight:600;border:1px solid var(--sand);transition:background .18s,border-color .18s,color .18s;isolation:isolate}.button>span{font-family:Arial,sans-serif;font-size:23px;line-height:1;transition:transform .35s var(--ease)}.button:hover{background:var(--ink);border-color:var(--ink)}.button:hover>span{transform:translate(3px,-3px)}.button.light{background:transparent;color:var(--ink);border-color:#d4b89670}.button.light:hover{background:var(--sand);border-color:var(--sand);color:var(--bg)}.text-link{display:inline-flex;gap:40px;align-items:center;padding:12px 0;margin-top:16px;font-size:11px;position:relative}.text-link::after,.artist-site::after{content:'';position:absolute;bottom:2px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .6s var(--ease);opacity:.6}.text-link span{color:var(--gold);font-size:24px;transition:transform .4s var(--ease)}.text-link:hover::after,.artist-site:hover::after{transform:scaleX(1)}.text-link:hover span{transform:translate(4px,-4px)}.skip-link{position:fixed;left:24px;top:-100px;z-index:50;background:var(--sand);color:var(--bg);padding:12px 20px}.skip-link:focus{top:12px}
/* Navigation sits over the opening photograph; it becomes a quiet glass rail. */
.header{height:var(--header-height);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:#11100ef5;border-bottom:1px solid #d4b89618;transition:height .35s var(--ease),background .4s,border-color .4s,box-shadow .4s;isolation:isolate}.home .header{position:fixed;inset:0 0 auto;background:transparent}.header.is-scrolled,.home .header.is-scrolled{height:80px;background:#11100eeb;border-bottom-color:var(--line);backdrop-filter:blur(18px);box-shadow:0 8px 25px #00000014}.header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold);opacity:.65;transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}.wordmark{display:flex;flex-direction:column;gap:7px;flex-shrink:0}.wordmark>span{font-size:29px;line-height:1;letter-spacing:.11em;font-weight:500}.brand-sand{color:var(--gold)}.wordmark small{font-size:6px;letter-spacing:.25em;line-height:1.5}.header nav{display:flex;align-items:center;gap:34px;font-size:10px}.header nav>a{position:relative;color:#e1d7ca;min-height:44px;display:flex;align-items:center}.header nav>a:not(.nav-contact)::after{content:'';position:absolute;left:0;bottom:7px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.header nav>a:hover::after,.header nav>a[aria-current=location]::after{transform:scaleX(1)}.header .nav-contact{margin-left:20px;padding:11px 19px;border:1px solid #d4b89660;gap:32px;transition:background .3s}.nav-contact>span{font:23px/1 Arial,sans-serif;transition:transform .35s var(--ease)}.nav-contact:hover{background:#d4b89612}.nav-contact:hover>span{transform:translate(3px,-3px)}.menu-toggle{display:none}
/* Opening scene: photograph first, restrained light and fine surface grain. */
.hero{min-height:860px;height:100svh;max-height:1200px;position:relative;isolation:isolate;overflow:hidden;background:var(--bg)}.hero-image{position:absolute;right:0;top:0;width:78%;height:100%;z-index:-4;overflow:hidden}.hero-image img{height:100%;object-fit:cover;object-position:44% 52%;transform:translateY(var(--parallax,0px)) scale(1.055);will-change:auto}.hero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,#11100e 0%,#11100ef0 15%,#11100eb0 32%,#11100e22 60%,#11100e14 100%),linear-gradient(0deg,#11100e 0%,#11100e12 22%,#11100e00 60%,#11100e75 100%)}.hero-glow{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 64% 62%,#c5a47713,transparent 54%);pointer-events:none}.hero::before,.contact::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23g)' opacity='.8' d='M0 0h160v160H0z'/%3E%3C/svg%3E");z-index:-1}.sand-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.55;z-index:-1}.opening-veil{position:absolute;inset:0;background:var(--bg);pointer-events:none;opacity:0;z-index:3}.hero-content{position:relative;padding-top:clamp(160px,18vh,220px);padding-bottom:150px;z-index:1}.hero .eyebrow{display:flex;align-items:center;gap:13px;color:#dbccb8;font-size:8px;letter-spacing:.23em;margin-bottom:35px}.live-dot{width:5px;height:5px;background:var(--gold);border-radius:100%;box-shadow:0 0 0 5px #c5a4770c}.hero h1{font-size:clamp(90px,9.6vw,158px);line-height:.88;letter-spacing:-.055em;max-width:960px}.hero h1 em{white-space:nowrap;color:#e0c5a4}.hero .heading-line{padding-top:.025em;padding-bottom:.035em;margin-block:-.025em}.hero-description{font-size:12px;line-height:1.9;margin-top:34px;color:#ddd2c4}.hero-description>span{color:#b6aa9a;font-size:10px;display:inline-block;margin-top:8px}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:30px}.film-button{display:flex;gap:13px;align-items:center;background:none;font-size:10px;padding:8px 0;min-height:52px}.film-button small{color:var(--muted);font-size:8px;padding-left:5px}.play-icon{border:1px solid #d4b89660;display:grid;place-items:center;width:46px;height:46px;border-radius:100%;font-size:9px;padding-left:2px;transition:background .3s,transform .5s var(--ease)}.film-button:hover .play-icon{background:#d4b8961a;transform:scale(1.06)}.hero-bottom{position:absolute;bottom:0;inset-inline:0;height:95px;display:flex;justify-content:space-between;align-items:center;z-index:2;font-size:7px;letter-spacing:.2em}.hero-bottom>span{color:#b9aa97}.hero-bottom i{padding:0 13px;font-style:normal;color:var(--gold)}.hero-bottom a{display:flex;align-items:center;gap:28px}.hero-bottom a>span{font:25px/1 var(--sans);display:inline-block;transition:transform .4s var(--ease)}.hero-bottom a:hover>span{transform:translateY(6px)}
/* The first chapter is a luminous editorial pause. */
.intro{position:relative;background:var(--ink);color:var(--bg);max-width:none}.intro em{color:#8d663f}.intro .section-index{color:#85613d}.intro .section-index span{color:#766a5c}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center;max-width:1560px;margin-inline:auto}.intro-grid h2{margin-bottom:32px}.intro-grid p{color:#6f6458;font-size:13px;max-width:400px}.intro-grid .lead{color:#393125;font-size:17px;margin-top:30px}.intro .text-link{color:#4c3b26}.intro .text-link span{color:#997343}.intro-photo{position:relative;padding-bottom:42px}.image-viewport{overflow:hidden;position:relative}.intro-photo .image-viewport{aspect-ratio:1.03}.image-viewport img{height:100%;object-fit:cover;transform:translateY(var(--parallax,0px)) scale(1.075)}.intro-photo figcaption{position:absolute;bottom:0;inset-inline:0;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.16em;color:#77654e}.caption-words{display:flex;gap:9px;flex-wrap:wrap}.caption-words span{display:inline-block}.intro-photo figcaption>span:last-child{font:22px/1 var(--sans)}
/* Occasions read as three chapters, with offsets rather than card chrome. */
.occasions{background:var(--panel)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:65px}.section-heading>p{font-size:12px;margin:0 0 8px;max-width:330px}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}.occasion-card{display:block;min-width:0}.occasion-card:nth-child(2){margin-top:68px}.occasion-card:nth-child(3){margin-top:136px}.card-image{overflow:hidden;position:relative;aspect-ratio:.85;background:#241e17}.card-image img{height:100%;object-fit:cover;transform:translate(var(--image-x,0px),var(--image-y,0px)) scale(1.05);filter:saturate(.72);transition:transform .8s var(--ease),filter .6s}.occasion-card:nth-child(1) img{object-position:53% 65%}.occasion-card:nth-child(2) img{object-position:56% 50%}.occasion-card:nth-child(3) img{object-position:57% 50%}.occasion-card:hover img{transform:translate(var(--image-x,0px),var(--image-y,0px)) scale(1.085);filter:saturate(1)}.round-arrow{position:absolute;right:20px;bottom:20px;width:46px;height:46px;border-radius:100%;background:var(--ink);color:var(--bg);font:25px/1 var(--sans);display:grid;place-items:center;transition:transform .4s var(--ease),background .3s}.occasion-card:hover .round-arrow{transform:translate(3px,-3px);background:var(--sand)}.card-title{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:26px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.card-title::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(.12);transform-origin:left;transition:transform .7s var(--ease)}.card-title h3{font-family:var(--serif);font-size:35px;letter-spacing:-.03em;transition:transform .5s var(--ease)}.card-title>span{font-size:9px;color:var(--gold)}.occasion-card:hover .card-title::after{transform:scaleX(1)}.occasion-card:hover h3{transform:translateX(4px)}.occasion-card>p{font-size:11px;line-height:1.9;max-width:310px;margin-bottom:0}
/* Artist portrait and biography. */
.artist{display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:center;position:relative}.artist-photo{position:relative;padding-right:0}.artist-photo .image-viewport{aspect-ratio:.74;max-height:760px}.artist-photo img{object-position:50% 55%}.photo-note{position:absolute;right:-32px;top:25%;writing-mode:vertical-rl;font-size:7px;letter-spacing:.18em;color:var(--stone)}.artist-copy .section-index{margin-bottom:45px}.artist-copy h2{font-size:clamp(72px,7.8vw,124px);line-height:.85;margin-bottom:40px}.artist-copy p:not(.lead){max-width:400px;font-size:12px}.artist-copy .lead{font-size:15px;color:#d5cbbd;max-width:420px}.signature{display:block;font-family:var(--serif);font-size:66px;font-style:italic;color:var(--gold);transform:rotate(-9deg);margin:40px 0 0 12px;max-width:170px;letter-spacing:-4px}
/* Seven photographs, composed as one exhibition wall. */
.gallery{background:#211e19;border-block:1px solid var(--line)}.gallery-hint{font-size:8px;letter-spacing:.16em;color:var(--muted);display:flex;gap:30px;align-items:center}.gallery-hint>span{font:25px/1 var(--sans)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:280px 280px 380px;gap:20px}.gallery-item{position:relative;padding:0;background:#2c261f;overflow:hidden;text-align:left;min-width:0;isolation:isolate}.gallery-item img{height:100%;object-fit:cover;transform:scale(1.015);transition:transform 1s var(--ease),filter .7s;filter:saturate(.75)}.gallery-item:hover img{transform:scale(1.05);filter:saturate(1)}.gallery-item>span{position:absolute;bottom:0;left:0;right:0;padding:55px 20px 20px;background:linear-gradient(transparent,#000b);font-size:10px;display:flex;justify-content:space-between;gap:10px;transition:padding .5s var(--ease)}.gallery-item>span>span{font-size:20px;line-height:1;transition:transform .4s var(--ease)}.gallery-item:hover>span{padding-bottom:25px}.gallery-item:hover>span>span{transform:translate(2px,-2px)}.gallery-item-0{grid-column:1/5;grid-row:1}.gallery-item-1{grid-column:5/10;grid-row:1/3}.gallery-item-1 img{object-position:40% 50%}.gallery-item-2{grid-column:10/13;grid-row:1}.gallery-item-3{grid-column:1/5;grid-row:2}.gallery-item-4{grid-column:10/13;grid-row:2}.gallery-item-5{grid-column:1/9;grid-row:3}.gallery-item-6{grid-column:9/13;grid-row:3}.gallery-item-6 img{object-position:50% 40%}.gallery-credit{font-size:9px;text-align:right;margin:25px 0 0;color:#b0a493}
/* An ivory intermission; a single fine timeline moves with the story. */
.process{background:var(--ink);color:var(--bg);max-width:none}.process h2 em{color:#936a3c}.process .eyebrow{color:#85613d}.process .section-heading>p{color:#6f6252}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #8b745a40;position:relative}.process-grid::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:#997343;transform:scaleX(var(--timeline-progress,1));transform-origin:left}.process-grid article{padding:36px 48px 0 0;position:relative}.process-grid article::before{content:'';position:absolute;top:-3px;left:0;width:5px;height:5px;background:#a17e50;border-radius:100%}.process-grid article+article{padding-left:36px}.process-grid article+article::before{left:36px}.process-grid article>span{font-family:var(--serif);font-size:53px;color:#a67d4a;font-style:italic;line-height:1}.process-grid h3{font-size:14px;margin:26px 0 16px;color:#3c3327}.process-grid p{font-size:11px;max-width:290px;margin-bottom:0;color:#756958}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:10%;border-bottom:1px solid var(--line)}.faq>div>p:last-child{font-size:12px;margin-top:30px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:26px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px;transition:color .2s}.faq-list summary:hover{color:var(--sand)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{position:relative;font-size:0;width:17px;height:17px;flex-shrink:0}.faq-list summary>span::before,.faq-list summary>span::after{content:'';position:absolute;top:8px;left:2px;width:13px;height:1px;background:var(--gold);transition:transform .35s var(--ease)}.faq-list summary>span::after{transform:rotate(90deg)}.faq-list details[open] summary>span::after,.faq-list summary[aria-expanded=true]>span::after{transform:rotate(0)}.faq-list details[open] summary[aria-expanded=false]>span::after{transform:rotate(90deg)}.faq-list .faq-answer p{font-size:12px;padding:0 40px 22px 0;margin:0;line-height:1.9}.faq-answer{display:flow-root}
/* Closing scene. All decoration remains behind the actual contact actions. */
.contact{position:relative;isolation:isolate;overflow:hidden;background:#191714;padding-block:150px}.contact-glow{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 70% 90%,#a1733c28,transparent 63%),linear-gradient(110deg,#191714,#11100e)}.contact::after{z-index:-1}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center;position:relative}.contact .eyebrow{font-size:8px;color:var(--gold)}.contact h2{font-size:clamp(80px,9.7vw,152px);line-height:.88;margin-bottom:38px}.contact h2 em{color:var(--sand)}.contact p{font-size:12px;color:#b9ad9d}.contact .button{margin-top:18px}.contact-details{padding-top:45px}.tiny-label{color:var(--stone);font-size:8px;display:block;margin-bottom:23px}.contact-details>a:not(.artist-site){position:relative;display:flex;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:clamp(28px,3vw,46px);letter-spacing:-.025em;padding:18px 0;border-bottom:1px solid var(--line);transition:color .3s}.contact-details>a:not(.artist-site)::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}.contact-details>a:hover::after{transform:scaleX(1)}.contact-details>a:hover{color:var(--sand)}.contact-details>a>span{font:26px/1 var(--sans);color:var(--gold);align-self:center;transition:transform .4s var(--ease)}.contact-details>a:hover>span{transform:translate(4px,-4px)}.contact-details>p{font-size:10px;margin:24px 0 38px}.contact-details>p>span{padding:0 9px}.artist-site{font-size:10px;display:inline-flex;gap:20px;align-items:center;position:relative;padding-bottom:8px}.artist-site>span{font:23px/1 var(--sans)}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:40px;border-top:1px solid var(--line)}.footer-logo{font-size:21px;letter-spacing:.1em}.footer-logo>span{color:var(--gold)}.footer>p{margin:0;font-family:var(--serif);font-style:italic;font-size:21px;color:var(--stone)}.footer>div{display:flex;align-items:center;gap:28px;font-size:8px;color:var(--muted)}.footer a:hover{color:var(--sand)}
/* Native dialogs retain focus trapping, Escape and no-JavaScript content. */
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}dialog{border:1px solid #d4b89640;background:var(--panel);color:var(--ink);padding:38px;max-height:90svh;max-width:650px;width:calc(100% - 32px);overscroll-behavior:contain}dialog::backdrop{background:#080706e8;backdrop-filter:blur(8px)}dialog h2{font-size:46px;line-height:1.05;margin-bottom:20px}dialog .eyebrow{margin:0}.close{background:transparent;color:var(--ink);font:30px/1 var(--sans);width:44px;height:44px;flex-shrink:0;border-radius:50%;transition:background .2s}.close:hover{background:#d4b89618}.dialog-intro{font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form label{font-size:10px;display:block;margin-bottom:18px}input,select,textarea{color:var(--ink);background:var(--bg);border:1px solid #d4b89640;width:100%;padding:12px;margin-top:8px;border-radius:0;min-width:0;font-size:13px}input,select{min-height:48px;color-scheme:dark}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a59886}.form-note{font-size:10px;line-height:1.7;margin:10px 0 22px}#booking-form>.button{width:100%}#message-result h3{font-size:16px}#message-preview{font-size:12px;margin:16px 0 20px}#email-draft{width:100%}.draft-tools{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0}.draft-tools button{background:none;border-bottom:1px solid var(--sand);padding:6px 0;font-size:11px;color:var(--sand);min-height:40px}#lightbox{max-width:none;width:100%;height:100dvh;max-height:100dvh;margin:0;inset:0;border:0;background:#11100efc;padding:65px 50px 24px;overflow:hidden}#lightbox>.close{position:absolute;top:12px;right:20px;z-index:2}.lightbox-stage{height:calc(100% - 70px);display:flex;align-items:center;justify-content:center}#lightbox-image{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;touch-action:pan-y;user-select:none;-webkit-user-drag:none}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1100px;margin:18px auto 0;min-height:44px}.lightbox-bottom p{font-size:11px;margin:0;text-align:center}.lightbox-bottom button{background:none;font:26px/1 var(--sans);width:44px;height:44px;flex-shrink:0;transition:color .2s}.lightbox-bottom button:hover{color:var(--sand)}#film{max-width:1000px}#film iframe{width:100%;display:block;aspect-ratio:16/9;max-height:65svh;border:0;background:#000}#film p{font-size:10px;margin:16px 0 0}
/* Existing service and legal routes follow the same exhibition system. */
.service-hero{padding-top:45px;padding-bottom:110px}.back-link{font-size:10px;color:var(--muted);display:inline-flex;align-items:center;min-height:44px;margin-bottom:45px}.back-link:hover{color:var(--sand)}.service-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center}.service-hero h1{font-size:clamp(64px,6.6vw,106px);margin-bottom:35px}.service-hero .lead{font-size:15px;max-width:480px;margin-bottom:30px;color:var(--muted)}.service-hero figure{aspect-ratio:.95}.service-detail{background:var(--ink);color:var(--bg);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10%}.service-detail .eyebrow{color:#85613d}.service-detail h2{font-size:56px;margin-bottom:30px}.service-detail p{font-size:13px;max-width:550px;color:#756858}.service-detail h3{font-size:32px;margin-bottom:28px;font-family:var(--serif)}.service-detail ol{margin:0;padding-left:20px;color:#756858;font-size:13px}.service-detail li{padding-left:9px;margin-bottom:20px}.service-detail .service-note{font-size:11px;border-top:1px solid #8f775c40;padding-top:22px;margin:28px 0 0}.other-services{display:flex;gap:35px;flex-wrap:wrap;align-items:center;padding-block:50px;border-top:1px solid var(--line)}.other-services .eyebrow{margin:0 auto 0 0}.other-services>a{font-size:12px;border-bottom:1px solid var(--line);padding:12px 0;display:flex;gap:25px}.other-services>a:hover{color:var(--sand)}.legal{max-width:1100px;min-height:65vh}.legal h1{font-size:95px;margin-bottom:50px}.legal h2{font-size:40px;margin:40px 0 20px}.legal p{max-width:760px;font-size:13px}.legal a:not(.button){color:var(--sand)}
@media(min-width:1800px){.hero-content{padding-top:20vh}.hero h1{font-size:170px}.hero-description{font-size:14px}.hero-description>span{font-size:11px}.hero-actions{margin-top:36px}.gallery-grid{grid-template-rows:350px 350px 470px}}
@media(max-width:1150px){.header nav{gap:22px}.header .nav-contact{margin-left:6px;gap:20px}.hero{min-height:850px}.hero h1{font-size:118px}.hero-content{padding-top:185px}.hero-image{width:85%}.section{padding-block:100px}.occasion-grid{gap:24px}.card-title h3{font-size:30px}.gallery-grid{grid-template-rows:225px 225px 310px;gap:16px}.artist{gap:10%}.artist-copy h2{font-size:100px}.contact-grid{gap:8%}.process-grid article{padding-right:25px}.contact{padding-block:120px}}
@media(max-width:900px){:root{--header-height:90px}.header nav{gap:17px;font-size:9px}.header .nav-contact{gap:15px;padding-inline:13px}.wordmark>span{font-size:25px}.hero{min-height:820px}.hero h1{font-size:105px}.hero-content{padding-top:175px}.hero-shade{background:linear-gradient(90deg,#11100e 0%,#11100ee8 12%,#11100e95 44%,#11100e10 100%),linear-gradient(0deg,#11100e,transparent 32%)}.intro-grid{gap:7%;grid-template-columns:1fr 1fr}.intro-grid h2{font-size:58px}.intro-grid p{font-size:12px}.intro-grid .lead{font-size:15px}.section-index{margin-bottom:45px}.section-heading>p{font-size:11px;max-width:240px}.card-title h3{font-size:28px}.occasion-card:nth-child(2){margin-top:40px}.occasion-card:nth-child(3){margin-top:80px}.round-arrow{width:39px;height:39px;right:14px;bottom:14px}.occasion-card>p{font-size:10px}.card-title{gap:10px}.artist-copy h2{font-size:86px}.artist-copy .lead{font-size:13px}.artist-copy p:not(.lead){font-size:11px}.photo-note{right:-25px;font-size:6px}.gallery-grid{grid-template-rows:190px 190px 280px;gap:12px}.gallery-item>span{padding:40px 12px 14px;font-size:9px}.gallery-item>span>span{font-size:18px}.faq{gap:7%;grid-template-columns:1fr 1.25fr}.contact-details>a:not(.artist-site){font-size:32px}.contact-grid{gap:7%}.contact h2{font-size:100px}.footer{flex-wrap:wrap}.footer>p{font-size:18px}.service-hero h1{font-size:70px}}
@media(max-width:700px){:root{--gutter:24px;--header-height:82px}html{scroll-padding-top:90px}body{font-size:14px}.header,.header.is-scrolled,.home .header.is-scrolled{height:82px}.header{padding-inline:24px}.home .header{background:linear-gradient(#11100ebf,#11100e00)}.wordmark>span{font-size:25px}.wordmark{gap:6px}.wordmark small{font-size:6px}.menu-toggle{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;width:46px;height:46px;background:transparent;z-index:2}.menu-toggle span{height:1px;width:25px;background:var(--ink);transition:transform .4s var(--ease)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:flex;visibility:hidden;position:absolute;top:81px;left:0;right:0;background:#191714fc;border-bottom:1px solid var(--line);padding:25px 24px 35px;align-items:stretch;flex-direction:column;gap:0;font-size:15px;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .35s,transform .45s var(--ease),visibility .35s;box-shadow:0 30px 40px #0005}.header nav.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto}.header nav>a{padding:14px 0;min-height:53px;transform:translateY(-6px);transition:transform .5s var(--ease)}.header nav.is-open>a{transform:none}.header nav>a:nth-child(2){transition-delay:30ms}.header nav>a:nth-child(3){transition-delay:60ms}.header nav>a:nth-child(4){transition-delay:90ms}.header .nav-contact{padding:14px 18px;justify-content:space-between;margin:18px 0 0}.header nav>a:not(.nav-contact)::after{bottom:10px;width:35px}.hero{min-height:900px;height:100svh;max-height:1080px}.hero-image{width:100%;height:67%;top:auto;bottom:0}.hero-image img{object-position:43% 50%}.hero-shade{background:linear-gradient(180deg,#11100e 0%,#11100e 24%,#11100ed4 39%,#11100e40 59%,#11100e08 78%,#11100e 100%)}.hero-content{padding-top:130px;padding-bottom:100px}.hero .eyebrow{font-size:7px;letter-spacing:.17em;gap:11px;margin-bottom:35px}.hero h1{font-size:clamp(64px,14vw,93px);line-height:.93;letter-spacing:-.052em}.hero h1 em{white-space:nowrap}.hero-description{margin-top:30px;font-size:11px;max-width:290px}.hero-description>span{font-size:9px;max-width:260px}.hero-actions{margin-top:24px;gap:20px;flex-wrap:wrap}.button{font-size:10px;padding:17px 20px;min-height:55px;gap:28px}.film-button{font-size:9px;gap:9px}.play-icon{width:40px;height:40px}.film-button small{display:none}.hero-bottom{height:75px;font-size:6px;letter-spacing:.14em}.hero-bottom>a{font-size:0;gap:0;min-width:44px;min-height:44px;justify-content:flex-end}.hero-bottom>a>span{font-size:25px}.hero-bottom i{padding-inline:9px}.section{padding-block:76px}.section-index{margin-bottom:38px;font-size:8px;gap:20px}.section-index::after{width:40px}.eyebrow{font-size:8px}.section-heading{display:block;margin-bottom:40px}h2{font-size:clamp(51px,10vw,70px);line-height:.99;letter-spacing:-.045em}.intro-grid{grid-template-columns:1fr;gap:42px}.intro-grid h2{font-size:clamp(50px,10vw,68px);margin-bottom:28px}.intro-grid p{font-size:13px;max-width:100%}.intro-grid .lead{font-size:16px;margin-top:27px}.intro-photo .image-viewport{aspect-ratio:1.04}.intro-photo figcaption{font-size:7px}.caption-words{gap:7px}.section-heading>p{margin:24px 0 0;max-width:330px;font-size:12px}.occasion-grid{grid-template-columns:1fr;gap:42px}.occasion-card:nth-child(n){margin-top:0}.card-image{aspect-ratio:.98}.card-title{padding-top:24px;padding-bottom:18px;margin-bottom:15px}.card-title h3{font-size:36px}.card-title>span{font-size:9px}.occasion-card>p{font-size:12px;max-width:100%}.round-arrow{width:44px;height:44px;right:18px;bottom:18px}.artist{grid-template-columns:1fr;gap:45px}.artist-photo .image-viewport{aspect-ratio:.85;max-height:650px}.photo-note{display:none}.artist-copy .section-index{margin-bottom:34px}.artist-copy h2{font-size:clamp(80px,17vw,115px);line-height:.9;margin-bottom:30px}.artist-copy .lead{font-size:15px}.artist-copy p:not(.lead){font-size:13px;max-width:100%}.signature{font-size:61px;margin:32px 0 0 10px}.gallery-hint{margin-top:25px;justify-content:space-between;font-size:7px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:200px 240px 210px 260px;gap:12px}.gallery-item-0{grid-column:1;grid-row:1}.gallery-item-1{grid-column:2;grid-row:1/3}.gallery-item-2{grid-column:1;grid-row:2}.gallery-item-3{grid-column:1;grid-row:3}.gallery-item-4{grid-column:2;grid-row:3}.gallery-item-5{grid-column:1;grid-row:4}.gallery-item-6{grid-column:2;grid-row:4}.gallery-item>span{font-size:8px;padding:35px 10px 12px;line-height:1.5}.gallery-item>span>span{font-size:15px;flex-shrink:0}.gallery-credit{text-align:left;font-size:8px;line-height:1.8}.process-grid{grid-template-columns:1fr;border-top:0;position:relative;padding-left:8px}.process-grid::before{width:1px;height:100%;top:0;bottom:0;left:8px;right:auto;transform:scaleY(var(--timeline-progress,1));transform-origin:top}.process-grid article,.process-grid article+article{padding:0 0 35px 26px;display:grid;grid-template-columns:48px 1fr;gap:0 14px}.process-grid article:last-child{padding-bottom:0}.process-grid article::before,.process-grid article+article::before{left:-2px;top:12px}.process-grid article>span{grid-row:1/3;font-size:42px;line-height:1}.process-grid h3{margin:4px 0 12px;font-size:13px}.process-grid p{grid-column:2;font-size:11px;max-width:none}.faq{grid-template-columns:1fr;gap:30px}.faq>div>p:last-child{margin:24px 0 0;font-size:12px}.faq-list summary{font-size:12px;padding:24px 0;min-height:70px}.faq-list .faq-answer p{font-size:12px;padding:0 20px 23px 0}.contact{padding-block:95px}.contact-grid{grid-template-columns:1fr;gap:65px}.contact h2{font-size:clamp(80px,18vw,110px);line-height:.9;margin-bottom:30px}.contact p{font-size:12px}.contact .eyebrow{font-size:7px;letter-spacing:.17em}.contact-details{padding-top:0}.contact-details>a:not(.artist-site){font-size:34px;padding-block:18px}.contact-details>p{font-size:9px}.tiny-label{font-size:8px}.footer{padding-block:32px;gap:22px}.footer>p{display:none}.footer-logo{font-size:21px}.footer>div{width:100%;margin:0;justify-content:space-between;font-size:8px;gap:15px}.service-hero{padding-top:25px;padding-bottom:65px}.back-link{margin-bottom:30px}.service-hero-grid{grid-template-columns:1fr;gap:40px}.service-hero h1{font-size:62px}.service-hero .eyebrow{font-size:7px}.service-hero .lead{font-size:14px}.service-hero figure{aspect-ratio:1.1}.service-detail{grid-template-columns:1fr;gap:40px}.service-detail h2{font-size:48px}.service-detail p,.service-detail ol{font-size:12px}.other-services{align-items:stretch;flex-direction:column;gap:15px;padding-block:40px}.other-services .eyebrow{margin-bottom:10px}.other-services>a{justify-content:space-between;min-height:44px}.legal h1{font-size:68px}.legal h2{font-size:34px}.legal p{font-size:12px}dialog{padding:24px 20px}dialog h2{font-size:40px}.form-row{grid-template-columns:1fr;gap:0}#lightbox{padding:65px 12px 16px}.lightbox-bottom{gap:9px}.lightbox-bottom p{font-size:9px;line-height:1.6}.lightbox-bottom button{width:44px;height:44px}.lightbox-stage{height:calc(100% - 75px)}#film p{font-size:9px}}
@media(max-width:360px){.hero h1{font-size:58px}.hero .eyebrow{letter-spacing:.1em}.hero-actions{gap:14px}.button{gap:20px;padding-inline:17px}.film-button{gap:8px;font-size:8px}.play-icon{width:36px;height:36px}.gallery-grid{gap:9px;grid-template-rows:180px 210px 190px 230px}.contact-details>a:not(.artist-site){font-size:30px}.contact-details>p>span{padding-inline:4px}.card-title h3{font-size:32px}.intro-photo figcaption{font-size:6px}.caption-words{gap:6px}}
@media(hover:none){.button{translate:none!important}.gallery-item img,.card-image img{filter:none}.gallery-item>span{opacity:1}.occasion-card:hover h3{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.opening-veil,.sand-canvas{display:none!important}.hero-image img,.image-viewport img,.card-image img,.gallery-item img{transform:none!important}.button{translate:none!important}.process-grid::before{transform:none!important}}
/* With scripting disabled, mobile navigation and contact links stay available. */
@media print{.header,.sand-canvas,.hero-glow,.opening-veil,dialog,.hero-actions{display:none!important}body,.section,.hero,.contact{background:white!important;color:black!important}.hero{min-height:0;height:auto}.hero-content{padding-block:40px}.hero-image{display:none}p,em{color:#333!important}}
/* Comfortable reading sizes; display scale is carried by the serif headings. */
@media(min-width:701px){.hero-description{font-size:14px}.hero-description>span{font-size:11px}.intro-grid p,.artist-copy p:not(.lead),.service-detail p,.service-detail ol{font-size:14px}.occasion-card>p,.process-grid p,.faq-list .faq-answer p,.contact p{font-size:13px}.faq-list summary{font-size:14px}.contact-details>p{font-size:11px}}


.subpage .header.is-scrolled{height:var(--header-height)}

.artist-site,.footer a{min-height:44px;display:inline-flex;align-items:center}.draft-tools button{min-height:44px}
.artist-copy{min-width:0}
@media(max-width:360px){.artist-copy h2{font-size:70px}.hero h1{font-size:52px}}

/* Clear controls: steady position, readable labels and a restrained colour change. */
.button,.button.light{
  justify-content:center;gap:0;padding:17px 28px;min-height:56px;
  border:1px solid var(--gold);border-radius:8px;background:var(--gold);
  color:var(--bg);font-size:16px;font-weight:600;letter-spacing:0;line-height:1.5;
  translate:none;transform:none;transition:background .18s,border-color .18s,color .18s;
}
.button:hover,.button.light:hover{background:#d0b18a;border-color:#d0b18a;color:var(--bg);translate:none;transform:none}
.button:active,.button.light:active{background:#b79568;border-color:#b79568;translate:none;transform:none}
.header nav{font-size:16px;gap:27px}
.header .nav-contact{font-size:15px;border-radius:8px;padding:11px 20px;margin-left:10px;justify-content:center}
.wordmark small{font-size:9px;letter-spacing:.15em}
.text-link,.artist-site{font-size:15px;gap:0}
.film-button{font-size:15px;gap:12px}
.film-button small{font-size:12px}
.film-button:hover .play-icon{transform:none}
.hero-image img{scale:-1 1}
.hero-description{font-size:16px}
.hero-description>span{font-size:14px}
.hero .eyebrow{font-size:11px;letter-spacing:.14em}
.hero-bottom{font-size:11px;letter-spacing:.12em}
.hero-bottom a{font-size:11px;min-height:44px}
.eyebrow,.section-index,.tiny-label{font-size:11px;letter-spacing:.15em}
.section-index span{font-size:11px}
.intro-grid p,.artist-copy p:not(.lead),.service-detail p,.service-detail ol{font-size:16px}
.section-heading>p,.occasion-card>p,.process-grid p,.faq-list .faq-answer p,.contact p{font-size:15px}
.faq-list summary{font-size:16px}
.process-grid h3{font-size:16px}
.intro-photo figcaption{font-size:12px;letter-spacing:.08em}
.intro-photo figcaption>.caption-words{font-size:12px}
.photo-note{font-size:11px;letter-spacing:.09em}
.gallery-hint{font-size:12px}
.gallery-item>span{font-size:16px;line-height:1.5;padding:65px 20px 18px;background:linear-gradient(transparent,#000e)}
.gallery-item:hover>span{padding-bottom:18px}
.gallery-credit{font-size:12px}
.contact .eyebrow{font-size:11px;letter-spacing:.12em}
.contact-details>p{font-size:14px}
.contact .tiny-label{font-size:12px}
.contact .button{min-width:240px}
.footer>div{font-size:12px}
.lightbox-bottom p{font-size:14px}
.lightbox-bottom button{width:auto;min-width:110px;padding:10px 15px;border:1px solid var(--line);border-radius:6px;font:500 14px/1.5 var(--sans)}
.lightbox-bottom button:hover{background:#d4b89615}
.back-link,.other-services>a{font-size:15px}
.dialog-intro{font-size:15px}
form label{font-size:14px}
input,select,textarea{font-size:16px}
.form-note{font-size:12px}
#message-preview{font-size:14px}
.draft-tools button{font-size:14px}
#film p{font-size:13px}
@media(max-width:1100px) and (min-width:1001px){.header nav{gap:18px;font-size:15px}.header .nav-contact{font-size:14px;margin-left:0;padding-inline:16px}}
@media(max-width:1000px){
  .menu-toggle{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;width:46px;height:46px;background:transparent;z-index:2}
  .menu-toggle span{height:1px;width:25px;background:var(--ink);transition:transform .25s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .header nav{display:flex;visibility:hidden;position:absolute;top:100%;left:0;right:0;background:#191714fc;border-bottom:1px solid var(--line);padding:24px var(--gutter) 30px;align-items:stretch;flex-direction:column;gap:0;font-size:18px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .25s,visibility .2s;box-shadow:0 25px 35px #0005}
  .header nav.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto}
  .header nav>a{padding:13px 0;min-height:52px}
  .header .nav-contact{font-size:17px;padding:13px 20px;justify-content:center;margin:15px 0 0}
  .header nav>a:not(.nav-contact)::after{bottom:9px;width:35px}
}
@media(max-width:700px){
  .button,.button.light{font-size:15px;padding:16px 22px;min-height:54px}
  .hero-actions{gap:18px;align-items:center}
  .film-button{font-size:14px;gap:10px}
  .play-icon{width:40px;height:40px;flex-shrink:0}
  .hero-description{font-size:15px;max-width:100%;margin-top:27px}
  .hero-description>span{font-size:13px;max-width:100%}
  .hero .eyebrow{font-size:10px;letter-spacing:.1em}
  .hero-bottom{font-size:9px;letter-spacing:.07em;gap:10px}
  .hero-bottom i{padding-inline:5px}
  .hero-bottom a{font-size:11px;justify-content:flex-end;max-width:95px;line-height:1.5;text-align:right}
  .section-heading>p,.intro-grid p,.artist-copy p:not(.lead),.occasion-card>p,.faq-list .faq-answer p,.contact p,.service-detail p,.service-detail ol{font-size:15px}
  .eyebrow,.section-index,.section-index span{font-size:11px}
  .intro-photo figcaption,.intro-photo figcaption>.caption-words{font-size:11px;letter-spacing:.04em}
  .caption-words{gap:6px}
  .gallery-hint{font-size:11px}
  .gallery-item>span{font-size:14px;padding:60px 12px 14px}
  .gallery-item:hover>span{padding-bottom:14px}
  .gallery-credit{font-size:11px}
  .process-grid h3{font-size:15px}
  .process-grid p{font-size:14px}
  .faq-list summary{font-size:15px}
  .contact .eyebrow{font-size:10px}
  .contact-details>p{font-size:13px}
  .footer>div{font-size:12px}
  .lightbox-bottom{flex-wrap:wrap;justify-content:space-between}
  .lightbox-bottom p{order:-1;width:100%;font-size:12px}
  .lightbox-bottom button{font-size:13px;min-width:105px}
  .lightbox-stage{height:calc(100% - 115px)}
  .service-hero .eyebrow{font-size:10px}
  .service-hero .lead{font-size:16px}
  .legal p{font-size:15px}
}
.intro-photo figcaption>span.caption-words:last-child{font:500 12px/1.6 var(--sans);letter-spacing:.08em}
@media(max-width:700px){.intro-photo figcaption>span.caption-words:last-child{font-size:11px;letter-spacing:.04em}}

/* Single-line wordmark from the supplied reference. */
.wordmark{white-space:nowrap}.wordmark>span{font-weight:400;letter-spacing:.08em}.brand-sand{color:var(--gold)}
@media(max-width:700px){.wordmark>span{font-size:22px;letter-spacing:.055em}}

/* A single quiet sand texture, kept away from the contact copy. */
.contact-glow{
  background-color:#191714;
  background-image:
    linear-gradient(90deg,#191714 0%,#191714ed 30%,#19171499 65%,#19171466 100%),
    linear-gradient(180deg,#191714 0%,#191714a0 40%,#19171433 100%),
    url('/images/natural-sand-glass.webp');
  background-size:cover;
  background-position:center bottom;
  background-repeat:no-repeat;
}
.contact::after{opacity:.018}
@media(max-width:700px){
  .contact-glow{
    background-image:
      linear-gradient(90deg,#191714c9,#19171450),
      linear-gradient(180deg,#191714 45%,#191714d9 65%,#19171450 100%),
      url('/images/natural-sand-glass.webp');
    background-size:cover,cover,auto 48%;
    background-position:center,center,right bottom;
  }
}

/* A compact painting rail spanning the artist section. */
.painting-preview{grid-column:1 / -1;min-width:0;width:100%;max-width:100%;margin:36px 0 0}
.painting-track{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:3px;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;user-select:none}
.painting-track.is-dragging{cursor:grabbing}
.painting-thumb{display:block;flex:0 0 auto;height:112px;width:calc(112px * var(--painting-ratio));border-radius:3px;overflow:hidden;cursor:inherit}
.painting-thumb img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(.68) saturate(.85);transition:filter .3s ease;pointer-events:none}
.painting-thumb:hover img,.painting-thumb:focus-visible img{filter:brightness(1) saturate(1)}
.painting-track:focus-visible,.painting-thumb:focus-visible{outline:1px solid var(--gold);outline-offset:2px}
@media(max-width:700px){.painting-preview{margin-top:24px}.painting-thumb{height:100px;width:calc(100px * var(--painting-ratio))}}
@media(prefers-reduced-motion:reduce){.painting-thumb img{transition:none}}

.painting-track::-webkit-scrollbar{display:none}

/* Contact information uses clear UI typography over a quiet backing. */
.contact-details{padding:30px clamp(22px,2.5vw,40px);background:#141310ed;border:1px solid #e8ddcc20;border-radius:12px}
.contact .contact-details .tiny-label{font:600 13px/1.5 var(--sans);letter-spacing:.12em;color:#d7c4a8;margin-bottom:16px}
.contact-details>a:not(.artist-site){font-family:var(--sans);font-size:clamp(24px,2.35vw,36px);font-weight:600;line-height:1.45;letter-spacing:0;color:#faf5eb;padding-block:20px;border-bottom-color:#e8ddcc38}
.contact .contact-details>p{font-size:16px;line-height:1.7;color:#ded7cc;margin:24px 0}
.contact-details .artist-site{font:500 16px/1.6 var(--sans);color:#f4eee4;padding-block:8px}
@media(max-width:700px){
  .contact-details{padding:24px 20px}
  .contact-details>a:not(.artist-site){font-size:clamp(21px,5.8vw,30px);padding-block:18px}
  .contact .contact-details>p{font-size:15px}
  .contact-details>p>span{padding-inline:4px}
}
.artist{row-gap:36px}
.artist>.painting-preview{margin-top:0}
.painting-belt{display:flex;gap:12px;width:max-content;will-change:transform}
.artist{row-gap:24px}
.artist{isolation:isolate}
.artist>.signature{position:absolute;right:24px;bottom:24px;width:clamp(600px,84vw,1080px);max-width:none;height:auto;aspect-ratio:500 / 427;margin:0;transform:none;background:var(--gold);mask:url('/images/tigran-podpis.png') center / contain no-repeat;opacity:.07;pointer-events:none;z-index:-1}
@media(max-width:700px){.artist>.signature{right:12px;bottom:18px;width:600px;opacity:.06}}

.contact-details>a[href^="tel:"]{color:var(--gold)}
.contact-details>a[href^="tel:"]:hover{color:#d0b18a}

/* A single, generous play control beside the booking action. */
.film-button{padding:0;min-height:64px;min-width:64px;border-radius:50%;justify-content:center;color:var(--gold)}
.film-button .play-icon{width:64px;height:64px;padding:0;border:1px solid var(--gold);background:#11100e40;transition:background .18s,border-color .18s}
.play-icon svg{width:27px;height:27px;fill:currentColor}
.film-button:hover .play-icon{background:#c5a47720;border-color:#d0b18a;transform:none}

/* Enquiry controls and native scrollbars share the site's dark palette. */
html,dialog,textarea{scrollbar-color:var(--sand) #211e19;scrollbar-width:thin;color-scheme:dark}
html::-webkit-scrollbar,dialog::-webkit-scrollbar,textarea::-webkit-scrollbar{width:10px;height:10px}
html::-webkit-scrollbar-track,dialog::-webkit-scrollbar-track,textarea::-webkit-scrollbar-track{background:#211e19}
html::-webkit-scrollbar-thumb,dialog::-webkit-scrollbar-thumb,textarea::-webkit-scrollbar-thumb{background:#a98a61;border:2px solid #211e19;border-radius:8px}
html::-webkit-scrollbar-thumb:hover,dialog::-webkit-scrollbar-thumb:hover,textarea::-webkit-scrollbar-thumb:hover{background:var(--sand)}
textarea::-webkit-resizer{background:#211e19}
#booking{max-height:90dvh}
#booking-form label,.form-row{min-width:0}
#booking-form input,#booking-form select,#booking-form textarea{box-sizing:border-box;max-width:100%;min-width:0;display:block}
#booking-form input,#booking-form select{height:50px;line-height:1.4}
.booking-contact{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:16px 0;margin-bottom:24px;border-block:1px solid var(--line)}
.booking-contact>span{width:100%;font-size:12px;color:var(--muted)}
.booking-contact a{font-size:18px;color:var(--sand);text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
.booking-contact a:hover{color:var(--ink)}
.sender-contact{border:0;margin:8px 0 0;padding:0;min-width:0}
.sender-contact legend{font-size:18px;margin-bottom:16px}
.sender-contact .form-note{margin:0 0 12px}
.date-control{display:flex;position:relative;min-width:0;margin-top:8px}
#booking-form .date-control>input{margin:0;padding-right:52px}
.date-picker{position:absolute;right:1px;top:1px;bottom:1px;width:48px;display:grid;place-items:center;color:var(--sand);font-size:26px;border-left:1px solid var(--line)}
#booking-form .date-picker input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
.date-picker:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.draft-tools button{width:44px;height:44px;padding:10px;border:1px solid var(--sand);border-radius:4px;display:grid;place-items:center}
.draft-tools button:hover{background:#d4b89618}
.draft-tools svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){
  #booking{padding:20px 16px;width:calc(100% - 24px)}
  #booking .dialog-head{margin-bottom:18px}
  #booking h2{font-size:clamp(32px,8vw,40px)}
  #booking .dialog-intro{font-size:14px;line-height:1.65}
  .booking-contact{gap:0 16px;margin-bottom:20px}
  .booking-contact a{font-size:16px}
  #booking-form .form-row{grid-template-columns:minmax(0,1fr);gap:0}
  #booking-form select{padding-right:24px}
  #film{width:calc(100% - 16px);padding:12px;max-height:calc(100dvh - 24px)}
  #film .dialog-head{gap:12px;margin-bottom:12px;align-items:center}
  #film h2{font-size:clamp(24px,6vw,32px);margin:0;letter-spacing:-.025em}
  #film .close{width:44px;height:44px;min-width:44px;font-size:26px;border:0;padding:0}
  #film iframe{aspect-ratio:16/9;max-height:none}
}
@media(max-width:900px) and (orientation:landscape){
  #film{width:min(calc(100% - 24px),calc((100dvh - 100px)*16/9 + 24px));padding:12px;max-height:calc(100dvh - 16px)}
  #film .dialog-head{margin-bottom:8px}
  #film h2{font-size:24px;margin:0}
  #film .close{width:44px;height:44px;font-size:26px;border:0}
}
.date-field{min-width:0;margin-bottom:18px;font-size:14px}
#booking-form .date-field>label{margin-bottom:0}
.date-picker svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
@media(max-width:900px) and (orientation:landscape){#film iframe{max-height:none}}

/* A brief sweep, followed by a long quiet interval between CTA highlights. */
@media(prefers-reduced-motion:no-preference){
  .button{overflow:hidden}
  .button::after{content:'';position:absolute;inset:-40% -55%;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#fff4 48%,#fff7 50%,#fff4 52%,transparent 60%);transform:translateX(-65%);opacity:0;animation:cta-shimmer 6.6667s ease-in-out 2s infinite}
  .contact .button::after{animation-delay:3.5s}
  #booking .button::after{animation-delay:1s}
  .button:disabled::after{animation:none}
}
@keyframes cta-shimmer{
  0%,78%{transform:translateX(-65%);opacity:0}
  80%{opacity:.65}
  96%{transform:translateX(65%);opacity:.65}
  100%{transform:translateX(65%);opacity:0}
}

/* Let the mobile photograph emerge gradually behind the headline. */
@media(max-width:700px){
  .hero-image{height:80%;top:auto;bottom:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 24%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 24%,#000 100%)}
  .hero-image img{object-position:43% 50%}
  .hero-shade{background:linear-gradient(180deg,#11100e 0%,#11100ef5 20%,#11100eb8 35%,#11100e55 52%,#11100e14 76%,#11100e 100%)}
}

.wordmark .brand-mark{width:44px;height:44px;flex-shrink:0;object-fit:contain}
.wordmark{gap:12px}
@media(max-width:700px){.wordmark .brand-mark{width:36px;height:36px}.wordmark{gap:9px}}
@media(max-width:360px){.wordmark>span{font-size:22px}.wordmark .brand-mark{width:32px;height:32px}.wordmark{gap:7px}}
.header .wordmark{flex-direction:row;align-items:center}

.footer-logo{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.footer-logo img{width:40px;height:40px;object-fit:contain;flex-shrink:0}
.footer-logo>.footer-name{color:var(--ink)}
.footer-name>span{color:var(--gold)}
.faq{position:relative;isolation:isolate;overflow:hidden}
.faq-watermark{position:absolute;left:-100px;bottom:-150px;width:clamp(540px,65vw,900px);aspect-ratio:1;background:url('/images/brand-mark-large.webp') center/contain no-repeat;opacity:.065;pointer-events:none;z-index:-1}
@media(max-width:700px){.faq-watermark{width:620px;left:-200px;bottom:-100px;opacity:.05}.footer-logo img{width:36px;height:36px}}

.film-button .play-icon{border:0;border-radius:0;background:transparent;transition:color .18s}
.film-button:hover .play-icon{background:transparent;color:#e0c5a4}

.film-button .play-icon{width:96px;height:96px}
.film-button .play-icon svg{width:81px;height:81px}
.film-button .play-label{font-size:15px;white-space:nowrap}

/* Film invitation: a compact card with a clear play control. */
.hero-actions .film-button{display:inline-flex;align-items:center;gap:22px;padding:18px 24px;background:#171512;border-radius:16px;text-align:left;color:var(--ink);transition:background .2s}
.hero-actions .film-button:hover{background:#211e19}
.hero-actions .film-button .play-icon{width:82px;height:82px;min-width:82px;border:1px solid var(--gold);border-radius:50%;background:transparent;color:var(--gold)}
.hero-actions .film-button .play-icon svg{width:42px;height:42px}
.play-copy{display:flex;flex-direction:column;gap:5px}
.film-button .play-label{font-size:22px;font-weight:400;line-height:1.3}
.play-caption{font-size:12px;line-height:1.5;letter-spacing:.035em;color:var(--gold)}
@media(max-width:700px){
  .hero-actions .film-button{gap:16px;padding:14px 18px;max-width:100%;border-radius:14px}
  .hero-actions .film-button .play-icon{width:64px;height:64px;min-width:64px}
  .hero-actions .film-button .play-icon svg{width:34px;height:34px}
  .film-button .play-label{font-size:20px}
  .play-caption{font-size:10px}
}

/* Match the film invitation to the primary CTA height. */
.hero-actions .film-button{height:60px;min-height:60px;padding:8px 16px;gap:12px;border-radius:10px}
.hero-actions .film-button .play-icon{width:40px;height:40px;min-width:40px}
.hero-actions .film-button .play-icon svg{width:24px;height:24px}
.film-button .play-copy{gap:2px}
.film-button .play-label{font-size:16px}
.film-button .play-caption{font-size:9px}
@media(max-width:700px){.hero-actions .film-button{height:54px;min-height:54px;padding:6px 14px}.hero-actions .film-button .play-icon{width:36px;height:36px;min-width:36px}.film-button .play-label{font-size:15px}.film-button .play-caption{font-size:8px}}
