@import 'tailwindcss';

:root { --ink:#10130f; --ink-2:#171b16; --paper:#d9d3c5; --bone:#eee9dd; --fog:#aba99f; --moss:#66705c; --bronze:#b09365; --line:rgba(236,232,221,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--bone); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { color:inherit; }
img { display:block; max-width:100%; }
::selection { background:#b09365; color:#10130f; }

.section-pad { padding:clamp(90px,11vw,170px) clamp(24px,8vw,128px); }
.eyebrow { margin:0 0 24px; color:#d1c5ad; font-size:10px; letter-spacing:.28em; line-height:1.5; text-transform:uppercase; }
.eyebrow.dark { color:#5e604f; }
h1,h2,h3,blockquote { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em; margin:0; }
h1 em,h2 em,blockquote em { font-weight:400; color:#c8ad7f; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:17px 22px; border:0; cursor:pointer; font-size:10px; letter-spacing:.2em; text-transform:uppercase; transition:background .25s,color .25s,transform .25s; }
.button:hover { transform:translateY(-2px); }
.button.light { background:var(--bone); color:#171914; }
.button.light:hover { background:#fff; }
.dark-button { background:#171a16; color:var(--bone); }
.text-link,.arrow-link { font-size:10px; letter-spacing:.18em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.45); padding-bottom:6px; }
.text-link span,.arrow-link span { color:#c8ad7f; margin-left:8px; }
.arrow-link.dark { color:#30342c; border-color:#77786d; }

.site-header { position:fixed; z-index:20; top:0; left:0; width:100%; height:132px; padding-inline:max(24px,calc(50vw - 560px)); display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; border-bottom:1px solid rgba(255,255,255,.18); transition:height .45s,background .45s,border-color .45s,backdrop-filter .45s; }
.site-header.solid { position:sticky; background:#10130f; }
.site-header.scrolled { height:98px; background:rgba(13,17,13,.9); border-color:rgba(255,255,255,.1); backdrop-filter:blur(18px); }
.wordmark { position:relative; z-index:3; display:block; width:clamp(168px,16vw,244px); justify-self:center; }
.wordmark img { width:100%; height:94px; object-fit:contain; filter:drop-shadow(0 3px 20px rgba(0,0,0,.22)); transition:height .45s; }
.site-header.scrolled .wordmark img { height:72px; }
.site-header nav { display:flex; align-items:center; gap:clamp(20px,3vw,48px); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.site-header .nav-left { justify-self:end; margin-right:clamp(30px,3.5vw,56px); }
.site-header .nav-right { justify-self:start; margin-left:clamp(30px,3.5vw,56px); }
.site-header nav a:not(.book-link) { position:relative; }
.site-header nav a:not(.book-link)::after { content:''; position:absolute; left:0; bottom:-7px; width:0; height:1px; background:var(--bone); transition:width .25s; }
.site-header nav a:hover::after { width:100%; }
.book-link { border:1px solid rgba(255,255,255,.45); padding:14px 18px; transition:background .25s,color .25s; }
.book-link:hover { background:var(--bone); color:var(--ink); }
.menu-button { display:none; background:none; border:0; width:42px; height:42px; padding:10px; }
.menu-button span { display:block; height:1px; width:100%; background:var(--bone); margin:7px 0; }
.mobile-nav { display:none !important; }

.hero { min-height:100svh; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:150px clamp(24px,5vw,76px) 80px; text-align:center; }
.hero-media { position:absolute; inset:-7%; background:url('/images/hero-mountain.png') center/cover no-repeat; transform:translate3d(0,var(--parallax-shift,0),0) scale(1.08); animation:hero-in 1.5s ease-out both; will-change:transform; }
@keyframes hero-in { from{opacity:.72;filter:brightness(.6)} to{opacity:1;filter:brightness(1)} }
.hero-shade { position:absolute; inset:0; background:radial-gradient(circle at 50% 43%,rgba(6,9,7,.14),rgba(6,10,8,.6) 75%),linear-gradient(0deg,rgba(5,8,6,.78),transparent 62%); }
.hero-content { position:relative; z-index:2; max-width:1040px; display:flex; align-items:center; flex-direction:column; animation:content-in 1s .25s ease-out both; }
@keyframes content-in { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }
.hero h1 { font-size:clamp(64px,9vw,138px); line-height:.82; }
.hero-copy { max-width:610px; color:#c9c8c1; font-family:Georgia,serif; font-size:clamp(16px,1.5vw,20px); line-height:1.6; margin:36px auto 34px; }
.hero-actions { display:flex; align-items:center; gap:36px; }
.image-caption { position:absolute; z-index:2; right:clamp(24px,5vw,76px); bottom:52px; writing-mode:vertical-rl; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:#bcb8ae; }
.image-caption span { color:#fff; margin-top:18px; }
.scroll-cue { position:absolute; z-index:2; right:clamp(24px,5vw,76px); top:150px; display:flex; align-items:center; gap:12px; font-size:8px; letter-spacing:.23em; text-transform:uppercase; color:#bcb8ae; }
.scroll-cue span { width:42px; height:1px; background:#bcb8ae; }

/* Full-viewport cards pin in place while the next chapter slides over them. */
.scroll-card { position:sticky; top:0; min-height:100svh; overflow:hidden; isolation:isolate; box-shadow:0 -28px 70px rgba(4,7,5,.2); }
.card-hero { z-index:1; }
.card-montage { z-index:2; height:100svh; }
.card-intro { z-index:3; align-content:center; }
.card-disciplines { z-index:4; }
.card-recent { z-index:5; }
.card-quote { z-index:6; }
.card-commission { z-index:7; }
.scroll-card:not(.card-hero) { border-radius:22px 22px 0 0; }

.home-montage { min-height:100svh; position:relative; overflow:hidden; background:var(--paper); color:var(--ink); padding:70px clamp(24px,7vw,110px); }
.home-montage.scroll-card { position:sticky; }
.montage-title { position:absolute; left:6vw; top:64px; z-index:5; display:flex; align-items:baseline; gap:.12em; white-space:nowrap; pointer-events:none; color:#bcb6a9; font:400 clamp(82px,10.5vw,160px)/.8 Georgia,serif; letter-spacing:-.07em; }
.montage-title em { color:#777d6a; font-weight:400; }
.montage-frame { position:absolute; z-index:2; margin:0; }
.montage-frame .parallax-window { height:100%; overflow:hidden; background:#1b1f19; }
.montage-frame img { width:100%; height:calc(100% + 150px); margin-top:-75px; object-fit:cover; filter:saturate(.78) contrast(1.03); transform:translate3d(0,var(--parallax-shift,0),0) scale(1.03); will-change:transform; }
.montage-frame figcaption { display:flex; justify-content:space-between; gap:24px; padding-top:13px; color:#595d52; font-size:8px; letter-spacing:.18em; text-transform:uppercase; }
.montage-frame figcaption em { font-style:normal; color:#797b71; }
.montage-landscape { width:min(48vw,710px); height:42svh; left:8vw; top:29svh; }
.montage-portrait { width:min(28vw,410px); height:55svh; right:9vw; top:18svh; z-index:3; }
.montage-portrait img { object-position:center 28%; }
.montage-detail { width:min(30vw,460px); height:31svh; left:37vw; top:66svh; z-index:4; }

.intro { background:var(--paper); color:#181b16; display:grid; grid-template-columns:2.5fr 1fr; gap:70px; align-items:center; }
.intro h2 { font-size:clamp(48px,6.5vw,96px); line-height:.95; }
.intro h2 em { color:#6a735d; }
.intro>p:last-child { font-family:Georgia,serif; line-height:1.7; color:#4f524a; margin-top:20px; }

.disciplines { display:grid; grid-template-columns:1.05fr .95fr; min-height:1100px; }
.disciplines.scroll-card { min-height:100svh; height:100svh; }
.disciplines.scroll-card .discipline { min-height:0; }
.discipline-stack { display:grid; grid-template-rows:1fr 1fr; }
.discipline { min-height:550px; overflow:hidden; position:relative; display:flex; align-items:flex-end; }
.discipline img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.discipline:hover img { transform:scale(1.035); }
.discipline-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(9,12,9,.8),rgba(9,12,9,.05) 68%); }
.discipline>div { position:relative; z-index:2; width:100%; padding:58px clamp(28px,5vw,76px); }
.discipline small { display:block; margin-bottom:14px; color:#d1c5ad; font-size:9px; letter-spacing:.23em; text-transform:uppercase; }
.discipline h3 { font-size:clamp(42px,5vw,78px); line-height:.9; }
.discipline em { display:block; font-style:normal; margin-top:30px; font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.discipline.portrait img { object-position:center 35%; }

.recent-preview { background:#d8d2c4; color:#191c17; }
.recent-preview.scroll-card { min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding-top:clamp(80px,8vw,120px); padding-bottom:clamp(60px,7vw,100px); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:80px; }
.section-heading h2 { font-size:clamp(54px,7vw,104px); line-height:.9; }
.section-heading h2 em { color:#69715d; }
.recent-strip { display:grid; grid-template-columns:1fr .72fr 1fr; gap:28px; align-items:start; }
.recent-card { display:block; }
.recent-card img { width:100%; height:clamp(300px,46svh,570px); object-fit:cover; filter:saturate(.82); transition:filter .3s,transform .3s; }
.recent-card:hover img { filter:saturate(1); transform:translateY(-4px); }
.recent-card.recent-1 { margin-top:120px; }
.recent-card.recent-1 img { height:clamp(270px,37svh,470px); }
.recent-card span { display:grid; grid-template-columns:1fr auto; gap:8px; padding-top:18px; }
.recent-card small,.recent-card em { font-size:8px; letter-spacing:.18em; text-transform:uppercase; color:#62645b; font-style:normal; }
.recent-card strong { grid-row:2; font:400 clamp(22px,2vw,30px) Georgia,serif; }
.recent-card em { grid-row:2; }

.quote-section { min-height:850px; display:grid; grid-template-columns:1fr 1fr; position:relative; }
.quote-section.scroll-card { position:sticky; min-height:100svh; height:100svh; }
.quote-image-window { overflow:hidden; min-height:100svh; }
.quote-image-window img { width:100%; height:calc(100% + 170px); margin-top:-85px; object-fit:cover; transform:translate3d(0,var(--parallax-shift,0),0) scale(1.04); will-change:transform; }
.quote-section>div { background:#181c17; padding:clamp(60px,8vw,130px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.quote-section>.quote-image-window { padding:0; background:#111510; }
.quote-section blockquote { font-size:clamp(38px,4.4vw,70px); line-height:1.08; margin:20px 0 58px; }
.commission-cta { background:#bdb8a9; color:#1b1e19; text-align:center; display:flex; align-items:center; flex-direction:column; }
.commission-cta.scroll-card { min-height:100svh; justify-content:center; }
.commission-cta h2 { font-size:clamp(58px,8.5vw,130px); line-height:.83; }
.commission-cta h2 em { color:#606957; }
.commission-cta>p:not(.eyebrow) { max-width:560px; font:18px/1.7 Georgia,serif; color:#4e5148; margin:42px auto 36px; }

.page-hero { padding:clamp(90px,10vw,150px) clamp(24px,8vw,128px); background:#171b16; }
.page-hero h1 { font-size:clamp(76px,12vw,180px); line-height:.8; }
.page-hero>p:last-child { max-width:590px; margin:45px 0 0 auto; color:#b7b5ac; font:18px/1.7 Georgia,serif; }
.gallery-page { background:#10130f; color:var(--bone); padding:0; }
.gallery-toolbar { min-height:82px; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line); padding:0 max(24px,calc(50vw - 560px)); margin:0; background:#10130f; }
.gallery-toolbar::before { content:'Collections'; margin-right:22px; color:#d4cec0; font:22px Georgia,serif; letter-spacing:-.02em; }
.gallery-toolbar button { border:0; background:transparent; color:#7f8379; padding:10px 12px; cursor:pointer; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.gallery-toolbar button.active { color:#f1ecdf; box-shadow:inset 0 -1px #b09365; }
.gallery-toolbar>span { margin-left:auto; color:#6f736a; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-flow:dense; grid-auto-rows:clamp(190px,18.75vw,260px); gap:2px; background:#10130f; }
.gallery-card { grid-column:span 1; grid-row:span 1; position:relative; border:0; padding:0; background:#181c17; text-align:left; cursor:zoom-in; overflow:hidden; min-height:0; }
.gallery-card-0 { grid-column:span 2; }
.gallery-card-2 { grid-row:span 2; }
.gallery-card-3 { grid-column:span 3; }
.gallery-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.gallery-card:hover img { transform:scale(1.035); }
.gallery-card-shade { position:absolute; inset:35% 0 0; opacity:0; background:linear-gradient(0deg,rgba(5,8,5,.82),transparent); transition:opacity .35s; }
.gallery-card-info { position:absolute; z-index:2; bottom:24px; left:26px; right:26px; display:flex; flex-direction:column; color:#ece8de; opacity:0; transform:translateY(10px); transition:opacity .35s,transform .35s; }
.gallery-card:hover .gallery-card-shade,.gallery-card:hover .gallery-card-info { opacity:1; transform:none; }
.gallery-card-info small { font-size:8px; text-transform:uppercase; letter-spacing:.2em; color:#c4bcae; }
.gallery-card-info strong { font:400 clamp(30px,3.3vw,52px) Georgia,serif; margin:9px 0 4px; }
.gallery-card-info em { font-style:normal; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.view-mark { position:absolute; right:22px; top:22px; z-index:2; opacity:0; transform:translateY(-8px); color:#fff; font-size:9px; letter-spacing:.2em; text-transform:uppercase; transition:.3s; }
.gallery-card:hover .view-mark { opacity:1; transform:none; }
.view-mark b { color:#c8ad7f; }
.lightbox { position:fixed; z-index:100; inset:0; background:rgba(7,9,7,.95); display:flex; align-items:center; justify-content:center; padding:30px; }
.lightbox img { max-height:82vh; max-width:80vw; object-fit:contain; }
.lightbox-close { position:absolute; top:28px; right:34px; border:0; background:transparent; font-size:10px; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; }
.lightbox>div { position:absolute; left:36px; bottom:30px; display:flex; flex-direction:column; }
.lightbox>div span,.lightbox>div small { font-size:8px; letter-spacing:.18em; text-transform:uppercase; color:#aba99f; }
.lightbox>div strong { font:32px Georgia,serif; margin:5px 0; }
.print-note { padding:130px clamp(24px,9vw,150px); background:#1b1f19; display:grid; grid-template-columns:1.2fr 1fr; gap:80px; }
.print-note h2 { font-size:clamp(55px,7vw,100px); line-height:.92; }
.print-note>p { max-width:540px; color:#aaa9a1; font:17px/1.8 Georgia,serif; align-self:center; }
.print-note .button { grid-column:2; justify-self:start; }

.recent-hero { background:#bdb8aa; color:#181b17; }
.recent-hero .eyebrow { color:#5c6054; }
.recent-hero h1 em { color:#606957; }
.recent-hero>p:last-child { color:#53574d; }
.journal-list { background:#d8d2c4; color:#1b1d19; padding:60px clamp(24px,7vw,110px) 150px; }
.journal-entry { display:grid; grid-template-columns:60px minmax(0,1.5fr) minmax(260px,.8fr); gap:40px; align-items:center; padding:75px 0; border-top:1px solid #aaa698; }
.journal-entry:nth-child(even) { grid-template-columns:60px minmax(260px,.8fr) minmax(0,1.5fr); }
.journal-entry:nth-child(even) img { grid-column:3; grid-row:1; }
.journal-entry:nth-child(even) .journal-copy { grid-column:2; grid-row:1; }
.journal-number { align-self:start; font-size:9px; letter-spacing:.2em; }
.journal-entry img { width:100%; max-height:760px; object-fit:cover; }
.journal-copy h2 { font-size:clamp(45px,6vw,88px); line-height:.9; }
.journal-copy>p:not(.eyebrow) { font:16px/1.7 Georgia,serif; color:#55584e; margin:28px 0; }
.journal-copy>span { font-size:9px; letter-spacing:.17em; text-transform:uppercase; }
.journal-cta { text-align:center; background:#171b16; padding:130px 24px; }
.journal-cta h2 { font-size:clamp(60px,8vw,120px); line-height:.85; margin-bottom:45px; }

.about-top { padding:110px clamp(24px,8vw,128px) 140px; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(50px,8vw,130px); align-items:center; }
.about-top h1 { font-size:clamp(76px,10vw,152px); line-height:.85; }
.about-top blockquote { font-size:clamp(30px,3.2vw,52px); line-height:1.15; color:#bbb9af; margin-top:65px; }
.about-portrait img { width:100%; max-height:760px; object-fit:cover; object-position:center 30%; }
.about-portrait span { display:block; margin-top:12px; color:#818278; font-size:8px; letter-spacing:.18em; text-transform:uppercase; }
.about-story { background:#d7d1c3; color:#1a1d18; display:grid; grid-template-columns:1fr 3fr; gap:70px; }
.about-story h2 { font-size:clamp(45px,5.8vw,90px); line-height:.95; }
.about-story h2 em { color:#67705d; }
.about-story div>p { max-width:760px; color:#4c5046; font:18px/1.8 Georgia,serif; }
.values { display:grid; grid-template-columns:repeat(3,1fr); background:#1a1e18; }
.values article { padding:100px clamp(30px,5vw,80px); border-right:1px solid var(--line); }
.values span { color:#9f8d6c; font-size:9px; letter-spacing:.2em; }
.values h3 { font-size:42px; margin:45px 0 25px; }
.values p { color:#9d9d96; line-height:1.7; }
.about-cta { min-height:760px; position:relative; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.about-cta>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.62; }
.about-cta::after { content:''; position:absolute; inset:0; background:rgba(4,8,5,.42); }
.about-cta>div { position:relative; z-index:2; }
.about-cta h2 { font-size:clamp(55px,8vw,115px); line-height:.87; margin:0 0 45px; }

.contact-page { padding:110px clamp(24px,8vw,128px) 140px; display:grid; grid-template-columns:1fr 1fr; gap:clamp(60px,9vw,150px); }
.contact-intro h1 { font-size:clamp(65px,7vw,105px); line-height:.88; }
.contact-intro>p:not(.eyebrow) { color:#aaa9a1; font:18px/1.75 Georgia,serif; max-width:580px; margin:38px 0 70px; }
.contact-details { display:grid; gap:22px; }
.contact-details div { border-top:1px solid var(--line); padding-top:18px; display:grid; grid-template-columns:130px 1fr; }
.contact-details span { color:#777a70; font-size:8px; letter-spacing:.2em; text-transform:uppercase; }
.contact-details p,.contact-details a { margin:0; font:16px Georgia,serif; }
.contact-form-wrap { background:#d5cfc1; color:#191c17; padding:clamp(28px,5vw,70px); }
.booking-form { display:grid; gap:28px; }
.booking-form label,.upload-fields label,.editor-form label { display:grid; gap:9px; }
.booking-form label>span,.upload-fields label>span,.editor-form label>span { color:#5f6258; font-size:8px; letter-spacing:.18em; text-transform:uppercase; }
.booking-form input,.booking-form select,.booking-form textarea { width:100%; color:#181b17; border:0; border-bottom:1px solid #989588; background:transparent; padding:12px 0; outline:none; border-radius:0; }
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus { border-color:#1a1d18; }
.booking-form textarea { resize:vertical; line-height:1.5; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.honey { position:absolute !important; left:-9999px !important; }
.booking-form .button { justify-self:start; margin-top:10px; }
.form-note,.form-error { font-size:10px; color:#6c6d65; margin:0; }
.form-error { color:#833d36; }
.form-success { min-height:500px; display:flex; flex-direction:column; justify-content:center; }
.form-success span { font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.form-success h3 { font-size:70px; margin:16px 0; }
.form-success p { color:#585b51; font:17px/1.7 Georgia,serif; }
.form-success button { align-self:flex-start; border:0; border-bottom:1px solid; background:none; padding:5px 0; cursor:pointer; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.contact-shops { background:#bdb8a9; color:#1a1d18; padding:120px clamp(24px,8vw,128px); display:grid; grid-template-columns:1fr 1.2fr; gap:90px; }
.contact-shops h2 { font-size:clamp(50px,6.5vw,92px); line-height:.9; }
.contact-shops h2 em { color:#626b59; }
.contact-shops>div:last-child { display:grid; }
.contact-shops a { border-top:1px solid #989589; padding:30px 0; display:grid; grid-template-columns:100px 1fr auto; align-items:center; gap:20px; }
.contact-shops a span,.contact-shops a em { font-style:normal; font-size:8px; letter-spacing:.18em; text-transform:uppercase; }
.contact-shops a b { font:24px Georgia,serif; }

.site-footer { position:relative; z-index:8; background:#0c0f0c; padding:110px clamp(24px,7vw,110px) 30px; box-shadow:0 -28px 70px rgba(4,7,5,.26); }
.footer-brand { border-bottom:1px solid var(--line); padding-bottom:75px; margin-bottom:65px; }
.footer-brand h2 { font-size:clamp(58px,8vw,118px); line-height:.85; max-width:1000px; }
.footer-links { display:grid; grid-template-columns:1fr 1fr 1fr; gap:50px; max-width:760px; margin-left:auto; }
.footer-links>div { display:flex; flex-direction:column; gap:15px; }
.footer-links span { color:#686b64; font-size:8px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:8px; }
.footer-links a,.footer-links p { font:14px Georgia,serif; margin:0; color:#c0bfb7; }
.footer-links a:hover { color:#fff; }
.footer-bottom { border-top:1px solid var(--line); margin-top:70px; padding-top:26px; display:flex; justify-content:space-between; color:#62655e; font-size:8px; letter-spacing:.16em; text-transform:uppercase; }

/* Simple editor */
.editor-shell { min-height:100svh; background:#f3f1eb; color:#20231f; display:grid; grid-template-columns:250px 1fr; }
.editor-sidebar { position:sticky; top:0; height:100svh; background:#171a16; color:#e9e5da; padding:28px 20px; display:flex; flex-direction:column; }
.editor-brand { display:flex; align-items:center; gap:12px; padding:0 8px 28px; border-bottom:1px solid rgba(255,255,255,.1); }
.editor-brand>b { width:40px; height:40px; display:grid; place-items:center; border:1px solid #95846a; font:17px Georgia,serif; }
.editor-brand>span { display:flex; flex-direction:column; font-size:13px; }
.editor-brand small { color:#81857c; font-size:9px; margin-top:3px; }
.editor-sidebar nav { display:grid; gap:5px; margin-top:28px; }
.editor-sidebar nav button { border:0; background:transparent; padding:13px 12px; text-align:left; border-radius:7px; display:flex; align-items:center; gap:12px; color:#a9aca3; cursor:pointer; font-size:13px; }
.editor-sidebar nav button.active,.editor-sidebar nav button:hover { background:#292d27; color:#fff; }
.editor-sidebar nav i { width:18px; text-align:center; font-style:normal; color:#b09a77; }
.editor-sidebar-bottom { margin-top:auto; display:grid; gap:14px; padding:20px 8px 0; border-top:1px solid rgba(255,255,255,.1); }
.editor-sidebar-bottom a { font-size:11px; }
.editor-sidebar-bottom small { color:#686c64; overflow:hidden; text-overflow:ellipsis; }
.editor-main { min-width:0; position:relative; }
.editor-view { max-width:1180px; margin:0 auto; padding:70px clamp(30px,6vw,90px) 100px; }
.editor-view.narrow { max-width:940px; }
.editor-heading { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-bottom:48px; }
.editor-heading span { color:#8e795b; font-size:10px; letter-spacing:.17em; text-transform:uppercase; }
.editor-heading h1 { font:400 clamp(40px,5vw,64px)/1 Georgia,serif; letter-spacing:-.04em; margin:10px 0 13px; }
.editor-heading p { color:#6c7068; margin:0; line-height:1.6; }
.editor-primary { border:0; border-radius:4px; background:#263027; color:#fff; padding:14px 18px; font-size:11px; cursor:pointer; white-space:nowrap; }
.editor-quick-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.editor-quick-grid button { display:flex; min-height:150px; align-items:center; gap:17px; padding:25px; border:1px solid #dedbd2; border-radius:9px; background:#fff; color:#232620; text-align:left; cursor:pointer; transition:.2s; }
.editor-quick-grid button:hover { border-color:#a79b86; transform:translateY(-2px); box-shadow:0 12px 30px rgba(30,34,28,.06); }
.editor-quick-grid i { font-style:normal; font-size:20px; color:#937e5f; }
.editor-quick-grid span { display:flex; flex-direction:column; gap:7px; }
.editor-quick-grid b { font-size:15px; }
.editor-quick-grid small { color:#7b7e76; line-height:1.4; }
.editor-quick-grid em { margin-left:auto; font-style:normal; }
.editor-tip { background:#e8e3d9; margin-top:26px; border-radius:9px; padding:25px 30px; display:grid; grid-template-columns:140px 1fr; }
.editor-tip span { color:#8d7758; font-size:9px; letter-spacing:.17em; text-transform:uppercase; }
.editor-tip p { margin:0; color:#64675f; line-height:1.6; font-size:13px; }
.editor-toast { position:fixed; z-index:50; right:28px; top:24px; background:#252d25; color:#fff; padding:14px 20px; border-radius:7px; box-shadow:0 12px 35px rgba(0,0,0,.18); font-size:12px; }
.editor-form { display:grid; gap:22px; }
.editor-form fieldset { background:#fff; border:1px solid #dedbd2; border-radius:9px; padding:26px; display:grid; gap:24px; }
.editor-form legend { padding:0 9px; font:24px Georgia,serif; }
.editor-form input,.editor-form textarea,.upload-fields input,.upload-fields select { border:1px solid #d4d1c9; background:#fbfaf7; color:#232620; border-radius:5px; padding:12px 13px; outline:none; }
.editor-form input:focus,.editor-form textarea:focus,.upload-fields input:focus,.upload-fields select:focus { border-color:#8f7b5e; box-shadow:0 0 0 3px rgba(143,123,94,.1); }
.editor-save-bar { position:sticky; bottom:0; background:rgba(243,241,235,.94); backdrop-filter:blur(12px); padding:18px 0; border-top:1px solid #dad7cf; display:flex; justify-content:space-between; align-items:center; }
.editor-save-bar span { color:#777a72; font-size:12px; }
.page-image-sections { display:grid; gap:24px; }
.editor-image-section { background:#fff; border:1px solid #dedbd2; border-radius:9px; padding:28px; }
.editor-image-section .editor-section-title h2,.editor-gallery .editor-section-title h2 { margin:0 0 6px; }
.editor-image-section .editor-section-title p,.editor-gallery .editor-section-title p { margin:0; color:#777a72; font-size:12px; }
.page-image-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; padding-top:20px; }
.page-image-slot { display:grid; gap:8px; min-width:0; }
.page-image-slot img,.page-image-empty { width:100%; height:138px; object-fit:cover; border-radius:5px; background:#e9e5dc; }
.page-image-empty { display:grid; place-items:center; color:#777a72; font-size:11px; text-align:center; padding:20px; }
.page-image-slot>span { color:#777a72; font-size:8px; letter-spacing:.17em; text-transform:uppercase; }
.page-image-slot select { width:100%; min-width:0; border:1px solid #d4d1c9; background:#fbfaf7; color:#232620; border-radius:5px; padding:10px 11px; outline:none; }
.field-feature-block { background:#252d25; color:#f2eee4; border-radius:7px; padding:24px; margin-top:24px; }
.field-feature-block>div:first-child { margin-bottom:18px; }
.field-feature-block h3 { font:24px Georgia,serif; margin:0 0 6px; }
.field-feature-block p { margin:0; color:#a9aca3; font-size:12px; }
.home-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding-top:20px; }
.home-feature-slot { position:relative; display:grid; gap:8px; min-width:0; }
.home-feature-slot img,.home-feature-empty { width:100%; height:150px; object-fit:cover; border-radius:5px; background:#171a16; }
.home-feature-empty { display:grid; place-items:center; color:#777d73; font-size:11px; text-align:center; padding:20px; }
.home-feature-slot>span:not(.home-feature-number) { color:#a9aca3; font-size:8px; letter-spacing:.17em; text-transform:uppercase; }
.home-feature-slot select { width:100%; min-width:0; border:1px solid #51574f; background:#171a16; color:#f2eee4; border-radius:5px; padding:11px 12px; outline:none; }
.home-feature-number { position:absolute; z-index:1; left:10px; top:10px; padding:6px 7px; border-radius:3px; background:rgba(17,20,16,.8); color:#d6c4a8; font:11px Georgia,serif; }
.editor-collections { background:#fff; border:1px solid #dedbd2; border-radius:9px; padding:28px; margin-bottom:24px; }
.editor-collections .editor-section-title { padding-bottom:20px; }
.editor-collections .editor-section-title h2 { margin:0 0 6px; }
.editor-collections .editor-section-title p { margin:0; color:#777a72; font-size:12px; }
.collection-add { display:flex; align-items:end; gap:14px; padding:22px 0; }
.collection-add label { flex:1; display:grid; gap:8px; }
.collection-add label span,.editor-photo-grid label>span { color:#777a72; font-size:8px; letter-spacing:.17em; text-transform:uppercase; }
.collection-add input,.collection-row input,.editor-photo-grid select { width:100%; border:1px solid #d4d1c9; background:#fbfaf7; color:#232620; border-radius:5px; padding:11px 12px; outline:none; }
.collection-list { display:grid; border-top:1px solid #ece9e2; }
.collection-row { display:grid; grid-template-columns:minmax(180px,1fr) 80px auto auto; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid #ece9e2; }
.collection-row>span { color:#777a72; font-size:10px; }
.collection-row button { border:0; background:#ece8df; color:#33372f; border-radius:4px; padding:10px 12px; cursor:pointer; font-size:9px; }
.collection-row button.danger { background:#f2e6e2; color:#81493f; }
.collection-row button:disabled { opacity:.4; cursor:not-allowed; }
.upload-card { background:#fff; border:1px solid #dedbd2; border-radius:9px; padding:28px; display:grid; grid-template-columns:.8fr 1.2fr auto; gap:24px; align-items:end; }
.upload-zone { min-height:190px; position:relative; }
.upload-zone input { opacity:0; position:absolute; inset:0; width:100%; cursor:pointer; }
.upload-zone label { height:100%; min-height:190px; border:1px dashed #b5ae9f; background:#f7f4ee; border-radius:7px; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; gap:7px; pointer-events:none; }
.upload-zone label b { color:#7e694b; }
.upload-zone label span { font-size:12px; max-width:90%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.upload-zone label small { color:#888b83; }
.upload-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.editor-gallery { margin-top:55px; }
.editor-section-title { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #d5d2ca; padding-bottom:15px; }
.editor-section-title h2 { font:32px Georgia,serif; }
.editor-section-title span { color:#777a72; font-size:11px; }
.editor-photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px; }
.editor-photo-grid article { background:#fff; border:1px solid #dedbd2; border-radius:8px; padding:10px; position:relative; }
.editor-photo-grid img { width:100%; height:210px; object-fit:cover; border-radius:5px; }
.editor-photo-grid article>div { display:flex; flex-direction:column; gap:8px; padding:12px 4px 4px; }
.editor-photo-grid article label { display:grid; gap:5px; margin:3px 0; }
.editor-photo-grid article select { padding:8px 9px; font-size:11px; }
.editor-photo-grid article span { color:#7d8078; font-size:10px; }
.editor-photo-grid article>.photo-remove { width:100%; margin-top:10px; border:1px solid #d9bdb6; background:#f7e9e5; color:#7f4138; border-radius:5px; padding:10px 12px; font-size:10px; font-weight:700; cursor:pointer; }
.inquiry-list { display:grid; gap:14px; }
.inquiry-list article { background:#fff; border:1px solid #dedbd2; border-radius:8px; padding:25px; }
.inquiry-list header { display:flex; justify-content:space-between; }
.inquiry-list header>div { display:flex; flex-direction:column; gap:5px; }
.inquiry-list header b { font:24px Georgia,serif; }
.inquiry-list header span,.inquiry-list time { color:#8e795b; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.inquiry-list article>p { color:#565a52; line-height:1.65; }
.inquiry-list footer { display:flex; flex-wrap:wrap; gap:18px; padding-top:15px; border-top:1px solid #ece9e2; font-size:11px; }
.inquiry-list footer a { color:#596b57; text-decoration:underline; }
.empty-inquiries { text-align:center; padding:100px 20px; border:1px dashed #d0ccc2; border-radius:9px; }
.empty-inquiries i { font-style:normal; color:#927d60; font-size:28px; }
.empty-inquiries h2 { font:34px Georgia,serif; margin:18px 0 8px; }
.empty-inquiries p { color:#777a72; }

@media (max-width:1000px) {
  .scroll-card{position:relative!important;top:auto;min-height:initial;height:auto;transform:translate3d(0,var(--card-entry-shift,0),0);border-radius:18px 18px 0 0}.scroll-card:not(.card-hero){margin-top:-6svh}.card-hero{min-height:100svh}.card-montage{height:990px}.disciplines.scroll-card{height:auto;min-height:0}.disciplines.scroll-card .discipline{min-height:620px}.quote-section.scroll-card{height:auto;min-height:0}.commission-cta.scroll-card{min-height:760px}
  .disciplines{grid-template-columns:1fr;min-height:0}.discipline{min-height:620px}.discipline-stack{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.discipline-stack .discipline{min-height:520px}
  .home-montage{min-height:990px}.montage-landscape{width:56vw;left:5vw}.montage-portrait{width:34vw;right:5vw}.montage-detail{width:36vw;left:35vw;top:730px}.intro{grid-template-columns:2.2fr 1fr}.intro>p:last-child{grid-column:auto}.quote-section{grid-template-columns:1fr}.quote-image-window{min-height:650px}.print-note{grid-template-columns:1fr}.print-note .button{grid-column:1}.about-top{grid-template-columns:1fr 1fr}.editor-quick-grid{grid-template-columns:1fr}.upload-card{grid-template-columns:1fr}.collection-row{grid-template-columns:1fr auto auto}.collection-row>span{display:none}.editor-photo-grid{grid-template-columns:1fr 1fr}.home-feature-grid{grid-template-columns:1fr}
  .page-image-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:800px) {
  .site-header{height:96px;display:flex;justify-content:center}.site-header.scrolled{height:82px}.wordmark{width:170px}.wordmark img,.site-header.scrolled .wordmark img{height:76px}.site-header .desktop-nav{display:none}.menu-button{display:block;position:absolute;right:20px;z-index:31}.site-header .mobile-nav{display:none !important;position:fixed;z-index:30;inset:0;background:#111510;flex-direction:column;justify-content:center;font:26px Georgia,serif;text-transform:none}.site-header .mobile-nav.open{display:flex !important}.site-header .mobile-nav .book-link{margin-top:20px;font:10px Arial,sans-serif;text-transform:uppercase}
  .hero{padding-bottom:70px}.hero-copy{max-width:82%}.image-caption,.scroll-cue{display:none}.home-montage{min-height:1260px;padding-inline:24px}.montage-title{left:24px;right:auto;font-size:12.5vw}.montage-landscape{width:72vw;height:430px;left:0;top:260px}.montage-portrait{width:48vw;height:540px;right:0;top:555px}.montage-detail{width:52vw;height:340px;left:8vw;top:900px}.intro{grid-template-columns:1fr}.intro>p:last-child{grid-column:auto}.discipline-stack{grid-template-columns:1fr}.discipline,.discipline-stack .discipline{min-height:560px}.recent-strip{grid-template-columns:1fr 1fr}.recent-card.recent-1{margin-top:70px}.recent-card.recent-2{grid-column:1 / -1;max-width:70%;margin-left:auto}.section-heading{align-items:flex-start;gap:30px;flex-direction:column}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:38vw}.gallery-card,.gallery-card-1,.gallery-card-2,.gallery-card-3{grid-column:span 1;grid-row:span 1;min-height:0;margin:0}.gallery-card-0,.gallery-card-3{grid-column:span 2}.gallery-card-2{grid-row:span 2}.journal-entry,.journal-entry:nth-child(even){grid-template-columns:35px 1fr}.journal-entry img,.journal-entry:nth-child(even) img{grid-column:2;grid-row:1}.journal-copy,.journal-entry:nth-child(even) .journal-copy{grid-column:2;grid-row:2}.about-top{grid-template-columns:1fr}.about-portrait{max-width:75%;margin-left:auto}.about-story{grid-template-columns:1fr}.values{grid-template-columns:1fr}.contact-page,.contact-shops{grid-template-columns:1fr}.editor-shell{grid-template-columns:1fr}.editor-sidebar{position:relative;height:auto;flex-direction:row;align-items:center;gap:20px;padding:15px 20px}.editor-brand{border:0;padding:0}.editor-sidebar nav{display:flex;margin:0;overflow:auto}.editor-sidebar nav button{white-space:nowrap}.editor-sidebar-bottom{display:none}.editor-photo-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px) {
  .wordmark{width:150px}.hero{min-height:92svh;padding-inline:20px}.hero h1{font-size:58px}.hero-copy{max-width:100%;font-size:15px}.hero-actions{align-items:center;flex-direction:column;gap:24px}.home-montage{min-height:1080px}.montage-title{top:66px}.montage-landscape{width:85vw;height:360px;top:210px}.montage-portrait{width:62vw;height:440px;top:505px}.montage-detail{width:55vw;height:280px;top:795px}.montage-frame figcaption{flex-direction:column;gap:4px}.section-pad{padding-inline:24px}.disciplines .discipline{min-height:500px}.recent-strip{grid-template-columns:1fr}.recent-card.recent-1{margin-top:20px}.recent-card.recent-2{grid-column:auto;max-width:none}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:74vw}.gallery-card,.gallery-card-0,.gallery-card-1,.gallery-card-2,.gallery-card-3{width:100%;grid-column:span 1;grid-row:span 1;min-height:0;margin:0}.gallery-card-2{grid-row:span 2}.gallery-toolbar{overflow:auto;padding-inline:18px}.gallery-toolbar::before{display:none}.gallery-toolbar>span{display:none}.lightbox>div{left:20px}.lightbox img{max-width:100%}.journal-entry,.journal-entry:nth-child(even){display:block}.journal-number{margin-bottom:12px}.journal-copy{margin-top:28px}.values article{padding:70px 28px}.form-row{grid-template-columns:1fr}.contact-shops a{grid-template-columns:1fr}.contact-shops a b{font-size:20px}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{gap:15px;flex-direction:column}.editor-sidebar{align-items:flex-start;flex-direction:column}.editor-sidebar nav{width:100%;padding-bottom:3px}.editor-brand>span{display:none}.editor-view{padding:42px 18px 80px}.editor-heading{align-items:flex-start;flex-direction:column}.editor-heading h1{font-size:42px}.editor-quick-grid button{min-height:120px}.editor-tip{grid-template-columns:1fr;gap:10px}.collection-add{align-items:stretch;flex-direction:column}.collection-row{grid-template-columns:1fr 1fr}.collection-row input{grid-column:1 / -1}.editor-photo-grid{grid-template-columns:1fr}.upload-fields{grid-template-columns:1fr}.editor-form fieldset{padding:19px}.about-portrait{max-width:100%}
  .page-image-grid{grid-template-columns:1fr}.editor-image-section{padding:20px}
}

@media (prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto}.hero-media,.montage-frame img,.quote-image-window img{animation:none;transform:scale(1.04)}
}

/* Bluehost/PHP editor and hosting additions */
[hidden] { display:none !important; }
.gallery-card[hidden] { display:none !important; }
.editor-sidebar nav a { border:0; background:transparent; padding:13px 12px; text-align:left; border-radius:7px; display:flex; align-items:center; gap:12px; color:#a9aca3; cursor:pointer; font-size:13px; }
.editor-sidebar nav a.active,.editor-sidebar nav a:hover { background:#292d27; color:#fff; }
.editor-quick-grid a { display:flex; min-height:150px; align-items:center; gap:17px; padding:25px; border:1px solid #dedbd2; border-radius:9px; background:#fff; color:#232620; text-align:left; cursor:pointer; transition:.2s; }
.editor-quick-grid a:hover { border-color:#a79b86; transform:translateY(-2px); box-shadow:0 12px 30px rgba(30,34,28,.06); }
.collection-row form:first-child { display:grid; grid-template-columns:minmax(160px,1fr) auto; gap:10px; }
.collection-row form:last-child { justify-self:end; }
.collection-row { grid-template-columns:minmax(260px,1fr) 80px auto; }
.collection-row form button { border:0; background:#ece8df; color:#33372f; border-radius:4px; padding:10px 12px; cursor:pointer; font-size:9px; }
.collection-row form button.danger { background:#f2e6e2; color:#81493f; }
.editor-photo-grid article>form:last-child { margin:0; }
.editor-photo-grid article>.photo-remove,.editor-photo-grid article>form:last-child .photo-remove { position:static; width:100%; margin-top:10px; border:1px solid #d9bdb6; background:#f7e9e5; color:#7f4138; border-radius:5px; padding:10px 12px; font-size:10px; font-weight:700; cursor:pointer; }
.editor-photo-grid article>form:last-child .photo-remove:disabled { opacity:.45; cursor:not-allowed; }
.setup-body,.editor-login { min-height:100svh; display:grid; place-items:center; background:#10130f; color:#e8e4da; padding:30px; }
.setup-card,.editor-login { text-align:center; }
.setup-card { width:min(520px,100%); background:#f3f1eb; color:#20231f; border-radius:10px; padding:42px; box-shadow:0 30px 70px rgba(0,0,0,.25); }
.setup-card img,.editor-login img { width:260px; height:auto; margin:0 auto 24px; }
.setup-card h1,.editor-login h1 { font:42px/1 Georgia,serif; margin:10px 0 18px; }
.setup-card p,.editor-login p { color:#777a72; line-height:1.6; }
.setup-card form,.editor-login form { display:grid; gap:18px; margin-top:28px; text-align:left; }
.setup-card label,.editor-login label { display:grid; gap:7px; }
.setup-card label span,.editor-login label span { font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.setup-card input,.editor-login input { border:1px solid #d4d1c9; background:#fff; color:#232620; border-radius:5px; padding:13px; }
.setup-error,.editor-login-error,.contact-error { background:#f7e9e5; color:#7f4138; border:1px solid #d9bdb6; border-radius:5px; padding:12px 14px; margin:18px 0; font-size:12px; }
.editor-login { display:flex; flex-direction:column; justify-content:center; }
.editor-login form { width:min(420px,100%); }
.not-found { min-height:100svh; display:flex; align-items:center; justify-content:center; flex-direction:column; background:#10130f; text-align:center; padding:120px 24px; }
.not-found h1 { font:clamp(44px,8vw,100px)/1 Georgia,serif; max-width:900px; }
.booking-success { padding:70px 0; }
.booking-success h2 { font:52px Georgia,serif; margin:0 0 15px; }
@media (max-width:800px) {
  .editor-sidebar nav a { white-space:nowrap; }
  .collection-row { grid-template-columns:1fr auto; }
  .collection-row>span { display:none; }
}
@media (max-width:560px) {
  .collection-row,.collection-row form:first-child { grid-template-columns:1fr; }
  .setup-card { padding:30px 22px; }
}
