/* CAERUNOX / DARK MOONLIT EDITION
   Applied after theme.css and whispers.css to override previous light design.
   Dark unified canvas, lavender typography, writing/artwork frames only.
   Responsive desktop / landscape tablet / portrait tablet / phone.
*/
:root{
  --paper:#202638;
  --ivory:#f0eaf6;
  --pale:#2b3146;
  --ink:#f1ecf8;
  --muted:#c8bfd7;
  --border:#64617e;
  --night:#171d2b;
  --night2:#131a29;
  --night3:#2b3146;
  --lav:#bdabd5;
  --lav2:#d8c9e9;
  --dark-canvas:#202638;
  --dark-raised:#2c3248;
  --dark-card:#30364c;
  --dark-text:#f3eef9;
  --dark-soft:#d0c7dd;
  --dark-line:#747088;
  color-scheme:dark
}
*,*::before,*::after{box-sizing:border-box}
html{max-width:100%;overflow-x:clip}
body,main{
  background:var(--dark-canvas)!important;
  color:var(--dark-text)!important;
  min-width:0;
  max-width:100%
}
body{overflow-x:clip}
img,svg,video{max-width:100%}
:where(.shell,.work-columns,.home-featured-stack,.home-section-grid,.detail-grid,
  .about-page-grid,.commission-page-grid,.writing-grid,.art-archive-grid,
  .whispers-layout,.studio-shell,.connect-content){min-width:0}
