/* Galbotanica's editorial photography layout. */
body.editorial { --font-serif:'Instrument Serif', Georgia, serif; --color-background:#fcfcfa; background:#fcfcfa; color:#20211f; font-family:var(--font-serif); padding:0; }
.editorial a { color:inherit; }
.editorial a:focus-visible { outline:2px solid #777a52; outline-offset:6px; }
.editorial-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:30px 4.3%; }
.wordmark { font-size:17px; text-transform:uppercase; letter-spacing:.2em; text-decoration:none; white-space:nowrap; }
.editorial-nav { display:flex; gap:34px; font:13px var(--font-sans); }
.editorial-nav a,.editorial-footer a { text-decoration:none; }
.editorial-nav a:hover,.editorial-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.editorial-intro { padding:70px 4.3% 60px; }
.editorial-intro h1 { font-size:clamp(56px,9.8vw,158px); font-weight:400; line-height:1.02; letter-spacing:-.025em; margin:0 0 22px; }
.editorial-intro > p:not(.eyebrow) { font:clamp(14px,1.35vw,19px)/1.65 var(--font-sans); color:#595a58; max-width:820px; }
.collection-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:0 4px; }
.collection { text-decoration:none; min-width:0; }
.collection-image { overflow:hidden; aspect-ratio:2/3; background:#e8e4dd; }
.collection-image img { width:100%; height:100%; object-fit:cover; display:block;  }
.collection { transition:transform 1s cubic-bezier(.22,1.25,.36,1); transform-origin:center; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .collection:hover { transform:scale(.9); }
}
@media (prefers-reduced-motion:no-preference) {
 .collection:focus-visible { transform:scale(.9); }
}
.headline-word { display:inline-block; white-space:nowrap; }
.headline-character { display:inline-block; }
@media (prefers-reduced-motion:reduce) {
 .collection { transition:none; }
}
.collection > span { display:flex; justify-content:space-between; padding:17px 12% 5px; font:13px var(--font-sans); }
.collection > span span { color:#65665e; }
.gallery-invitation { text-align:right; padding:20px 4.3% 42px; }
.text-link { font:13px/1.6 var(--font-sans); text-decoration:none; padding-bottom:5px; border-bottom:1px solid #aaa99f; }
.preset-feature { position:relative; isolation:isolate; min-height:580px; height:48vw; max-height:820px; display:flex; align-items:center; color:#fff; overflow:hidden; }
.preset-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.preset-feature::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,18,13,.18),rgba(9,18,13,.03) 45%,transparent 70%); z-index:-1; }
.preset-feature-copy { padding:65px 8%; }
.preset-feature h2 { font-size:clamp(62px,7.7vw,118px); font-weight:400; letter-spacing:-.025em; line-height:.98; margin:0 0 25px; }
.preset-feature p { font:15px/1.6 var(--font-sans); margin-bottom:25px; }
.outline-link { display:inline-flex; gap:24px; border:1px solid #e4e2db; padding:16px 24px; font:14px var(--font-sans); text-decoration:none; transition:background .2s,color .2s; }
.outline-link:hover { background:#fcfcfa; color:#20211f; }
.creative-links { padding:85px 4.3% 80px; }
.creative-links h2,.series-heading h2 { font-size:clamp(40px,4.6vw,72px); line-height:1.1; font-weight:400; letter-spacing:-.02em; margin:0 0 42px; }
.creative-links > div { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.creative-links a { width:fit-content; font-size:28px; text-decoration:none; padding-bottom:5px; border-bottom:1px solid #b6b6ac; }
.creative-links a span { font-size:20px; margin-left:10px; }
.editorial-footer { padding:35px 4.3% 40px; display:flex; align-items:end; justify-content:space-between; gap:24px; }
.footer-name { font-size:24px; }
.editorial-footer p { font:12px/1.7 var(--font-sans); color:#65655f; margin-top:5px; }
.editorial-footer nav { display:flex; gap:24px; font:12px var(--font-sans); }
.inner-intro h1 { font-size:clamp(54px,7vw,106px); }
.eyebrow { font:11px/1.5 var(--font-sans); text-transform:uppercase; letter-spacing:.18em; margin-bottom:20px; color:#65655f; }
.collection-tabs { display:flex; gap:30px; margin-top:32px; font:14px var(--font-sans); }
.collection-tabs a { text-underline-offset:6px; }
.photo-series { padding:45px 4.3% 65px; scroll-margin-top:25px; }
.series-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; }
.series-heading h2 { margin-bottom:25px; }
.series-heading p { font:13px/1.6 var(--font-sans); color:#65655f; }
.photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:start; }
.photo-grid img { width:100%; height:auto; display:block; }
.photo-grid a { overflow:hidden; }
.shop-collections { padding:0 4.3% 55px; }
.shop-collection { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8%; padding:40px 0 70px; scroll-margin-top:20px; }
.shop-collection > img { width:100%; aspect-ratio:5/4; object-fit:cover; }
.shop-collection h2 { font-size:clamp(50px,6vw,85px); font-weight:400; letter-spacing:-.02em; line-height:1; margin-bottom:20px; }
.shop-collection div > p:not(.eyebrow) { font:15px/1.8 var(--font-sans); max-width:390px; color:#595a58; margin-bottom:28px; }
.editorial .content-section { max-width:1300px; margin:auto; padding:65px 4.3%; }
.editorial .about-layout { width:100%; max-width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6%; }
.editorial .about-image-wrapper,.editorial .about-text-wrapper { min-width:0; width:100%; max-width:100%; }
.editorial .about-text { overflow-wrap:anywhere; }
.editorial .page-hero { margin-top:0; }
.editorial .page-hero-sigill { display:none; }
.editorial .page-hero-title { font-weight:400; letter-spacing:-.02em; }
.editorial .cookie-banner { font-family:var(--font-sans); }
@media(min-width:1600px) { .editorial-intro { padding-top:90px; } }
@media(max-width:700px) {
 .editorial-header { padding:24px 6%; flex-direction:column; gap:22px; align-items:flex-start; }
 .wordmark { font-size:16px; }
 .editorial-nav { gap:27px; font-size:13px; }
 .editorial-intro { padding:44px 6% 36px; }
 .editorial-intro h1 { font-size:clamp(56px,12.5vw,86px); max-width:600px; }
 .editorial-intro > p:not(.eyebrow) { font-size:14px; max-width:340px; }
 .collection-strip { gap:3px; }
 .collection-image { aspect-ratio: .52; }
 .collection > span { padding:12px 8% 0; font-size:11px; }
 .collection > span span { display:none; }
 .gallery-invitation { padding:23px 6% 32px; }
 .preset-feature { min-height:510px; height:125vw; max-height:650px; }
 .preset-background { object-position:64% center; }
 .preset-feature-copy { padding:50px 8%; }
 .preset-feature h2 { font-size:66px; }
 .preset-feature p { max-width:230px; font-size:14px; }
 .creative-links { padding:50px 6%; }
 .creative-links h2 { font-size:43px; max-width:320px; margin-bottom:30px; }
 .creative-links > div { gap:15px; }
 .creative-links a { font-size:23px; }
 .creative-links a span { margin-left:2px; font-size:16px; }
 .editorial-footer { padding:24px 6% 35px; flex-direction:column; align-items:flex-start; gap:25px; }
 .photo-series { padding:25px 6% 40px; }
 .series-heading { display:block; }
 .series-heading h2 { margin-bottom:8px; }
 .series-heading p { margin-bottom:25px; }
 .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .collection-tabs { gap:20px; font-size:13px; flex-wrap:wrap; }
 .shop-collections { padding:0 6% 25px; }
 .shop-collection { grid-template-columns:1fr; gap:25px; padding:10px 0 60px; }
 .editorial .about-layout { grid-template-columns:1fr; gap:35px; }
 .editorial .content-section { padding:40px 6%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .collection-image img { transition:none; } }

/* Verified against Lundani: Instrument Serif, regular, natural letter spacing. */
.editorial h1, .editorial h2,
.editorial .creative-links a, .editorial .footer-name {
    font-family:var(--font-serif);
    font-weight:400;
    letter-spacing:normal;
}
.editorial .editorial-nav,
.editorial .editorial-footer nav,
.editorial .text-link,
.editorial .outline-link,
.editorial .collection-tabs,
.editorial .collection > span {
    font-family:var(--font-serif);
    font-weight:400;
    letter-spacing:normal;
}
.editorial .editorial-nav { font-size:19px; }
.editorial .editorial-footer nav { font-size:23px; }
.editorial .text-link, .editorial .outline-link { font-size:21px; }
.editorial .collection-tabs, .editorial .collection > span { font-size:21px; }
@media(max-width:700px) {
    .editorial .editorial-nav { font-size:18px; }
    .editorial .collection > span { font-size:17px; }
    .editorial .collection-tabs { font-size:19px; }
}

/* Keep link labels and arrows together on one aligned line. */
.editorial .collection > span {
    justify-content:flex-start;
    align-items:baseline;
    gap:10px;
    white-space:nowrap;
}
.editorial .collection > span span { flex:none; line-height:1; }
.editorial .text-link,
.editorial .outline-link,
.editorial .creative-links a {
    display:inline-flex;
    align-items:baseline;
    gap:10px;
    white-space:nowrap;
}
.editorial .creative-links a span { margin-left:0; flex:none; line-height:1; }
@media(max-width:700px) {
    .editorial .collection > span { gap:6px; padding-inline:6%; }
    .editorial .collection > span span { display:inline; font-size:14px; }
    .editorial .creative-links a { gap:6px; }
}

/* A lighter display treatment while retaining Instrument Serif Regular. */
body.editorial {
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    font-synthesis:none;
}
.editorial-intro h1 { font-size:clamp(56px,8.8vw,138px); }
@media(max-width:700px) {
    .editorial-intro h1 { font-size:clamp(52px,11.8vw,78px); }
}

/* Quiet captions sit directly beneath their own photograph. */
.editorial .collection > span {
    display:block;
    padding:8px 0 0;
    font:400 18px/1.4 var(--font-serif);
    white-space:normal;
}
.collection-strip { padding-bottom:48px; }
@media(max-width:700px) {
    .editorial .collection > span { font-size:16px; padding-top:7px; }
    .collection-strip { padding-bottom:32px; }
}

/* Album views: edge-to-edge photographs with a quiet editorial side column. */
.album-top { padding:24px 4.3% 36px; display:flex; justify-content:space-between; gap:24px; font:20px/1.3 var(--font-serif); }
.album-top a { text-decoration:none; }
.album-nav { display:flex; flex-wrap:wrap; gap:24px; }
.album-nav a[aria-current="page"] { text-decoration:underline; text-underline-offset:6px; }
.album-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,1fr); align-items:start; padding-bottom:70px; }
.album-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.album-grid a { display:block; overflow:hidden; aspect-ratio:2/3; }
.album-grid img { display:block; width:100%; height:100%; object-fit:cover; }
.album-copy { padding:clamp(30px,10vw,160px) 10% 40px; }
.album-copy h1 { font:400 clamp(38px,4vw,66px)/1.05 var(--font-serif); margin:0 0 24px; }
.album-copy > p:last-child { font:italic 16px/1.8 var(--font-sans); color:#595a58; }
.album-grid a:focus-visible { outline:3px solid #fcfcfa; outline-offset:-6px; }
@media(max-width:1000px) {
 .album-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .album-top { padding:20px 6% 28px; flex-direction:column; font-size:18px; }
 .album-nav { gap:20px; }
 .album-layout { display:flex; flex-direction:column; padding-bottom:35px; }
 .album-copy { order:-1; padding:10px 6% 30px; }
 .album-copy .eyebrow { display:none; }
 .album-copy h1 { font-size:52px; margin-bottom:12px; }
 .album-grid { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

#presetVideo { filter:brightness(1.12); object-position:50% 52%; background:url('images/teatime-poster.jpg') center/cover; }
.video-toggle { position:absolute; right:24px; bottom:20px; color:white; background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.65); padding:9px 14px; font:12px var(--font-sans); cursor:pointer; }

.preset-feature-copy { text-shadow:0 2px 14px rgba(0,0,0,.35); }

/* Keep the original botanical seal as part of the visible identity. */
.wordmark { display:inline-flex; align-items:center; gap:12px; }
.brand-seal { width:48px; height:48px; object-fit:contain; flex-shrink:0; }
@media(max-width:700px) { .brand-seal { width:36px; height:36px; } .wordmark { gap:8px; } }

/* A centered invitation over the tea film. */
.preset-feature { justify-content:center; }
.preset-feature-copy { width:100%; padding:64px 8%; text-align:center; }
.preset-feature-copy h2 { font-size:clamp(54px,6.5vw,96px); }
.preset-feature-copy p { max-width:none; margin:0 auto 56px; }
.editorial .preset-feature .outline-link {
 display:flex; align-items:center; justify-content:center;
 width:fit-content; max-width:100%; min-height:76px; margin:0 auto;
 padding:20px 32px; border:1px solid #bca5dd; border-radius:8px;
 background:#bca5dd; color:#251b35; text-shadow:none;
 font:400 24px/1.25 var(--font-sans);
 transition:background .2s ease,border-color .2s ease;
}
.preset-feature .outline-link span { display:none; }
.editorial .preset-feature .outline-link:hover { background:#cbb7e7; border-color:#cbb7e7; }
.editorial .preset-feature .outline-link:focus-visible { outline:3px solid white; outline-offset:5px; }
@media(max-width:700px) {
 .preset-feature-copy { padding:48px 8% 72px; }
 .preset-feature-copy p { max-width:300px; margin-bottom:36px; }
 .editorial .preset-feature .outline-link { min-height:64px; font-size:20px; padding:18px 24px; }
}

/* A quiet, hand-drawn underline for the name. */
.wordmark { position:relative; }
.wordmark::after {
 content:"";
 position:absolute;
 left:-2%;
 bottom:-11px;
 width:104%;
 height:9px;
 pointer-events:none;
 background:center / 100% 100% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 12' preserveAspectRatio='none'%3E%3Cpath d='M3 7 C39 3 64 8 103 6 S176 3 237 5' fill='none' stroke='%2320211f' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
 opacity:.8;
 transform:rotate(-1deg);
}

@media (prefers-reduced-motion:no-preference) {
 .wordmark::after {
  transform-origin:center;
  animation:signature-line-drift 6s ease-in-out infinite;
 }
}
@keyframes signature-line-drift {
  0%, 100% { transform:translateY(0) rotate(-1deg) scaleX(1); }
  50% { transform:translateY(1.5px) rotate(.4deg) scaleX(.975); }
}

/* Slightly smaller opening headline on the homepage. */
.home-intro h1 { font-size:clamp(50px,7.8vw,122px); }
@media(max-width:700px) {
 .home-intro h1 { font-size:clamp(46px,10.5vw,70px); }
}

/* A restrained sheen on interaction, without a repeating sweep. */
.editorial .preset-feature .outline-link {
 position:relative;
 overflow:hidden;
}
.preset-feature .outline-link::after {
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;
 border-radius:inherit;
 background:linear-gradient(120deg,transparent 15%,rgba(255,255,255,.32) 48%,transparent 82%);
 opacity:0;
 transition:opacity .6s ease;
}
@media(hover:hover) {
 .preset-feature .outline-link:hover::after { opacity:1; }
}
.preset-feature .outline-link:focus-visible::after { opacity:1; }
@media(prefers-reduced-motion:reduce) {
 .preset-feature .outline-link::after { transition:none; }
}

@media(prefers-reduced-motion:no-preference) {
 .preset-feature .outline-link::after {
  animation:preset-soft-glow 5s ease-in-out infinite;
 }
}
@keyframes preset-soft-glow {
 0%,100% { opacity:.1; }
 50% { opacity:1; }
}