:where(h1,h2,h3,h4,p,small,li,figcaption,.rich-text){overflow-wrap:break-word}
:where(a){color:inherit}
a:hover{color:#e4d2f6}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #d7b8fa!important;outline-offset:4px
}
:where(.eyebrow,.home-section-eyebrow){color:#c7b3de!important}
:where(.section-flourish,.little-rule){color:#c3b2d4}
:where(.section-flourish:before,.section-flourish:after){background:#6f6889}

/* Header and footer remain a shade deeper, not separate coloured bands inside content. */
.site-header,.footer{background:#121a29!important;color:#f1ebf8!important}
.site-header{border-color:#71698855}
.nav a,.brand-name,.brand-sub{color:#eee9f5}
.nav a:hover,.nav a[aria-current=page]{color:#e0c6fa}
.nav a[aria-current=page]{border-color:#b5a3d1}
.brand-moon{color:#d8caed}
.brand-sub{color:#cdc3dd}
.footer-brand,.footer-brand small,.footer-inner,.footer-center,.footer-inner>small{color:#e3dbec}
.footer a:hover{color:#e1caff}
.footer-inner{flex-wrap:wrap}

/* The banner uses the same dark family as the page. Keep the hero image,
   with a strong overlay so text is legible even after a replacement upload. */
.hero{
  background:#1c2333!important;
  color:#f6effb!important;
  overflow:hidden
}
.hero .hero-background img{
  width:100%;height:100%;
  opacity:.53!important;
  filter:saturate(.78) brightness(.7)!important;
  object-fit:cover
}
.hero:before{
  background:linear-gradient(90deg,#171d2df7 0%,#1a2030ef 42%,#1b2233a9 73%,#1b223368 100%)!important
}
.hero .hero-overline,.hero .hero-kicker{color:#e2d0ee!important}
.hero .hero-title-main{color:#fff8ff!important}
.hero .hero-title-sub,.hero h1 em{color:#d2b7e7!important}
.hero .hero-desc,.hero .hero-desc p{color:#e7deed!important}
.hero .hero-footnote{color:#cfc1dc!important}
.hero .little-rule,.hero .little-rule:before,.hero .little-rule:after{color:#baa4cb}
.hero .little-rule:before,.hero .little-rule:after{background:#827393}

/* ONE consistent content canvas. No boxes around editorial sections. */
.work-section,.home-commissions-section,.home-about-section,
.whispers-invite-section,.connect-section,.page-banner,
.collection-section,.text-section,.detail-top,.whispers-page,
.whispers-admin,.commission-platforms,.studio-page{
  background:var(--dark-canvas)!important;
  color:var(--dark-text)!important;
  border-top:0!important;
  border-bottom:0!important
}
.work-section,
.home-commissions-section,.home-about-section,
.whispers-invite-section,.connect-section{
  padding:clamp(62px,7.2vw,105px) 0!important
}
.work-section{padding-top:clamp(70px,7.2vw,108px)!important}
.work-section .home-featured-stack{
  gap:clamp(58px,7.2vw,105px)!important;
  align-items:stretch
}
.work-section .section-intro,
.work-section .home-featured-stack > div,
.home-section-grid,.whispers-invite-section .whispers-card-centered,
.connect-section .connect-content{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important
}
.work-section .section-intro{
  padding:0!important;
  margin-bottom:clamp(50px,6vw,78px)!important
}
.work-section .section-intro h2{
  color:#f6effb!important;
  line-height:1.15
}
.work-section .section-intro p{color:#ccc1d8!important}
.work-section .section-intro .eyebrow{color:#c9b6dc!important}
.work-section .section-heading{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid #777088!important;
  border-radius:0!important;
  color:#e7d8f5!important;
  padding:0 0 clamp(14px,2vw,25px)!important;
  margin:0 0 clamp(22px,3vw,36px)!important
}
.work-section .section-heading h3{color:#e2d0f0!important}
.work-section .section-heading a{color:#d4c1e7!important}
.work-section .section-heading a:hover{color:#fff0ff!important}
.work-section .home-featured-writing{
  background:transparent!important;
  padding:0!important
}

/* Only writing items and artwork previews have a visible frame. */
.writing-card,.writing-list .writing-card,
.writing-grid .writing-card,.home-featured-writing .writing-card,
.work-section .home-featured-writing .writing-card,
.art-archive-row,.gallery-grid .art-card{
  color:#f0eaf6!important;
  background:#2b3248!important;
  border:1px solid #696480!important;
  border-radius:10px!important;
  box-shadow:0 14px 36px #080c1c34!important
}
.writing-thumb,.art-archive-cover{background:#252b40}
.writing-info h3,.writing-info h3 a,.art-archive-info h3,
.writing-grid .writing-info h3{color:#f7f2fc!important}
.writing-info .eyebrow,.art-archive-info .eyebrow,
.art-caption .eyebrow{color:#cab8dc!important}
.writing-card .card-summary,.writing-card .card-summary p,
.art-archive-description,.art-archive-description p,
.writing-grid .card-summary{
  color:#e0d7e9!important
}
.writing-card .text-link,.art-archive-view{color:#d8c2f1!important}
.writing-card .text-link:hover,.art-archive-view:hover{color:#f4e8ff!important}
.art-archive-cover img,.writing-thumb img{max-width:100%}
.art-archive-row{align-items:center!important}
.art-archive-view{background:transparent}
.art-caption{background:#2c3248!important;color:#eee8f6!important}
.art-caption h3{color:#f5eefb!important}

/* Filmstrip: always display centre + 2 smaller neighbours (peek on phones).
   Images show fully, without cropping. Stable absolute placement means older
   grid rules cannot displace or hide the side panels. */
.work-section .home-filmstrip{
  background:transparent!important;
  padding:clamp(12px,2vw,27px) 0!important
}
.home-filmstrip .filmstrip-stage{
  position:relative!important;
  display:block!important;
  width:100%;
  max-width:1000px;
  margin:0 auto;
  height:clamp(335px,42vw,520px)!important;
  min-height:335px!important;
  overflow:hidden;
  isolation:isolate
}
.home-filmstrip .filmstrip-slide{
  position:absolute!important;
  left:50%;top:50%;
  display:none!important;
  box-sizing:border-box;
  width:clamp(150px,30%,330px)!important;
  height:clamp(265px,35vw,445px)!important;
  padding:clamp(7px,1.2vw,14px);
  border:1px solid #8a7e9f!important;
  border-radius:9px;
  background:#30374d!important;
  box-shadow:0 17px 41px #080d1f66!important;
  transform:translate(-50%,-50%) scale(.8);
  transition:transform .35s ease,left .35s ease,opacity .35s ease;
  opacity:0;
  cursor:pointer;
  overflow:hidden;
  margin:0!important
}
.home-filmstrip .filmstrip-slide.is-center{
  display:flex!important;
  left:50%;
  width:clamp(220px,43%,440px)!important;
  transform:translate(-50%,-50%) scale(1)!important;
  opacity:1!important;
  z-index:3
}
.home-filmstrip .filmstrip-slide.is-prev{
  display:flex!important;
  left:16%;
  transform:translate(-50%,-50%) scale(.84)!important;
  opacity:.73!important;
  z-index:1
}
.home-filmstrip .filmstrip-slide.is-next{
  display:flex!important;
  left:84%;
  transform:translate(-50%,-50%) scale(.84)!important;
  opacity:.73!important;
  z-index:1
}
.home-filmstrip .filmstrip-slide:is(:hover,:focus-visible){opacity:1!important;border-color:#d3bbed!important}
.home-filmstrip .filmstrip-slide .filmstrip-mat{
  display:grid;place-items:center;
  width:100%;height:100%;min-width:0;min-height:0;
  border-radius:5px;
  background:#252b40!important;
  overflow:hidden
}
.home-filmstrip .filmstrip-mat img{
  display:block;
  width:100%!important;height:100%!important;
  max-width:100%;max-height:100%;
  object-fit:contain!important;
  object-position:center;
  transform:none!important
}
.home-filmstrip .filmstrip-controls{
  gap:clamp(13px,3vw,28px);
  margin:clamp(8px,1.6vw,18px) auto 0;
  padding:0 6px;
  max-width:750px
}
.home-filmstrip .filmstrip-arrow{
  width:48px;height:48px;
  flex:none;
  background:#4a4966!important;
  color:#fcf6ff!important;
  border:1px solid #9180ae!important;
  touch-action:manipulation
}
.home-filmstrip .filmstrip-arrow:hover{background:#65577e!important}
.home-filmstrip .filmstrip-label{color:#e0d3ee!important}

/* Home Commissions / About / Whispers / Contact:
   no boxes, no banded backgrounds; centred star-line dividers. */
.home-commissions-section .home-section-grid,
.home-about-section .home-section-grid{
  padding:0!important;
  gap:clamp(26px,5vw,76px);
  align-items:center
}
.home-commissions-section h2,.home-about-section h2,
.whispers-invite-section .whispers-card-centered h3,.connect-section h2,
.text-section .contact-content h2{
  background:transparent!important;
  color:#f0e6fa!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:8px 0 21px!important
}
.home-commissions-section .home-commission-description,
.home-about-section .home-about-paragraphs{max-width:750px}
.home-commissions-section .home-commission-description p,
.home-about-section .home-about-paragraphs p,
.whispers-invite-section .whispers-card-centered p,
.connect-section p:not(.eyebrow){color:#dfd5e8!important}
.home-commissions-section .home-section-eyebrow,
.home-about-section .home-section-eyebrow,
.connect-section .eyebrow{color:#c8b5dc!important}
.home-about-visual{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,2vw,23px)
}
.home-about-visual .home-section-eyebrow{
  display:block;
  text-align:center;
  font-size:clamp(12px,1.35vw,17px);
  letter-spacing:.15em
}
.home-about-visual .home-about-media{width:min(100%,430px);margin:0 auto}
.home-commission-media,.home-about-media{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important
}
.home-commission-media img,.home-about-media img{
  display:block;
  width:100%;
  height:auto!important;
  max-height:510px!important;
  object-fit:contain!important;
  object-position:center
}
.whispers-invite-section .whispers-card-centered{
  padding:0!important;
  margin:0 auto!important;
  width:min(100%,1050px)!important;
  text-align:center
}
.whispers-invite-section .whispers-card-centered h3{
  font-size:clamp(40px,5vw,70px)!important
}
.whispers-invite-section .whispers-card-centered p{max-width:750px}
.connect-section .connect-grid-solo{justify-items:center}
.connect-section .connect-content{
  padding:0!important;
  width:min(100%,1050px);
  max-width:1050px;
  text-align:center
}
.connect-section .connect-social-row .social-icon{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important
}
.connect-section .connect-social-row .social-icon img{width:clamp(34px,4vw,50px);height:clamp(34px,4vw,50px)}
.connect-section .connect-social-row .social-label,
.connect-section .connect-social-row .connect-social-link{color:#e7deee!important}
.connect-section .social-row .social-link:hover .social-icon{background:#6f62812b!important}

/* A single, repeating divider rhythm, including between Writing and Artwork. */
.work-section .home-featured-stack > div+div:before,
.work-section:after,.home-commissions-section:after,
.home-about-section:after,.whispers-invite-section:after{
  content:'✧'!important;
  position:relative;
  display:block!important;
  clear:both;
  height:34px;
  line-height:34px;
  width:min(610px,calc(100% - 40px));
  color:#cab5df!important;
  font:26px/34px Georgia,serif;
  text-align:center;
  margin:clamp(28px,4vw,50px) auto 0!important;
  background-image:linear-gradient(#776d8c,#776d8c),linear-gradient(#776d8c,#776d8c)!important;
  background-repeat:no-repeat;
  background-size:calc(50% - 24px) 1px;
  background-position:left center,right center;
  border:0!important;
  pointer-events:none
}
.work-section .home-featured-stack > div+div:before{
  margin:0 auto clamp(55px,7vw,95px)!important
}

/* Every inner page follows the dark palette, including banners and forms. */
.page-banner,.collection-section,.text-section,.detail-top,
.whispers-page,.whispers-admin,.studio-page{
  background:var(--dark-canvas)!important;
  color:var(--dark-text)!important
}
.page-banner{padding:clamp(45px,5vw,75px) 0 clamp(20px,3vw,36px)!important}
.page-banner .page-banner-inner{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0 16px clamp(24px,3vw,43px)!important;
  color:#f5edfb!important
}
.page-banner h1,.page-banner .eyebrow,.page-banner p:last-child{color:#f0e6f9!important}
.page-banner .eyebrow{color:#c4b3dd!important}
.page-banner:after{color:#8e7ba31a}
.collection-section,.text-section,.detail-top{padding:clamp(50px,6vw,90px) 0!important}
.collection-heading{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid #777088!important;
  border-radius:0!important;
  color:#e9dff5!important;
  padding:0 0 20px!important
}
.collection-heading h2,.collection-heading span{color:#e8dff2!important}
.about-page-grid,.commission-page-grid,
.contact-content,.detail-grid{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#eae3f3!important;
  padding:0!important
}
.text-section h2,.text-section h3,.detail-copy h1,.detail-copy h2,
.detail-copy .lead,.detail-copy .rich-text,
.text-section .rich-text,.text-section .rich-text p,
.text-section p:not(.eyebrow),
.commission-rich p,.commission-links-caption{
  color:#f1eaf8!important
}
.text-section p:not(.eyebrow),.detail-copy .detail-body,
.detail-body p,.detail-copy .lead,.detail-copy .lead p{
  color:#ddd3e7!important
}
.detail-copy .back-link,.text-section .eyebrow{color:#cdb8e3!important}
.note-soft{color:#c4b9d4!important}
.detail-image,.about-photo-large,.commission-page-image{
  border-color:#615974!important;
  background:#283047!important
}
.detail-image img,.about-photo-large img,.commission-page-image img{max-width:100%}
.commission-inline-card,.commission-platforms .commission-inline-card{
  background:#2b3148!important;
  border:1px solid #6d6480!important;
  color:#f5edf9!important
}
.commission-inline-card h4,.commission-inline-card p,
.commission-links-inline h3,.commission-links-inline p{color:#eae0f3!important}
.commission-brand-icon{background:#3e405b!important;border-color:#857497}
.commission-link-pending{color:#d0c5de!important}

/* Keep Whispers message cards and actual forms readable on dark background.
   These are functional submissions, not homepage editorial content cards. */
.whispers-intro h2,.whispers-admin .whispers-intro h2,
.whispers-page .whispers-intro h2,.whispers-page .moon-mark{
  color:#dfcff0!important
}
.whispers-intro p,.whispers-admin .whispers-intro p{color:#d4c7e4!important}
.whispers-panel,.whispers-page .whispers-panel,.whispers-admin .whispers-panel{
  background:#2b3045!important;
  border:1px solid #686080!important;
  box-shadow:0 14px 37px #1014293d!important;
  color:#f2ecf8!important
}
.whispers-panel h3,.whispers-list-header h3,.whispers-mini-title{
  color:#e7d7f5!important
}
.whispers-panel p,.whispers-guidelines,.whispers-privacy,
.whispers-notice,.whispers-characters,.whispers-panel label,
.whispers-panel small,[data-whispers-status]{color:#e0d5e9!important}
.whispers-list-header{border-bottom-color:#726987!important}
.whispers-fields textarea,.moderation-entry textarea,
.whispers-name-field input,.admin-signin input,
.admin-moderation-list select{
  background:#1c2435!important;
  color:#f7f1fb!important;
  border:1px solid #847795!important
}
.whispers-fields input::placeholder,.whispers-fields textarea::placeholder,
.admin-signin input::placeholder{color:#bfb1cf!important}
.whispers-entry,.whisper-entry{
  background:linear-gradient(140deg,#323950,#2a3044)!important;
  border-color:#77708d!important;
  color:#f1e9f8!important
}
.whisper-entry .whisper-message,.whisper-reply p{color:#f6eafb!important}
.moderation-entry{
  background:#2f354a!important;
  border-color:#746b87!important;
  color:#eee7f5!important
}
.moderation-entry .moderation-message,.moderation-entry label,
.moderation-heading strong,.moderation-heading small{color:#eee7f5!important}
.moderation-actions .btn-outline{color:#e9dbf6!important;border-color:#9384a7!important}
.whispers-admin .studio-admin-link a{color:#dfcaf5!important}

/* Private Media Studio shares the dark look while keeping usable form panels. */
.studio-page,.studio-shell{color:#f3ebf9!important}
.studio-heading h1,.studio-heading p,.studio-heading .eyebrow,.studio-help a{color:#f2e8fa!important}
.studio-status{
  background:#353a52!important;color:#efe5f8!important;
  border:1px solid #79708c
}
.studio-box{
  background:#2c3248!important;
  border:1px solid #756d8a!important;
  color:#f1e8f7!important
}
.studio-box h2,.studio-box h3,.studio-box p,
.studio-toolbar h2,.studio-form label,.studio-media-details h3,
.studio-meta,.studio-check{color:#f1e9f8!important}
.studio-form input:not([type=checkbox]),.studio-form select,.studio-form textarea,
.studio-edit-form input:not([type=checkbox]),.studio-edit-form select,
.studio-edit-form textarea{
  background:#1b2336!important;color:#f7f0fc!important;
  border:1px solid #897c9c!important;
  min-width:0
}
.studio-form input::placeholder,.studio-form textarea::placeholder,
.studio-edit-form input::placeholder{color:#b8aecb!important}
.studio-media-card{
  background:#252c40!important;border-color:#6d6580!important;color:#f2e9f8!important;
  grid-template-columns:clamp(120px,20%,195px) minmax(0,1fr)
}
.studio-thumb{background:#1d2335!important}
.studio-secondary{background:#3a3954!important;border-color:#9586ac!important;color:#f1e7f9!important}
.studio-danger{background:#4d3146!important;border-color:#b7839f!important;color:#ffd9e7!important}
.studio-edit-form{border-top-color:#756a84}
.studio-file-preview small{color:#cfc3db}

/* Buttons and readable, consistent links across the full website. */
.btn-lavender,.btn.btn-lavender{
  background:#77668f!important;
  color:#fff9ff!important;
  border:1px solid #b39bcc!important
}
.btn-lavender:hover{background:#927bb0!important}
.btn-outline{
  color:#f2e8fb!important;
  border-color:#a998be!important;
  background:transparent!important
}
.btn-outline:hover{background:#b59acc21!important}
.social-row .social-link,.social-row .social-label{color:#eee5f7!important}
.social-icon{color:#e5d4f5!important}
.contact-content .social-icon{background:transparent!important;border-color:#79718c!important}

/* RESPONSIVE: landscape tablets and narrow laptops. Ensure the menu is
   usable before large, user-adjustable typography can overflow the header. */
@media(max-width:1480px){
  .site-header{
    height:auto;
    min-height:78px;
    position:relative;
    z-index:80
  }
  .site-header .head-inner{min-height:78px;gap:12px}
  .site-header .nav-toggle{
    display:flex!important;
    flex:none;
    flex-direction:column;justify-content:center;gap:5px;
    width:48px;height:45px;padding:11px;
    border:1px solid #9c8baf!important;
    background:#273045!important;
    border-radius:6px;cursor:pointer
  }
  .site-header .nav-toggle span{background:#eee2f8;height:2px;width:100%}
  .site-header .nav{
    display:none!important;
    position:absolute;
    top:100%;left:auto;right:clamp(12px,3vw,45px);
    width:min(410px,calc(100vw - 24px));
    max-height:calc(100dvh - 90px);
    overflow-y:auto;
    flex-direction:column;align-items:stretch;
    z-index:100;
    padding:12px 23px 20px;
    gap:0;
    background:#1a2335!important;
    border:1px solid #77708c;
    border-radius:0 0 8px 8px;
    box-shadow:0 20px 50px #070b1899
  }
  .site-header .nav.open{display:flex!important}
  .site-header .nav a{
    display:block;
    white-space:normal;
    padding:11px 6px;
    font-size:clamp(15px,1.6vw,18px)!important;
    line-height:1.35;
    border-bottom:1px solid #6d627044
  }
  .brand,.footer-brand{min-width:0}
  .brand-name{font-size:clamp(21px,2.6vw,35px)!important;white-space:normal}
  .brand-sub{font-size:clamp(9px,1vw,12px)!important}
  .home-section-grid,.detail-grid,.commission-page-grid{
    gap:clamp(22px,4vw,55px)!important
  }
  .whispers-layout{grid-template-columns:minmax(0,1fr)!important}
  .whispers-panel{width:100%;max-width:none!important}
  .writing-card,.art-archive-row{max-width:100%}
}

/* Tablet portrait: stack images and text, avoid fixed heights or 2-col
   grids when there isn't room for the chosen font scale. */
@media(max-width:900px){
  .shell{width:calc(100% - 52px)!important;max-width:100%}
  .hero,.hero-shell{min-height:clamp(470px,64vw,620px)!important}
  .hero-copy{max-width:100%;padding:60px 0 65px}
  .hero .hero-title{
    font-size:clamp(40px,7vw,73px)!important;
    line-height:1.04!important;
    max-width:100%!important
  }
  .hero .hero-title-main,.hero .hero-title-sub{
    white-space:normal!important;
    overflow-wrap:anywhere
  }
  .home-section-grid,
  .home-about-grid,.home-commission-grid,
  .about-page-grid,.commission-page-grid,.detail-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(30px,4vw,48px)!important
  }
  .home-about-visual{grid-row:1}
  .home-about-copy{grid-row:2}
  .home-commission-copy{grid-row:1}
  .home-commission-media{grid-row:2;justify-self:center!important;width:min(100%,530px)}
  .home-about-media{width:min(100%,420px)!important}
  .writing-list .writing-card,.work-section .home-featured-writing .writing-card{
    grid-template-columns:clamp(130px,30%,230px) minmax(0,1fr)!important;
    gap:clamp(16px,3vw,25px)!important
  }
  .writing-grid .writing-card,.art-archive-row{
    grid-template-columns:clamp(145px,33%,230px) minmax(0,1fr)!important;
    gap:clamp(15px,3vw,27px)!important
  }
  .writing-thumb,.art-archive-cover{min-height:0!important}
  .work-section .section-intro h2{font-size:clamp(37px,5.5vw,56px)!important}
  .home-filmstrip .filmstrip-stage{height:clamp(315px,54vw,480px)!important}
  .home-filmstrip .filmstrip-slide{height:clamp(260px,47vw,415px)!important}
  .home-filmstrip .filmstrip-slide.is-center{width:48%!important}
  .home-filmstrip .filmstrip-slide.is-prev{left:15%!important}
  .home-filmstrip .filmstrip-slide.is-next{left:85%!important}
  .footer-inner{justify-content:center;text-align:center;gap:12px}
  .footer-inner>small{max-width:none!important;text-align:center!important}
}

/* Phones: full-width readable copy, gentle side peeks in the filmstrip,
   centred control buttons, and no two-column content traps. */
@media(max-width:600px){
  .shell{width:calc(100% - 30px)!important;max-width:100%}
  .site-header .head-inner{min-height:75px;gap:8px}
  .brand-moon{font-size:39px!important}
  .brand-name{
    font-size:clamp(18px,5vw,27px)!important;
    letter-spacing:.14em!important
  }
  .brand-sub{letter-spacing:.12em!important;font-size:9px!important;margin-top:4px}
  .site-header .nav-toggle{height:44px;width:46px}
  .site-header .nav{right:10px;width:calc(100vw - 20px)}
  .hero,.hero-shell{min-height:clamp(445px,112vw,620px)!important}
  .hero-copy{padding:50px 0 76px;max-width:100%}
  .hero .hero-title{
    font-size:clamp(35px,9vw,56px)!important;
    line-height:1.06!important;
    margin:23px 0!important
  }
  .hero .hero-title-main,.hero .hero-title-sub{
    display:block!important;
    white-space:normal!important;
    overflow-wrap:normal;
    hyphens:auto
  }
  .hero .hero-overline{letter-spacing:.17em!important}
  .hero .hero-desc,.hero .hero-desc p{
    font-size:clamp(15px,3.7vw,19px)!important;
    line-height:1.5!important
  }
  .hero .hero-footnote{right:14px;bottom:15px;font-size:9px}
  .work-section,.home-commissions-section,.home-about-section,
  .whispers-invite-section,.connect-section{
    padding:clamp(49px,12vw,66px) 0!important
  }
  .work-section .home-featured-stack{gap:clamp(45px,11vw,67px)!important}
  .work-section .section-intro{margin-bottom:40px!important}
  .work-section .section-intro h2{font-size:clamp(32px,9vw,47px)!important}
  .work-section .section-heading{
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
    padding-bottom:13px!important;
    margin-bottom:19px!important
  }
  .work-section .section-heading h3{font-size:clamp(22px,6vw,30px)!important}
  .work-section .section-heading a{font-size:clamp(12px,3.6vw,15px)!important}
  .writing-list .writing-card,.work-section .home-featured-writing .writing-card,
  .writing-grid .writing-card,.art-archive-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(15px,4vw,23px)!important;
    padding:clamp(13px,4vw,19px)!important
  }
  .writing-list .writing-thumb,.home-featured-writing .writing-thumb,
  .writing-grid .writing-thumb,.art-archive-cover{
    width:min(100%,300px)!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    justify-self:center
  }
  .writing-list .writing-info,.writing-grid .writing-info,.art-archive-info{
    min-width:0!important;
    padding:5px!important
  }
  .writing-info h3,.art-archive-info h3{font-size:clamp(26px,7vw,36px)!important}
  .card-summary,.art-archive-description{font-size:clamp(16px,4.2vw,21px)!important}
  .home-filmstrip .filmstrip-stage{
    height:clamp(275px,80vw,390px)!important;
    min-height:275px!important
  }
  .home-filmstrip .filmstrip-slide{
    height:clamp(230px,68vw,345px)!important;
    width:44%!important
  }
  .home-filmstrip .filmstrip-slide.is-center{
    width:68%!important;
    left:50%!important
  }
  .home-filmstrip .filmstrip-slide.is-prev{
    display:flex!important;
    left:1%!important;
    transform:translate(-50%,-50%) scale(.79)!important;
    opacity:.75!important
  }
  .home-filmstrip .filmstrip-slide.is-next{
    display:flex!important;
    left:99%!important;
    transform:translate(-50%,-50%) scale(.79)!important;
    opacity:.75!important
  }
  .home-filmstrip .filmstrip-slide .filmstrip-mat{
    border-radius:4px
  }
  .home-filmstrip .filmstrip-controls{margin-top:10px;gap:10px}
  .home-filmstrip .filmstrip-arrow{width:48px;height:48px;font-size:30px}
  .home-filmstrip .filmstrip-label{font-size:clamp(15px,4.2vw,20px)!important}
  .home-commissions-section h2,.home-about-section h2,.connect-section h2{
    font-size:clamp(34px,9vw,48px)!important;
    line-height:1.12!important
  }
  .home-commissions-section .home-commission-description p,
  .home-about-section .home-about-paragraphs p,
  .whispers-invite-section .whispers-card-centered p,
  .connect-section p:not(.eyebrow){
    font-size:clamp(17px,4.8vw,22px)!important;
    line-height:1.52!important
  }
  .home-about-visual .home-section-eyebrow{font-size:clamp(12px,3.6vw,16px)}
  .home-about-media{width:min(100%,360px)!important}
  .whispers-invite-section .whispers-card-centered h3{
    font-size:clamp(37px,10vw,54px)!important
  }
  .connect-section .connect-social-row{
    display:flex;justify-content:center;flex-wrap:wrap;
    column-gap:clamp(8px,3vw,19px);row-gap:17px
  }
  .connect-section .connect-social-row .connect-social-link{
    width:clamp(70px,22vw,100px)!important;
    min-width:0!important;
    font-size:12px
  }
  .connect-section .connect-social-row .social-icon{width:65px!important;height:65px!important}
  .connect-section .connect-social-row .social-icon img{width:36px!important;height:36px!important}
  .page-banner{padding:43px 0 17px!important}
  .page-banner h1{font-size:clamp(42px,11vw,61px)!important}
  .page-banner p:last-child{font-size:clamp(16px,4.5vw,19px)!important}
  .collection-section,.text-section,.detail-top{padding:45px 0 70px!important}
  .collection-heading{gap:9px;flex-wrap:wrap}
  .detail-copy h1{font-size:clamp(39px,10vw,62px)!important}
  .detail-copy,.about-page-grid,.commission-page-grid{min-width:0}
  .detail-image,.about-photo-large,.commission-page-image{
    height:auto!important;
    aspect-ratio:auto!important
  }
  .detail-image img,.about-photo-large img,.commission-page-image img{
    display:block;width:100%;height:auto!important;object-fit:contain!important
  }
  .whispers-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .whispers-panel{padding:clamp(16px,5vw,25px)!important}
  .whispers-gallery{grid-template-columns:minmax(0,1fr)!important}
  .whispers-list-header{flex-wrap:wrap}
  .whispers-admin .admin-dashboard-head{flex-direction:column;align-items:flex-start}
  .studio-shell{width:calc(100% - 30px)!important}
  .studio-file-preview{flex-direction:column;align-items:flex-start}
  .studio-toolbar{gap:14px;flex-wrap:wrap}
  .studio-media-card{grid-template-columns:minmax(0,1fr)!important}
  .studio-thumb{max-height:280px;max-width:100%}
  .footer-inner{display:flex;flex-direction:column;align-items:center}
  .footer-inner .footer-center{order:2}
  .footer-inner>small{order:3;max-width:100%;text-align:center}
}
@media(max-width:390px){
  .brand-name{font-size:18px!important;letter-spacing:.08em!important}
  .brand-moon{font-size:34px!important}
  .home-filmstrip .filmstrip-slide.is-center{width:76%!important}
  .home-filmstrip .filmstrip-slide.is-prev{left:-3%!important}
  .home-filmstrip .filmstrip-slide.is-next{left:103%!important}
  .connect-section .connect-social-row .connect-social-link{width:70px!important}
}
/* Symmetrical section rhythm: each decorative star sits precisely at the
   boundary between two equal-height padded sections. */
.work-section,.home-commissions-section,.home-about-section,.whispers-invite-section{
  position:relative
}
.work-section .home-featured-stack{gap:0!important}
.work-section .home-featured-stack > div+div:before{
  position:relative!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:clamp(52px,7vw,88px) auto!important
}
.work-section:after,.home-commissions-section:after,
.home-about-section:after,.whispers-invite-section:after{
  position:absolute!important;
  bottom:-17px!important;
  left:50%!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  z-index:1
}


/* MOBILE REFINEMENT · targeted to small screens. Desktop remains unchanged.
   Shrink assets, keep captions legible, and give every homepage section the
   same breathing room. */
@media (max-width:600px){
  .site-header,.site-header .head-inner{min-height:65px!important}
  .site-header .head-inner{height:auto;gap:8px}
  .site-header .brand{gap:7px}
  .site-header .brand-moon{font-size:clamp(29px,8vw,37px)!important}
  .site-header .brand-name{
    font-size:clamp(16px,4.6vw,22px)!important;
    letter-spacing:.08em!important;
    line-height:1.15;
    overflow-wrap:normal
  }
  .site-header .brand-sub{font-size:8px!important;letter-spacing:.12em!important}
  .site-header .nav-toggle{width:44px;height:44px;padding:10px}
  .site-header .nav{max-height:calc(100dvh - 68px);right:10px}
  .site-header .nav a{min-height:44px;display:flex;align-items:center}

  .hero,.hero-shell{min-height:clamp(365px,96vw,490px)!important}
  .hero-copy{
    padding:clamp(38px,9vw,52px) 0 60px!important;
    width:100%;max-width:100%
  }
  .hero .hero-title{
    font-size:clamp(31px,8.5vw,45px)!important;
    line-height:1.09!important;
    letter-spacing:-.026em!important;
    margin:17px 0 22px!important
  }
  .hero .hero-title-sub{margin-top:.12em!important}
  .hero .hero-overline{font-size:9px!important;letter-spacing:.1em!important}
  .hero .hero-kicker{font-size:11px!important;letter-spacing:.1em!important}
  .hero .hero-desc,.hero .hero-desc p{
    font-size:clamp(14px,3.6vw,17px)!important;
    line-height:1.45!important
  }
  .hero .hero-footnote{font-size:8px;letter-spacing:.04em}

  /* Set a repeated vertical rhythm rather than independent large paddings. */
  .work-section,.home-commissions-section,.home-about-section,
  .whispers-invite-section,.connect-section{
    padding:clamp(40px,10.5vw,55px) 0!important
  }
  .work-section{padding-top:clamp(46px,11vw,60px)!important}
  .work-section .section-intro{margin-bottom:clamp(26px,7vw,36px)!important}
  .work-section .section-intro h2{
    font-size:clamp(30px,8.2vw,40px)!important;
    line-height:1.12!important;
    letter-spacing:.07em!important
  }
  .work-section .section-intro p{
    font-size:clamp(13px,3.6vw,16px)!important;
    line-height:1.55
  }
  .work-section .section-heading{
    padding-bottom:12px!important;margin-bottom:18px!important;
    column-gap:12px
  }
  .work-section .section-heading h3{
    font-size:clamp(21px,5.5vw,27px)!important;letter-spacing:.12em!important
  }
  .work-section .section-heading a{
    font-size:clamp(10px,2.7vw,12px)!important;
    letter-spacing:.05em!important
  }
  .work-section .home-featured-stack{gap:0!important}
  .work-section .home-featured-stack > div + div:before{
    margin:clamp(32px,8vw,46px) auto!important;
    width:min(280px,calc(100% - 30px));
    height:28px;font-size:22px;line-height:28px;
    background-size:calc(50% - 22px) 1px
  }
  .work-section:after,.home-commissions-section:after,
  .home-about-section:after,.whispers-invite-section:after{
    width:min(280px,calc(100% - 30px));
    background-size:calc(50% - 22px) 1px;
    font-size:22px;line-height:28px;height:28px;
    bottom:-14px!important
  }

  /* A square image beside the copy, not a huge poster above it. */
  .work-section .home-featured-writing .writing-card,
  .writing-list .writing-card,.writing-grid .writing-card,
  .art-archive-row{
    display:grid!important;
    grid-template-columns:clamp(94px,28vw,135px) minmax(0,1fr)!important;
    gap:clamp(12px,3vw,17px)!important;
    padding:clamp(11px,3vw,15px)!important;
    align-items:start!important
  }
  .writing-list .writing-thumb,.home-featured-writing .writing-thumb,
  .writing-grid .writing-thumb,.art-archive-cover{
    display:block!important;
    width:100%!important;max-width:135px!important;
    min-width:0!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    justify-self:stretch!important;
    min-height:0!important;
    overflow:hidden
  }
  .writing-thumb img,.art-archive-cover img{
    display:block;width:100%!important;height:100%!important;
    object-fit:cover!important
  }
  .writing-list .writing-info,.writing-grid .writing-info,
  .art-archive-info{padding:0!important;min-width:0}
  .writing-info .eyebrow,.art-archive-info .eyebrow{
    font-size:9px!important;line-height:1.5!important;letter-spacing:.06em!important;
    overflow-wrap:anywhere
  }
  .writing-info h3,.art-archive-info h3{
    font-size:clamp(22px,5.6vw,28px)!important;line-height:1.1!important;
    margin:7px 0 9px!important
  }
  .card-summary,.art-archive-description,.card-summary p{
    font-size:clamp(14px,3.6vw,17px)!important;
    line-height:1.42!important
  }
  /* Full descriptions remain available on the writing and artwork pages. */
  .home-featured-writing .card-summary{
    display:-webkit-box;-webkit-box-orient:vertical;
    -webkit-line-clamp:5;overflow:hidden
  }
  .home-featured-writing .card-summary p{margin:0}
  .home-featured-writing .text-link{display:inline-block;font-size:11px;margin-top:9px}
  .work-section .home-featured-writing{gap:16px!important}
  .writing-grid,.art-archive-grid{gap:17px}

  /* Smaller central art with two genuinely visible side peeks. */
  .home-filmstrip .filmstrip-stage{
    height:clamp(240px,70vw,335px)!important;
    min-height:240px!important;
    width:100%;overflow:hidden
  }
  .home-filmstrip .filmstrip-slide{
    height:clamp(200px,59vw,295px)!important;
    width:clamp(100px,31%,132px)!important;
    padding:6px!important
  }
  .home-filmstrip .filmstrip-slide.is-center{
    width:min(61%,235px)!important;
    left:50%!important
  }
  .home-filmstrip .filmstrip-slide.is-prev{
    left:15%!important;
    transform:translate(-50%,-50%) scale(.82)!important
  }
  .home-filmstrip .filmstrip-slide.is-next{
    left:85%!important;
    transform:translate(-50%,-50%) scale(.82)!important
  }
  .home-filmstrip .filmstrip-controls{margin-top:4px!important;gap:12px!important}
  .home-filmstrip .filmstrip-arrow{
    width:44px!important;height:44px!important;font-size:27px!important
  }
  .home-filmstrip .filmstrip-label{
    min-width:0;max-width:60%;
    font-size:clamp(14px,3.7vw,17px)!important
  }

  /* Other homepage photos are supporting elements, not full-screen posters. */
  .home-commission-grid,.home-about-grid{gap:clamp(22px,6vw,32px)!important}
  .home-commission-media{width:min(100%,310px)!important;justify-self:center!important}
  .home-commission-media img{max-height:205px!important;object-fit:contain!important}
  .home-about-visual{gap:13px!important}
  .home-about-media{width:min(100%,235px)!important}
  .home-about-media img{max-height:290px!important;object-fit:contain!important}
  .home-about-visual .home-section-eyebrow{
    font-size:clamp(11px,3vw,14px)!important;
    letter-spacing:.13em!important
  }
  .home-commissions-section h2,.home-about-section h2,
  .connect-section h2{font-size:clamp(30px,8vw,41px)!important}
  .home-commissions-section .home-commission-description p,
  .home-about-section .home-about-paragraphs p,
  .whispers-invite-section .whispers-card-centered p,
  .connect-section p:not(.eyebrow){
    font-size:clamp(16px,4.2vw,19px)!important;
    line-height:1.48!important
  }
  .home-commissions-section .btn,.home-about-section .btn,
  .whispers-invite-section .btn{
    max-width:100%;white-space:normal;min-height:44px;
    text-align:center;justify-content:center
  }
  .whispers-invite-section .whispers-card-centered h3{
    font-size:clamp(33px,8.8vw,44px)!important;line-height:1.12!important
  }

  /* Five labelled icons can sit cleanly in a symmetric 3 + 2 grid. */
  .connect-section .connect-social-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:17px 9px!important;
    justify-items:center;
    width:min(100%,320px);
    margin:22px auto 0!important
  }
  .connect-section .connect-social-row .connect-social-link{
    width:100%!important;max-width:96px!important;
    min-width:0!important
  }
  .connect-section .connect-social-row .social-icon{
    width:56px!important;height:56px!important;margin:0 auto
  }
  .connect-section .connect-social-row .social-icon img{
    width:30px!important;height:30px!important
  }
  .connect-section .connect-social-row .social-label{
    font-size:10px!important;letter-spacing:.02em!important;
    overflow-wrap:normal
  }

  .page-banner h1{font-size:clamp(35px,9.4vw,49px)!important}
  .page-banner .page-banner-inner{padding:0 4px 18px!important}
  .collection-section,.text-section,.detail-top{padding:35px 0 54px!important}
  .commission-inline-grid{gap:12px!important}
  .commission-inline-card{min-width:0}
  .whispers-panel h3{font-size:clamp(27px,7vw,33px)!important}
  .whispers-intro .moon-mark{font-size:54px!important}
  .whispers-intro h2{font-size:clamp(32px,8vw,42px)!important}
  .studio-heading h1{font-size:clamp(34px,9vw,48px)!important}
  .studio-box{padding:16px!important}
}
@media(max-width:350px){
  .site-header .brand-name{font-size:16px!important;letter-spacing:.025em!important}
  .home-filmstrip .filmstrip-slide.is-center{width:66%!important}
  .writing-info h3,.art-archive-info h3{font-size:22px!important}
  .writing-card .card-summary{-webkit-line-clamp:4}
  .connect-section .connect-social-row{gap:12px 5px!important}
}



/* Portrait tablets and very large phones: keep artwork and supporting media
   proportional before switching to the dedicated phone layout. */
@media (min-width:601px) and (max-width:900px){
  .work-section,.home-commissions-section,.home-about-section,
  .whispers-invite-section,.connect-section{
    padding:clamp(55px,7.5vw,75px) 0!important
  }
  .work-section .section-intro{margin-bottom:45px!important}
  .work-section .home-featured-stack > div+div:before{
    margin:clamp(43px,6vw,64px) auto!important
  }
  .work-section .home-featured-writing .writing-card{
    grid-template-columns:clamp(125px,24vw,195px) minmax(0,1fr)!important
  }
  .writing-list .writing-info,.writing-grid .writing-info,.art-archive-info{min-width:0}
  .home-filmstrip .filmstrip-stage{
    height:clamp(335px,48vw,420px)!important
  }
  .home-filmstrip .filmstrip-slide{
    height:clamp(280px,42vw,370px)!important
  }
  .home-filmstrip .filmstrip-slide.is-center{width:min(45%,345px)!important}
  .home-filmstrip .filmstrip-slide.is-prev{left:16%!important}
  .home-filmstrip .filmstrip-slide.is-next{left:84%!important}
  .home-commission-media{width:min(100%,440px)!important}
  .home-commission-media img{max-height:290px!important;object-fit:contain!important}
  .home-about-media{width:min(100%,325px)!important}
  .home-about-media img{max-height:390px!important;object-fit:contain!important}
  .home-commissions-section h2,.home-about-section h2,.connect-section h2{
    font-size:clamp(35px,5.3vw,48px)!important
  }
  .connect-section .connect-social-row{gap:clamp(12px,2vw,23px)!important}
  .connect-section .connect-social-row .social-icon{
    width:70px!important;height:70px!important
  }
}

/* Prefer user accessibility settings to moving imagery. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}


/* FINAL EDITORIAL ADJUSTMENTS: centered homepage copy, purposeful breathing
   room, clean gallery commission CTAs, white Contact logos and no arrow glyphs. */
.home-commissions-section,.home-about-section,.whispers-invite-section,.connect-section{
  padding-top:clamp(88px,9vw,140px)!important;
  padding-bottom:clamp(88px,9vw,140px)!important
}
.work-section{
  padding-top:clamp(80px,8vw,118px)!important;
  padding-bottom:clamp(95px,9vw,140px)!important
}
.home-commission-grid,.home-about-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center!important;
  align-items:start!important;
  gap:clamp(20px,3vw,35px)!important;
  margin-inline:auto
}
.home-commission-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:min(100%,820px);
  text-align:center
}
.home-commission-copy h2{
  margin:0 0 clamp(15px,2vw,23px)!important;
  text-align:center
}
.home-commission-copy .home-section-eyebrow{
  display:block;
  width:100%;
  text-align:center;
  margin:0 0 clamp(17px,2.5vw,28px)
}
.home-commission-copy .home-commission-media{
  display:block;
  width:min(100%,530px)!important;
  margin:0 auto clamp(23px,3.5vw,42px)!important;
  justify-self:center!important;
  align-self:center!important
}
.home-commission-copy .home-commission-media img{
  display:block;
  width:100%;
  height:auto!important;
  max-height:370px!important;
  object-fit:contain!important
}
.home-commission-description,.home-about-paragraphs{
  width:min(100%,760px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center
}
.home-commission-description p,.home-about-paragraphs p{
  text-align:center!important
}
.home-commission-copy .btn{margin:clamp(16px,2vw,25px) auto 0!important}
.home-about-heading{
  text-align:center;
  width:min(100%,850px);
  margin:0 auto clamp(25px,3.5vw,44px)
}
.home-about-heading .home-section-eyebrow{
  display:block;
  text-align:center;
  margin:0 0 12px
}
.home-about-heading h2{
  text-align:center!important;
  margin:0!important
}
.home-about-grid{width:min(100%,820px)}
.home-about-visual{
  grid-column:1!important;
  grid-row:auto!important;
  width:100%;
  justify-self:center;
  align-items:center
}
.home-about-copy{
  grid-column:1!important;
  grid-row:auto!important;
  width:min(100%,760px);
  text-align:center
}
.home-about-copy h3{
  color:#dbc8ec!important;
  text-align:center;
  margin:0 auto clamp(16px,2.5vw,25px)!important
}
.home-about-media{width:min(100%,365px)!important}
.home-about-media img{display:block;margin:auto;width:100%;height:auto!important;object-fit:contain!important}
.page-banner .page-banner-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:clamp(20px,2.8vw,32px) auto 0;
  min-height:46px;
  white-space:normal;
  max-width:100%;
  text-align:center
}
/* The Commissions page image belongs immediately after its title and blurb. */
.commission-page-section{padding-top:clamp(10px,2vw,24px)!important}
.commission-page-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:clamp(34px,5vw,58px)!important;
  justify-items:center!important
}
.commission-page-image{
  grid-row:1!important;
  width:min(100%,770px)!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto;
  padding:0!important
}
.commission-page-image img{
  display:block;
  margin:0 auto;
  width:100%!important;
  height:auto!important;
  max-height:clamp(260px,45vw,460px)!important;
  object-fit:contain!important
}
.commission-page-content{grid-row:2;width:min(100%,950px);min-width:0}
/* Whispers no longer has the redundant page banner. */
.whispers-page{padding-top:clamp(42px,5vw,76px)!important}
/* Contact uses exactly the same white official marks and printed labels. */
.contact-content .connect-social-row{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:clamp(17px,2.7vw,32px);
  margin:clamp(24px,3.5vw,37px) auto
}
.contact-content .connect-social-row .connect-social-link{
  display:flex;
  align-items:center;
  flex-direction:column;
  width:110px;
  min-width:82px;
  gap:9px;
  text-align:center;
  text-decoration:none;
  color:#eee5f7!important
}
.contact-content .connect-social-row .social-icon{
  display:grid;
  place-items:center;
  height:80px;
  width:84px;
  border:0!important;
  border-radius:11px;
  background:transparent!important
}
.contact-content .connect-social-row .social-icon img{
  display:block;
  width:clamp(34px,4vw,50px);
  height:clamp(34px,4vw,50px);
  object-fit:contain
}
.contact-content .connect-social-row .social-label{
  display:block;
  color:#e7deee!important;
  font:600 12px/1.4 var(--sans);
  letter-spacing:.065em;
  text-transform:uppercase
}
.contact-content .connect-social-row .connect-social-link:hover .social-icon{
  background:#6f62812b!important
}
/* Minimal CSS chevrons, not decorative emoji/arrows. */
.home-filmstrip .filmstrip-chevron{
  display:block;
  width:12px;height:12px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(-45deg)
}
.home-filmstrip .filmstrip-prev .filmstrip-chevron{transform:rotate(135deg)}
.art-zoom{display:none!important}
@media(max-width:900px){
  .home-commissions-section,.home-about-section,.whispers-invite-section,.connect-section,
  .work-section{
    padding-top:clamp(65px,9vw,95px)!important;
    padding-bottom:clamp(65px,9vw,95px)!important
  }
  .home-about-grid{gap:clamp(22px,4vw,36px)!important}
  .home-about-visual,.home-about-copy{grid-row:auto!important}
  .home-commission-copy .home-commission-media{width:min(100%,420px)!important}
  .home-about-media{width:min(100%,330px)!important}
  .commission-page-image img{max-height:340px!important}
}
@media(max-width:600px){
  .home-commissions-section,.home-about-section,.whispers-invite-section,.connect-section,
  .work-section{
    padding-top:clamp(60px,14vw,76px)!important;
    padding-bottom:clamp(60px,14vw,76px)!important
  }
  .home-commission-copy h2,.home-about-heading h2{
    font-size:clamp(33px,8.8vw,44px)!important
  }
  .home-commission-copy .home-commission-media{
    width:min(100%,280px)!important;
    margin-bottom:clamp(23px,5vw,33px)!important
  }
  .home-commission-copy .home-commission-media img{max-height:190px!important}
  .home-about-heading{margin-bottom:clamp(22px,6vw,32px)}
  .home-about-media{width:min(100%,235px)!important}
  .home-about-grid{gap:clamp(20px,5vw,29px)!important}
  .home-about-copy h3{font-size:clamp(24px,6.5vw,35px)!important}
  .home-about-paragraphs,.home-commission-description{padding:0 3px}
  .page-banner .page-banner-cta{margin-top:20px;min-height:44px}
  .commission-page-section{padding-top:12px!important}
  .commission-page-grid{gap:28px!important}
  .commission-page-image{width:min(100%,340px)!important}
  .commission-page-image img{max-height:230px!important}
  .contact-content .connect-social-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:17px 9px!important;
    justify-items:center;
    width:min(100%,320px)
  }
  .contact-content .connect-social-row .connect-social-link{
    width:100%!important;max-width:96px!important;min-width:0!important
  }
  .contact-content .connect-social-row .social-icon{width:56px!important;height:56px!important}
  .contact-content .connect-social-row .social-icon img{width:30px!important;height:30px!important}
  .contact-content .connect-social-row .social-label{
    font-size:10px!important;
    letter-spacing:.02em!important
  }
}


/* Homepage section separators: a clearly visible, quiet line–star–line
   between Writing / Artwork and between every subsequent home section.
   Same dark canvas everywhere; no new panels or coloured bands. */
.work-section .home-featured-stack > div+div::before,
.work-section::after,
.home-commissions-section::after,
.home-about-section::after,
.whispers-invite-section::after{
  content:"✧"!important;
  display:block!important;
  width:min(760px,calc(100% - 52px))!important;
  height:36px!important;
  color:#d7c2ef!important;
  font:22px/36px Georgia,serif!important;
  text-align:center!important;
  background-image:
    linear-gradient(to right,#9c8bac,#9c8bac),
    linear-gradient(to right,#9c8bac,#9c8bac)!important;
  background-size:calc(50% - 28px) 1px!important;
  background-position:left center,right center!important;
  background-repeat:no-repeat!important;
  opacity:1!important;
  pointer-events:none!important
}
.work-section .home-featured-stack > div+div::before{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:clamp(56px,7vw,92px) auto!important
}
.work-section::after,
.home-commissions-section::after,
.home-about-section::after,
.whispers-invite-section::after{
  position:absolute!important;
  bottom:-18px!important;
  left:50%!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  z-index:2
}
@media(max-width:900px){
  .work-section .home-featured-stack > div+div::before,
  .work-section::after,
  .home-commissions-section::after,
  .home-about-section::after,
  .whispers-invite-section::after{
    width:min(520px,calc(100% - 42px))!important;
    background-size:calc(50% - 25px) 1px!important
  }
  .work-section .home-featured-stack > div+div::before{
    margin:clamp(43px,6vw,70px) auto!important
  }
}
@media(max-width:600px){
  .work-section .home-featured-stack > div+div::before,
  .work-section::after,
  .home-commissions-section::after,
  .home-about-section::after,
  .whispers-invite-section::after{
    width:min(325px,calc(100% - 34px))!important;
    height:30px!important;
    font-size:19px!important;
    line-height:30px!important;
    background-size:calc(50% - 22px) 1px!important
  }
  .work-section .home-featured-stack > div+div::before{
    margin:clamp(41px,11vw,57px) auto!important
  }
  .work-section::after,
  .home-commissions-section::after,
  .home-about-section::after,
  .whispers-invite-section::after{
    bottom:-15px!important
  }
}


/* Quiet controls: compact translucent lavender pills instead of solid
   high-contrast rectangles. Keep at least 44px touch targets on phones. */
:root{
  --cx-button-bg:rgba(170,151,197,.12);
  --cx-button-hover:rgba(182,160,210,.22);
  --cx-button-border:rgba(202,181,223,.38);
  --cx-button-text:#e9def3
}
.btn,.btn.btn-lavender,.btn.btn-outline,
a.btn,a.btn-lavender,a.btn-outline,
button.btn,button.btn-lavender,button.btn-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  gap:7px!important;
  min-height:38px!important;
  padding:8px 17px!important;
  width:auto;
  max-width:100%;
  border-radius:999px!important;
  border:1px solid var(--cx-button-border)!important;
  background:var(--cx-button-bg)!important;
  box-shadow:none!important;
  color:var(--cx-button-text)!important;
  font:600 10px/1.35 var(--sans)!important;
  letter-spacing:.095em!important;
  text-transform:uppercase;
  text-align:center;
  white-space:normal;
  text-decoration:none;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important
}
.btn-small,.btn.btn-small,a.btn-small,button.btn-small{
  min-height:35px!important;
  padding:7px 15px!important;
  font-size:9px!important;
  letter-spacing:.08em!important
}
.btn:is(:hover,:focus-visible),.btn-lavender:is(:hover,:focus-visible),
.btn-outline:is(:hover,:focus-visible),a.btn:is(:hover,:focus-visible){
  transform:none!important;
  background:var(--cx-button-hover)!important;
  border-color:rgba(218,198,238,.64)!important;
  color:#faf4ff!important
}
.btn:disabled,button.btn:disabled{opacity:.53!important;cursor:not-allowed}
.home-commission-copy .btn,
.whispers-invite-section .btn,
.page-banner .page-banner-cta{
  width:fit-content;
  margin-left:auto!important;
  margin-right:auto!important
}
.commission-inline-card .btn{
  align-self:flex-start;
  margin-top:auto
}

/* Secondary moderator controls should belong to the same visual family.
   Destructive actions retain a subtle warm tint to communicate their risk. */
.studio-secondary,.studio-danger{
  min-height:37px;
  padding:8px 15px!important;
  border-radius:999px!important;
  background:var(--cx-button-bg)!important;
  border:1px solid var(--cx-button-border)!important;
  color:var(--cx-button-text)!important;
  box-shadow:none!important;
  font:600 10px/1.35 var(--sans)!important;
  letter-spacing:.045em
}
.studio-secondary:hover{background:var(--cx-button-hover)!important}
.studio-danger{
  background:rgba(155,89,113,.16)!important;
  border-color:rgba(211,151,173,.45)!important;
  color:#f7dce9!important
}
.studio-danger:hover{background:rgba(169,93,123,.27)!important}
.home-filmstrip .filmstrip-arrow{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:50%!important;
  background:var(--cx-button-bg)!important;
  border:1px solid var(--cx-button-border)!important;
  color:#f0e5fb!important;
  box-shadow:none!important
}
.home-filmstrip .filmstrip-arrow:hover{
  background:var(--cx-button-hover)!important
}
.site-header .nav-toggle{
  border-radius:13px!important;
  background:rgba(172,152,196,.11)!important;
  border-color:var(--cx-button-border)!important
}
.site-header .nav-toggle:hover{
  background:var(--cx-button-hover)!important
}
.close-lightbox{
  border:1px solid var(--cx-button-border)!important;
  background:rgba(30,34,51,.82)!important;
  color:#f3e8fc!important
}

/* A taller footer moves the footer boundary up and leaves a generous
   margin above the lunar wordmark, without crowding the copyright below. */
.footer{
  min-height:0!important;
  padding:clamp(52px,6vw,85px) 0 clamp(29px,3.8vw,47px)!important;
  border-top:1px solid rgba(178,162,200,.2)
}
.footer .footer-inner{
  min-height:86px!important;
  height:auto!important;
  gap:clamp(16px,2.8vw,36px);
  align-items:center
}
.footer .footer-brand{
  margin-top:0;
  min-width:0
}
.footer .footer-brand .brand-moon{
  line-height:1;
  flex:none
}
@media(max-width:900px){
  .footer{
    padding-top:clamp(48px,7vw,65px)!important;
    padding-bottom:34px!important
  }
  .footer .footer-inner{
    min-height:0!important;
    gap:22px!important
  }
}
@media(max-width:600px){
  .btn,.btn.btn-lavender,.btn.btn-outline,
  a.btn,a.btn-lavender,a.btn-outline,
  button.btn,button.btn-lavender,button.btn-outline{
    min-height:44px!important;
    padding:10px 17px!important;
    font-size:10px!important
  }
  .btn-small,.btn.btn-small,a.btn-small,button.btn-small{
    min-height:44px!important;
    padding:10px 15px!important
  }
  .studio-secondary,.studio-danger{min-height:44px}
  .home-filmstrip .filmstrip-arrow{
    width:44px!important;height:44px!important;min-width:44px!important
  }
  .footer{
    padding-top:clamp(50px,13vw,72px)!important;
    padding-bottom:clamp(30px,7vw,43px)!important
  }
  .footer .footer-inner{
    display:flex;
    flex-direction:column;
    text-align:center;
    gap:20px!important
  }
}
